@Override public void process ( final Module module, final Collection<ApplicationModule> modules, final EquinoxBase app, final org.eclipse.scada.configuration.world.osgi.EquinoxApplication implApp ) { final DSFileBackend s = (DSFileBackend)module; final Profile p = Profiles.createOrGetCustomizationProfile ( implApp ); final Map<String, String> vars = new HashMap<> (); vars.put ( "name", app.getName () ); Profiles.addSystemProperty ( p, "org.eclipse.scada.ds.storage.file.root", makePath ( vars, s ) ); // mark for installation p.getInstallationUnits ().add ( "org.eclipse.scada.ds.storage.file" ); // mark for startup Profiles.addStartBundle ( p, "org.eclipse.scada.ds.storage.file" ); }
public static Configuration findSecurityConfiguration ( final EquinoxBase eDriver ) { final World world = Containers.findContainer ( eDriver, World.class ); if ( eDriver.getSecurityConfiguration () != null ) { return eDriver.getSecurityConfiguration (); } else if ( world != null ) { return world.getDefaultSecurityConfiguration (); } return null; }
public static UserService findUserService ( final EquinoxBase app ) { if ( app.getUserService () != null ) { return app.getUserService (); } final World world = Containers.findContainer ( app, World.class ); final Options options = world.getOptions (); if ( options != null && options.getDefaultUserService () != null ) { return options.getDefaultUserService (); } return null; }
public static Collection<ApplicationModule> makeModules ( final org.eclipse.scada.configuration.infrastructure.World world, final org.eclipse.scada.configuration.infrastructure.EquinoxBase app, final EquinoxApplication implApp ) { final Collection<ApplicationModule> result = new LinkedList<> (); // process application configurations result.addAll ( EcoreUtil.copyAll ( world.getApplicationConfigurations () ) ); ExclusiveGroups.removeGroups ( result, app.getConfigurations () ); result.addAll ( EcoreUtil.copyAll ( app.getConfigurations () ) ); final List<Module> modules = new ArrayList<> (); // process infrastructure configuration final org.eclipse.scada.configuration.infrastructure.ApplicationConfiguration cfg = app.getConfiguration (); // TODO: add a default configuration if ( cfg != null ) { // add configurations ExclusiveGroups.removeGroups ( result, cfg.getConfigurations () ); result.addAll ( EcoreUtil.copyAll ( cfg.getConfigurations () ) ); // process modules modules.addAll ( cfg.getModules () ); } // process direct modules ExclusiveGroups.removeGroups ( result, app.getModules () ); modules.addAll ( app.getModules () ); processModules ( app, implApp, result, modules ); // final check is done in the target model return result; // we don't copy here, since the module handlers might have created actual objects }
private Integer makePort ( final JMXSettings s, final EquinoxBase app ) { if ( s.getPort () != null ) { return s.getPort (); } if ( s.getInstancePortOffset () != null ) { return s.getInstancePortOffset () + app.getInstanceNumber (); } return null; }
@SuppressWarnings ( "unchecked" ) @Override public Driver process ( final org.eclipse.scada.configuration.infrastructure.Driver infraDriver, final Map<Node, org.eclipse.scada.configuration.world.Node> nodes ) { final T driver = (T)infraDriver; final S result = createDriver ( driver, nodes ); result.setName ( driver.getName () ); result.setSecurityConfiguration ( Worlds.findSecurityConfiguration ( driver ) ); Worlds.addUserService ( result, driver ); final World world = Containers.findContainer ( infraDriver, World.class ); final DataAccessExporter exporter = OsgiFactory.eINSTANCE.createDataAccessExporter (); exporter.setName ( "exporter" ); //$NON-NLS-1$ result.getExporter ().add ( exporter ); exporter.getEndpoints ().add ( Endpoints.registerEndpoint ( nodes.get ( driver.getNode () ), world.getOptions ().getBaseDaNgpPort () + driver.getInstanceNumber (), Endpoints.reference ( exporter ), "EquinoxDriver Endpoint: " + driver.getName () ) ); final ConfigurationAdministratorExporter caExporter = OsgiFactory.eINSTANCE.createConfigurationAdministratorExporter (); caExporter.setName ( "caExporter" ); //$NON-NLS-1$ result.getExporter ().add ( caExporter ); caExporter.getEndpoints ().add ( Endpoints.registerEndpoint ( nodes.get ( driver.getNode () ), world.getOptions ().getBaseCaNgpPort () + driver.getInstanceNumber (), Endpoints.reference ( caExporter ), "CA Exporter: " + driver.getName () ) ); result.getModules ().addAll ( WorldGenerator.makeModules ( world, driver, result ) ); return result; }
@Override public void process ( final Module module, final Collection<ApplicationModule> modules, final EquinoxBase app, final org.eclipse.scada.configuration.world.osgi.EquinoxApplication implApp ) { final ConfigurationAdminFileBackend s = (ConfigurationAdminFileBackend)module; final Profile p = Profiles.createOrGetCustomizationProfile ( implApp ); final Map<String, String> vars = new HashMap<> (); vars.put ( "name", app.getName () ); Profiles.addSystemProperty ( p, "org.eclipse.scada.ca.file.root", makePath ( vars, s ) ); // mark for installation p.getInstallationUnits ().add ( "org.eclipse.scada.ca.file" ); // mark for startup Profiles.addStartBundle ( p, "org.eclipse.scada.ca.file" ); }