Ejemplo n.º 1
0
 public Deserializer createDeserializer(long deserializerOid)
     throws PluginException, UserException {
   DatabaseSession session = bimDatabase.createSession();
   try {
     DeserializerPluginConfiguration deserializerPluginConfiguration =
         session.get(
             StorePackage.eINSTANCE.getDeserializerPluginConfiguration(),
             deserializerOid,
             Query.getDefault());
     if (deserializerPluginConfiguration != null) {
       DeserializerPlugin deserializerPlugin =
           (DeserializerPlugin)
               pluginManager.getPlugin(
                   deserializerPluginConfiguration.getPluginDescriptor().getPluginClassName(),
                   true);
       if (deserializerPlugin != null) {
         ObjectType settings = deserializerPluginConfiguration.getSettings();
         return deserializerPlugin.createDeserializer(new PluginConfiguration(settings));
       } else {
         throw new UserException("No (enabled) deserializer found with oid " + deserializerOid);
       }
     }
   } catch (BimserverDatabaseException e) {
     LOGGER.error("", e);
   } finally {
     session.close();
   }
   return null;
 }
 @Override
 public Void execute()
     throws UserException, BimserverLockConflictException, BimserverDatabaseException {
   DeserializerPluginConfiguration object =
       getDatabaseSession().get(geteClass(), getOid(), Query.getDefault());
   UserSettings settings = object.getUserSettings();
   settings.getDeserializers().remove(object);
   getDatabaseSession().store(settings);
   return super.execute();
 }