public OrientJdbcDatabaseMetaData(OrientJdbcConnection iConnection, ODatabaseDocument iDatabase) { connection = iConnection; database = iDatabase; metadata = database.getMetadata(); }
void internalAcquireExclusiveLock() { final ODatabaseDocument databaseRecord = getDatabaseIfDefined(); if (databaseRecord != null && !databaseRecord.isClosed()) { final OMetadataInternal metadata = (OMetadataInternal) databaseRecord.getMetadata(); if (metadata != null) metadata.makeThreadLocalSchemaSnapshot(); } lock.writeLock().lock(); }
protected OIndexManager getIndexManager() { if(indexManager==null) { indexManager = getDatabase().getMetadata().getIndexManager(); } return indexManager; }
public void createClass(final String className, final String superClassName) { makeActive(); OClass superClass = database.getMetadata().getSchema().getClass(superClassName); if (superClass == null) { Collection<OClass> allClasses = database.getMetadata().getSchema().getClasses(); throw new IllegalArgumentException("unable to find class " + superClassName + ". Available classes: " + allClasses); } createClass(className, superClass); }
public void createClassTrigger() { final ODatabaseDocument db = ODatabaseRecordThreadLocal.instance().get(); OClass classTrigger = db.getMetadata().getSchema().getClass(OClassTrigger.CLASSNAME); if (classTrigger == null) classTrigger = db.getMetadata().getSchema().createAbstractClass(OClassTrigger.CLASSNAME); }
@Override public Object execute(Map<Object, Object> iArgs) { if (this.sequenceName == null) { throw new OCommandExecutionException("Cannot execute the command because it has not been parsed yet"); } final ODatabaseDocument database = getDatabase(); database.getMetadata().getSequenceLibrary().createSequence(this.sequenceName, this.sequenceType, this.params); return database.getMetadata().getSequenceLibrary().getSequenceCount(); }
@Override protected ORole load() { return getDatabase().getMetadata().getSecurity().getRole(ORoleSecurityWidget.this.getModelObject()); } };
@Override public OClass call(final OrientBaseGraph g) { ODatabaseDocument rawGraph = getRawGraph(); rawGraph.getMetadata().getSchema().dropClass(iTypeName); return null; } }, "drop vertex type '", iTypeName, "'");
public ResultSet getImportedKeys(String catalog, String schema, String table) throws SQLException { database.activateOnCurrentThread(); OClass aClass = database.getMetadata().getSchema().getClass(table); aClass.declaredProperties().stream().forEach(p -> p.getType()); return getEmptyResultSet(); }
@Override public Object execute(Map<Object, Object> iArgs) { if (this.sequenceName == null) { throw new OCommandExecutionException("Cannot execute the command because it has not been parsed yet"); } final ODatabaseDocument database = getDatabase(); database.getMetadata().getSequenceLibrary().dropSequence(this.sequenceName); return true; }
private List<OIndex<?>> relatedIndexes(final String fieldName) { final List<OIndex<?>> result = new ArrayList<OIndex<?>>(); final ODatabaseDocument database = getDatabase(); for (final OIndex<?> oIndex : database.getMetadata().getIndexManager().getClassIndexes(className)) { if (OCollections.indexOf(oIndex.getDefinition().getFields(), fieldName, new OCaseInsentiveComparator()) > -1) { result.add(oIndex); } } return result; }
@Override public void onUninstall(OrienteerWebApplication app, ODatabaseDocument db) { OSchema schema = app.getDatabase().getMetadata().getSchema(); if(schema.existsClass(OCLASS_LOCALIZATION)) schema.dropClass(OCLASS_LOCALIZATION); }
protected boolean isClusterDeletable(int clusterId) { final ODatabaseDocument database = getDatabase(); for (OClass iClass : database.getMetadata().getSchema().getClasses()) { for (int i : iClass.getClusterIds()) { if (i == clusterId) return false; } } return true; }
private boolean filterClass(String klass) { ODatabaseDocument database = getDatabase(); OSchema schema = database.getMetadata().getSchema(); OClass schemaClass = schema.getClass(klass); if (vertexStep) { return schemaClass.isSubClassOf("V"); } else { return schemaClass.isSubClassOf("E"); } }
@Override protected OProperty doBackward(String b) { ODatabaseDocument db = OrientDbWebSession.get().getDatabase(); OSchema schema = db.getMetadata().getSchema(); String className = Strings.beforeFirst(b, '.'); String propertyName = Strings.afterFirst(b, '.'); OClass oClass = schema.getClass(className); return oClass.getProperty(propertyName); }
@Override public Object execute(Map<Object, Object> iArgs) { if (this.sequenceName == null) { throw new OCommandExecutionException("Cannot execute the command because it has not been parsed yet"); } final ODatabaseDocument database = getDatabase(); OSequence sequence = database.getMetadata().getSequenceLibrary().getSequence(this.sequenceName); final boolean result = sequence.updateParams(this.params); sequence.reset(); sequence.save(getDatabase()); return result; }
private void checkIndex(OIndex index) { List<String> fields = index.getDefinition().getFields(); String className = index.getDefinition().getClassName(); OClass clazz = database.getMetadata().getSchema().getClass(className); int[] clusterIds = clazz.getPolymorphicClusterIds(); for (int clusterId : clusterIds) { checkCluster(clusterId, index, fields); } }
@Override public ODocument onInstall(OrienteerWebApplication app, ODatabaseDocument db) { OSchemaHelper helper = OSchemaHelper.bind(db); helper.oClass(OConsoleTask.TASK_CLASS,OTask.TASK_CLASS) .oProperty(OConsoleTask.Field.INPUT.fieldName(),OType.STRING,25); OTask.TASK_JAVA_CLASS_ATTRIBUTE.setValue(db.getMetadata().getSchema().getClass(OConsoleTask.TASK_CLASS), OConsoleTask.class.getName()); helper.oClass(OConsoleTaskSession.TASK_SESSION_CLASS,OTaskSessionRuntime.TASK_SESSION_CLASS) .oProperty("in",OType.STRING,35).markAsDocumentName() .oProperty("out",OType.STRING,37).assignVisualization("textarea"); return null; }
@Override public ODocument createWidgetDocument(IWidgetType<?> widgetType) { String oClassName = widgetType.getOClassName(); if(oClassName==null) oClassName = OCLASS_WIDGET; OClass oClass = getDatabase().getMetadata().getSchema().getClass(oClassName); if(oClass==null || !oClass.isSubClassOf(OCLASS_WIDGET)) throw new WicketRuntimeException("Wrong OClass specified for widget settings: "+oClassName); ODocument widgetDoc = new ODocument(oClass); widgetDoc.field(OPROPERTY_TYPE_ID, widgetType.getId()); return widgetDoc; }
private void assignSchemaFeature(OrienteerWebApplication app, ODatabaseDocument db) { for(ODocument oRoleDoc : db.getMetadata().getSecurity().getAllRoles()) { ORole oRole = new ORole(oRoleDoc); if(oRole.getParentRole()==null) { oRole.grant(OSecurityHelper.FEATURE_RESOURCE, SchemaPage.SCHEMA_FEATURE, OrientPermission.READ.getPermissionFlag()); oRole.grant(OSecurityHelper.FEATURE_RESOURCE, SearchPage.SEARCH_FEATURE, OrientPermission.READ.getPermissionFlag()); oRole.save(); } } }