@Override public OIndex<?> createIndex(OClass.INDEX_TYPE iType, ODocument metadata) { return delegate.createIndex(iType, metadata); }
@Override public OIndex<?> createIndex(final String iType) { return delegate.createIndex(iType); }
@Override public OIndex<?> createIndex(final OClass.INDEX_TYPE iType) { return delegate.createIndex(iType); }
@Override public OIndex<?> createIndex(String iType, ODocument metadata) { return delegate.createIndex(iType, metadata); }
protected void init(final ODatabaseDocument db) { if (db.getMetadata().getSchema().existsClass("OFunction")) { final OClass f = db.getMetadata().getSchema().getClass("OFunction"); OProperty prop = f.getProperty("name"); if (prop.getAllIndexes().isEmpty()) prop.createIndex(OClass.INDEX_TYPE.UNIQUE_HASH_INDEX); return; } final OClass f = db.getMetadata().getSchema().createClass("OFunction"); OProperty prop = f.createProperty("name", OType.STRING, (OType) null, true); prop.createIndex(OClass.INDEX_TYPE.UNIQUE_HASH_INDEX); f.createProperty("code", OType.STRING, (OType) null, true); f.createProperty("language", OType.STRING, (OType) null, true); f.createProperty("idempotent", OType.BOOLEAN, (OType) null, true); f.createProperty("parameters", OType.EMBEDDEDLIST, OType.STRING, true); }
public void load() { final OClass userClass = getDatabase().getMetadata().getSchema().getClass("OUser"); if (userClass != null) { // @COMPATIBILITY <1.3.0 if (!userClass.existsProperty("status")) { userClass.createProperty("status", OType.STRING).setMandatory(true).setNotNull(true); } OProperty p = userClass.getProperty("name"); if (p == null) p = userClass.createProperty("name", OType.STRING).setMandatory(true).setNotNull(true).setMin("1") .setRegexp("\\S+(.*\\S+)*"); if (userClass.getInvolvedIndexes("name") == null) p.createIndex(INDEX_TYPE.UNIQUE); // ROLE final OClass roleClass = getDatabase().getMetadata().getSchema().getClass("ORole"); final OProperty rules = roleClass.getProperty("rules"); if (rules != null && !OType.EMBEDDEDMAP.equals(rules.getType())) { roleClass.dropProperty("rules"); } if (!roleClass.existsProperty("inheritedRole")) { roleClass.createProperty("inheritedRole", OType.LINK, roleClass); } p = roleClass.getProperty("name"); if (p == null) p = roleClass.createProperty("name", OType.STRING).setMandatory(true).setNotNull(true); if (roleClass.getInvolvedIndexes("name") == null) p.createIndex(INDEX_TYPE.UNIQUE); } }
/** * {@inheritDoc} * Create a new class of OrientDB documents if necessary. Enforce specified schema over the document class. * */ @Override public void createSchema() throws GoraException { if (schemaExists()) { return; } try (ODatabaseDocumentTx schemaTx = connectionPool.acquire()) { schemaTx.activateOnCurrentThread(); OClass documentClass = schemaTx.getMetadata().getSchema().createClass(orientDBMapping.getDocumentClass()); documentClass.createProperty("_id", OType.getTypeByClass(super.getKeyClass())).createIndex(OClass.INDEX_TYPE.UNIQUE); for (String docField : orientDBMapping.getDocumentFields()) { documentClass.createProperty(docField, OType.valueOf(orientDBMapping.getDocumentFieldType(docField).name())); } schemaTx.getMetadata().getSchema().reload(); } catch (Exception e) { throw new GoraException(e); } }