From: <to...@us...> - 2007-02-27 19:11:03
|
Revision: 85 http://techne-dev.svn.sourceforge.net/techne-dev/?rev=85&view=rev Author: tonit Date: 2007-02-27 11:10:48 -0800 (Tue, 27 Feb 2007) Log Message: ----------- added doublecheck locking Modified Paths: -------------- sandbox/rickles/org.digivitality.techne.core/src/org/digivitality/techne/core/ContainerFactory.java Modified: sandbox/rickles/org.digivitality.techne.core/src/org/digivitality/techne/core/ContainerFactory.java =================================================================== --- sandbox/rickles/org.digivitality.techne.core/src/org/digivitality/techne/core/ContainerFactory.java 2007-02-27 18:59:06 UTC (rev 84) +++ sandbox/rickles/org.digivitality.techne.core/src/org/digivitality/techne/core/ContainerFactory.java 2007-02-27 19:10:48 UTC (rev 85) @@ -1,8 +1,8 @@ package org.digivitality.techne.core; -import java.util.*; +import java.util.ArrayList; +import java.util.List; - public class ContainerFactory { // this will be replaced by techne.properties @@ -10,42 +10,46 @@ private int quantity; private List containerInstances = new ArrayList(); private static ContainerFactory instance; - + private ContainerFactory() { - + } - - public Object clone() throws CloneNotSupportedException - { - throw new CloneNotSupportedException("Cloning a singleton is not allowed."); - } - - static synchronized public ContainerFactory getInstance() - { - if (instance==null) { - instance = new ContainerFactory(); + + public Object clone() throws CloneNotSupportedException { + throw new CloneNotSupportedException( + "Cloning a singleton is not allowed."); + } + + static synchronized public ContainerFactory getInstance() { + if (instance == null) { + synchronized (ContainerFactory.class) { + if (instance == null) { + instance = new ContainerFactory(); + } + } } - return instance; + + return instance; } - + public void init() { if (quantity == 0) { quantity = DEFAULT_QUANTITY; } - for (int i = 0; i < quantity; i++ ) { + for (int i = 0; i < quantity; i++) { containerInstances.add(new ContainerIntanceImpl()); } } - + public void setQuantity(int parm) { this.quantity = parm; } - + public int getQuantity() { return containerInstances.size(); } - + public List getContainerInstances() { - return containerInstances; + return containerInstances; } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ri...@us...> - 2007-03-01 07:57:02
|
Revision: 89 http://techne-dev.svn.sourceforge.net/techne-dev/?rev=89&view=rev Author: rickles Date: 2007-02-28 23:57:02 -0800 (Wed, 28 Feb 2007) Log Message: ----------- Implement techne.xml config file. Modified Paths: -------------- sandbox/rickles/org.digivitality.techne.core/src/org/digivitality/techne/core/ContainerFactory.java Modified: sandbox/rickles/org.digivitality.techne.core/src/org/digivitality/techne/core/ContainerFactory.java =================================================================== --- sandbox/rickles/org.digivitality.techne.core/src/org/digivitality/techne/core/ContainerFactory.java 2007-03-01 07:46:51 UTC (rev 88) +++ sandbox/rickles/org.digivitality.techne.core/src/org/digivitality/techne/core/ContainerFactory.java 2007-03-01 07:57:02 UTC (rev 89) @@ -2,13 +2,21 @@ import java.util.ArrayList; import java.util.List; +import org.xml.sax.*; +import org.xml.sax.helpers.*; +import javax.xml.parsers.*; +import org.digivitality.techne.core.util.ConfigHandler; +import org.digivitality.techne.core.util.container; +import org.digivitality.techne.core.util.containertype; + public class ContainerFactory { // this will be replaced by techne.properties private static int DEFAULT_QUANTITY = 3; private int quantity; private List containerInstances = new ArrayList(); + private List containerTypes = new ArrayList(); private static ContainerFactory instance; private ContainerFactory() { @@ -39,8 +47,31 @@ for (int i = 0; i < quantity; i++) { containerInstances.add(new ContainerIntanceImpl()); } + + // parse the config file + getContainerPolicies(); } + public void getContainerPolicies() { + ConfigHandler ch = null; + try { + SAXParserFactory factory = SAXParserFactory.newInstance( ); + SAXParser saxParser = factory.newSAXParser( ); + XMLReader parser = saxParser.getXMLReader( ); + ch = new ConfigHandler(); + parser.setContentHandler(ch); + parser.parse( "../conf/techne.xml" ); + + } catch (Exception e) { + e.printStackTrace(); + } + + container c = (container)ch.getModel(); + //containertype ct = (containertype)c.getContainerTypes().get(0); + containerTypes = c.getContainerTypes(); + System.out.println("Available container types: " + containerTypes.size()); + } + public void setQuantity(int parm) { this.quantity = parm; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ri...@us...> - 2007-03-03 16:58:11
|
Revision: 102 http://techne-dev.svn.sourceforge.net/techne-dev/?rev=102&view=rev Author: rickles Date: 2007-03-03 08:58:08 -0800 (Sat, 03 Mar 2007) Log Message: ----------- Put back the getContainerTypes() method. Don't know how it was lost. Modified Paths: -------------- sandbox/rickles/org.digivitality.techne.core/src/org/digivitality/techne/core/ContainerFactory.java Modified: sandbox/rickles/org.digivitality.techne.core/src/org/digivitality/techne/core/ContainerFactory.java =================================================================== --- sandbox/rickles/org.digivitality.techne.core/src/org/digivitality/techne/core/ContainerFactory.java 2007-03-03 10:59:54 UTC (rev 101) +++ sandbox/rickles/org.digivitality.techne.core/src/org/digivitality/techne/core/ContainerFactory.java 2007-03-03 16:58:08 UTC (rev 102) @@ -83,4 +83,8 @@ public List getContainerInstances() { return containerInstances; } + + public List getContainerTypes() { + return containerTypes; + } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |