@Override public OClass getClass(Class<?> iClass) { if (iClass == null) return null; return getClass(iClass.getSimpleName()); }
private void initBaseClasses() { if (subclasses == null) { final List<OImmutableClass> result = new ArrayList<OImmutableClass>(baseClassesNames.size()); for (String clsName : baseClassesNames) result.add((OImmutableClass) schema.getClass(clsName)); subclasses = result; } }
private void initSuperClasses() { if (superClassesNames != null && superClassesNames.size() != superClasses.size()) { superClasses.clear(); for (String superClassName : superClassesNames) { OImmutableClass superClass = (OImmutableClass) schema.getClass(superClassName); superClass.init(); superClasses.add(superClass); } } }
protected void autoConvertFieldsToClass(final ODatabaseDocumentInternal database) { if (_className != null) { OClass klazz = database.getMetadata().getImmutableSchemaSnapshot().getClass(_className); if (klazz != null) convertFieldsToClass(klazz); } }
/** * {@inheritDoc} */ public ORecordIteratorClass<ODocument> browseClass(final String iClassName, final boolean iPolymorphic) { if (getMetadata().getImmutableSchemaSnapshot().getClass(iClassName) == null) throw new IllegalArgumentException("Class '" + iClassName + "' not found in current database"); checkSecurity(ORule.ResourceGeneric.CLASS, ORole.PERMISSION_READ, iClassName); return new ORecordIteratorClass<ODocument>(this, iClassName, iPolymorphic, false); }
public static OClass getRecordClassName(final String iValue, OClass iLinkedClass) { // EXTRACT THE CLASS NAME final int classSeparatorPos = OStringParser .indexOfOutsideStrings(iValue, OStringSerializerHelper.CLASS_SEPARATOR.charAt(0), 0, -1); if (classSeparatorPos > -1) { final String className = iValue.substring(0, classSeparatorPos); final ODatabaseDocument database = ODatabaseRecordThreadLocal.instance().get(); if (className != null && database != null) iLinkedClass = ((OMetadataInternal) database.getMetadata()).getImmutableSchemaSnapshot().getClass(className); } return iLinkedClass; }
private OClass getLinkInfo(final ODatabaseInternal<?> iDatabase, final String iFieldClassName) { if (iDatabase == null || iDatabase.isClosed() || iFieldClassName == null) return null; OClass linkedClass = ((OMetadataInternal) iDatabase.getMetadata()).getImmutableSchemaSnapshot().getClass(iFieldClassName); return linkedClass; }
@Deprecated public ORecordIteratorClass(final ODatabaseDocumentInternal iDatabase, final String iClassName, final boolean iPolymorphic, final OStorage.LOCKING_STRATEGY iLockingStrategy) { super(iDatabase, iLockingStrategy); targetClass = ((OMetadataInternal) database.getMetadata()).getImmutableSchemaSnapshot().getClass(iClassName); if (targetClass == null) throw new IllegalArgumentException("Class '" + iClassName + "' was not found in database schema"); polymorphic = iPolymorphic; clusterIds = polymorphic ? targetClass.getPolymorphicClusterIds() : targetClass.getClusterIds(); clusterIds = OClassImpl.readableClusters(iDatabase, clusterIds); checkForSystemClusters(iDatabase, clusterIds); Arrays.sort(clusterIds); config(); }
protected Set<String> getInvolvedClustersOfClasses(final Collection<String> iClassNames) { final ODatabaseDocument db = getDatabase(); final Set<String> clusters = new HashSet<String>(); for (String clazz : iClassNames) { final OClass cls = ((OMetadataInternal) db.getMetadata()).getImmutableSchemaSnapshot().getClass(clazz); if (cls != null) for (int clId : cls.getPolymorphicClusterIds()) { // FILTER THE CLUSTER WHERE THE USER HAS THE RIGHT ACCESS if (clId > -1 && checkClusterAccess(db, db.getClusterNameById(clId))) clusters.add(db.getClusterNameById(clId).toLowerCase(Locale.ENGLISH)); } } return clusters; }
@Override protected void searchInClasses() { final String className = parsedTarget.getTargetClasses().keySet().iterator().next(); final OClass cls = getDatabase().getMetadata().getImmutableSchemaSnapshot().getClass(className); if (!searchForIndexes(cls) && !searchForSubclassIndexes(cls)) { // CHECK FOR INVERSE ORDER final boolean browsingOrderAsc = isBrowsingAscendingOrder(); super.searchInClasses(browsingOrderAsc); } }
@Override public Set<String> getInvolvedClusters() { if (className != null) { final OClass clazz = ((OMetadataInternal) getDatabase().getMetadata()).getImmutableSchemaSnapshot().getClass(className); return Collections.singleton(getDatabase().getClusterNameById(clazz.getClusterSelection().getCluster(clazz, null))); } else if (clusterName != null) return getInvolvedClustersOfClusters(Collections.singleton(clusterName)); return Collections.EMPTY_SET; }
protected boolean filter(final ORecord iRecord, final OCommandContext iContext) { if (iRecord instanceof ODocument) { // CHECK THE TARGET CLASS final ODocument recordSchemaAware = (ODocument) iRecord; Map<String, String> targetClasses = parsedTarget.getTargetClasses(); // check only classes that specified in query will go to result set if ((targetClasses != null) && (!targetClasses.isEmpty())) { for (String targetClass : targetClasses.keySet()) { if (!((OMetadataDefault) getDatabase().getMetadata()).getImmutableSchemaSnapshot().getClass(targetClass) .isSuperClassOf(ODocumentInternal.getImmutableSchemaClass(recordSchemaAware))) return false; } iContext.updateMetric("documentAnalyzedCompatibleClass", +1); } } return evaluateRecord(iRecord, iContext); }
protected Set<String> getInvolvedClustersOfIndex(final String iIndexName) { final ODatabaseDocumentInternal db = getDatabase(); final Set<String> clusters = new HashSet<String>(); final OMetadataInternal metadata = (OMetadataInternal) db.getMetadata(); final OIndex<?> idx = metadata.getIndexManager().getIndex(iIndexName); if (idx != null && idx.getDefinition() != null) { final String clazz = idx.getDefinition().getClassName(); if (clazz != null) { final OClass cls = metadata.getImmutableSchemaSnapshot().getClass(clazz); if (cls != null) for (int clId : cls.getClusterIds()) { final String clName = db.getClusterNameById(clId); if (clName != null) clusters.add(clName.toLowerCase(Locale.ENGLISH)); } } } return clusters; }
public void setClassNameIfExists(final String iClassName) { _immutableClazz = null; _immutableSchemaVersion = -1; _className = iClassName; if (iClassName == null) { return; } final ODatabaseDocument db = getDatabaseIfDefined(); if (db != null) { final OClass _clazz = ((OMetadataInternal) db.getMetadata()).getImmutableSchemaSnapshot().getClass(iClassName); if (_clazz != null) { _className = _clazz.getName(); convertFieldsToClass(_clazz); } } }
private static void browseClass(final ODatabaseDocument db, Set<ORID> iSourceRIDs, final Map<ORID, Set<ORID>> map, final String iClassName) { final OClass clazz = ((OMetadataInternal)db.getMetadata()).getImmutableSchemaSnapshot().getClass(iClassName); if (clazz == null) throw new OCommandExecutionException("Class '" + iClassName + "' was not found"); for (int i : clazz.getClusterIds()) { browseCluster(db, iSourceRIDs, map, db.getClusterNameById(i)); } }
final OProperty prop = ((OMetadataInternal) iDatabase.getMetadata()).getImmutableSchemaSnapshot().getClass(className) .getProperty(fieldName); if (prop == null)
private boolean isUsingRestrictedClasses() { boolean restrictedClasses = false; final OSecurityUser user = getDatabase().getUser(); if (parsedTarget.getTargetClasses() != null && user != null && user.checkIfAllowed(ORule.ResourceGeneric.BYPASS_RESTRICTED, null, ORole.PERMISSION_READ) == null) { for (String className : parsedTarget.getTargetClasses().keySet()) { final OClass cls = getDatabase().getMetadata().getImmutableSchemaSnapshot().getClass(className); if (cls.isSubClassOf(OSecurityShared.RESTRICTED_CLASSNAME)) { restrictedClasses = true; break; } } } return restrictedClasses; }
clazz = ((OMetadataInternal) database.getMetadata()).getImmutableSchemaSnapshot().getClass(className); if (clazz == null) throw new OCommandSQLParsingException("Class '" + className + "' was not found"); clazz = ((OMetadataInternal) database.getMetadata()).getImmutableSchemaSnapshot().getClass(className); if (clazz == null) throw new OCommandSQLParsingException("Class '" + className + "' was not found");
public void setClassName(final String className) { _immutableClazz = null; _immutableSchemaVersion = -1; _className = className; if (className == null) { return; } final ODatabaseDocument db = getDatabaseIfDefined(); if (db != null) { OMetadataInternal metadata = (OMetadataInternal) db.getMetadata(); this._immutableClazz = (OImmutableClass) metadata.getImmutableSchemaSnapshot().getClass(className); OClass clazz; if (this._immutableClazz != null) { clazz = this._immutableClazz; } else { clazz = metadata.getSchema().getOrCreateClass(className); } if (clazz != null) { _className = clazz.getName(); convertFieldsToClass(clazz); } } }
final OClass cls = getMetadata().getImmutableSchemaSnapshot().getClass(iClassName);