Author: shawkins
Date: 2012-08-27 22:42:57 -0400 (Mon, 27 Aug 2012)
New Revision: 4375
Modified:
trunk/admin/src/main/java/org/teiid/adminapi/impl/VDBMetadataMapper.java
trunk/admin/src/main/java/org/teiid/adminapi/impl/VDBMetadataParser.java
trunk/admin/src/main/resources/org/teiid/adminapi/i18n.properties
trunk/admin/src/test/java/org/teiid/adminapi/impl/TestVDBMetaData.java
trunk/admin/src/test/resources/parser-test-vdb.xml
trunk/admin/src/test/resources/vdb-describe.txt
Log:
TEIID-2141 rounding out support in the vdb.xml
Modified: trunk/admin/src/main/java/org/teiid/adminapi/impl/VDBMetadataMapper.java
===================================================================
--- trunk/admin/src/main/java/org/teiid/adminapi/impl/VDBMetadataMapper.java 2012-08-28
00:49:56 UTC (rev 4374)
+++ trunk/admin/src/main/java/org/teiid/adminapi/impl/VDBMetadataMapper.java 2012-08-28
02:42:57 UTC (rev 4375)
@@ -882,6 +882,7 @@
private static final String ALLOW_READ = "allow-read"; //$NON-NLS-1$
private static final String ALLOW_EXECUTE = "allow-execute"; //$NON-NLS-1$
private static final String ALLOW_ALTER = "allow-alter"; //$NON-NLS-1$
+ private static final String ALLOW_LANGUAGE = "allow-language"; //$NON-NLS-1$
public static PermissionMetaDataMapper INSTANCE = new PermissionMetaDataMapper();
@@ -891,6 +892,10 @@
}
node.get(RESOURCE_NAME).set(permission.getResourceName());
+ if(permission.getAllowLanguage() != null) {
+ node.get(ALLOW_LANGUAGE).set(permission.getAllowLanguage().booleanValue());
+ return node;
+ }
if (permission.getAllowCreate() != null) {
node.get(ALLOW_CREATE).set(permission.getAllowCreate().booleanValue());
}
@@ -921,6 +926,10 @@
if (node.get(RESOURCE_NAME) != null) {
permission.setResourceName(node.get(RESOURCE_NAME).asString());
}
+ if (node.has(ALLOW_LANGUAGE)) {
+ permission.setAllowLanguage(node.get(ALLOW_LANGUAGE).asBoolean());
+ return permission;
+ }
if (node.has(ALLOW_CREATE)) {
permission.setAllowCreate(node.get(ALLOW_CREATE).asBoolean());
}
@@ -949,6 +958,7 @@
addAttribute(node, ALLOW_READ, ModelType.BOOLEAN, false);
addAttribute(node, ALLOW_EXECUTE, ModelType.BOOLEAN, false);
addAttribute(node, ALLOW_ALTER, ModelType.BOOLEAN, false);
+ addAttribute(node, ALLOW_LANGUAGE, ModelType.BOOLEAN, false);
return node;
}
}
Modified: trunk/admin/src/main/java/org/teiid/adminapi/impl/VDBMetadataParser.java
===================================================================
--- trunk/admin/src/main/java/org/teiid/adminapi/impl/VDBMetadataParser.java 2012-08-28
00:49:56 UTC (rev 4374)
+++ trunk/admin/src/main/java/org/teiid/adminapi/impl/VDBMetadataParser.java 2012-08-28
02:42:57 UTC (rev 4375)
@@ -502,7 +502,7 @@
writeElement(writer, Element.ALLOW_ALTER, permission.getAllowAlter().toString());
}
if (permission.getAllowLanguage() != null) {
- writeElement(writer, Element.ALLOW_LANGUAGE,
permission.getAllowCreate().toString());
+ writeElement(writer, Element.ALLOW_LANGUAGE,
permission.getAllowLanguage().toString());
}
writer.writeEndElement();
}
Modified: trunk/admin/src/main/resources/org/teiid/adminapi/i18n.properties
===================================================================
--- trunk/admin/src/main/resources/org/teiid/adminapi/i18n.properties 2012-08-28 00:49:56
UTC (rev 4374)
+++ trunk/admin/src/main/resources/org/teiid/adminapi/i18n.properties 2012-08-28 02:42:57
UTC (rev 4375)
@@ -78,6 +78,7 @@
allow-delete.describe = delete allowed
allow-execute.describe = execute allowed
allow-alter.describe = alter allowed
+allow-language.describe = language allowed
TEIID70051=The controller is not available at {0}:{1}
TEIID70000=Failed to resolve host '{0}' due to : {1}
Modified: trunk/admin/src/test/java/org/teiid/adminapi/impl/TestVDBMetaData.java
===================================================================
--- trunk/admin/src/test/java/org/teiid/adminapi/impl/TestVDBMetaData.java 2012-08-28
00:49:56 UTC (rev 4374)
+++ trunk/admin/src/test/java/org/teiid/adminapi/impl/TestVDBMetaData.java 2012-08-28
02:42:57 UTC (rev 4375)
@@ -117,9 +117,16 @@
assertTrue(role.getMappedRoleNames().contains("ROLE2")); //$NON-NLS-1$
List<DataPolicy.DataPermission> permissions = role.getPermissions();
- assertEquals(2, permissions.size());
+ assertEquals(3, permissions.size());
+ boolean lang = false;
for (DataPolicy.DataPermission p: permissions) {
+ if (p.getAllowLanguage() != null) {
+ assertTrue(p.getAllowLanguage());
+ assertEquals("javascript", p.getResourceName());
+ lang = true;
+ continue;
+ }
if (p.getResourceName().equalsIgnoreCase("myTable.T1")) { //$NON-NLS-1$
assertTrue(p.getAllowRead());
assertNull(p.getAllowDelete());
@@ -129,6 +136,7 @@
assertTrue(p.getAllowDelete());
}
}
+ assertTrue(lang);
}
private VDBMetaData buildVDB() {
@@ -191,6 +199,11 @@
perm2.setAllowDelete(true);
roleOne.addPermission(perm2);
+ PermissionMetaData perm3 = new PermissionMetaData();
+ perm3.setResourceName("javascript"); //$NON-NLS-1$
+ perm3.setAllowLanguage(true);
+ roleOne.addPermission(perm3);
+
roleOne.setMappedRoleNames(Arrays.asList("ROLE1", "ROLE2"));
//$NON-NLS-1$ //$NON-NLS-2$
vdb.addDataPolicy(roleOne);
Modified: trunk/admin/src/test/resources/parser-test-vdb.xml
===================================================================
--- trunk/admin/src/test/resources/parser-test-vdb.xml 2012-08-28 00:49:56 UTC (rev 4374)
+++ trunk/admin/src/test/resources/parser-test-vdb.xml 2012-08-28 02:42:57 UTC (rev 4375)
@@ -33,6 +33,10 @@
<allow-execute>true</allow-execute>
<allow-alter>true</allow-alter>
</permission>
+ <permission>
+ <resource-name>javascript</resource-name>
+ <allow-language>true</allow-language>
+ </permission>
<mapped-role-name>ROLE1</mapped-role-name>
<mapped-role-name>ROLE2</mapped-role-name>
</data-role>
Modified: trunk/admin/src/test/resources/vdb-describe.txt
===================================================================
--- trunk/admin/src/test/resources/vdb-describe.txt 2012-08-28 00:49:56 UTC (rev 4374)
+++ trunk/admin/src/test/resources/vdb-describe.txt 2012-08-28 02:42:57 UTC (rev 4375)
@@ -378,6 +378,13 @@
},
"description" : "alter allowed",
"required" : false
+ },
+ "allow-language" : {
+ "type" : {
+ "TYPE_MODEL_VALUE" : "BOOLEAN"
+ },
+ "description" : "language allowed",
+ "required" : false
}
}
},