@Override protected void configureDriver ( final World world, final AbstractFactoryDriver infraDriver, final SnmpDriver driver ) { for ( final Device device : infraDriver.getDevices () ) { if ( ! ( device instanceof SnmpDevice ) ) { throw new IllegalStateException ( String.format ( "Device type %s is not supported", device.getClass () ) ); } createDevice ( world, driver, (SnmpDevice)device ); } }
@Override public void validate ( final ValidationContext ctx, final T driver ) { for ( final Device device : driver.getDevices () ) { if ( !this.deviceClass.isAssignableFrom ( device.getClass () ) ) { continue; } validateDevice ( this.deviceClass.cast ( device ), ctx ); } }
@Override protected void configureDriver ( final World world, final AbstractFactoryDriver infraDriver, final OpcDriver driver ) { for ( final Device device : infraDriver.getDevices () ) { if ( ! ( device instanceof OpcDevice ) ) { throw new IllegalStateException ( String.format ( "Device type %s is not supported", device.getClass () ) ); } createDevice ( world, driver, (OpcDevice)device ); } }
@Override public void validate ( final ValidationContext ctx, final T driver ) { final Set<EObject> locations = new HashSet<> (); final Set<String> illegalDevices = new HashSet<> (); for ( final Device device : driver.getDevices () ) { if ( !this.deviceClass.isAssignableFrom ( device.getClass () ) ) { illegalDevices.add ( device.getClass ().getName () ); locations.add ( device ); } } if ( !illegalDevices.isEmpty () ) { ctx.add ( Severity.ERROR, locations.toArray (), "The driver may only contain device of type {0}. The following device types are invalid: {1}", this.deviceClass.getName (), illegalDevices ); } } }
public static AbstractFactoryDriver findDriverForDevice ( final org.eclipse.scada.configuration.infrastructure.MasterServer master, final Device device ) { for ( final Driver driver : master.getDriver () ) { if ( ! ( driver instanceof AbstractFactoryDriver ) ) { continue; } if ( ( (AbstractFactoryDriver)driver ).getDevices ().contains ( device ) ) { return (AbstractFactoryDriver)driver; } } return null; }
public static AbstractFactoryDriver findDriverForDevice ( final org.eclipse.scada.configuration.infrastructure.MasterServer master, final Device device ) { for ( final Driver driver : master.getDriver () ) { if ( ! ( driver instanceof AbstractFactoryDriver ) ) { continue; } if ( ( (AbstractFactoryDriver)driver ).getDevices ().contains ( device ) ) { return (AbstractFactoryDriver)driver; } } return null; }