diff options
author | Pranay Dalmia <dalmiap@amazon.com> | 2013-10-23 22:03:24 +0000 |
---|---|---|
committer | Pranay Dalmia <dalmiap@amazon.com> | 2013-10-23 22:03:24 +0000 |
commit | 1a6cb41e1db610d6cea249b5b33ad65cfd945b2f (patch) | |
tree | e396f63ae371bae7dba2d9c3100692f1dce99625 /src/main/java/com/amazon/carbonado | |
parent | 094f2d2d8f472f092a03b396d4cf7cff8e302946 (diff) |
Adding a new TriggerManagerCapability to get the trigger manager from a
repository. Also, throwing an exception in LayoutSync when the layout sync
fails.
Diffstat (limited to 'src/main/java/com/amazon/carbonado')
-rw-r--r-- | src/main/java/com/amazon/carbonado/layout/LayoutSync.java | 9 | ||||
-rw-r--r-- | src/main/java/com/amazon/carbonado/spi/TriggerManagerCapability.java | 40 |
2 files changed, 43 insertions, 6 deletions
diff --git a/src/main/java/com/amazon/carbonado/layout/LayoutSync.java b/src/main/java/com/amazon/carbonado/layout/LayoutSync.java index ba03be3..fe60d4d 100644 --- a/src/main/java/com/amazon/carbonado/layout/LayoutSync.java +++ b/src/main/java/com/amazon/carbonado/layout/LayoutSync.java @@ -18,19 +18,15 @@ package com.amazon.carbonado.layout;
-import java.util.Arrays;
-
import org.apache.commons.logging.LogFactory;
import com.amazon.carbonado.Cursor;
-import com.amazon.carbonado.Query;
import com.amazon.carbonado.Repository;
import com.amazon.carbonado.RepositoryException;
import com.amazon.carbonado.Storage;
import com.amazon.carbonado.Transaction;
import com.amazon.carbonado.cursor.FetchAheadCursor;
-import com.amazon.carbonado.cursor.FilteredCursor;
/**
* Synchronizes layout metadata between two repositories. Both source and
@@ -121,10 +117,11 @@ public class LayoutSync { }
if (src.getGeneration() != dst.getGeneration()) {
- // Same layouts, but with different generation. Create a new
- // non-conflicting generation to replace both.
LogFactory.getLog(LayoutSync.class).error
("Unable to synchronize layouts: " + src + " != " + dst);
+ throw new RepositoryException("Unable to synchronize layouts: " + src + " != " + dst);
+ // Same layouts, but with different generation. Create a new
+ // non-conflicting generation to replace both.
/*
createNewGen(src, dst);
doAgain = true;
diff --git a/src/main/java/com/amazon/carbonado/spi/TriggerManagerCapability.java b/src/main/java/com/amazon/carbonado/spi/TriggerManagerCapability.java new file mode 100644 index 0000000..f57a265 --- /dev/null +++ b/src/main/java/com/amazon/carbonado/spi/TriggerManagerCapability.java @@ -0,0 +1,40 @@ +/* + * Copyright 2006-2013 Amazon Technologies, Inc. or its affiliates. + * Amazon, Amazon.com and Carbonado are trademarks or registered trademarks + * of Amazon Technologies, Inc. or its affiliates. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.amazon.carbonado.spi; + +import com.amazon.carbonado.Repository; +import com.amazon.carbonado.RepositoryException; +import com.amazon.carbonado.Storable; +import com.amazon.carbonado.capability.Capability; +import com.amazon.carbonado.spi.TriggerManager; + +/** + * Provides the capability to get the {@link TriggerManager} from a {@link Repository}. + * + * @author Pranay Dalmia + * + */ +public interface TriggerManagerCapability extends Capability { + + /** + * Returns the {@link TriggerManager} for the given {@link Storable} type. + */ + public <S extends Storable> TriggerManager<S> getTriggerManagerFor(Class<S> type) throws RepositoryException; + +} |