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{
|