@Override public Iterator<RecordType> iterator() { session.checkOpen(); List<RecordType> types = Lists.newArrayList(); for (OClass oClass : oSchema.getClasses()) { types.add(getRecordType(oClass)); } return types.iterator(); }
@Override protected Collection<String> execute(ODatabaseDocument db) { Collection<OClass> classes = db.getMetadata().getSchema().getClasses(); Predicate<OClass> filter = new Predicate<OClass>() { @Override public boolean apply(OClass input) { return Strings.isNullOrEmpty(term) || input.getName().contains(term); } }; return Collections2.transform(Collections2.filter(classes, filter), new Function<OClass, String>() { @Override public String apply(OClass input) { return input.getName(); } }); } }.execute());
public void describe(Writer writer, OSchema schema) { PrintWriter out = toPrintWriter(writer); for(OClass oClass : schema.getClasses()) { describe(out, oClass); } }
private SerializableSupplier<List<OClass>> createClassesGetter() { Predicate<OClass> predicate = OrienteerWebApplication.get().getServiceInstance(IFilterPredicateFactory.class) .getPredicateForClassesSearch(); return () -> OClassSearchPanel.CLASSES_ORDERING.sortedCopy(getDatabase().getMetadata().getSchema().getClasses()) .stream() .filter(predicate) .sorted() .collect(Collectors.toList()); }
public static List<OClass> load(Predicate<OClass> filter) { Collection<OClass> classes = OrientDbWebSession.get().getDatabase().getMetadata().getSchema().getClasses(); if(filter!=null) classes = Collections2.filter(classes, filter); return ORDERING.sortedCopy(classes); }
private void loadDefaultClusters() { if (defaultClusters == null) { synchronized (this) { if (defaultClusters == null) { defaultClusters = new HashSet<>(); for (OClass oClass : dbf.db().getMetadata().getSchema().getClasses()) { String defaultCluster = getClusterNameById(oClass.getDefaultClusterId()); defaultClusters.add(defaultCluster); } } } } }
private void loadDefaultClusters() { if (defaultClusters == null) { synchronized (this) { if (defaultClusters == null) { defaultClusters = new HashSet<>(); for (OClass oClass : dbf.db().getMetadata().getSchema().getClasses()) { String defaultCluster = getClusterNameById(oClass.getDefaultClusterId()); defaultClusters.add(defaultCluster); } } } } }
public OClassSearchPanel(String id, IModel<String> model) { this(id, model, () -> CLASSES_ORDERING.sortedCopy(OrienteerWebSession.get().getDatabase().getMetadata().getSchema().getClasses())); }
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; }
public static List<OArchitectOClass> getAllClasses() { return DBClosure.sudo(db -> toOArchitectClasses(db.getMetadata().getSchema().getClasses()) ); }
@Override protected Collection<OClass> getData() { return OrientDbWebSession.get().getDatabase().getMetadata().getSchema().getClasses(); }
@Override protected Collection<OClass> getData() { return OrientDbWebSession.get().getDatabase().getMetadata().getSchema().getClasses(); }
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); }
/** * Execute the CREATE CLASS. */ public Object execute(final Map<Object, Object> iArgs) { if (className == null) throw new OCommandExecutionException("Cannot execute the command because it has not been parsed yet"); final ODatabaseDocument database = getDatabase(); boolean alreadyExists = database.getMetadata().getSchema().existsClass(className); if (!alreadyExists || !ifNotExists) { if (clusters != null) database.getMetadata().getSchema().createClass(className, clusters, superClasses.toArray(new OClass[0])); else database.getMetadata().getSchema().createClass(className, clusterIds, superClasses.toArray(new OClass[0])); } return database.getMetadata().getSchema().getClasses().size(); }
@Test public void testOClassesDataProvider() { OClassesDataProvider provider = new OClassesDataProvider(); provider.setSort("name", SortOrder.ASCENDING); assertTrue(provider.size()>5); Iterator<? extends OClass> it = provider.iterator(0, -1); OSchema schema = wicket.getTester().getSchema(); List<OClass> allClasses = new ArrayList<OClass>(schema.getClasses()); while(it.hasNext()) { OClass oClass = it.next(); assertTrue(allClasses.remove(provider.model(oClass).getObject())); } assertTrue(allClasses.size()==0); provider.detach(); }
/** * Execute the DROP CLUSTER. */ public Object execute(final Map<Object, Object> iArgs) { if (clusterName == null) throw new OCommandExecutionException("Cannot execute the command because it has not been parsed yet"); final ODatabaseDocumentInternal database = getDatabase(); // CHECK IF ANY CLASS IS USING IT final int clusterId = database.getStorage().getClusterIdByName(clusterName); for (OClass iClass : database.getMetadata().getSchema().getClasses()) { for (int i : iClass.getClusterIds()) { if (i == clusterId) // IN USE return false; } } // REMOVE CACHE OF COMMAND RESULTS IF ACTIVE database.getMetadata().getCommandCache().invalidateResultsOfCluster(clusterName); database.dropCluster(clusterId, true); return true; }
@Test public void testBrowsePages() throws Exception { ODatabaseDocument db = getDatabase(); Collection<OClass> classes = db.getMetadata().getSchema().getClasses(); PageParameters parameters = new PageParameters(); for (OClass oClass : classes) { parameters.set("className", oClass.getName()); LOG.info("Rendering browse page for class '"+oClass.getName()+"'"); tester.startPage(BrowseOClassPage.class, parameters); tester.assertRenderedPage(BrowseOClassPage.class); } }
@Test public void testShowDummyDocuments() throws Exception { ODatabaseDocument db = getDatabase(); Collection<OClass> classes = db.getMetadata().getSchema().getClasses(); for (OClass oClass : classes) { ODocument doc = new ODocument(oClass); LOG.info("Rendering VIEW document page for class '"+oClass.getName()+"'"); tester.startPage(new ODocumentPage(doc)); tester.assertRenderedPage(ODocumentPage.class); LOG.info("Rendering EDIT document page for class '"+oClass.getName()+"'"); tester.startPage(new ODocumentPage(doc).setModeObject(DisplayMode.EDIT)); tester.assertRenderedPage(ODocumentPage.class); } }
public ResultSet getUDTs(String catalog, String schemaPattern, String typeNamePattern, int[] types) throws SQLException { database.activateOnCurrentThread(); final Collection<OClass> classes = database.getMetadata().getSchema().getClasses(); OInternalResultSet resultSet = new OInternalResultSet(); for (OClass cls : classes) { final OResultInternal res = new OResultInternal(); res.setProperty("TYPE_CAT", (Object) null); res.setProperty("TYPE_SCHEM", (Object) null); res.setProperty("TYPE_NAME", cls.getName()); res.setProperty("CLASS_NAME", cls.getName()); res.setProperty("DATA_TYPE", java.sql.Types.STRUCT); res.setProperty("REMARKS", (Object) null); resultSet.add(res); } return new OrientJdbcResultSet(new OrientJdbcStatement(connection), resultSet, ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY, ResultSet.HOLD_CURSORS_OVER_COMMIT); }
@Override public ResultSet getColumns(final String catalog, final String schemaPattern, final String tableNamePattern, final String columnNamePattern) throws SQLException { database.activateOnCurrentThread(); final OInternalResultSet resultSet = new OInternalResultSet(); final OSchema schema = database.getMetadata().getSchema(); for (OClass clazz : schema.getClasses()) { if (OrientJdbcUtils.like(clazz.getName(), tableNamePattern)) { for (OProperty prop : clazz.properties()) { if (columnNamePattern == null) { resultSet.add(getPropertyAsDocument(clazz, prop)); } else { if (OrientJdbcUtils.like(prop.getName(), columnNamePattern)) { resultSet.add(getPropertyAsDocument(clazz, prop)); } } } } } return new OrientJdbcResultSet(new OrientJdbcStatement(connection), resultSet, ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY, ResultSet.HOLD_CURSORS_OVER_COMMIT); }