@Override public void stateChanged(ServerState oldState, ServerState newState) { if (oldState == ServerState.MIGRATION_REQUIRED && newState == ServerState.RUNNING) { try { LocalDevPluginLoader.loadPlugins(bimServer.getPluginManager(), pluginDirectories); } catch (PluginException e) { LOGGER.error("", e); } } } });
@Override public List<SObjectIDMPluginDescriptor> getAllObjectIDMPluginDescriptors() throws UserException { requireRealUserAuthentication(); Collection<ObjectIDMPlugin> allObjectIDMs = getBimServer().getPluginManager().getAllObjectIDMPlugins(true).values(); List<SObjectIDMPluginDescriptor> descriptors = new ArrayList<SObjectIDMPluginDescriptor>(); for (ObjectIDMPlugin ObjectIDMPlugin : allObjectIDMs) { SObjectIDMPluginDescriptor descriptor = new SObjectIDMPluginDescriptor(); descriptor.setClassName(ObjectIDMPlugin.getClass().getName()); descriptors.add(descriptor); } return descriptors; }
@Override public void enablePlugin(String name) throws UserException { requireAdminAuthenticationAndRunningServer(); getBimServer().getPluginManager().enablePlugin(name); }
@Override public void disablePlugin(String name) throws UserException { requireAdminAuthenticationAndRunningServer(); getBimServer().getPluginManager().disablePlugin(name); }
@Override public List<SPluginInformation> execute() throws UserException, BimserverLockConflictException, BimserverDatabaseException, ServerException { MavenPluginLocation mavenPluginLocation = bimServer.getMavenPluginRepository().getPluginLocation(repository, groupId, artifactId); try { try { return bimServer.getPluginManager().getPluginInformationFromPluginFile(new ByteArrayInputStream(mavenPluginLocation.getVersionPluginXml(version))); } catch (ArtifactResolutionException e) { Path jar = mavenPluginLocation.getVersionJar(version); return bimServer.getPluginManager().getPluginInformationFromJar(jar); } } catch (Exception e) { throw new UserException(e); } } }
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; } }
@Override public List<SerializerPluginConfiguration> execute() throws UserException, BimserverLockConflictException, BimserverDatabaseException { Condition condition = new IsOfTypeCondition(StorePackage.eINSTANCE.getSerializerPluginConfiguration()); Map<Long, SerializerPluginConfiguration> result = getDatabaseSession().query(condition, SerializerPluginConfiguration.class, OldQuery.getDefault()); List<SerializerPluginConfiguration> mapToList = CollectionUtils.mapToList(result); if (onlyEnabled) { Iterator<SerializerPluginConfiguration> iterator = mapToList.iterator(); while (iterator.hasNext()) { SerializerPluginConfiguration serializer = iterator.next(); if (!bimServer.getPluginManager().isEnabled(serializer.getPluginDescriptor().getPluginClassName()) || !serializer.getEnabled()) { iterator.remove(); } } } return mapToList; } }
@Override public List<QueryEnginePluginConfiguration> execute() throws UserException, BimserverLockConflictException, BimserverDatabaseException { Condition condition = new IsOfTypeCondition(StorePackage.eINSTANCE.getQueryEnginePluginConfiguration()); Map<Long, QueryEnginePluginConfiguration> result = getDatabaseSession().query(condition, QueryEnginePluginConfiguration.class, OldQuery.getDefault()); List<QueryEnginePluginConfiguration> mapToList = CollectionUtils.mapToList(result); if (onlyEnabled) { Iterator<QueryEnginePluginConfiguration> iterator = mapToList.iterator(); while (iterator.hasNext()) { QueryEnginePluginConfiguration queryEngine = iterator.next(); if (!bimServer.getPluginManager().isEnabled(queryEngine.getPluginDescriptor().getPluginClassName()) || !queryEngine.getEnabled()) { iterator.remove(); } } } return mapToList; } }
@Override public List<ModelComparePluginConfiguration> execute() throws UserException, BimserverLockConflictException, BimserverDatabaseException { Condition condition = new IsOfTypeCondition(StorePackage.eINSTANCE.getModelComparePluginConfiguration()); Map<Long, ModelComparePluginConfiguration> result = getDatabaseSession().query(condition, ModelComparePluginConfiguration.class, OldQuery.getDefault()); List<ModelComparePluginConfiguration> mapToList = CollectionUtils.mapToList(result); if (onlyEnabled) { Iterator<ModelComparePluginConfiguration> iterator = mapToList.iterator(); while (iterator.hasNext()) { ModelComparePluginConfiguration modelCompare = iterator.next(); if (!bimServer.getPluginManager().isEnabled(modelCompare.getPluginDescriptor().getPluginClassName()) || !modelCompare.getEnabled()) { iterator.remove(); } } } return mapToList; } }
@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; } }
@Override public Void execute() throws UserException, BimserverLockConflictException, BimserverDatabaseException, ServerException { MavenPluginLocation mavenPluginLocation = bimServer.getMavenPluginRepository().getPluginLocation(repository, groupId, artifactId); try { bimServer.getPluginManager().uninstall(mavenPluginLocation.getPluginVersionIdentifier(version)); } catch (Exception e) { throw new UserException(e); } return null; } }
@Override public List<RenderEnginePluginConfiguration> execute() throws UserException, BimserverLockConflictException, BimserverDatabaseException { Condition condition = new IsOfTypeCondition(StorePackage.eINSTANCE.getRenderEnginePluginConfiguration()); Map<Long, RenderEnginePluginConfiguration> result = getDatabaseSession().query(condition, RenderEnginePluginConfiguration.class, OldQuery.getDefault()); List<RenderEnginePluginConfiguration> mapToList = CollectionUtils.mapToList(result); if (onlyEnabled) { Iterator<RenderEnginePluginConfiguration> iterator = mapToList.iterator(); while (iterator.hasNext()) { RenderEnginePluginConfiguration renderEngine = iterator.next(); if (!bimServer.getPluginManager().isEnabled(renderEngine.getPluginDescriptor().getPluginClassName()) || !renderEngine.getEnabled()) { iterator.remove(); } } } return mapToList; } }
@Override public List<ModelMergerPluginConfiguration> execute() throws UserException, BimserverLockConflictException, BimserverDatabaseException { Condition condition = new IsOfTypeCondition(StorePackage.eINSTANCE.getModelMergerPluginConfiguration()); Map<Long, ModelMergerPluginConfiguration> result = getDatabaseSession().query(condition, ModelMergerPluginConfiguration.class, OldQuery.getDefault()); List<ModelMergerPluginConfiguration> mapToList = CollectionUtils.mapToList(result); if (onlyEnabled) { Iterator<ModelMergerPluginConfiguration> iterator = mapToList.iterator(); while (iterator.hasNext()) { ModelMergerPluginConfiguration modelMerger = iterator.next(); if (!bimServer.getPluginManager().isEnabled(modelMerger.getPluginDescriptor().getPluginClassName()) || !modelMerger.getEnabled()) { iterator.remove(); } } } return mapToList; } }
@Override public Void execute() throws UserException, BimserverLockConflictException, BimserverDatabaseException { ModelCheckerInstance modelCheckerInstance = getIdEObject(); ModelCheckerPlugin modelCheckerPlugin = bimServer.getPluginManager().getModelCheckerPlugin(modelCheckerInstance.getModelCheckerPluginClassName(), true); if (modelCheckerPlugin == null) { throw new UserException("Model Checker Plugin \"" + modelCheckerInstance.getModelCheckerPluginClassName() + "\" not found/enabled"); } super.execute(); return null; } }
@Override public List<String> getQueryEngineExampleKeys(Long qeid) throws ServerException, UserException { requireRealUserAuthentication(); SQueryEnginePluginConfiguration queryEngineById = getQueryEngineById(qeid); SPluginDescriptor pluginDescriptor = getServiceMap().getPluginInterface().getPluginDescriptor(queryEngineById.getPluginDescriptorId()); QueryEnginePlugin queryEngine = getBimServer().getPluginManager().getQueryEngine(pluginDescriptor.getPluginClassName(), true); return new ArrayList<String>(queryEngine.getExampleKeys()); }
public void activateService(long uoid, InternalServicePluginConfiguration internalServicePluginConfiguration) { ServicePlugin servicePlugin = getPluginManager().getServicePlugin(internalServicePluginConfiguration.getPluginDescriptor().getPluginClassName(), true); if (servicePlugin == null) { LOGGER.warn("Plugin " + internalServicePluginConfiguration.getPluginDescriptor().getPluginClassName() + " not found"); } else { SInternalServicePluginConfiguration sInternalService = (SInternalServicePluginConfiguration) getSConverter().convertToSObject(internalServicePluginConfiguration); try { servicePlugin.unregister(sInternalService); servicePlugin.register(uoid, sInternalService, getPluginSettingsCache().getPluginSettings(internalServicePluginConfiguration.getOid())); } catch (Throwable e) { LOGGER.error("", e); } } }
@Override public String getQueryEngineExample(Long qeid, String key) throws ServerException, UserException { requireRealUserAuthentication(); SQueryEnginePluginConfiguration queryEngineById = getQueryEngineById(qeid); SPluginDescriptor pluginDescriptor = getServiceMap().getPluginInterface().getPluginDescriptor(queryEngineById.getPluginDescriptorId()); QueryEnginePlugin queryEngine = getBimServer().getPluginManager().getQueryEngine(pluginDescriptor.getPluginClassName(), true); return queryEngine.getExample(key); }
public void setDefault(Long oid) throws BimserverDatabaseException, UserException, ServerException { DatabaseSession session = bimServer.getDatabase().createSession(); try { final WebModulePluginConfiguration defaultWebModule = session.get(StorePackage.eINSTANCE.getWebModulePluginConfiguration(), oid, OldQuery.getDefault()); bimServer.setDefaultWebModule((WebModulePlugin) bimServer.getPluginManager().getPlugin(defaultWebModule.getPluginDescriptor().getPluginClassName(), true)); SetServerSettingDatabaseAction action = new SetServerSettingDatabaseAction(bimServer, session, AccessMethod.INTERNAL, new ServerSettingsSetter(){ @Override public void set(ServerSettings serverSettings) { serverSettings.setWebModule(defaultWebModule); }}); session.executeAndCommitAction(action); } finally { session.close(); } } }
@Override public Long execute() throws UserException, BimserverLockConflictException, BimserverDatabaseException { User user = getDatabaseSession().get(StorePackage.eINSTANCE.getUser(), authorization.getUoid(), OldQuery.getDefault()); InternalServicePluginConfiguration idEObject = getIdEObject(); idEObject.setUserSettings(user.getUserSettings()); Plugin plugin = bimServer.getPluginManager().getPlugin(idEObject.getPluginDescriptor().getIdentifier(), true); ObjectType settings = bimServer.convertSettings(getDatabaseSession(), plugin); user.getUserSettings().getServices().add(idEObject); idEObject.setSettings(settings); getDatabaseSession().store(user.getUserSettings()); return super.execute(); } }
@Override public Boolean hasActiveSerializer(String contentType) throws ServerException, UserException { requireRealUserAuthentication(); try { SSerializerPluginConfiguration serializer = getServiceMap().getServiceInterface().getSerializerByContentType(contentType); if (serializer != null) { if (serializer.getEnabled()) { SPluginDescriptor pluginDescriptor = getServiceMap().getPluginInterface().getPluginDescriptor(serializer.getPluginDescriptorId()); if (pluginDescriptor.getEnabled()) { return getBimServer().getPluginManager().isEnabled(pluginDescriptor.getPluginClassName()); } } } } catch (Exception e) { } return false; }