@Override public OClass setSuperClasses(final List<? extends OClass> classes) { delegate.setSuperClasses(classes); return this; }
private void addSuperClassesToOClass(OSchema schema, OClass oClass, List<String> superClassNames) { if (superClassNames != null && !superClassNames.isEmpty()) { List<OClass> superClasses = Lists.newArrayList(); for (String architectSuperClass : superClassNames) { if (schema.existsClass(architectSuperClass)) { OClass superClass = schema.getClass(architectSuperClass); superClasses.add(superClass); } } oClass.setSuperClasses(superClasses); } }
@Override protected OClass createInstance(OClass proxy) { OSchema schema = OrientDbWebSession.get().getDatabase().getMetadata().getSchema(); OClass oClass = schema.createClass(proxy.getName()); oClass.setSuperClasses(proxy.getSuperClasses()); String clusterSelection = (String) values.get(CLUSTER_SELECTION); if(clusterSelection!=null) { oClass.setClusterSelection(clusterSelection); } values.remove(NAME); values.remove(SUPER_CLASSES); values.remove(SUPER_CLASSES_NAMES); values.remove(CLUSTER_SELECTION); return oClass; }
@Override protected OClass createInstance(OClass proxy) { OSchema schema = OrientDbWebSession.get().getDatabase().getMetadata().getSchema(); OClass oClass = schema.createClass(proxy.getName()); oClass.setSuperClasses(proxy.getSuperClasses()); String clusterSelection = (String) values.get(CLUSTER_SELECTION); if(clusterSelection!=null) { oClass.setClusterSelection(clusterSelection); } values.remove(NAME); values.remove(SUPER_CLASSES); values.remove(SUPER_CLASSES_NAMES); values.remove(CLUSTER_SELECTION); return oClass; }
private void doSetSuperclass(OCommandContext ctx, OClass oClass, OIdentifier superclassName) { if (superclassName == null) { throw new OCommandExecutionException("Invalid superclass name: " + toString()); } OClass superclass = ctx.getDatabase().getMetadata().getSchema().getClass(superclassName.getStringValue()); if (superclass == null) { throw new OCommandExecutionException("superclass not found: " + toString()); } if (Boolean.TRUE.equals(add)) { oClass.addSuperClass(superclass); } else if (Boolean.TRUE.equals(remove)) { oClass.removeSuperClass(superclass); } else { oClass.setSuperClasses(Collections.singletonList(superclass)); } }
private void doSetSuperclasses(OCommandContext ctx, OClass oClass, List<OIdentifier> superclassNames) { if (superclassNames == null) { throw new OCommandExecutionException("Invalid superclass name: " + toString()); } List<OClass> superclasses = new ArrayList<>(); for (OIdentifier superclassName : superclassNames) { OClass superclass = ctx.getDatabase().getMetadata().getSchema().getClass(superclassName.getStringValue()); if (superclass == null) { throw new OCommandExecutionException("superclass not found: " + toString()); } superclasses.add(superclass); } if (Boolean.TRUE.equals(add)) { for (OClass superclass : superclasses) { oClass.addSuperClass(superclass); } } else if (Boolean.TRUE.equals(remove)) { for (OClass superclass : superclasses) { oClass.removeSuperClass(superclass); } } else { oClass.setSuperClasses(superclasses); } } }
if(value!=null) entity.setSuperClasses((List<OClass>) value);
private OClass getOrCreateClassOnGraph(ODatabaseDocument db, String iClassName, String iSuperClass) { OClass cls;// GRAPH OSchema schema = db.getMetadata().getSchema(); cls = schema.getClass(iClassName); if (cls == null) { if (iSuperClass != null) { final OClass superClass = schema.getClass(iSuperClass); if (superClass == null) throw new OETLLoaderException("Cannot find super class '" + iSuperClass + "'"); OSchema schema1 = db.getMetadata().getSchema(); if (schema1.getClass("V").isSuperClassOf(superClass)) { // VERTEX cls = db.createVertexClass(iClassName).setSuperClasses(Arrays.asList(superClass)); log(Level.FINE, "- OrientDBLoader: created vertex class '%s' extends '%s'", iClassName, iSuperClass); } else { // EDGE cls = db.createEdgeClass(iClassName).setSuperClasses(Arrays.asList(superClass)); log(Level.FINE, "- OrientDBLoader: created edge class '%s' extends '%s'", iClassName, iSuperClass); } } else { // ALWAYS CREATE SUB-VERTEX cls = db.createVertexClass(iClassName); log(Level.FINE, "- OrientDBLoader: created vertex class '%s'", iClassName); } } return cls; }
private OClass createOrUpdateORoleClass(final ODatabaseDocument database, OClass identityClass) { OClass roleClass = database.getMetadata().getSchema().getClass("ORole"); boolean unsafe = false; if (roleClass == null) { roleClass = database.getMetadata().getSchema().createClass("ORole", identityClass); unsafe = true; } else if (!roleClass.getSuperClasses().contains(identityClass)) // MIGRATE AUTOMATICALLY TO 1.2.0 roleClass.setSuperClasses(Arrays.asList(identityClass)); if (!roleClass.existsProperty("name")) { roleClass.createProperty("name", OType.STRING, (OType) null, unsafe).setMandatory(true).setNotNull(true).setCollate("ci"); roleClass.createIndex("ORole.name", INDEX_TYPE.UNIQUE, ONullOutputListener.INSTANCE, "name"); } else { final OProperty name = roleClass.getProperty("name"); if (name.getAllIndexes().isEmpty()) roleClass.createIndex("ORole.name", INDEX_TYPE.UNIQUE, ONullOutputListener.INSTANCE, "name"); } if (!roleClass.existsProperty("mode")) roleClass.createProperty("mode", OType.BYTE, (OType) null, unsafe); if (!roleClass.existsProperty("rules")) roleClass.createProperty("rules", OType.EMBEDDEDMAP, OType.BYTE, unsafe); if (!roleClass.existsProperty("inheritedRole")) roleClass.createProperty("inheritedRole", OType.LINK, roleClass, unsafe); return roleClass; }
private void createOrUpdateOUserClass(final ODatabaseDocument database, OClass identityClass, OClass roleClass) { boolean unsafe = false; OClass userClass = database.getMetadata().getSchema().getClass("OUser"); if (userClass == null) { userClass = database.getMetadata().getSchema().createClass("OUser", identityClass); unsafe = true; } else if (!userClass.getSuperClasses().contains(identityClass)) // MIGRATE AUTOMATICALLY TO 1.2.0 userClass.setSuperClasses(Arrays.asList(identityClass)); if (!userClass.existsProperty("name")) { ((OClassImpl) userClass).createProperty("name", OType.STRING, (OType) null, unsafe).setMandatory(true).setNotNull(true) .setCollate("ci").setMin("1").setRegexp("\\S+(.*\\S+)*"); userClass.createIndex("OUser.name", INDEX_TYPE.UNIQUE, ONullOutputListener.INSTANCE, "name"); } else { final OProperty name = userClass.getProperty("name"); if (name.getAllIndexes().isEmpty()) userClass.createIndex("OUser.name", INDEX_TYPE.UNIQUE, ONullOutputListener.INSTANCE, "name"); } if (!userClass.existsProperty(OUser.PASSWORD_FIELD)) userClass.createProperty(OUser.PASSWORD_FIELD, OType.STRING, (OType) null, unsafe).setMandatory(true).setNotNull(true); if (!userClass.existsProperty("roles")) userClass.createProperty("roles", OType.LINKSET, roleClass, unsafe); if (!userClass.existsProperty("status")) userClass.createProperty("status", OType.STRING, (OType) null, unsafe).setMandatory(true).setNotNull(true); }
case SUPERCLASSES: if (identifierListValue == null) { oClass.setSuperClasses(Collections.EMPTY_LIST); } else { doSetSuperclasses(ctx, oClass, identifierListValue);