use of org.bimserver.database.query.conditions.IsOfTypeCondition in project BIMserver by opensourceBIM.
the class GetAllDatabaseAction method execute.
@Override
public List<T> execute() throws UserException, BimserverLockConflictException, BimserverDatabaseException {
Condition condition = new IsOfTypeCondition(eClass);
Map<Long, T> result = getDatabaseSession().query(condition, clazz, OldQuery.getDefault());
return CollectionUtils.mapToList(result);
}
use of org.bimserver.database.query.conditions.IsOfTypeCondition in project BIMserver by opensourceBIM.
the class GetLogsDatabaseAction method execute.
@Override
public List<LogAction> execute() throws UserException, BimserverLockConflictException, BimserverDatabaseException {
User user = getUserByUoid(authorization.getUoid());
if (user.getUserType() != UserType.ADMIN) {
throw new UserException("Only admin users can retrieve log");
}
Map<Long, LogAction> query = getDatabaseSession().query(new IsOfTypeCondition(LogPackage.eINSTANCE.getLogAction()), LogAction.class, OldQuery.getDefault());
ArrayList<LogAction> list = new ArrayList<LogAction>(query.values());
return list;
}
use of org.bimserver.database.query.conditions.IsOfTypeCondition in project BIMserver by opensourceBIM.
the class GetAllDeserializersDatabaseAction method execute.
@Override
public List<DeserializerPluginConfiguration> execute() throws UserException, BimserverLockConflictException, BimserverDatabaseException {
Condition condition = new IsOfTypeCondition(StorePackage.eINSTANCE.getDeserializerPluginConfiguration());
Map<Long, DeserializerPluginConfiguration> result = getDatabaseSession().query(condition, DeserializerPluginConfiguration.class, OldQuery.getDefault());
List<DeserializerPluginConfiguration> mapToList = CollectionUtils.mapToList(result);
if (onlyEnabled) {
Iterator<DeserializerPluginConfiguration> iterator = mapToList.iterator();
while (iterator.hasNext()) {
DeserializerPluginConfiguration deserializer = iterator.next();
if (!bimServer.getPluginManager().isEnabled(deserializer.getPluginDescriptor().getPluginClassName()) || !deserializer.getEnabled()) {
iterator.remove();
}
}
}
return mapToList;
}
use of org.bimserver.database.query.conditions.IsOfTypeCondition in project BIMserver by opensourceBIM.
the class GetAllObjectIDMsDatabaseAction method execute.
public List<ObjectIDMPluginConfiguration> execute() throws UserException, BimserverLockConflictException, BimserverDatabaseException {
Condition condition = new IsOfTypeCondition(StorePackage.eINSTANCE.getObjectIDMPluginConfiguration());
Map<Long, ObjectIDMPluginConfiguration> result = getDatabaseSession().query(condition, ObjectIDMPluginConfiguration.class, OldQuery.getDefault());
List<ObjectIDMPluginConfiguration> mapToList = CollectionUtils.mapToList(result);
if (onlyEnabled) {
Iterator<ObjectIDMPluginConfiguration> iterator = mapToList.iterator();
while (iterator.hasNext()) {
ObjectIDMPluginConfiguration objectIdm = iterator.next();
if (!bimServer.getPluginManager().isEnabled(objectIdm.getPluginDescriptor().getPluginClassName()) || !objectIdm.getEnabled()) {
iterator.remove();
}
}
}
return mapToList;
}
use of org.bimserver.database.query.conditions.IsOfTypeCondition in project BIMserver by opensourceBIM.
the class GetAllProjectsDatabaseAction method execute.
@Override
public Set<Project> execute() throws UserException, BimserverLockConflictException, BimserverDatabaseException {
User user = getUserByUoid(authorization.getUoid());
Not notStoreProject = new Not(new AttributeCondition(StorePackage.eINSTANCE.getProject_Name(), new StringLiteral(Database.STORE_PROJECT_NAME)));
HasReferenceToCondition authorized = new HasReferenceToCondition(StorePackage.eINSTANCE.getProject_HasAuthorizedUsers(), user);
Condition condition = new IsOfTypeCondition(StorePackage.eINSTANCE.getProject()).and(notStoreProject);
// }
if (onlyActive) {
condition = new AndCondition(condition, new AttributeCondition(StorePackage.eINSTANCE.getProject_State(), new EnumLiteral(ObjectState.ACTIVE)));
}
if (user.getUserType() != UserType.ADMIN && user.getUserType() != UserType.SYSTEM) {
condition = condition.and(authorized);
condition = condition.and(new AttributeCondition(StorePackage.eINSTANCE.getProject_State(), new EnumLiteral(ObjectState.ACTIVE)));
}
Map<Long, Project> results = getDatabaseSession().query(condition, Project.class, OldQuery.getDefault());
Set<Project> resultSet = new HashSet<Project>();
for (Project p : results.values()) {
if (p.getParent() == null || !onlyTopLevel) {
resultSet.add(p);
}
}
for (Project project : results.values()) {
addParentProjects(resultSet, project);
}
return resultSet;
}
Aggregations