Changeset 30381
- Timestamp:
- 02/20/08 21:12:09 (9 months ago)
- Files:
-
- org.nuxeo.ecm.platform/branches/5.1/nuxeo-platform-directory-core/src/main/java/org/nuxeo/ecm/directory/memory/MemoryDirectory.java (modified) (2 diffs)
- org.nuxeo.ecm.platform/branches/5.1/nuxeo-platform-directory-core/src/test/java/org/nuxeo/ecm/directory/memory/TestMemoryDirectory.java (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
org.nuxeo.ecm.platform/branches/5.1/nuxeo-platform-directory-core/src/main/java/org/nuxeo/ecm/directory/memory/MemoryDirectory.java
r30374 r30381 20 20 package org.nuxeo.ecm.directory.memory; 21 21 22 import java.util.Collection; 23 import java.util.HashSet; 22 24 import java.util.Map; 23 25 import java.util.Set; 24 26 27 import org.nuxeo.ecm.core.schema.SchemaManager; 28 import org.nuxeo.ecm.core.schema.TypeService; 29 import org.nuxeo.ecm.core.schema.types.Field; 30 import org.nuxeo.ecm.core.schema.types.Schema; 25 31 import org.nuxeo.ecm.directory.AbstractDirectory; 32 import org.nuxeo.ecm.directory.DirectoryException; 26 33 import org.nuxeo.ecm.directory.IdGenerator; 27 34 import org.nuxeo.ecm.directory.Session; 35 import org.nuxeo.runtime.api.Framework; 28 36 29 37 /** … … 46 54 47 55 public MemoryDirectorySession session; 56 57 public MemoryDirectory(String name, String schema, String idField, String passwordField) throws DirectoryException { 58 this(name, schema, new HashSet<String>(), idField, passwordField); 59 60 SchemaManager sm = getSchemaManager(); 61 Schema sch = sm.getSchema(schema); 62 if (sch == null) { 63 throw new DirectoryException("Unknown schema :" + schema); 64 } 65 Collection<Field> fields = sch.getFields(); 66 for (Field f: fields) { 67 schemaSet.add(f.getName().getLocalName()); 68 } 69 70 } 71 72 public SchemaManager getSchemaManager() throws DirectoryException { 73 SchemaManager sm = null; 74 try { 75 sm = Framework.getService(SchemaManager.class); 76 } catch (Exception e) { 77 throw new DirectoryException("Unable to look up Core Type Service"); 78 } 79 if (sm == null) { 80 throw new DirectoryException("Unable to look up type service"); 81 } 82 return sm; 83 } 48 84 49 85 public MemoryDirectory(String name, String schemaName, Set<String> schemaSet, org.nuxeo.ecm.platform/branches/5.1/nuxeo-platform-directory-core/src/test/java/org/nuxeo/ecm/directory/memory/TestMemoryDirectory.java
r30374 r30381 65 65 deployBundle("org.nuxeo.ecm.core.schema"); 66 66 67 // XXX GR fair enough, but why not using an xsd file? 68 SchemaImpl sch = new SchemaImpl(SCHEMA_NAME); 69 sch.addField(QName.valueOf("i"), new TypeRef<Type>(SchemaNames.BUILTIN, StringType.ID)); 70 sch.addField(QName.valueOf("pw"), new TypeRef<Type>(SchemaNames.BUILTIN, StringType.ID)); 71 sch.addField(QName.valueOf("a"), new TypeRef<Type>(SchemaNames.BUILTIN, StringType.ID)); 72 sch.addField(QName.valueOf("b"), new TypeRef<Type>(SchemaNames.BUILTIN, StringType.ID)); 73 sch.addField(QName.valueOf("x"), new TypeRef<Type>(SchemaNames.BUILTIN, StringType.ID)); 74 Framework.getService(SchemaManager.class).registerSchema(sch); 67 createSchema(); 75 68 76 69 Set<String> schemaSet = new HashSet<String>(Arrays.asList("i", "pw", … … 88 81 } 89 82 83 public void createSchema() throws Exception { 84 // XXX GR fair enough, but why not using an xsd file? 85 SchemaImpl sch = new SchemaImpl(SCHEMA_NAME); 86 sch.addField(QName.valueOf("i"), new TypeRef<Type>(SchemaNames.BUILTIN, StringType.ID)); 87 sch.addField(QName.valueOf("pw"), new TypeRef<Type>(SchemaNames.BUILTIN, StringType.ID)); 88 sch.addField(QName.valueOf("a"), new TypeRef<Type>(SchemaNames.BUILTIN, StringType.ID)); 89 sch.addField(QName.valueOf("b"), new TypeRef<Type>(SchemaNames.BUILTIN, StringType.ID)); 90 sch.addField(QName.valueOf("x"), new TypeRef<Type>(SchemaNames.BUILTIN, StringType.ID)); 91 Framework.getService(SchemaManager.class).registerSchema(sch); 92 } 93 94 public void testSchemaIntrospection() throws Exception { 95 MemoryDirectory md = new MemoryDirectory("adir", SCHEMA_NAME, "i", "pw"); 96 assertEquals(new HashSet<String>(Arrays.asList("i", "pw", "a", "b", "x")), 97 md.schemaSet); 98 } 99 90 100 public void testCreate() throws Exception { 91 101 // created in setUp
