mcconnell 2003/07/27 04:50:05 Modified: merlin/composition/src/java/org/apache/avalon/composition/data/builder ProfilePackageBuilder.java SerializedProfilePackageCreator.java XMLContainmentProfileCreator.java XMLDeploymentProfileCreator.java XMLProfileCreator.java XMLProfilePackageCreator.java merlin/composition/src/java/org/apache/avalon/composition/model/impl DefaultContainmentModel.java DefaultTypeRepository.java merlin/composition-spi/src/java/org/apache/avalon/composition/data/builder ProfilePackageCreator.java Log: Improve name defaults for auto-generated deployment profiles. Revision Changes Path 1.2 +13 -8 avalon-sandbox/merlin/composition/src/java/org/apache/avalon/composition/data/builder/ProfilePackageBuilder.java Index: ProfilePackageBuilder.java =================================================================== RCS file: /home/cvs/avalon-sandbox/merlin/composition/src/java/org/apache/avalon/composition/data/builder/ProfilePackageBuilder.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- ProfilePackageBuilder.java 17 Jul 2003 21:21:56 -0000 1.1 +++ ProfilePackageBuilder.java 27 Jul 2003 11:50:04 -0000 1.2 @@ -81,15 +81,16 @@ /** * Create a [EMAIL PROTECTED] ProfilePackage} from a type. * - * @param type the compoent type meta-info descriptor + * @param name the component type name + * @param type the component type meta-info descriptor * @param classloader the classloader * @return the profile package * @exception Exception if a error occurs during package creation */ - public ProfilePackage createProfilePackage( Class clazz ) + public ProfilePackage createProfilePackage( String name, Class clazz ) throws Exception { - ProfilePackage profiles = m_serial.createProfilePackage( clazz ); + ProfilePackage profiles = m_serial.createProfilePackage( name, clazz ); if( profiles != null ) { return profiles; @@ -104,12 +105,12 @@ if( stream == null ) { DeploymentProfile profile = - new DeploymentProfile( "default", classname ); + new DeploymentProfile( name, classname ); return new ProfilePackage( new DeploymentProfile[]{ profile } ); } else { - return buildFromXMLDescriptor( classname, stream ); + return buildFromXMLDescriptor( name, classname, stream ); } } } @@ -128,14 +129,18 @@ /** * Build CompositionProfile from an XML descriptor. * + * @param name the type name + * @param classname the type classname + * @param inputStream the input stream for the profile * @throws Exception if an error occurs */ - private ProfilePackage buildFromXMLDescriptor( String classname, InputStream inputStream ) + private ProfilePackage buildFromXMLDescriptor( + final String name, final String classname, InputStream inputStream ) throws Exception { final InputSource inputSource = new InputSource( inputStream ); Configuration config = ConfigurationBuilder.build( inputSource ); - return m_xml.createProfilePackage( classname, config ); + return m_xml.createProfilePackage( name, classname, config ); } } 1.2 +4 -3 avalon-sandbox/merlin/composition/src/java/org/apache/avalon/composition/data/builder/SerializedProfilePackageCreator.java Index: SerializedProfilePackageCreator.java =================================================================== RCS file: /home/cvs/avalon-sandbox/merlin/composition/src/java/org/apache/avalon/composition/data/builder/SerializedProfilePackageCreator.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- SerializedProfilePackageCreator.java 17 Jul 2003 21:21:56 -0000 1.1 +++ SerializedProfilePackageCreator.java 27 Jul 2003 11:50:05 -0000 1.2 @@ -69,11 +69,12 @@ /** * Create a [EMAIL PROTECTED] ProfilePackage} from a class. * - * @param clazz the component type class + * @param name the component profile name (ignored) + * @param clazz the component profile class * @return the profile package * @exception Exception if a error occurs during package creation */ - public ProfilePackage createProfilePackage( Class clazz ) + public ProfilePackage createProfilePackage( String name, Class clazz ) throws Exception { final String classname = clazz.getName(); 1.3 +2 -2 avalon-sandbox/merlin/composition/src/java/org/apache/avalon/composition/data/builder/XMLContainmentProfileCreator.java Index: XMLContainmentProfileCreator.java =================================================================== RCS file: /home/cvs/avalon-sandbox/merlin/composition/src/java/org/apache/avalon/composition/data/builder/XMLContainmentProfileCreator.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- XMLContainmentProfileCreator.java 26 Jul 2003 16:27:14 -0000 1.2 +++ XMLContainmentProfileCreator.java 27 Jul 2003 11:50:05 -0000 1.3 @@ -114,7 +114,7 @@ // build the containment description // - final String name = getName( config ); + final String name = getName( null, config, "untitled" ); DependencyDescriptor[] imports = getDependencies( config.getChild( "dependencies", false ) ); ServiceDirective[] exports = 1.4 +5 -4 avalon-sandbox/merlin/composition/src/java/org/apache/avalon/composition/data/builder/XMLDeploymentProfileCreator.java Index: XMLDeploymentProfileCreator.java =================================================================== RCS file: /home/cvs/avalon-sandbox/merlin/composition/src/java/org/apache/avalon/composition/data/builder/XMLDeploymentProfileCreator.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- XMLDeploymentProfileCreator.java 25 Jul 2003 06:14:04 -0000 1.3 +++ XMLDeploymentProfileCreator.java 27 Jul 2003 11:50:05 -0000 1.4 @@ -77,7 +77,7 @@ throws Exception { String classname = config.getAttribute( "class", null ); - return createDeploymentProfile( classname, config ); + return createDeploymentProfile( null, classname, config ); } /** @@ -86,10 +86,11 @@ * @param config the configuration * @return the deployment profile */ - public DeploymentProfile createDeploymentProfile( String classname, Configuration config ) + public DeploymentProfile createDeploymentProfile( + String base, String classname, Configuration config ) throws Exception { - final String name = getName( config ); + final String name = getName( base, config, "untitled" ); return createDeploymentProfile( classname, config, name ); } 1.2 +12 -3 avalon-sandbox/merlin/composition/src/java/org/apache/avalon/composition/data/builder/XMLProfileCreator.java Index: XMLProfileCreator.java =================================================================== RCS file: /home/cvs/avalon-sandbox/merlin/composition/src/java/org/apache/avalon/composition/data/builder/XMLProfileCreator.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- XMLProfileCreator.java 17 Jul 2003 21:21:56 -0000 1.1 +++ XMLProfileCreator.java 27 Jul 2003 11:50:05 -0000 1.2 @@ -69,9 +69,18 @@ * * @param config a configuration fragment describing the profile. */ - protected String getName( Configuration config ) + protected String getName( + final String base, final Configuration config, final String defaultName ) { - return config.getAttribute( "name", "untitled" ); + final String name = config.getAttribute( "name", defaultName ); + if( base == null ) + { + return name; + } + else + { + return base + "-" + name; + } } /** 1.2 +4 -3 avalon-sandbox/merlin/composition/src/java/org/apache/avalon/composition/data/builder/XMLProfilePackageCreator.java Index: XMLProfilePackageCreator.java =================================================================== RCS file: /home/cvs/avalon-sandbox/merlin/composition/src/java/org/apache/avalon/composition/data/builder/XMLProfilePackageCreator.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- XMLProfilePackageCreator.java 17 Jul 2003 21:21:56 -0000 1.1 +++ XMLProfilePackageCreator.java 27 Jul 2003 11:50:05 -0000 1.2 @@ -79,7 +79,8 @@ * @param config the configuration * @return the profile package */ - public ProfilePackage createProfilePackage( String classname, Configuration config ) + public ProfilePackage createProfilePackage( + final String base, String classname, Configuration config ) throws MetaDataException { ArrayList list = new ArrayList(); @@ -94,7 +95,7 @@ { list.add( DEPLOYMENT_CREATOR.createDeploymentProfile( - classname, child ) ); + base, classname, child ) ); } catch( Throwable e ) { 1.17 +11 -3 avalon-sandbox/merlin/composition/src/java/org/apache/avalon/composition/model/impl/DefaultContainmentModel.java Index: DefaultContainmentModel.java =================================================================== RCS file: /home/cvs/avalon-sandbox/merlin/composition/src/java/org/apache/avalon/composition/model/impl/DefaultContainmentModel.java,v retrieving revision 1.16 retrieving revision 1.17 diff -u -r1.16 -r1.17 --- DefaultContainmentModel.java 27 Jul 2003 03:15:36 -0000 1.16 +++ DefaultContainmentModel.java 27 Jul 2003 11:50:05 -0000 1.17 @@ -418,10 +418,11 @@ // // if an existing model exists return it // - +System.out.println("1"); Model[] models = getModels(); ModelSelector modelSelector = new DefaultModelSelector(); Model model = modelSelector.select( models, dependency ); +System.out.println("2"); if( model != null ) return model; // @@ -429,18 +430,23 @@ // we could use to construct the model // +System.out.println("3"); TypeRepository repository = m_context.getClassLoaderModel().getTypeRepository(); +System.out.println("4"); ArrayList list = new ArrayList(); try { Type[] types = repository.getTypes( dependency ); +System.out.println("5: " + types.length ); for( int i=0; i<types.length; i++ ) { +System.out.println("5.1"); Profile[] profiles = repository.getProfiles( types[i] ); +System.out.println("5.2: " + profiles.length ); for( int j=0; j<profiles.length; j++ ) { - list.add( profiles[i] ); + list.add( profiles[j] ); } } @@ -452,9 +458,11 @@ // DependencyDirective instead of the descriptor. // +System.out.println("6"); Profile[] collection = (Profile[]) list.toArray( new Profile[0] ); ProfileSelector selector = new DefaultProfileSelector(); Profile profile = selector.select( collection, dependency ); +System.out.println("7: " + profile ); if( profile != null ) return addProfile( profile ); return null; } @@ -505,7 +513,7 @@ Profile[] profiles = repository.getProfiles( types[i] ); for( int j=0; j<profiles.length; j++ ) { - list.add( profiles[i] ); + list.add( profiles[j] ); } } 1.12 +3 -2 avalon-sandbox/merlin/composition/src/java/org/apache/avalon/composition/model/impl/DefaultTypeRepository.java Index: DefaultTypeRepository.java =================================================================== RCS file: /home/cvs/avalon-sandbox/merlin/composition/src/java/org/apache/avalon/composition/model/impl/DefaultTypeRepository.java,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- DefaultTypeRepository.java 27 Jul 2003 03:15:36 -0000 1.11 +++ DefaultTypeRepository.java 27 Jul 2003 11:50:05 -0000 1.12 @@ -169,11 +169,12 @@ while( iterator.hasNext() ) { Type type = (Type) iterator.next(); + final String name = type.getInfo().getName(); final String classname = type.getInfo().getClassname(); Class clazz = m_classloader.loadClass( classname ); ProfilePackage pack = - PACKAGE_BUILDER.createProfilePackage( clazz ); + PACKAGE_BUILDER.createProfilePackage( name, clazz ); m_profiles.put( classname, pack ); int n = pack.getDeploymentProfiles().length; 1.2 +2 -2 avalon-sandbox/merlin/composition-spi/src/java/org/apache/avalon/composition/data/builder/ProfilePackageCreator.java Index: ProfilePackageCreator.java =================================================================== RCS file: /home/cvs/avalon-sandbox/merlin/composition-spi/src/java/org/apache/avalon/composition/data/builder/ProfilePackageCreator.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- ProfilePackageCreator.java 17 Jul 2003 21:22:00 -0000 1.1 +++ ProfilePackageCreator.java 27 Jul 2003 11:50:05 -0000 1.2 @@ -70,7 +70,7 @@ * @return the profile package * @exception Exception if a error occurs during package creation */ - ProfilePackage createProfilePackage( Class clazz ) + ProfilePackage createProfilePackage( String name, Class clazz ) throws Exception; }
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]