@Override public void createItems ( final ItemCreator itemCreator ) { if ( this.implementationClazz.isAssignableFrom ( this.calculationComponent.getImplementation ().getClass () ) ) { if ( !this.calculationComponent.getInitProperties ().isEmpty () && !supportsInitProperties () ) { throw new IllegalStateException ( String.format ( "Component %s does not support init properties", this.implementationClazz.getSimpleName () ) ); } createItems ( itemCreator, this.implementationClazz.cast ( this.calculationComponent.getImplementation () ) ); } }
@Override protected void createItems ( final ItemCreator creator, final FormulaModule implementation ) final OutputDefinition output = Calculations.findSingleByName ( this.calculationComponent.getOutputs (), "output" ); final OutputSpecification outputSpec = Calculations.findSpecification ( implementation, output ); item.getInitProperties ().addAll ( EcoreUtil.copyAll ( this.calculationComponent.getInitProperties () ) ); for ( final InputDefinition input : this.calculationComponent.getInputs () )
/** * This returns the label styled text for the adapted class. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Object getStyledText ( Object object ) { String label = ( (CalculationComponent)object ).getName (); StyledString styledLabel = new StyledString (); if ( label == null || label.length () == 0 ) { styledLabel.append ( getString ( "_UI_CalculationComponent_type" ), StyledString.Style.QUALIFIER_STYLER ); //$NON-NLS-1$ } else { styledLabel.append ( getString ( "_UI_CalculationComponent_type" ), StyledString.Style.QUALIFIER_STYLER ).append ( " " + label ); //$NON-NLS-1$ //$NON-NLS-2$ } return styledLabel; }
@Override protected void generateForMaster ( final GenerationContext context, final MasterContext master, final AverageModule implementation ) { final Average average = OsgiFactory.eINSTANCE.createAverage (); average.setName ( makeId () ); master.getImplementation ().getAverages ().add ( average ); average.setSourcesRequired ( implementation.getValidSourcesRequired () ); this.map.put ( master.getImplementation (), average ); this.danglingMap.put ( master.getImplementation (), average ); for ( final InputDefinition input : Calculations.findByName ( this.calculationComponent.getInputs (), "input" ) ) { average.getItems ().add ( input.createReference () ); } if ( average.getItems ().isEmpty () ) { throw new IllegalStateException ( "Average must contain more than at least one item" ); } }
@Override public void createItems ( final ItemCreator creator, final MovingAverageModule implementation ) { for ( final OutputDefinition output : this.calculationComponent.getOutputs () ) { final OutputSpecification outputSpec = Calculations.findSpecification ( implementation, output ); final MovingAverageReferenceType type = MovingAverageReferenceType.get ( output.getName () ); if ( type == null ) { throw new IllegalStateException ( String.format ( "Moving average reference type %s is unknown. Use any of: %s.", output.getName (), StringHelper.join ( MovingAverageReferenceType.values (), ", " ) ) ); } final CreationRequest<MovingAverageItem> c = createAverageItem ( creator, type ); c.localTags ( output.getLocalTag () ); c.customizationTags ( output.getCustomizationTags () );// the output of a calculation module is an input for the system c.dataType ( outputSpec.getDataType () ); c.addMasterListener ( new MasterListener<MovingAverageItem> () { @Override public void setMaster ( final MovingAverageItem item, final MasterContext master ) { final MovingAverage average = MovingAverageModuleGenerator.this.map.get ( master.getImplementation () ); item.setSource ( average ); } } ); c.create (); } }
@Override protected void generateForMaster ( final GenerationContext context, final MasterContext master ) { if ( this.implementationClazz.isAssignableFrom ( this.calculationComponent.getImplementation ().getClass () ) ) { generateForMaster ( context, master, this.implementationClazz.cast ( this.calculationComponent.getImplementation () ) ); } super.generateForMaster ( context, master ); }
@Override protected void createItems ( final ItemCreator creator, final ScriptModule implementation ) final OutputDefinition output = Calculations.findSingleByName ( this.calculationComponent.getOutputs (), "output" ); final OutputSpecification outputSpec = Calculations.findSpecification ( implementation, output ); for ( final InputDefinition input : this.calculationComponent.getInputs () ) item.getInitProperties ().addAll ( EcoreUtil.copyAll ( this.calculationComponent.getInitProperties () ) ); for ( final OutputDefinition outputDef : this.calculationComponent.getOutputs () )
/** * This returns the label styled text for the adapted class. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Object getStyledText ( Object object ) { String label = ( (CalculationComponent)object ).getName (); StyledString styledLabel = new StyledString (); if ( label == null || label.length () == 0 ) { styledLabel.append ( getString ( "_UI_CalculationComponent_type" ), StyledString.Style.QUALIFIER_STYLER ); //$NON-NLS-1$ } else { styledLabel.append ( getString ( "_UI_CalculationComponent_type" ), StyledString.Style.QUALIFIER_STYLER ).append ( " " + label ); //$NON-NLS-1$ //$NON-NLS-2$ } return styledLabel; }
@Override protected void generateForMaster ( final GenerationContext context, final MasterContext master, final MovingAverageModule implementation ) { final MovingAverage average = OsgiFactory.eINSTANCE.createMovingAverage (); average.setName ( makeId () ); master.getImplementation ().getMovingAverages ().add ( average ); average.setNullRange ( implementation.getNullRange () ); average.setRange ( implementation.getRange () ); average.setTrigger ( implementation.getTrigger () ); average.setTriggerOnly ( implementation.isTriggerOnly () ); this.map.put ( master.getImplementation (), average ); this.danglingMap.put ( master.getImplementation (), average ); final InputDefinition input = Calculations.findSingleInputByName ( this.calculationComponent.getInputs (), "input" ); if ( input == null ) { throw new IllegalStateException ( "Moving average must contain have an input item set" ); } average.setItem ( input.createReference () ); }
@Override public void createItems ( final ItemCreator creator, final AverageModule implementation ) { for ( final OutputDefinition output : this.calculationComponent.getOutputs () ) { final OutputSpecification outputSpec = Calculations.findSpecification ( implementation, output ); final AverageReferenceType type = AverageReferenceType.get ( output.getName () ); if ( type == null ) { throw new IllegalStateException ( String.format ( "Average reference type %s is unknown. Use any of: %s.", output.getName (), StringHelper.join ( AverageReferenceType.values (), ", " ) ) ); } final CreationRequest<AverageItem> c = createAverageItem ( creator, type ); c.localTags ( output.getLocalTag () ); c.customizationTags ( output.getCustomizationTags () );// the output of a calculation module is an input for the system c.dataType ( outputSpec.getDataType () ); c.addMasterListener ( new MasterListener<AverageItem> () { @Override public void setMaster ( final AverageItem item, final MasterContext master ) { final Average average = AverageModuleGenerator.this.map.get ( master.getImplementation () ); item.setSource ( average ); } } ); c.create (); } }