use of javax.jcr.nodetype.NodeTypeTemplate in project jackrabbit by apache.
the class IndexingConfigurationImplTest method testAddNodeTypeToRegistry.
public void testAddNodeTypeToRegistry() throws Exception {
IndexingConfiguration config = createConfig("config4");
// add node type
NodeTypeManager ntMgr = session.getWorkspace().getNodeTypeManager();
String baseName = "indexingTextNodeType";
int i = 0;
String nt;
do {
nt = baseName + "_" + i++;
} while (ntMgr.hasNodeType(nt));
// register node type
NodeTypeTemplate ntTemplate = ntMgr.createNodeTypeTemplate();
ntTemplate.setName(nt);
ntTemplate.setDeclaredSuperTypeNames(new String[] { ntUnstructured });
ntMgr.registerNodeType(ntTemplate, false);
// create node
Node n = testRootNode.addNode(nodeName2, nt);
session.save();
// get state
NodeState state = (NodeState) getSearchIndex().getContext().getItemStateManager().getItemState(new NodeId(n.getIdentifier()));
assertTrue(config.isIndexed(state, FOO));
assertFalse(config.isIncludedInNodeScopeIndex(state, FOO));
}
use of javax.jcr.nodetype.NodeTypeTemplate in project jackrabbit by apache.
the class NodeTypeCreationTest method testEmptyNodeTypeTemplate.
public void testEmptyNodeTypeTemplate() throws Exception {
NodeTypeTemplate ntt = ntm.createNodeTypeTemplate();
assertNull(ntt.getName());
assertFalse(ntt.isMixin());
assertFalse(ntt.isAbstract());
assertFalse(ntt.hasOrderableChildNodes());
// note: isQueryable cannot be tested as defautl value is defined
// by the implementation
assertNotNull(ntt.getDeclaredSupertypeNames());
assertEquals(0, ntt.getDeclaredSupertypeNames().length);
assertNull(ntt.getPrimaryItemName());
assertNull(ntt.getDeclaredChildNodeDefinitions());
assertNull(ntt.getDeclaredPropertyDefinitions());
assertNotNull(ntt.getNodeDefinitionTemplates());
assertTrue(ntt.getNodeDefinitionTemplates().isEmpty());
assertNotNull(ntt.getPropertyDefinitionTemplates());
assertTrue(ntt.getPropertyDefinitionTemplates().isEmpty());
}
use of javax.jcr.nodetype.NodeTypeTemplate in project jackrabbit by apache.
the class NodeTypeCreationTest method testNewNodeTypeTemplate.
public void testNewNodeTypeTemplate() throws Exception {
String expandedName = "{" + NS_MIX_URI + "}" + "littlemixin";
String jcrName = superuser.getNamespacePrefix(NS_MIX_URI) + ":littlemixin";
NodeTypeTemplate ntt = ntm.createNodeTypeTemplate();
ntt.setName(expandedName);
assertEquals(jcrName, ntt.getName());
ntt.setName(jcrName);
assertEquals(jcrName, ntt.getName());
ntt.setAbstract(false);
assertFalse(ntt.isAbstract());
try {
ntt.setDeclaredSuperTypeNames(null);
fail("null isn't a valid array of jcr name");
} catch (ConstraintViolationException e) {
// success
}
assertNotNull(ntt.getDeclaredSupertypeNames());
assertEquals(0, ntt.getDeclaredSupertypeNames().length);
ntt.setDeclaredSuperTypeNames(new String[] { mixReferenceable });
assertNotNull(ntt.getDeclaredSupertypeNames());
assertEquals(1, ntt.getDeclaredSupertypeNames().length);
assertEquals(mixReferenceable, ntt.getDeclaredSupertypeNames()[0]);
ntt.setMixin(true);
assertTrue(ntt.isMixin());
ntt.setOrderableChildNodes(true);
assertTrue(ntt.hasOrderableChildNodes());
ntt.setQueryable(false);
assertFalse(ntt.isQueryable());
ntt.setPrimaryItemName(null);
assertNull(ntt.getPrimaryItemName());
ntt.setPrimaryItemName(jcrPrimaryType);
assertEquals(jcrPrimaryType, ntt.getPrimaryItemName());
PropertyDefinitionTemplate pdTemplate = createBooleanPropTemplate();
List pdefs = ntt.getPropertyDefinitionTemplates();
pdefs.add(pdTemplate);
assertNotNull(ntt.getDeclaredPropertyDefinitions());
assertEquals(1, ntt.getDeclaredPropertyDefinitions().length);
assertEquals(pdTemplate, ntt.getDeclaredPropertyDefinitions()[0]);
pdefs = ntt.getPropertyDefinitionTemplates();
assertEquals(1, pdefs.size());
assertEquals(pdTemplate, pdefs.get(0));
NodeDefinitionTemplate ndTemplate = ntm.createNodeDefinitionTemplate();
List ndefs = ntt.getNodeDefinitionTemplates();
ndefs.add(ndTemplate);
assertNotNull(ntt.getDeclaredChildNodeDefinitions());
assertEquals(1, ntt.getDeclaredChildNodeDefinitions().length);
assertEquals(ndTemplate, ntt.getDeclaredChildNodeDefinitions()[0]);
ndefs = ntt.getNodeDefinitionTemplates();
assertEquals(1, ndefs.size());
assertEquals(ndTemplate, ndefs.get(0));
}
use of javax.jcr.nodetype.NodeTypeTemplate in project jackrabbit by apache.
the class NodeTypeCreationTest method testRegisterNodeType.
public void testRegisterNodeType() throws Exception {
NodeTypeTemplate ntt = ntm.createNodeTypeTemplate();
ntt.setName("mix:foo");
ntt.setAbstract(false);
ntt.setMixin(true);
ntt.setOrderableChildNodes(false);
ntt.setQueryable(false);
PropertyDefinitionTemplate pdt = ntm.createPropertyDefinitionTemplate();
pdt.setAutoCreated(false);
pdt.setName("foo");
pdt.setMultiple(false);
pdt.setRequiredType(PropertyType.STRING);
List pdefs = ntt.getPropertyDefinitionTemplates();
pdefs.add(pdt);
ntm.registerNodeType(ntt, true);
try {
ntm.registerNodeType(ntt, false);
fail("NodeTypeExistsException expected.");
} catch (NodeTypeExistsException e) {
// success
}
}
use of javax.jcr.nodetype.NodeTypeTemplate in project jackrabbit by apache.
the class NodeTypeCreationTest method testNonEmptyNodeTypeTemplate.
public void testNonEmptyNodeTypeTemplate() throws Exception {
NodeTypeDefinition ntd = ntm.getNodeType("nt:address");
NodeTypeTemplate ntt = ntm.createNodeTypeTemplate(ntm.getNodeType("nt:address"));
assertEquals(ntt.getName(), ntd.getName());
assertEquals(ntt.isMixin(), ntd.isMixin());
assertEquals(ntt.isAbstract(), ntd.isAbstract());
assertEquals(ntt.hasOrderableChildNodes(), ntd.hasOrderableChildNodes());
assertEquals(ntt.isQueryable(), ntd.isQueryable());
assertEquals(ntt.getPrimaryItemName(), ntd.getPrimaryItemName());
assertTrue(Arrays.equals(ntt.getDeclaredSupertypeNames(), ntd.getDeclaredSupertypeNames()));
NodeDefinition[] nda = ntt.getDeclaredChildNodeDefinitions();
NodeDefinition[] nda1 = ntd.getDeclaredChildNodeDefinitions();
assertEquals(nda.length, nda1.length);
for (int i = 0; i < nda.length; i++) {
assertEquals(nda[i].getName(), nda1[i].getName());
assertEquals(nda[i].allowsSameNameSiblings(), nda1[i].allowsSameNameSiblings());
assertTrue(Arrays.equals(nda[i].getRequiredPrimaryTypeNames(), nda1[i].getRequiredPrimaryTypeNames()));
assertEquals(nda[i].getDefaultPrimaryTypeName(), nda1[i].getDefaultPrimaryTypeName());
assertEquals(nda[i].getRequiredPrimaryTypeNames(), nda1[i].getRequiredPrimaryTypeNames());
}
PropertyDefinition[] pda = ntt.getDeclaredPropertyDefinitions();
PropertyDefinition[] pda1 = ntd.getDeclaredPropertyDefinitions();
assertEquals(pda.length, pda1.length);
for (int i = 0; i < pda.length; i++) {
assertEquals(pda[i].getName(), pda1[i].getName());
assertEquals(pda[i].getRequiredType(), pda1[i].getRequiredType());
assertTrue(Arrays.equals(pda[i].getAvailableQueryOperators(), pda1[i].getAvailableQueryOperators()));
assertTrue(Arrays.equals(pda[i].getValueConstraints(), pda1[i].getValueConstraints()));
assertEquals(pda[i].isFullTextSearchable(), pda1[i].isFullTextSearchable());
assertEquals(pda[i].isMultiple(), pda1[i].isMultiple());
assertEquals(pda[i].isQueryOrderable(), pda1[i].isQueryOrderable());
}
}
Aggregations