You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@chemistry.apache.org by ga...@apache.org on 2010/03/31 12:18:29 UTC
svn commit: r929460 - in
/incubator/chemistry/trunk/chemistry/chemistry-abdera/src:
main/java/org/apache/chemistry/abdera/ext/
test/java/org/apache/chemistry/abdera/ext/test/
Author: gabriele
Date: Wed Mar 31 10:18:29 2010
New Revision: 929460
URL: http://svn.apache.org/viewvc?rev=929460&view=rev
Log:
added property string definition specific test and added missing decimal property definition getter
Modified:
incubator/chemistry/trunk/chemistry/chemistry-abdera/src/main/java/org/apache/chemistry/abdera/ext/CMISConstants.java
incubator/chemistry/trunk/chemistry/chemistry-abdera/src/main/java/org/apache/chemistry/abdera/ext/CMISPropertyDefinition.java
incubator/chemistry/trunk/chemistry/chemistry-abdera/src/test/java/org/apache/chemistry/abdera/ext/test/TestAppModel.java
Modified: incubator/chemistry/trunk/chemistry/chemistry-abdera/src/main/java/org/apache/chemistry/abdera/ext/CMISConstants.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/chemistry/chemistry-abdera/src/main/java/org/apache/chemistry/abdera/ext/CMISConstants.java?rev=929460&r1=929459&r2=929460&view=diff
==============================================================================
--- incubator/chemistry/trunk/chemistry/chemistry-abdera/src/main/java/org/apache/chemistry/abdera/ext/CMISConstants.java (original)
+++ incubator/chemistry/trunk/chemistry/chemistry-abdera/src/main/java/org/apache/chemistry/abdera/ext/CMISConstants.java Wed Mar 31 10:18:29 2010
@@ -185,10 +185,13 @@ public interface CMISConstants {
// Integer specific defs
public static final QName PROPDEF_INT_MIN_VALUE = new QName(CMIS_NS, "minValue");
public static final QName PROPDEF_INT_MAX_VALUE = new QName(CMIS_NS, "maxValue");
+ // Integer specific defs
+ public static final QName PROPDEF_DECIMAL_PRECISION = new QName(CMIS_NS, "precision");
+
// Date specific defs
public static final QName PROPDEF_DATE_RESOLUTION = new QName(CMIS_NS, "resolution");
// String specific defs
- public static final QName PROPDEF_STRING_RESOLUTION = new QName(CMIS_NS, "maxLength");
+ public static final QName PROPDEF_STRING_MAX_LENGTH = new QName(CMIS_NS, "maxLength");
// CMIS Number of Items
public static final QName NUM_ITEMS = new QName(CMISRA_NS, "numItems");
Modified: incubator/chemistry/trunk/chemistry/chemistry-abdera/src/main/java/org/apache/chemistry/abdera/ext/CMISPropertyDefinition.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/chemistry/chemistry-abdera/src/main/java/org/apache/chemistry/abdera/ext/CMISPropertyDefinition.java?rev=929460&r1=929459&r2=929460&view=diff
==============================================================================
--- incubator/chemistry/trunk/chemistry/chemistry-abdera/src/main/java/org/apache/chemistry/abdera/ext/CMISPropertyDefinition.java (original)
+++ incubator/chemistry/trunk/chemistry/chemistry-abdera/src/main/java/org/apache/chemistry/abdera/ext/CMISPropertyDefinition.java Wed Mar 31 10:18:29 2010
@@ -279,8 +279,8 @@ public abstract class CMISPropertyDefini
*
* @return resolution AKA max length
*/
- public Integer getResolution() {
- Element child = getFirstChild(CMISConstants.PROPDEF_STRING_RESOLUTION);
+ public Integer getMaxLength() {
+ Element child = getFirstChild(CMISConstants.PROPDEF_STRING_MAX_LENGTH);
if (child != null) {
return Integer.parseInt(child.getText());
}
@@ -327,6 +327,18 @@ public abstract class CMISPropertyDefini
return null;
}
+ /**
+ * Gets the property's precision
+ *
+ * @return max value
+ */
+ public String getPrecision() {
+ Element child = getFirstChild(CMISConstants.PROPDEF_DECIMAL_PRECISION);
+ if (child != null) {
+ return child.getText();
+ }
+ return null;
+ }
}
/**
Modified: incubator/chemistry/trunk/chemistry/chemistry-abdera/src/test/java/org/apache/chemistry/abdera/ext/test/TestAppModel.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/chemistry/chemistry-abdera/src/test/java/org/apache/chemistry/abdera/ext/test/TestAppModel.java?rev=929460&r1=929459&r2=929460&view=diff
==============================================================================
--- incubator/chemistry/trunk/chemistry/chemistry-abdera/src/test/java/org/apache/chemistry/abdera/ext/test/TestAppModel.java (original)
+++ incubator/chemistry/trunk/chemistry/chemistry-abdera/src/test/java/org/apache/chemistry/abdera/ext/test/TestAppModel.java Wed Mar 31 10:18:29 2010
@@ -65,7 +65,7 @@ public class TestAppModel extends TestCa
* Tests constants for the type definition entry parsing
*/
public void testTypeDefinitionConstants() {
- CMISTypeDefinition type = loadCustomTypeDefinition();
+ CMISTypeDefinition type = loadTypeDefinition("/org/apache/chemistry/abdera/ext/test/D_mycm_doc-type-definition-entry.xml");
assertNotNull(type);
assertTrue(type.getCreatable());
assertTrue(type.getFileable());
@@ -90,7 +90,7 @@ public class TestAppModel extends TestCa
* Tests constants for the property definition entry parsing
*/
public void testPropertyDefinitionConstants() {
- CMISTypeDefinition type = loadCustomTypeDefinition();
+ CMISTypeDefinition type = loadTypeDefinition("/org/apache/chemistry/abdera/ext/test/D_mycm_doc-type-definition-entry.xml");
assertNotNull(type);
CMISPropertyDefinition property = type.getPropertyDefinition("mycm:privacy");
assertNotNull(property);
@@ -111,12 +111,26 @@ public class TestAppModel extends TestCa
assertEquals("readwrite", property.getUpdatability());
assertEquals(CMISConstants.PROP_TYPE_STRING, property.getPropertyType());
}
-
+
+ /**
+ * Tests string property definition specific constants and behavior
+ */
+ public void testPropertyStringDefinition() {
+ CMISTypeDefinition type = loadTypeDefinition("/org/apache/chemistry/abdera/ext/test/D_mycm_doc-type-definition-string-max-length-entry.xml");
+ assertNotNull(type);
+ CMISPropertyDefinition property = type.getPropertyDefinition("mycm:limited");
+ assertNotNull(property);
+ assertEquals("Limited info", property.getDisplayName());
+ assertTrue(property instanceof CMISPropertyStringDefinition);
+ assertNotNull(((CMISPropertyStringDefinition) property).getMaxLength());
+ assertEquals(new Integer(128),((CMISPropertyStringDefinition) property).getMaxLength());
+ }
+
/**
* Tests property definition choices parsing with no nested choices
*/
public void testGetChoices() {
- CMISTypeDefinition typeDefinition = loadCustomTypeDefinition();
+ CMISTypeDefinition typeDefinition = loadTypeDefinition("/org/apache/chemistry/abdera/ext/test/D_mycm_doc-type-definition-entry.xml");
assertNotNull(typeDefinition);
CMISPropertyDefinition propertyDefinition = typeDefinition.getPropertyDefinition("mycm:privacy");
assertNotNull(propertyDefinition);
@@ -138,7 +152,7 @@ public class TestAppModel extends TestCa
* Tests property definition choices parsing with with nested choices
*/
public void testGetNestedChoices() {
- CMISTypeDefinition typeDefinition = loadTypeDefinitionWithNestedChoices();
+ CMISTypeDefinition typeDefinition = loadTypeDefinition("/org/apache/chemistry/abdera/ext/test/D_mycm_doc-type-definition-nested-choices-entry.xml");
assertNotNull(typeDefinition);
CMISPropertyDefinition propertyDefinition = typeDefinition.getPropertyDefinition("mycm:privacy");
assertNotNull(propertyDefinition);
@@ -184,22 +198,15 @@ public class TestAppModel extends TestCa
assertEquals(choices.size(), 13);
}
- private CMISTypeDefinition loadCustomTypeDefinition() {
- String typeDefinitionEntry = null;
- try {
- typeDefinitionEntry = load("/org/apache/chemistry/abdera/ext/test/D_mycm_doc-type-definition-entry.xml");
- } catch (IOException e) {
- fail("Test atom entry not found");
- }
- Entry entry = model.parseEntry(new StringReader(typeDefinitionEntry), null);
- CMISTypeDefinition type = entry.getExtension(CMISConstants.TYPE_DEFINITION);
- return type;
- }
-
- private CMISTypeDefinition loadTypeDefinitionWithNestedChoices() {
+
+ /*
+ * Utility private methods
+ */
+
+ private CMISTypeDefinition loadTypeDefinition(String resourcePath) {
String typeDefinitionEntry = null;
try {
- typeDefinitionEntry = load("/org/apache/chemistry/abdera/ext/test/D_mycm_doc-type-definition-nested-choices-entry.xml");
+ typeDefinitionEntry = load(resourcePath);
} catch (IOException e) {
fail("Test atom entry not found");
}
@@ -208,6 +215,7 @@ public class TestAppModel extends TestCa
return type;
}
+
/**
* Load text from file specified by class path
*