summaryrefslogtreecommitdiff
path: root/src/test/java/com/amazon/carbonado/stored
diff options
context:
space:
mode:
authorJesse Morgan <jesse@jesterpm.net>2018-03-25 18:10:14 -0700
committerJesse Morgan <jesse@jesterpm.net>2018-03-26 07:45:31 -0700
commit8fa81b2885d2597cb90e31294595a09ce62ffa44 (patch)
tree094e7d95933d3da91c98c859bb72476fd42d2464 /src/test/java/com/amazon/carbonado/stored
parente9133156ea8dcefbd4b19d89c15ad6e2c01cf86d (diff)
Fix load by alternate key with Automatic primary keyfix-automatic-and-alt-key
Storables ignore @Automatic properties when checking if the primary key is initialized. This makes sense for insert, because the Repository is responsible for populating the @Automatic property. However, this doesn't work for load--when the @Automatic property is also the primary key-- because it won't attempt to load by alternate key when it must.
Diffstat (limited to 'src/test/java/com/amazon/carbonado/stored')
-rw-r--r--src/test/java/com/amazon/carbonado/stored/AutomaticAndAltKey.java41
1 files changed, 41 insertions, 0 deletions
diff --git a/src/test/java/com/amazon/carbonado/stored/AutomaticAndAltKey.java b/src/test/java/com/amazon/carbonado/stored/AutomaticAndAltKey.java
new file mode 100644
index 0000000..8d7c83a
--- /dev/null
+++ b/src/test/java/com/amazon/carbonado/stored/AutomaticAndAltKey.java
@@ -0,0 +1,41 @@
+/*
+ * Copyright 2006-2018 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.stored;
+
+import com.amazon.carbonado.AlternateKeys;
+import com.amazon.carbonado.Automatic;
+import com.amazon.carbonado.Key;
+import com.amazon.carbonado.PrimaryKey;
+import com.amazon.carbonado.Storable;
+
+/**
+ *
+ *
+ * @author Jesse Morgan
+ */
+@PrimaryKey("ID")
+@AlternateKeys(@Key("name"))
+public interface AutomaticAndAltKey extends Storable {
+ @Automatic
+ int getID();
+ void setID(int id);
+
+ String getName();
+ void setName(String name);
+}