@SuppressWarnings("unchecked") public <V> V getValue(OProperty property) { return getValue(property, (V) defaultValue); }
@Override public Integer apply(OProperty input) { return CustomAttribute.ORDER.getValue(input); } }
@SuppressWarnings("unchecked") public <V> V getValue(OClass oClass, boolean hiearchical) { return getValue(oClass, (V) defaultValue, hiearchical); }
public <V> V getValue(OClass oClass, V defaultValue) { return getValue(oClass, defaultValue, hiearchical); }
public <V> V getValue(OClass oClass) { return getValue(oClass, hiearchical); }
@Override public SerializablePredicate<OClass> getPredicateByTarget(IModel<Boolean> showAllModel) { return (input) -> { Boolean showAll = showAllModel.getObject(); return showAll == null || showAll || OClassDomain.BUSINESS.equals(CustomAttribute.DOMAIN.getValue(input)); }; }
private SerializablePredicate<OProperty> getPredicateByFeatureProp(OrientPermission permission) { return (input) -> { String feature = CustomAttribute.FEATURE.getValue(input); return Strings.isNullOrEmpty(feature) || OSecurityHelper.isAllowed(OSecurityHelper.FEATURE_RESOURCE, feature, permission); }; } }
private SerializablePredicate<OClass> getPredicateByFeature(OrientPermission permission) { return (input) -> { String feature = CustomAttribute.FEATURE.getValue(input); return Strings.isNullOrEmpty(feature) || OSecurityHelper.isAllowed(OSecurityHelper.FEATURE_RESOURCE, feature, permission); }; }
public static final OTask makeFromODocument(ODocument oTask){ try { Class<?> myClass = Class.forName((String) TASK_JAVA_CLASS_ATTRIBUTE.getValue(oTask.getSchemaClass())); Constructor<?> constructor = myClass.getConstructor(ODocument.class); Object result = constructor.newInstance(oTask); return (OTask) result; } catch (Exception e) { LOG.error("Can't create task from ODocument", e); } return null; }
public int findMaxOrder(OClass oClass) { int ret = 0; for(OProperty property: oClass.properties()) { Integer order = CustomAttribute.ORDER.getValue(property); if(order!=null && order > ret) ret = order; } return ret; }
@Override @SuppressWarnings("unchecked") public SerializablePredicate<OProperty> getPredicateForListProperties() { return compose( (prop) -> !(Boolean)CustomAttribute.HIDDEN.getValue(prop), getPredicateByFeatureProp(OrientPermission.READ)); }
@Override protected Comparable<?> comparableValue(OProperty input, String sortParam) { CustomAttribute custom = CustomAttribute.getIfExists(sortParam); if(custom!=null) { Object value = custom.getValue(input); return value instanceof Comparable?(Comparable<?>)value:null; } else return super.comparableValue(input, sortParam); }
@Override public void defineDefaultSorting(SortableDataProvider<ODocument, String> provider, OClass oClass) { if(oClass==null) return; OProperty property = CustomAttribute.SORT_BY.getValue(oClass); Boolean order = CustomAttribute.SORT_ORDER.getValue(oClass); SortOrder sortOrder = order==null?SortOrder.ASCENDING:(order?SortOrder.ASCENDING:SortOrder.DESCENDING); if(property==null) { if(order==null) provider.setSort(null); else provider.setSort("@rid", sortOrder); } else { provider.setSort(property.getName(), sortOrder); } }
private OClass getFirstBusinessDomainOClass(OClass oClass) { if(oClass==null) return null; if(OClassDomain.BUSINESS.equals(CustomAttribute.DOMAIN.getValue(oClass))) return oClass; List<OClass> superClasses = oClass.getSuperClasses(); for (OClass supClass : superClasses) { if(OClassDomain.BUSINESS.equals(CustomAttribute.DOMAIN.getValue(supClass))) return supClass; } for (OClass supClass : superClasses) { OClass firstOClass = getFirstBusinessDomainOClass(supClass); if(firstOClass!=null) return firstOClass; } return null; } };
@Override public List<String> listTabs(OClass oClass) { IFilterPredicateFactory factory = OrienteerWebApplication.get().getServiceInstance(IFilterPredicateFactory.class); SerializablePredicate<OProperty> predicate = factory.getPredicateForListProperties(); Set<String> tabs = new HashSet<>(); for (OProperty prop : oClass.properties()) { if (predicate.test(prop)) { String tab = CustomAttribute.TAB.getValue(prop); if (tab == null) tab = DEFAULT_TAB; tabs.add(tab); } } return new ArrayList<>(tabs); }
public static void setRestricted(ODatabaseDocument db, OClass oClass) { OClass restricted = db.getMetadata().getSchema().getClass("ORestricted"); if (!oClass.isSubClassOf(restricted)) { oClass.addSuperClass(restricted); Collection<OProperty> properties = restricted.properties(); oClass.properties().stream() .filter(p -> !properties.contains(p)) .filter(p -> !(boolean) CustomAttribute.HIDDEN.getValue(p)) .forEach(p -> CustomAttribute.DISPLAYABLE.setValue(p, true)); } }
@Override protected boolean switchToDefaultTab() { if(super.switchToDefaultTab()) return true; else { ODocument doc = getModelObject(); if(doc!=null) { String defaultTab = CustomAttribute.TAB.<String>getValue(doc.getSchemaClass(),IOClassIntrospector.DEFAULT_TAB); return selectTab(defaultTab); } else return false; } }
private OScheduledEvent createRestorePasswordSchedulerEvent(ODatabaseDocument db, OrienteerUser user, String eventName) { OProperty property = user.getDocument().getSchemaClass().getProperty(OrienteerUser.PROP_RESTORE_ID); OFunction fun = db.getMetadata().getFunctionLibrary().getFunction(OrienteerUsersModule.FUN_REMOVE_RESTORE_ID); long timeout = Long.parseLong(OrienteerUsersModule.REMOVE_SCHEDULE_START_TIMEOUT.getValue(property)); return new OScheduledEventBuilder() .setName(eventName) .setFunction(fun) .setArguments(createFunArguments(user, timeout, eventName)) .setRule(OrienteerUsersModule.REMOVE_CRON_RULE.getValue(property)) .setStartTime(new Date(System.currentTimeMillis() + timeout)).build(); }
@Override protected void onConfigure() { OProperty property = getPropertyObject(); featureSpecification = property!=null?CustomAttribute.FEATURE.getValue(property):null; super.onConfigure(); setVisible(Strings.isEmpty(featureSpecification) || OSecurityHelper.isAllowed(OSecurityHelper.FEATURE_RESOURCE, featureSpecification, OrientPermission.READ)); }
@Override protected DisplayMode getEffectiveMode(DisplayMode mode, OProperty property) { if(mode.canModify() && property!= null && ((property.isReadonly() || (Boolean)CustomAttribute.UI_READONLY.getValue(property)) && !(property.isMandatory() && !getEntityObject().containsField(property.getName()))) || (!Strings.isEmpty(featureSpecification) && !OSecurityHelper.isAllowed(OSecurityHelper.FEATURE_RESOURCE, featureSpecification, OrientPermission.UPDATE))) { return DisplayMode.VIEW; } return mode; }