public SPluginInformation convertToSObject(PluginInformation input) { if (input == null) { return null; } SPluginInformation result = new SPluginInformation(); result.setOid(input.getOid()); result.setRid(input.getRid()); result.setName(input.getName()); result.setType(SPluginType.values()[input.getType().ordinal()]); result.setDescription(input.getDescription()); result.setEnabled(input.isEnabled()); result.setIdentifier(input.getIdentifier()); result.setInstallForAllUsers(input.isInstallForAllUsers()); result.setInstallForNewUsers(input.isInstallForNewUsers()); return result; }
public Object sGet(SField sField) { if (sField.getName().equals("name")) { return getName(); } if (sField.getName().equals("type")) { return getType(); } if (sField.getName().equals("description")) { return getDescription(); } if (sField.getName().equals("enabled")) { return isEnabled(); } if (sField.getName().equals("identifier")) { return getIdentifier(); } if (sField.getName().equals("installForAllUsers")) { return isInstallForAllUsers(); } if (sField.getName().equals("installForNewUsers")) { return isInstallForNewUsers(); } if (sField.getName().equals("oid")) { return getOid(); } if (sField.getName().equals("rid")) { return getRid(); } throw new RuntimeException("Field " + sField.getName() + " not found"); }
public PluginInformation convertFromSObject(SPluginInformation input, PluginInformation result, DatabaseSession session) throws BimserverDatabaseException { if (input == null) { return null; } result.setName(input.getName()); result.setType(PluginType.values()[input.getType().ordinal()]); result.setDescription(input.getDescription()); result.setEnabled(input.isEnabled()); result.setIdentifier(input.getIdentifier()); result.setInstallForAllUsers(input.isInstallForAllUsers()); result.setInstallForNewUsers(input.isInstallForNewUsers()); return result; }
private void processPluginDescriptor(PluginDescriptor pluginDescriptor, List<SPluginInformation> list) { for (AbstractPlugin pluginImplementation : pluginDescriptor.getPlugins()) { if (pluginImplementation instanceof JavaPlugin) { JavaPlugin javaPlugin = (JavaPlugin) pluginImplementation; SPluginInformation sPluginInformation = new SPluginInformation(); String name = javaPlugin.getName(); // TODO when all plugins have a name, this code can go if (name == null) { name = javaPlugin.getImplementationClass(); } sPluginInformation.setName(name); sPluginInformation.setDescription(javaPlugin.getDescription()); sPluginInformation.setEnabled(true); // For java plugins we use the implementation class as // identifier sPluginInformation.setIdentifier(javaPlugin.getImplementationClass()); sPluginInformation.setType(getPluginTypeFromClass(javaPlugin.getInterfaceClass())); list.add(sPluginInformation); } else if (pluginImplementation instanceof org.bimserver.plugins.WebModulePlugin) { org.bimserver.plugins.WebModulePlugin webModulePlugin = (org.bimserver.plugins.WebModulePlugin) pluginImplementation; SPluginInformation sPluginInformation = new SPluginInformation(); sPluginInformation.setIdentifier(webModulePlugin.getIdentifier()); sPluginInformation.setName(webModulePlugin.getName()); sPluginInformation.setDescription(webModulePlugin.getDescription()); sPluginInformation.setType(SPluginType.WEB_MODULE); sPluginInformation.setEnabled(true); list.add(sPluginInformation); } } }
if (sPluginInformation.isEnabled()) { sPluginInformation.setInstallForAllUsers(true); sPluginInformation.setInstallForNewUsers(true); PluginContext pluginContext = pluginBundle.getPluginContext(sPluginInformation.getIdentifier()); if (pluginContext == null) { throw new PluginException("No plugin context found for " + sPluginInformation.getIdentifier()); long pluginBundleVersionId = pluginChangeListener.pluginBundleInstalled(pluginBundle); for (SPluginInformation sPluginInformation : plugins) { if (sPluginInformation.isEnabled()) { PluginContext pluginContext = pluginBundle.getPluginContext(sPluginInformation.getIdentifier()); PluginConfiguration pluginConfiguration = PluginConfiguration.fromDefaults(pluginContext.getPlugin().getSystemSettingsDefinition()); pluginContext.initialize(pluginConfiguration);
pluginDescriptor.setPluginClassName(plugin.getClass().getName()); pluginDescriptor.setDescription(pluginContext.getDescription()); pluginDescriptor.setName(sPluginInformation.getName()); pluginDescriptor.setLocation(pluginContext.getLocation().toString()); pluginDescriptor.setPluginInterfaceClassName(getPluginInterface(plugin.getClass()).getName()); pluginDescriptor.setEnabled(sPluginInformation.isEnabled()); pluginDescriptor.setInstallForNewUsers(sPluginInformation.isInstallForNewUsers()); pluginDescriptor.setPluginBundleVersion(session.get(pluginBundleVersionId, OldQuery.getDefault())); if (sPluginInformation.isInstallForAllUsers()) { IfcModelInterface allOfType = session.getAllOfType(StorePackage.eINSTANCE.getUser(), OldQuery.getDefault()); for (User user : allOfType.getAll(User.class)) {
@Override public Void execute() throws UserException, BimserverLockConflictException, BimserverDatabaseException, ServerException { LocalMavenPluginBundle mavenPluginBundle = new LocalMavenPluginBundle(data); try { List<SPluginInformation> pluginInformationFromPluginFile = bimServer.getPluginManager().getPluginInformationFromJar(new ByteArrayInputStream(data)); for (SPluginInformation sPluginInformation : pluginInformationFromPluginFile) { sPluginInformation.setEnabled(true); if (installAllPluginsForAllUsers) { sPluginInformation.setInstallForAllUsers(true); } if (installAllPluginsForNewUsers) { sPluginInformation.setInstallForNewUsers(true); } } bimServer.getPluginManager().install(mavenPluginBundle, pluginInformationFromPluginFile, false); } catch (Exception e) { LOGGER.error("", e); throw new UserException(e); } return null; } }
if (sPluginInformation.isEnabled()) { PluginContext pluginContext = pluginBundle.getPluginContext(sPluginInformation.getIdentifier()); if (pluginContext == null) { LOGGER.info("No plugin context found for " + sPluginInformation.getIdentifier()); } else { PluginConfiguration pluginConfiguration = PluginConfiguration.fromDefaults(pluginContext.getPlugin().getSystemSettingsDefinition()); long pluginBundleVersionId = pluginChangeListener.pluginBundleInstalled(pluginBundle); for (SPluginInformation sPluginInformation : plugins) { if (sPluginInformation.isEnabled()) { PluginContext pluginContext = pluginBundle.getPluginContext(sPluginInformation.getIdentifier()); pluginChangeListener.pluginInstalled(pluginBundleVersionId, pluginContext, sPluginInformation);
processPluginDescriptor(pluginDescriptor, plugins); for (SPluginInformation info : plugins) { info.setInstallForAllUsers(true); info.setInstallForNewUsers(true);
public Object newInstance() { return new org.bimserver.interfaces.objects.SPluginInformation(); } }));
pluginDescriptor.setPluginClassName(plugin.getClass().getName()); pluginDescriptor.setDescription(newPluginContext.getDescription()); pluginDescriptor.setName(sPluginInformation.getName()); pluginDescriptor.setLocation(newPluginContext.getLocation().toString()); pluginDescriptor.setPluginInterfaceClassName(getPluginInterface(plugin.getClass()).getName()); pluginDescriptor.setEnabled(sPluginInformation.isEnabled()); pluginDescriptor.setInstallForNewUsers(sPluginInformation.isInstallForNewUsers()); PluginBundleVersion value = session.get(pluginBundleVersionId, OldQuery.getDefault()); pluginDescriptor.setPluginBundleVersion(value); session.store(pluginDescriptor); if (sPluginInformation.isInstallForAllUsers()) { IfcModelInterface allOfType = session.getAllOfType(StorePackage.eINSTANCE.getUser(), OldQuery.getDefault()); for (User user : allOfType.getAll(User.class)) {
if (sPluginInformation.isEnabled()) { PluginContext pluginContext = pluginBundle.getPluginContext(sPluginInformation.getIdentifier()); PluginContext previousContext = existingPluginBundle.getPluginContext(pluginContext.getIdentifier()); if (sPluginInformation.isEnabled()) { PluginContext pluginContext = pluginBundle.getPluginContext(sPluginInformation.getIdentifier()); pluginChangeListener.pluginUpdated(pluginBundleVersionId, pluginContext, sPluginInformation);
public void sSet(SField sField, Object val) { if (sField.getName().equals("name")) { setName((String)val); return; setType((SPluginType)val); return; setDescription((String)val); return; setEnabled((Boolean)val); return; setIdentifier((String)val); return; setInstallForAllUsers((Boolean)val); return; setInstallForNewUsers((Boolean)val); return; setOid((Long)val); return; setRid((Integer)val); return;
SPluginInformation sPluginInformation = new SPluginInformation(); sPluginInformation.setEnabled(true); sPluginInformation.setDescription(pluginDescriptor.getDescription()); sPluginInformation.setIdentifier(pluginDescriptor.getIdentifier()); sPluginInformation.setInstallForAllUsers(pluginDescriptor.isInstallForNewUsers()); sPluginInformation.setInstallForNewUsers(pluginDescriptor.isInstallForNewUsers()); sPluginInformation.setName(pluginDescriptor.getName()); sPluginInformation.setType(pluginManager.getPluginTypeFromClass(pluginDescriptor.getPluginClassName()));