1 package org.exoplatform.services.jcr.api.nodetypes; 2 3 4 import javax.jcr.*; 5 import javax.jcr.nodetype.ConstraintViolationException; 6 import javax.jcr.nodetype.NodeDef; 7 import javax.jcr.nodetype.NodeType; 8 import org.exoplatform.services.jcr.BaseTest; 9 import org.exoplatform.services.jcr.impl.core.RepositoryImpl; 10 import org.exoplatform.services.jcr.impl.util.EntityCollection; 11 import javax.jcr.nodetype.PropertyDef; 12 13 19 20 public class PrimaryNodeTypesTest extends BaseTest { 21 22 protected Node root; 23 protected Ticket ticket; 24 25 public void testDefault() throws Exception { 26 Node node = root.addNode("node1", "nt:default"); 27 NodeDef def = node.getDefinition(); 28 NodeType type = node.getPrimaryNodeType(); 29 30 assertTrue("have child ", ((EntityCollection) node.getNodes()).size() == 0); 31 assertTrue("prop num !=1 ", ((EntityCollection) node.getProperties()).size() == 1); 32 assertEquals("Prop not default ", "nt:default", node.getProperty("jcr:primaryType").getString()); 33 34 assertEquals("Type!= nt:default", type.getName(), "nt:default"); 35 assertTrue("typeNodeDefs != 1", type.getChildNodeDefs().length == 1); 36 assertTrue("typePropDefs != 3", type.getPropertyDefs().length == 3); 37 38 assertEquals("prop!=jcr:primaryType", "jcr:primaryType", type.getPropertyDefs()[1].getName()); 39 assertNull("prop0 name not null ", type.getPropertyDefs()[0].getName()); 40 assertNull("node name != null", type.getChildNodeDefs()[0].getName()); 41 42 } 43 44 111 112 public void testHierarchyItem() throws Exception { 113 114 Node node = root.addNode("node-hi", "nt:hierarchyItem"); 115 NodeDef def = node.getDefinition(); 116 NodeType type = node.getPrimaryNodeType(); 117 118 assertTrue("have child ", ((EntityCollection) node.getNodes()).size() == 0); 119 assertTrue("prop num !=2 ==" + ((EntityCollection) node.getProperties()).size(), ((EntityCollection) node.getProperties()).size() == 3); 120 121 assertEquals("Prop is not HierarchyItem ", "nt:hierarchyItem", node.getProperty("jcr:primaryType").getString()); 122 assertEquals("Type!= nt:hierarchyItem", "nt:hierarchyItem", type.getName()); 123 124 assertTrue("typePropDefs != 4", type.getPropertyDefs().length == 4); 125 assertTrue("nodeDefs != 0", type.getChildNodeDefs().length == 0); 127 128 assertEquals("prop2 name !=jcr:primaryType", "jcr:primaryType", type.getPropertyDefs()[2].getName()); 130 assertEquals("prop1 name != jcr:lastModified ", "jcr:lastModified", type.getPropertyDefs()[1].getName()); 131 assertEquals("prop0 name != jcr:created", "jcr:created", type.getPropertyDefs()[0].getName()); 132 133 136 node = root.getNode("node-hi"); 138 assertNotNull("Prop null ", node.getProperty("jcr:created").toString()); 139 } 141 142 public void testContent() throws Exception { 143 144 Node node = root.addNode("node-c", "nt:content"); 145 NodeType type = node.getPrimaryNodeType(); 146 147 assertEquals("Type!= nt:content", "nt:content", type.getName()); 148 assertTrue("typePropDefs != 4", type.getPropertyDefs().length == 4); 149 assertTrue("typeNodeDefs != 1", type.getChildNodeDefs().length == 1); 150 151 assertTrue("Props != 2 =" + ((EntityCollection) node.getProperties()).size(), ((EntityCollection) node.getProperties()).size() == 2); 152 assertTrue("Nodes != 0", ((EntityCollection) node.getNodes()).size() == 0); 153 154 node.addNode("someNode"); 155 node.addNode("someNode1"); 156 157 node.setProperty("stringProp", "string"); 158 node.setProperty("boolProp", true); 159 160 162 assertTrue("Props != 4 =" + ((EntityCollection) node.getProperties()).size(), ((EntityCollection) node.getProperties()).size() == 4); 163 assertTrue("Nodes != 2, = " + ((EntityCollection) node.getNodes()).size(), ((EntityCollection) node.getNodes()).size() == 2); 164 165 } 166 167 public void testFile() throws Exception { 168 169 Node node = root.addNode("node-f", "nt:file"); 170 NodeType type = node.getPrimaryNodeType(); 171 172 assertEquals("Type!= nt:file", "nt:file", type.getName()); 173 assertTrue("typePropDefs != 4", type.getPropertyDefs().length == 4); 174 assertTrue("typeNodeDefs != 1", type.getChildNodeDefs().length == 1); 175 176 assertEquals("prop2 name !=jcr:primaryType", "jcr:primaryType", type.getPropertyDefs()[2].getName()); 178 assertEquals("prop1 name != jcr:lastModified ", "jcr:lastModified", type.getPropertyDefs()[1].getName()); 179 assertEquals("prop0 name != jcr:created", "jcr:created", type.getPropertyDefs()[0].getName()); 180 181 assertEquals("node0 name != jcr:content", "jcr:content", type.getChildNodeDefs()[0].getName()); 182 183 assertTrue("Nodes != 1", ((EntityCollection) node.getNodes()).size() == 1); 184 185 assertEquals("Primary Item ", "jcr:content", node.getNode("jcr:content").getName()); 186 assertEquals("Primary Item ", "jcr:content", node.getPrimaryItem().getName()); 187 188 try { 189 node.addNode("not-allowed"); 190 fail("AddNode ConstraintViolationException should be thrown!"); 191 } catch (ConstraintViolationException e) { 192 } 193 194 node.setProperty("not-allowed", "val"); 195 try { 196 node.save(false); 197 fail("SetProp ConstraintViolationException should be thrown!"); 198 } catch (RepositoryException e) { 199 } 200 201 Node node1 = (Node) node.getPrimaryItem(); 202 node1.addNode("test"); 203 node1.setProperty("test", "test"); 204 205 } 206 207 public void testFolder() throws Exception { 208 209 Node node = root.addNode("node-fl", "nt:folder"); 210 NodeType type = node.getPrimaryNodeType(); 211 212 assertEquals("Type!= nt:folder", "nt:folder", type.getName()); 213 assertTrue("typePropDefs != 4", type.getPropertyDefs().length == 4); 214 assertTrue("typeNodeDefs != 1", type.getChildNodeDefs().length == 1); 215 216 assertEquals("prop2 name !=jcr:primaryType", "jcr:primaryType", type.getPropertyDefs()[2].getName()); 218 assertEquals("prop1 name != jcr:lastModified ", "jcr:lastModified", type.getPropertyDefs()[1].getName()); 219 assertEquals("prop0 name != jcr:created", "jcr:created", type.getPropertyDefs()[0].getName()); 220 221 assertNull("node0 name != null", type.getChildNodeDefs()[0].getName()); 222 223 node.setProperty("not-allowed", "val"); 224 try { 225 node.save(false); 226 fail("SetProp ConstraintViolationException should be thrown!"); 227 } catch (RepositoryException e) { 228 } 229 230 Node node1 = node.addNode("node1"); 231 assertEquals("Type!= nt:hierarchyItem", "nt:hierarchyItem", node1.getPrimaryNodeType().getName()); 232 233 } 234 235 public void testMimeResource() throws Exception { 236 237 Node node = root.addNode("node-mr", "nt:mimeResource"); 238 NodeType type = node.getPrimaryNodeType(); 239 240 assertEquals("Type!=nt:mimeResource", "nt:mimeResource", type.getName()); 241 PropertyDef[] propDefs = type.getPropertyDefs(); 242 243 assertTrue("typePropDefs = "+type.getPropertyDefs().length, type.getPropertyDefs().length == 7); 245 assertTrue("typeNodeDefs != 0", type.getChildNodeDefs().length == 0); 246 247 248 } 249 } 250 | Popular Tags |