[CJ-dev] commonjava-projects/commonjava-config/src/java/org/commonjava/config/snapin StackedSnapInCo
Brought to you by:
johnqueso
Update of /cvsroot/commonjava/commonjava-projects/commonjava-config/src/java/org/commonjava/config/snapin In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26323/src/java/org/commonjava/config/snapin Modified Files: SnapInContainerLoader.java GenericSnapInContainerLoader.java Added Files: StackedSnapInContainer.java Log Message: updated documentation in project.xml files, and added functionality to: Console: - provide convenient way to prompt the user for more information Config: - Provide snap-in container stacking, or scoping - Provide a JBoss service implementation of a snap-in container Probably other things, but I don't honestly remember everything... --- NEW FILE: StackedSnapInContainer.java --- /* Created on Jan 8, 2004 */ package org.commonjava.config.snapin; import java.util.Iterator; import java.util.LinkedList; /** * @author jdcasey */ public class StackedSnapInContainer implements SnapInContainer { private LinkedList containerStack = new LinkedList(); /** * */ public StackedSnapInContainer() { } public synchronized void prepend(SnapInContainer container){ containerStack.addFirst(container); } public synchronized void append(SnapInContainer container){ containerStack.addLast(container); } public synchronized void remove(SnapInContainer container){ containerStack.remove(container); } public synchronized ConfigSnapIn getSnapIn(String snapInId) { ConfigSnapIn snapIn = null; for (Iterator it = containerStack.iterator(); it.hasNext();) { SnapInContainer container = (SnapInContainer)it.next(); snapIn = (ConfigSnapIn)container.getSnapIn(snapInId); if(snapIn != null){ // Use the first snap-in matching this id. break; } } return snapIn; } public synchronized void addSnapIn(ConfigSnapIn snapIn) { SnapInContainer firstContainer = (SnapInContainer)containerStack.getFirst(); if(firstContainer == null){ firstContainer = new GenericSnapInContainer(); containerStack.addFirst(firstContainer); } firstContainer.addSnapIn(snapIn); } } Index: SnapInContainerLoader.java =================================================================== RCS file: /cvsroot/commonjava/commonjava-projects/commonjava-config/src/java/org/commonjava/config/snapin/SnapInContainerLoader.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- SnapInContainerLoader.java 16 Jan 2004 02:20:26 -0000 1.2 +++ SnapInContainerLoader.java 18 Feb 2004 06:11:00 -0000 1.3 @@ -14,7 +14,7 @@ private static SnapInContainer container; - protected abstract SnapInContainer loadSnapInContainer() throws SnapInLoaderException; + public abstract SnapInContainer loadSnapInContainer() throws SnapInLoaderException; public static SnapInContainer getSnapInContainer() throws SnapInLoaderException{ synchronized(SnapInContainer.class){ Index: GenericSnapInContainerLoader.java =================================================================== RCS file: /cvsroot/commonjava/commonjava-projects/commonjava-config/src/java/org/commonjava/config/snapin/GenericSnapInContainerLoader.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- GenericSnapInContainerLoader.java 16 Jan 2004 02:20:26 -0000 1.2 +++ GenericSnapInContainerLoader.java 18 Feb 2004 06:11:00 -0000 1.3 @@ -8,7 +8,7 @@ /** * @author jdcasey */ -final class GenericSnapInContainerLoader extends SnapInContainerLoader +public final class GenericSnapInContainerLoader extends SnapInContainerLoader { private static final String DEFAULT_LOCATION = "cprs:///configuration.xml"; @@ -21,11 +21,11 @@ { } - static SnapInContainerLoader getInstance(){ + public static SnapInContainerLoader getInstance(){ return INSTANCE; } - protected SnapInContainer loadSnapInContainer() throws SnapInLoaderException{ + public SnapInContainer loadSnapInContainer() throws SnapInLoaderException{ String location = System.getProperty(SnapInContainerLoader.LOCATION_SYSPROP, DEFAULT_LOCATION); try{ |