public static void save( File f, ApplicationTemplateDescriptor descriptor ) throws IOException {

		Properties properties = new Properties();
		if( descriptor.name != null )
			properties.setProperty( APPLICATION_NAME, descriptor.name );

		if( descriptor.version != null )
			properties.setProperty( APPLICATION_VERSION, descriptor.version );

		if( descriptor.dslId != null )
			properties.setProperty( APPLICATION_DSL_ID, descriptor.dslId );

		if( descriptor.description != null )
			properties.setProperty( APPLICATION_DESCRIPTION, descriptor.description );

		if( descriptor.graphEntryPoint != null )
			properties.setProperty( APPLICATION_GRAPH_EP, descriptor.graphEntryPoint );

		if( descriptor.instanceEntryPoint != null )
			properties.setProperty( APPLICATION_INSTANCES_EP, descriptor.instanceEntryPoint );

		if( descriptor.externalExportsPrefix != null )
			properties.setProperty( APPLICATION_EXTERNAL_EXPORTS_PREFIX, descriptor.externalExportsPrefix );

		StringBuilder sb = new StringBuilder();
		for( Iterator<Map.Entry<String,String>> it = descriptor.externalExports.entrySet().iterator(); it.hasNext(); ) {
			Map.Entry<String,String> entry = it.next();
			sb.append( entry.getKey());
			sb.append( " " );
			sb.append( APPLICATION_EXTERNAL_EXPORTS_AS );
			sb.append( " " );
			sb.append( entry.getValue());
			if( it.hasNext())
				sb.append( ", " );
		}

		if( sb.length() > 0 )
			properties.setProperty( APPLICATION_EXTERNAL_EXPORTS, sb.toString());

		properties.setProperty( APPLICATION_TAGS, Utils.format( descriptor.tags, ", " ));
		Utils.writePropertiesFile( properties, f );
	}
public static void save ( File f , ApplicationTemplateDescriptor descriptor ) throws IOException { Properties properties = new Properties ( ) ; if ( descriptor . name != null ) properties . setProperty ( APPLICATION_NAME , descriptor . name ) ; if ( descriptor . version != null ) properties . setProperty ( APPLICATION_VERSION , descriptor . version ) ; if ( descriptor . dslId != null ) properties . setProperty ( APPLICATION_DSL_ID , descriptor . dslId ) ; if ( descriptor . description != null ) properties . setProperty ( APPLICATION_DESCRIPTION , descriptor . description ) ; if ( descriptor . graphEntryPoint != null ) properties . setProperty ( APPLICATION_GRAPH_EP , descriptor . graphEntryPoint ) ; if ( descriptor . instanceEntryPoint != null ) properties . setProperty ( APPLICATION_INSTANCES_EP , descriptor . instanceEntryPoint ) ; if ( descriptor . externalExportsPrefix != null ) properties . setProperty ( APPLICATION_EXTERNAL_EXPORTS_PREFIX , descriptor . externalExportsPrefix ) ; StringBuilder sb = new StringBuilder ( ) ; for ( Iterator < Map . Entry < String , String > > it = descriptor . externalExports . entrySet ( ) . iterator ( ) ; it . hasNext ( ) ; ) { Map . Entry < String , String > entry = it . next ( ) ; sb . append ( entry . getKey ( ) ) ; sb . append ( " " ) ; sb . append ( APPLICATION_EXTERNAL_EXPORTS_AS ) ; sb . append ( " " ) ; sb . append ( entry . getValue ( ) ) ; if ( it . hasNext ( ) ) sb . append ( ", " ) ; } if ( sb . length ( ) > 0 ) properties . setProperty ( APPLICATION_EXTERNAL_EXPORTS , sb . toString ( ) ) ; properties . setProperty ( APPLICATION_TAGS , Utils . format ( descriptor . tags , ", " ) ) ; Utils . writePropertiesFile ( properties , f ) ; }
Saves an application template's descriptor.
@param f the file where the properties will be saved
@param descriptor an application descriptor (not null)
@throws IOException if the file could not be written