diff options
author | James Ahlborn <jtahlborn@yahoo.com> | 2016-09-04 13:49:02 +0000 |
---|---|---|
committer | James Ahlborn <jtahlborn@yahoo.com> | 2016-09-04 13:49:02 +0000 |
commit | 2faaa260faddd78b997929ccdf0c9a1c1768b787 (patch) | |
tree | 51008ae0fda525ccc8a85fb1bc13becda0de195f | |
parent | 918a19792279dc8e4392d78a48e0662db3c82781 (diff) | |
parent | 70eb4cc43cfc18a65aa50506dfeaf1d8a2e3a3f4 (diff) | |
download | jackcess-2faaa260faddd78b997929ccdf0c9a1c1768b787.tar.gz jackcess-2faaa260faddd78b997929ccdf0c9a1c1768b787.zip |
merge trunk changes through r1024
git-svn-id: https://svn.code.sf.net/p/jackcess/code/jackcess/branches/mutateops@1025 f203690c-595d-4dc9-a70b-905162fa7fd2
3 files changed, 12 insertions, 5 deletions
diff --git a/src/main/java/com/healthmarketscience/jackcess/PropertyMap.java b/src/main/java/com/healthmarketscience/jackcess/PropertyMap.java index 89a98c1..b216c6b 100644 --- a/src/main/java/com/healthmarketscience/jackcess/PropertyMap.java +++ b/src/main/java/com/healthmarketscience/jackcess/PropertyMap.java @@ -45,6 +45,8 @@ public interface PropertyMap extends Iterable<PropertyMap.Property> public static final String RESULT_TYPE_PROP = "ResultType"; public static final String EXPRESSION_PROP = "Expression"; public static final String ALLOW_MULTI_VALUE_PROP = "AllowMultipleValues"; + public static final String ROW_SOURCE_TYPE_PROP = "RowSourceType"; + public static final String ROW_SOURCE_PROP = "RowSource"; public String getName(); diff --git a/src/main/java/com/healthmarketscience/jackcess/impl/complex/MultiValueColumnPropertyMap.java b/src/main/java/com/healthmarketscience/jackcess/impl/complex/MultiValueColumnPropertyMap.java index 08f472c..25c8e95 100644 --- a/src/main/java/com/healthmarketscience/jackcess/impl/complex/MultiValueColumnPropertyMap.java +++ b/src/main/java/com/healthmarketscience/jackcess/impl/complex/MultiValueColumnPropertyMap.java @@ -85,7 +85,7 @@ public class MultiValueColumnPropertyMap implements PropertyMap public Property put(String name, DataType type, Object value) { // the only property which seems to go in the "primary" is the "multi // value" property - if(ALLOW_MULTI_VALUE_PROP.equals(name)) { + if(isPrimaryKey(name)) { return _primary.put(name, DataType.BOOLEAN, value); } return _complex.put(name, value); @@ -97,7 +97,7 @@ public class MultiValueColumnPropertyMap implements PropertyMap } for(Property prop : props) { - if(ALLOW_MULTI_VALUE_PROP.equals(prop.getName())) { + if(isPrimaryKey(prop.getName())) { ((PropertyMapImpl)_primary).put(prop); } else { ((PropertyMapImpl)_complex).put(prop); @@ -106,7 +106,7 @@ public class MultiValueColumnPropertyMap implements PropertyMap } public Property remove(String name) { - if(ALLOW_MULTI_VALUE_PROP.equals(name)) { + if(isPrimaryKey(name)) { return _primary.remove(name); } return _complex.remove(name); @@ -164,4 +164,9 @@ public class MultiValueColumnPropertyMap implements PropertyMap public String toString() { return PropertyMapImpl.toString(this); } + + private static boolean isPrimaryKey(String name) { + // the multi-value key seems to be the only one on the primary column + return ALLOW_MULTI_VALUE_PROP.equals(name); + } } diff --git a/src/test/java/com/healthmarketscience/jackcess/ComplexColumnTest.java b/src/test/java/com/healthmarketscience/jackcess/ComplexColumnTest.java index acecf57..b4704bf 100644 --- a/src/test/java/com/healthmarketscience/jackcess/ComplexColumnTest.java +++ b/src/test/java/com/healthmarketscience/jackcess/ComplexColumnTest.java @@ -306,9 +306,9 @@ public class ComplexColumnTest extends TestCase // test multi-value col props PropertyMap props = col.getProperties(); assertEquals(Boolean.TRUE, props.getValue(PropertyMap.ALLOW_MULTI_VALUE_PROP)); - assertEquals("Value List", props.getValue("RowSourceType")); + assertEquals("Value List", props.getValue(PropertyMap.ROW_SOURCE_TYPE_PROP)); assertEquals("\"value1\";\"value2\";\"value3\";\"value4\"", - props.getValue("RowSource")); + props.getValue(PropertyMap.ROW_SOURCE_PROP)); db.close(); } |