instance.setComponent( instanceComponent );
instance.channels.addAll( ModelUtils.getPropertyValues( currentBlock, ParsingConstants.PROPERTY_INSTANCE_CHANNELS )); instance.setComponent( ComponentHelpers.findComponent( this.graphs, currentBlock.getName())); if( instance.getComponent() == null ) { ParsingError error = new ParsingError( ErrorCode.CO_INEXISTING_COMPONENT, block.getDeclaringFile().getEditedFile(), currentBlock.getLine());
@Test public void testInstance() { Instance inst = new Instance(); Iterator<ModelError> iterator = RuntimeModelValidator.validate( inst ).iterator(); Assert.assertEquals( ErrorCode.RM_EMPTY_INSTANCE_NAME, iterator.next().getErrorCode()); Assert.assertEquals( ErrorCode.RM_EMPTY_INSTANCE_COMPONENT, iterator.next().getErrorCode()); Assert.assertFalse( iterator.hasNext()); inst.setName( "?my instance?" ); iterator = RuntimeModelValidator.validate( inst ).iterator(); Assert.assertEquals( ErrorCode.RM_INVALID_INSTANCE_NAME, iterator.next().getErrorCode()); Assert.assertEquals( ErrorCode.RM_EMPTY_INSTANCE_COMPONENT, iterator.next().getErrorCode()); Assert.assertFalse( iterator.hasNext()); inst.setName( "my-instance" ); iterator = RuntimeModelValidator.validate( inst ).iterator(); Assert.assertEquals( ErrorCode.RM_EMPTY_INSTANCE_COMPONENT, iterator.next().getErrorCode()); Assert.assertFalse( iterator.hasNext()); inst.setComponent( new Component( "comp" )); Assert.assertEquals( 0, RuntimeModelValidator.validate( inst ).size()); inst.setName( "my instance" ); Assert.assertEquals( 0, RuntimeModelValidator.validate( inst ).size()); inst.overriddenExports.put( "inst.value", "whatever" ); iterator = RuntimeModelValidator.validate( inst ).iterator(); Assert.assertEquals( ErrorCode.RM_MAGIC_INSTANCE_VARIABLE, iterator.next().getErrorCode()); Assert.assertFalse( iterator.hasNext()); }
@Test public void testFindAllExportedVariables() { Instance instance = new Instance( "inst 1" ).component( new Component( "c" )); Assert.assertEquals( 0, InstanceHelpers.findAllExportedVariables( instance ).size()); instance.overriddenExports.put( "var1", "value1" ); Map<String,String> map = InstanceHelpers.findAllExportedVariables( instance ); Assert.assertEquals( 1, map.size()); Assert.assertEquals( "value1", map.get( "var1" )); Component component = new Component( "comp 1" ); component.addExportedVariable( new ExportedVariable( "var1", "another value" )); component.addExportedVariable( new ExportedVariable( "var2", "value2" )); instance.setComponent( component ); map = InstanceHelpers.findAllExportedVariables( instance ); Assert.assertEquals( 2, map.size()); Assert.assertEquals( "value1", map.get( "comp 1.var1" )); Assert.assertEquals( "value2", map.get( "comp 1.var2" )); instance.overriddenExports.clear(); map = InstanceHelpers.findAllExportedVariables( instance ); Assert.assertEquals( 2, map.size()); Assert.assertEquals( "another value", map.get( "comp 1.var1" )); Assert.assertEquals( "value2", map.get( "comp 1.var2" )); }
inst.setComponent( comp ); iterator = RuntimeModelValidator.validate( inst ).iterator(); Assert.assertEquals( ErrorCode.RM_MISSING_VARIABLE_VALUE, iterator.next().getErrorCode());
instance.setComponent( component ); instance.overriddenExports.put( "var1", "some value" ); instance.overriddenExports.put( "toto.ip", null );
@Test public void testIsTarget() { Instance inst = new Instance( "i" ); Assert.assertFalse( InstanceHelpers.isTarget( inst )); inst.setComponent( new Component( "comp" ).installerName( "whatever" )); Assert.assertFalse( InstanceHelpers.isTarget( inst )); inst.getComponent().setInstallerName( Constants.TARGET_INSTALLER ); Assert.assertTrue( InstanceHelpers.isTarget( inst )); }