@Override public boolean existsProperty(final String iPropertyName) { return delegate.existsProperty(iPropertyName); }
private void maybeCreateProperty(final OClass oClass, final String property, final OType oType) { if (!oClass.existsProperty(property)) { oClass.createProperty(property, oType); } } }
private void createCaseInsensitiveNameField(final OClass type) { log.info("Creating case-insensitive name field on component"); if (!type.existsProperty(P_CI_NAME)) { type.createProperty(P_CI_NAME, OType.STRING) .setCollate(new OCaseInsensitiveCollate()) .setMandatory(false) .setNotNull(false); } }
private void renameAssetLastAccessedField() { try (ODatabaseDocumentTx db = componentDatabaseInstance.get().connect()) { OClass assetClass = getAssetDbClass(db); if (assetClass.existsProperty(P_LAST_ACCESSED)) { db.command(new OCommandSQL(ALTER_ASSET_LAST_ACCESSED)).execute(); } } }
protected void installWidgetsSchemaV3(ODatabaseDocument db) { OSchemaHelper helper = OSchemaHelper.bind(db); OClass widgetClass = helper.oClass(OCLASS_WIDGET).getOClass(); if(!widgetClass.existsProperty(OPROPERTY_TITLE)) { db.command(new OSQLSynchQuery<Void>("UPDATE "+OCLASS_WIDGET+" REMOVE title")); } OClass classToFix = db.getMetadata().getSchema() .getClass(AbstractHtmlJsPaneWidget.WIDGET_OCLASS_NAME); if(classToFix!=null && classToFix.existsProperty("title") && !widgetClass.existsProperty("title")) classToFix.dropProperty("title"); helper.oClass(OCLASS_WIDGET) .oProperty(OPROPERTY_TITLE, OType.EMBEDDEDMAP, 0).assignVisualization("localization"); }
@Override public void apply() throws Exception { withDatabaseAndClass(componentDatabaseInstance, BROWSE_NODE, (db, table) -> { db.getMetadata().getSchema().dropClass(BROWSE_NODE); }); withDatabaseAndClass(componentDatabaseInstance, ASSET, (db, table) -> { if (!table.existsProperty(AssetEntityAdapter.P_CREATED_BY)) { table.createProperty(AssetEntityAdapter.P_CREATED_BY, OType.STRING); } if (!table.existsProperty(AssetEntityAdapter.P_CREATED_BY_IP)) { table.createProperty(AssetEntityAdapter.P_CREATED_BY_IP, OType.STRING); } }); } }
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 OIndex<?> getoIndex(OClass oClass, String[] fields, String engine, ODatabase database, List<OCollate> collatesList, ODocument metadataDoc) { OIndex<?> idx; if ((keyTypes == null || keyTypes.size() == 0) && collatesList == null) { idx = oClass.createIndex(name.getValue(), type.getStringValue(), null, metadataDoc, engine, fields); } else { final List<OType> fieldTypeList; if (keyTypes == null || keyTypes.size() == 0 && fields.length > 0) { for (final String fieldName : fields) { if (!fieldName.equals("@rid") && !oClass.existsProperty(fieldName)) throw new OIndexException( "Index with name : '" + name.getValue() + "' cannot be created on class : '" + oClass.getName() + "' because field: '" + fieldName + "' is absent in class definition."); } fieldTypeList = ((OClassImpl) oClass).extractFieldTypes(fields); } else fieldTypeList = keyTypes.stream().map(x -> OType.valueOf(x.getStringValue())).collect(Collectors.toList()); final OIndexDefinition idxDef = OIndexDefinitionFactory .createIndexDefinition(oClass, Arrays.asList(fields), fieldTypeList, collatesList, type.getStringValue(), null); idx = database.getMetadata().getIndexManager() .createIndex(name.getValue(), type.getStringValue(), idxDef, oClass.getPolymorphicClusterIds(), null, metadataDoc, engine); } return idx; }
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); }
if (vertexBaseClass.existsProperty(CONNECTION_OUT) || vertexBaseClass.existsProperty(CONNECTION_IN)) { OLogManager.instance().warn(this, "Found property in/out against V"); if (edgeBaseClass.existsProperty(CONNECTION_OUT) || edgeBaseClass.existsProperty(CONNECTION_IN)) { OLogManager.instance().warn(this, "Found property in/out against E");
private void createOrUpdateORestrictedClass(final ODatabaseDocument database) { OClass restrictedClass = database.getMetadata().getSchema().getClass(RESTRICTED_CLASSNAME); boolean unsafe = false; if (restrictedClass == null) { restrictedClass = database.getMetadata().getSchema().createAbstractClass(RESTRICTED_CLASSNAME); unsafe = true; } if (!restrictedClass.existsProperty(ALLOW_ALL_FIELD)) restrictedClass .createProperty(ALLOW_ALL_FIELD, OType.LINKSET, database.getMetadata().getSchema().getClass(OIdentity.CLASS_NAME), unsafe); if (!restrictedClass.existsProperty(ALLOW_READ_FIELD)) restrictedClass .createProperty(ALLOW_READ_FIELD, OType.LINKSET, database.getMetadata().getSchema().getClass(OIdentity.CLASS_NAME), unsafe); if (!restrictedClass.existsProperty(ALLOW_UPDATE_FIELD)) restrictedClass .createProperty(ALLOW_UPDATE_FIELD, OType.LINKSET, database.getMetadata().getSchema().getClass(OIdentity.CLASS_NAME), unsafe); if (!restrictedClass.existsProperty(ALLOW_DELETE_FIELD)) restrictedClass .createProperty(ALLOW_DELETE_FIELD, OType.LINKSET, database.getMetadata().getSchema().getClass(OIdentity.CLASS_NAME), unsafe); }
@Test public void testExistsProperty() { OSchema schema = wicket.getTester().getSchema(); OClass classA = schema.createClass("TestExistsA"); classA.createProperty("property", OType.STRING); assertTrue(classA.existsProperty("property")); assertNotNull(classA.getProperty("property")); OClass classB = schema.createClass("TestExistsB", classA); assertNotNull(classB.getProperty("property")); assertTrue(classB.existsProperty("property")); }
if (keyTypes == null) { for (final String fieldName : fields) { if (!fieldName.equals("@rid") && !oClass.existsProperty(fieldName)) throw new OIndexException( "Index with name : '" + indexName + "' cannot be created on class : '" + oClass.getName() + "' because field: '"
protected void installWidgetsSchemaV2(ODatabaseDocument db) { OSchemaHelper helper = OSchemaHelper.bind(db); helper.oClass(AbstractHtmlJsPaneWidget.WIDGET_OCLASS_NAME, OCLASS_WIDGET) .oProperty("html", OType.STRING, 10).assignVisualization("html") .oProperty("script", OType.STRING, 20).assignVisualization("javascript") .oProperty("resources", OType.EMBEDDEDLIST, 30).linkedType(OType.STRING); if(!helper.getOClass().existsProperty("title")) helper.oProperty("title", OType.STRING, 0); helper.oClass(ExternalPageWidget.WIDGET_OCLASS_NAME, OCLASS_WIDGET) .oProperty("pageUrl", OType.STRING, 0) .oProperty("style", OType.STRING, 10); helper.oClass(CalculatedDocumentsWidget.WIDGET_OCLASS_NAME, OCLASS_WIDGET) .oProperty("query", OType.STRING, 0).assignVisualization("textarea"); }
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); } }
if (!cls.existsProperty(fieldNameParts[0])) {
if (!cls.existsProperty(fieldNameParts[0])) {