[jboss-svn-commits] JBL Code SVN: r29727 - in labs/jbosstm/trunk: ArjunaCore/arjuna and 15 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Wed Oct 21 11:37:04 EDT 2009
Author: jhalliday
Date: 2009-10-21 11:37:03 -0400 (Wed, 21 Oct 2009)
New Revision: 29727
Removed:
labs/jbosstm/trunk/ArjunaCore/tsmx/classes/com/arjuna/ats/tsmx/common/Configuration.java
labs/jbosstm/trunk/ArjunaCore/tsmx/classes/com/arjuna/ats/tsmx/common/Environment.java
labs/jbosstm/trunk/ArjunaCore/txoj/tests/classes/com/hp/mwtests/ts/txoj/basic/BeanPopulatorTest.java
Modified:
labs/jbosstm/trunk/ArjunaCore/arjuna/build.xml
labs/jbosstm/trunk/ArjunaCore/tsmx/build.xml
labs/jbosstm/trunk/ArjunaCore/tsmx/classes/com/arjuna/ats/tsmx/TransactionServiceMX.java
labs/jbosstm/trunk/ArjunaCore/txoj/build.xml
labs/jbosstm/trunk/ArjunaCore/txoj/classes/com/arjuna/ats/txoj/common/TxojEnvironmentBean.java
labs/jbosstm/trunk/ArjunaCore/txoj/classes/com/arjuna/ats/txoj/common/TxojEnvironmentBeanMBean.java
labs/jbosstm/trunk/ArjunaJTA/jdbc/build.xml
labs/jbosstm/trunk/ArjunaJTA/jta/build.xml
labs/jbosstm/trunk/ArjunaJTS/jtax/build.xml
labs/jbosstm/trunk/ArjunaJTS/jts/build.xml
labs/jbosstm/trunk/ArjunaJTS/orbportability/build.xml
labs/jbosstm/trunk/ArjunaJTS/orbportability/classes/com/arjuna/orbportability/common/Configuration.java
labs/jbosstm/trunk/ArjunaJTS/orbportability/classes/com/arjuna/orbportability/common/OrbPortabilityEnvironmentBean.java
labs/jbosstm/trunk/common/classes/com/arjuna/common/internal/util/propertyservice/BeanPopulator.java
labs/jbosstm/trunk/common/classes/com/arjuna/common/util/ConfigurationInfo.java
labs/jbosstm/trunk/common/classes/com/arjuna/common/util/propertyservice/PropertyManagerFactory.java
labs/jbosstm/trunk/sharedbuild.xml
Log:
Further beanification of the configuration properties. JBTM-628
Modified: labs/jbosstm/trunk/ArjunaCore/arjuna/build.xml
===================================================================
--- labs/jbosstm/trunk/ArjunaCore/arjuna/build.xml 2009-10-21 13:19:15 UTC (rev 29726)
+++ labs/jbosstm/trunk/ArjunaCore/arjuna/build.xml 2009-10-21 15:37:03 UTC (rev 29727)
@@ -31,13 +31,6 @@
</target>
- <target name="propertyfile" depends="sharedbuild.propertyfile">
- <propertyfile file="${build.dir}/classes/${property.file}">
- <entry key="RECOVERY_PROPERTIES_FILE" value="jbossts-properties.xml"/>
- <entry key="ARJUNA_VERSION" value="unknown"/>
- </propertyfile>
- </target>
-
<!-- one of the recovery tests implements a byteman helper class which extends the default
helper so we need to add the byteman library to the classpath when compiling the tests -->
<target name="compile-tests">
@@ -71,6 +64,10 @@
<exclude name="**/reaper/ReaperTestCase.java"/>
<exclude name="**/objectstore/LogStoreRecoveryTest.java"/>
<exclude name="**/objectstore/LogStoreTest2.java"/>
+
+ <!-- TODO cached store is broken, fails from tiem to time. needs fixing -->
+ <exclude name="**/objectstore/CachedTest.java"/>
+
<exclude name="**/recovery/RecoveryManagerStartStopTest.java"/>
<!-- auxilairy code used by reaper test classes -->
<exclude name="**/reaper/ReaperTestCaseControl.java"/>
Modified: labs/jbosstm/trunk/ArjunaCore/tsmx/build.xml
===================================================================
--- labs/jbosstm/trunk/ArjunaCore/tsmx/build.xml 2009-10-21 13:19:15 UTC (rev 29726)
+++ labs/jbosstm/trunk/ArjunaCore/tsmx/build.xml 2009-10-21 15:37:03 UTC (rev 29727)
@@ -31,12 +31,6 @@
</target>
- <target name="propertyfile" depends="sharedbuild.propertyfile">
- <propertyfile file="${build.dir}/classes/${property.file}">
- <entry key="TSMX_VERSION" value="unknown"/>
- </propertyfile>
- </target>
-
<target name="generateresourcebundle">
<generateresourcebundle.macro>
<args>
Modified: labs/jbosstm/trunk/ArjunaCore/tsmx/classes/com/arjuna/ats/tsmx/TransactionServiceMX.java
===================================================================
--- labs/jbosstm/trunk/ArjunaCore/tsmx/classes/com/arjuna/ats/tsmx/TransactionServiceMX.java 2009-10-21 13:19:15 UTC (rev 29726)
+++ labs/jbosstm/trunk/ArjunaCore/tsmx/classes/com/arjuna/ats/tsmx/TransactionServiceMX.java 2009-10-21 15:37:03 UTC (rev 29727)
@@ -32,10 +32,10 @@
import com.arjuna.ats.tsmx.agent.AgentInterface;
import com.arjuna.ats.tsmx.agent.exceptions.AgentNotFoundException;
-import com.arjuna.ats.tsmx.common.*;
import com.arjuna.ats.tsmx.logging.*;
import com.arjuna.common.util.logging.*;
+import com.arjuna.common.util.ConfigurationInfo;
import javax.management.MBeanServer;
import javax.management.ObjectName;
@@ -108,7 +108,7 @@
_tsmxProps = System.getProperties();
/** Find and load the tsmx properties file **/
- InputStream inStr = Thread.currentThread().getContextClassLoader().getResourceAsStream( Configuration.propertiesFile() );
+ InputStream inStr = Thread.currentThread().getContextClassLoader().getResourceAsStream( ConfigurationInfo.getPropertiesFile() );
if ( inStr != null )
{
_tsmxProps.load(inStr);
Deleted: labs/jbosstm/trunk/ArjunaCore/tsmx/classes/com/arjuna/ats/tsmx/common/Configuration.java
===================================================================
--- labs/jbosstm/trunk/ArjunaCore/tsmx/classes/com/arjuna/ats/tsmx/common/Configuration.java 2009-10-21 13:19:15 UTC (rev 29726)
+++ labs/jbosstm/trunk/ArjunaCore/tsmx/classes/com/arjuna/ats/tsmx/common/Configuration.java 2009-10-21 15:37:03 UTC (rev 29727)
@@ -1,101 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags.
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA 02110-1301, USA.
- *
- * (C) 2005-2006,
- * @author JBoss Inc.
- */
-package com.arjuna.ats.tsmx.common;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Properties;
-
-import com.arjuna.ats.tsmx.*;
-
-public class Configuration
-{
-
- /**
- * @return the name of the module properties file to use.
- */
-
- public static synchronized final String propertiesFile()
- {
- return _propFile;
- }
-
- /**
- * Set the name of the properties file.
- */
-
- public static synchronized final void setPropertiesFile(String file)
- {
- _propFile = file;
- }
-
- /**
- * @return the version of tsmx.
- */
-
- public static final String version()
- {
- return getBuildTimeProperty("TSMX_VERSION") ;
- }
-
- /**
- * Get a build time property.
- * @param name The name of the build time property.
- * @return The build time property value.
- */
- public static String getBuildTimeProperty(final String name)
- {
- if (PROPS == null)
- {
- return "" ;
- }
- else
- {
- return PROPS.getProperty(name, "") ;
- }
- }
-
- private static final Properties PROPS ;
-
- static
- {
- final InputStream is = Configuration.class.getResourceAsStream("/tsmx.properties") ;
- if (is != null)
- {
- Properties props = new Properties() ;
- try
- {
- props.load(is) ;
- }
- catch (final IOException ioe)
- {
- props = null ;
- }
- PROPS = props ;
- }
- else
- {
- PROPS = null ;
- }
- }
-
- private static String _propFile = getBuildTimeProperty("PROPERTIES_FILE") ;
-}
Deleted: labs/jbosstm/trunk/ArjunaCore/tsmx/classes/com/arjuna/ats/tsmx/common/Environment.java
===================================================================
--- labs/jbosstm/trunk/ArjunaCore/tsmx/classes/com/arjuna/ats/tsmx/common/Environment.java 2009-10-21 13:19:15 UTC (rev 29726)
+++ labs/jbosstm/trunk/ArjunaCore/tsmx/classes/com/arjuna/ats/tsmx/common/Environment.java 2009-10-21 15:37:03 UTC (rev 29727)
@@ -1,40 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags.
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA 02110-1301, USA.
- *
- * (C) 2005-2006,
- * @author JBoss Inc.
- */
-/*
- * Copyright (C) 1998, 1999, 2000, 2001, 2002
- *
- * Arjuna Technologies Ltd.
- * Newcastle upon Tyne,
- * Tyne and Wear,
- * UK.
- *
- * $Id: Environment.java 2342 2006-03-30 13:06:17Z $
- */
-package com.arjuna.ats.tsmx.common;
-
-/**
- * @deprecated
- */
- at Deprecated
-public class Environment
-{
- public static final String PROPERTIES_FILE = "com.arjuna.ats.tsmx.common.propertiesFile";
-}
Modified: labs/jbosstm/trunk/ArjunaCore/txoj/build.xml
===================================================================
--- labs/jbosstm/trunk/ArjunaCore/txoj/build.xml 2009-10-21 13:19:15 UTC (rev 29726)
+++ labs/jbosstm/trunk/ArjunaCore/txoj/build.xml 2009-10-21 15:37:03 UTC (rev 29727)
@@ -32,12 +32,6 @@
</target>
- <target name="propertyfile" depends="sharedbuild.propertyfile">
- <propertyfile file="${build.dir}/classes/${property.file}">
- <entry key="TXOJ_VERSION" value="unknown"/>
- </propertyfile>
- </target>
-
<target name="run.tests">
<run.tests.macro>
Modified: labs/jbosstm/trunk/ArjunaCore/txoj/classes/com/arjuna/ats/txoj/common/TxojEnvironmentBean.java
===================================================================
--- labs/jbosstm/trunk/ArjunaCore/txoj/classes/com/arjuna/ats/txoj/common/TxojEnvironmentBean.java 2009-10-21 13:19:15 UTC (rev 29726)
+++ labs/jbosstm/trunk/ArjunaCore/txoj/classes/com/arjuna/ats/txoj/common/TxojEnvironmentBean.java 2009-10-21 15:37:03 UTC (rev 29727)
@@ -21,7 +21,6 @@
package com.arjuna.ats.txoj.common;
import com.arjuna.common.internal.util.propertyservice.PropertyPrefix;
-import com.arjuna.common.internal.util.propertyservice.FullPropertyName;
import com.arjuna.ats.txoj.TxOJNames;
import java.io.File;
@@ -34,39 +33,12 @@
@PropertyPrefix(prefix = "com.arjuna.ats.txoj.lockstore.")
public class TxojEnvironmentBean implements TxojEnvironmentBeanMBean
{
- @FullPropertyName(name = "com.arjuna.ats.txoj.common.propertiesFile")
- private volatile String propertiesFile = "";
-
private volatile String lockStoreDir = System.getProperty("user.dir") + File.separator + "LockStore";
- private volatile String lockStoreType = null;
private volatile String multipleLockStore = null;
private volatile String singleLockStore = TxOJNames.Implementation_LockStore_defaultStore().stringForm();
private volatile boolean allowNestedLocking = true;
/**
- * Returns the name of the properties file.
- *
- * Default: ""
- * Equivalent deprecated property: com.arjuna.ats.txoj.common.propertiesFile
- *
- * @return the name of the properties file
- */
- public String getPropertiesFile()
- {
- return propertiesFile;
- }
-
- /**
- * Sets the name of the properties file.
- *
- * @param propertiesFile the name of the properties file.
- */
- public void setPropertiesFile(String propertiesFile)
- {
- this.propertiesFile = propertiesFile;
- }
-
- /**
* Returns the directory path used for storing persistent locks.
*
* Default: {user.dir}/LockStore
@@ -90,30 +62,6 @@
}
/**
- * Returns the name of the lock store implementation.
- *
- * Default: null
- * Equivalent deprecated property: com.arjuna.ats.txoj.lockstore.lockStoreType
- *
- * @deprecated I'm unused, remove me
- * @return the name of the lock store implementation.
- */
- public String getLockStoreType()
- {
- return lockStoreType;
- }
-
- /**
- * Sets the name of the lock store implementation.
- *
- * @param lockStoreType the name of the lock store implementation.
- */
- public void setLockStoreType(String lockStoreType)
- {
- this.lockStoreType = lockStoreType;
- }
-
- /**
* Returns the name of the multiple lock store implementation.
*
* Default: null
Modified: labs/jbosstm/trunk/ArjunaCore/txoj/classes/com/arjuna/ats/txoj/common/TxojEnvironmentBeanMBean.java
===================================================================
--- labs/jbosstm/trunk/ArjunaCore/txoj/classes/com/arjuna/ats/txoj/common/TxojEnvironmentBeanMBean.java 2009-10-21 13:19:15 UTC (rev 29726)
+++ labs/jbosstm/trunk/ArjunaCore/txoj/classes/com/arjuna/ats/txoj/common/TxojEnvironmentBeanMBean.java 2009-10-21 15:37:03 UTC (rev 29727)
@@ -27,18 +27,10 @@
*/
public interface TxojEnvironmentBeanMBean
{
- String getPropertiesFile();
-
- void setPropertiesFile(String propertiesFile);
-
String getLockStoreDir();
void setLockStoreDir(String lockStoreDir);
- String getLockStoreType();
-
- void setLockStoreType(String lockStoreType);
-
String getMultipleLockStore();
void setMultipleLockStore(String multipleLockStore);
Deleted: labs/jbosstm/trunk/ArjunaCore/txoj/tests/classes/com/hp/mwtests/ts/txoj/basic/BeanPopulatorTest.java
===================================================================
--- labs/jbosstm/trunk/ArjunaCore/txoj/tests/classes/com/hp/mwtests/ts/txoj/basic/BeanPopulatorTest.java 2009-10-21 13:19:15 UTC (rev 29726)
+++ labs/jbosstm/trunk/ArjunaCore/txoj/tests/classes/com/hp/mwtests/ts/txoj/basic/BeanPopulatorTest.java 2009-10-21 15:37:03 UTC (rev 29727)
@@ -1,57 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2009, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags.
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA 02110-1301, USA.
- *
- * (C) 2009,
- * @author JBoss, a division of Red Hat.
- */
-package com.hp.mwtests.ts.txoj.basic;
-
-import org.junit.Test;
-import static org.junit.Assert.*;
-
-import com.arjuna.common.tests.simple.DummyProperties;
-import com.arjuna.common.internal.util.propertyservice.BeanPopulator;
-import com.arjuna.ats.txoj.common.TxojEnvironmentBean;
-import com.arjuna.ats.txoj.common.Environment;
-
-import java.util.Set;
-import java.util.HashSet;
-
-/**
- * Check behaviour of the BeanPopulator util which copies old PropertyManager values into new EnvironmentBeans.
- *
- * @author Jonathan Halliday (jonathan.halliday at redhat.com)
- */
-public class BeanPopulatorTest
-{
- @Test
- public void testTxojPropertiesPopulation() throws Exception {
-
- // check that all the Environment properties are looked for
- // by the set of beans which wrap them and conversely that no undefined
- // properties are looked for. i.e. that the Environment and Beans are in sync
-
- DummyProperties testProperties = new DummyProperties();
-
- BeanPopulator.configureFromProperties(new TxojEnvironmentBean(), testProperties);
-
- Set<String> expectedKeys = new HashSet<String>();
- expectedKeys.addAll( DummyProperties.extractKeys(Environment.class));
-
- assertTrue( testProperties.usedKeys.containsAll(expectedKeys) );
- }
-}
Modified: labs/jbosstm/trunk/ArjunaJTA/jdbc/build.xml
===================================================================
--- labs/jbosstm/trunk/ArjunaJTA/jdbc/build.xml 2009-10-21 13:19:15 UTC (rev 29726)
+++ labs/jbosstm/trunk/ArjunaJTA/jdbc/build.xml 2009-10-21 15:37:03 UTC (rev 29727)
@@ -38,14 +38,6 @@
</target>
- <target name="propertyfile" depends="sharedbuild.propertyfile">
- <propertyfile file="${build.dir}/classes/${property.file}">
- <!-- TODO supported versions -->
- <entry key="SUPPORTED_VERSIONS" value="unknown"/>
- <entry key="JDBC_VERSION" value="unknown"/>
- </propertyfile>
- </target>
-
<target name="generateresourcebundle">
<generateresourcebundle.macro>
<args>
Modified: labs/jbosstm/trunk/ArjunaJTA/jta/build.xml
===================================================================
--- labs/jbosstm/trunk/ArjunaJTA/jta/build.xml 2009-10-21 13:19:15 UTC (rev 29726)
+++ labs/jbosstm/trunk/ArjunaJTA/jta/build.xml 2009-10-21 15:37:03 UTC (rev 29727)
@@ -34,12 +34,6 @@
</target>
- <target name="propertyfile" depends="sharedbuild.propertyfile">
- <propertyfile file="${build.dir}/classes/${property.file}">
- <entry key="JTA_VERSION" value="unknown"/>
- </propertyfile>
- </target>
-
<target name="generateresourcebundle">
<generateresourcebundle.macro>
<args>
Modified: labs/jbosstm/trunk/ArjunaJTS/jtax/build.xml
===================================================================
--- labs/jbosstm/trunk/ArjunaJTS/jtax/build.xml 2009-10-21 13:19:15 UTC (rev 29726)
+++ labs/jbosstm/trunk/ArjunaJTS/jtax/build.xml 2009-10-21 15:37:03 UTC (rev 29727)
@@ -58,12 +58,6 @@
</generateresourcebundle.macro>
</target>
- <target name="propertyfile" depends="sharedbuild.propertyfile">
- <propertyfile file="${build.dir}/classes/${property.file}">
- <entry key="JTAX_VERSION" value="unknown"/>
- </propertyfile>
- </target>
-
<target name="run.tests">
<run.tests.macro>
<additional.classpath>
Modified: labs/jbosstm/trunk/ArjunaJTS/jts/build.xml
===================================================================
--- labs/jbosstm/trunk/ArjunaJTS/jts/build.xml 2009-10-21 13:19:15 UTC (rev 29726)
+++ labs/jbosstm/trunk/ArjunaJTS/jts/build.xml 2009-10-21 15:37:03 UTC (rev 29727)
@@ -89,13 +89,7 @@
</generateresourcebundle.macro>
</target>
- <target name="propertyfile" depends="sharedbuild.propertyfile">
- <propertyfile file="${build.dir}/classes/${property.file}">
- <entry key="JTS_VERSION" value="unknown"/>
- </propertyfile>
- </target>
-
<target name="run.tests">
<run.tests.macro>
<additional.classpath>
Modified: labs/jbosstm/trunk/ArjunaJTS/orbportability/build.xml
===================================================================
--- labs/jbosstm/trunk/ArjunaJTS/orbportability/build.xml 2009-10-21 13:19:15 UTC (rev 29726)
+++ labs/jbosstm/trunk/ArjunaJTS/orbportability/build.xml 2009-10-21 15:37:03 UTC (rev 29727)
@@ -74,13 +74,6 @@
</generateresourcebundle.macro>
</target>
- <target name="propertyfile" depends="sharedbuild.propertyfile">
- <propertyfile file="${build.dir}/classes/${property.file}">
- <entry key="ORBPORTABILITY_VERSION" value="unknown"/>
- <entry key="ORB_CONFIGURATION" value="unknown"/>
- </propertyfile>
- </target>
-
<target name="run.tests">
<run.tests.macro>
<additional.classpath>
Modified: labs/jbosstm/trunk/ArjunaJTS/orbportability/classes/com/arjuna/orbportability/common/Configuration.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTS/orbportability/classes/com/arjuna/orbportability/common/Configuration.java 2009-10-21 13:19:15 UTC (rev 29726)
+++ labs/jbosstm/trunk/ArjunaJTS/orbportability/classes/com/arjuna/orbportability/common/Configuration.java 2009-10-21 15:37:03 UTC (rev 29727)
@@ -34,6 +34,7 @@
import com.arjuna.orbportability.Services;
import com.arjuna.common.util.FileLocator;
+import com.arjuna.common.util.ConfigurationInfo;
import com.arjuna.orbportability.logging.*;
@@ -55,39 +56,13 @@
public class Configuration
{
- /**
- * @return the name of the default orb configuration file.
- */
-public static synchronized final String defaultORBConfiguration()
- {
- return _orbConfiguration;
- }
-
- /**
- * @return the name of the module properties file to use.
- */
-
-public static synchronized final String propertiesFile ()
- {
- return _propFile;
- }
-
- /**
- * Set the name of the properties file.
- */
-
-public static synchronized final void setPropertiesFile (String file)
- {
- _propFile = file;
- }
-
/**
* Strip the directory from the given filename.
*
* @param filename The filename to strip the directory for.
* @return The directory the file exists in.
*/
-private static final String stripDirectoryFromFilename( String filename )
+ private static final String stripDirectoryFromFilename( String filename )
{
String dir = ".";
/** Search the string for the last file separator char and the last slash **/
@@ -116,14 +91,13 @@
* @return the location of the module properties file to use.
* @message com.arjuna.orbportability.common.Configuration.cannotfindproperties {0} - Cannot find properties file {1}
*/
-
-public static synchronized final String propertiesDir ()
+ private static synchronized final String propertiesDir ()
{
String propDir = ".";
try
{
- propDir = FileLocator.locateFile( propertiesFile() );
+ propDir = FileLocator.locateFile( ConfigurationInfo.getPropertiesFile() );
if ( propDir != null )
{
@@ -134,36 +108,18 @@
{
if (opLogger.loggerI18N.isWarnEnabled())
{
- opLogger.loggerI18N.warn("com.arjuna.orbportability.common.Configuration.cannotfindproperties", new Object[] { "Configuration.propertiesDir()", propertiesFile() } );
+ opLogger.loggerI18N.warn("com.arjuna.orbportability.common.Configuration.cannotfindproperties", new Object[] { "Configuration.propertiesDir()", ConfigurationInfo.getPropertiesFile() } );
}
}
return propDir;
}
- /**
- * @return the name of the file where <name, object IOR> may be stored.
- */
-public static synchronized final String configFile ()
- {
- return _configFile;
- }
-
/**
- * Set the name of the file where <name, object IOR> may be stored.
- */
-
-public static synchronized void setConfigFile (String s)
- {
- _configFile = s;
- }
-
- /**
* @return the location of the file where <name, object IOR> may be stored.
*/
-
-public static synchronized final String configFileRoot ()
+ public static synchronized final String configFileRoot ()
{
if (_configFileRoot == null)
{
@@ -195,119 +151,25 @@
}
/**
- * Set the location of the file where <name, object IOR> may be stored.
- */
-
-public static synchronized void setConfigFileRoot (String s)
- {
- _configFileRoot = s;
- }
-
- /**
* @return the default bind mechanism.
* @message com.arjuna.orbportability.common.Configuration.bindDefault.invalidbind {0} - invalid bind mechanism in properties file
*/
-
-public static synchronized final int bindDefault ()
+ public static synchronized final int bindDefault ()
{
- int bindMethod = _bindDefault;
-
- if (!_bindDefaultSet)
- {
- String configuredMechanism = opPropertyManager.getOrbPortabilityEnvironmentBean().getBindMechanism();
-
- if (configuredMechanism != null)
- {
- bindMethod = Services.bindValue(configuredMechanism);
- }
-
- if (bindMethod == -1)
+ if (_bindMethod == -1)
{
if (opLogger.loggerI18N.isWarnEnabled())
{
opLogger.loggerI18N.warn("com.arjuna.orbportability.common.Configuration.bindDefault.invalidbind", new Object[] { "com.arjuna.orbportability.common.Configuration.bindDefault()" } );
}
}
- }
- return bindMethod;
+ return _bindMethod;
}
-
- /**
- * Set the default bind mechanism.
- * @message com.arjuna.orbportability.common.Configuration.setBindDefault.invaliddefaultvalue {0} - invalid value {1}
- */
-public static synchronized final void setBindDefault (int i)
- {
- if ((i < Services.CONFIGURATION_FILE) || (i > Services.NAMED_CONNECT))
- {
- if (opLogger.loggerI18N.isWarnEnabled())
- {
- opLogger.loggerI18N.warn( "com.arjuna.orbportability.common.Configuration.setBindDefault.invaliddefaultvalue", new Object[] {"com.arjuna.orbportability.common.Configuration.setBindDefault", ""+i} );
- }
- }
- else
- {
- _bindDefaultSet = true;
- _bindDefault = i;
- }
- }
-
- /**
- * @return the version of the module.
- */
-
-public static final String version ()
- {
- return getBuildTimeProperty("ORBPORTABILITY_VERSION") ;
- }
- /**
- * Get a build time property.
- * @param name The name of the build time property.
- * @return The build time property value.
- */
- public static String getBuildTimeProperty(final String name)
- {
- if (PROPS == null)
- {
- return "" ;
- }
- else
- {
- return PROPS.getProperty(name, "") ;
- }
- }
- private static final Properties PROPS ;
-
- static
- {
- final InputStream is = Configuration.class.getResourceAsStream("/arjuna.properties") ;
- if (is != null)
- {
- Properties props = new Properties() ;
- try
- {
- props.load(is) ;
- }
- catch (final IOException ioe)
- {
- props = null ;
- }
- PROPS = props ;
- }
- else
- {
- PROPS = null ;
- }
- }
-
private static String _configFile = "CosServices.cfg";
private static String _configFileRoot = null;
-private static int _bindDefault = Services.CONFIGURATION_FILE;
-private static boolean _bindDefaultSet = false;
-private static String _propFile = getBuildTimeProperty("PROPERTIES_FILE") ;
-private static String _orbConfiguration = getBuildTimeProperty("ORB_CONFIGURATION") ;
+ private static final int _bindMethod = Services.bindValue(opPropertyManager.getOrbPortabilityEnvironmentBean().getBindMechanism());
}
Modified: labs/jbosstm/trunk/ArjunaJTS/orbportability/classes/com/arjuna/orbportability/common/OrbPortabilityEnvironmentBean.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTS/orbportability/classes/com/arjuna/orbportability/common/OrbPortabilityEnvironmentBean.java 2009-10-21 13:19:15 UTC (rev 29726)
+++ labs/jbosstm/trunk/ArjunaJTS/orbportability/classes/com/arjuna/orbportability/common/OrbPortabilityEnvironmentBean.java 2009-10-21 15:37:03 UTC (rev 29727)
@@ -38,7 +38,7 @@
{
private volatile String corbaDiagnostics = null; // key only
private volatile String initialReferencesRoot = com.arjuna.orbportability.common.Configuration.configFileRoot();
- private volatile String initialReferencesFile = com.arjuna.orbportability.common.Configuration.configFile();
+ private volatile String initialReferencesFile = "CosServices.cfg";
private volatile String fileDir = null;
private volatile String resolveService = "CONFIGURATION_FILE";
Modified: labs/jbosstm/trunk/common/classes/com/arjuna/common/internal/util/propertyservice/BeanPopulator.java
===================================================================
--- labs/jbosstm/trunk/common/classes/com/arjuna/common/internal/util/propertyservice/BeanPopulator.java 2009-10-21 13:19:15 UTC (rev 29726)
+++ labs/jbosstm/trunk/common/classes/com/arjuna/common/internal/util/propertyservice/BeanPopulator.java 2009-10-21 15:37:03 UTC (rev 29727)
@@ -47,7 +47,7 @@
T bean = null;
try {
bean = beanClass.newInstance();
- // TODO: pick and document new standard for global config file name property. For now use arjunacore value.
+ // TODO: pick and document new standard for global config file name property. For now use 'common' module value.
PropertyManager propertyManager = PropertyManagerFactory.getPropertyManagerForModule("common", "com.arjuna.ats.arjuna.common.propertiesFile");
configureFromProperties(bean, propertyManager.getProperties());
} catch (Exception e) {
Modified: labs/jbosstm/trunk/common/classes/com/arjuna/common/util/ConfigurationInfo.java
===================================================================
--- labs/jbosstm/trunk/common/classes/com/arjuna/common/util/ConfigurationInfo.java 2009-10-21 13:19:15 UTC (rev 29726)
+++ labs/jbosstm/trunk/common/classes/com/arjuna/common/util/ConfigurationInfo.java 2009-10-21 15:37:03 UTC (rev 29727)
@@ -22,6 +22,13 @@
import com.arjuna.common.internal.util.propertyservice.BeanPopulator;
+import java.util.Properties;
+import java.util.jar.Manifest;
+import java.util.jar.Attributes;
+import java.io.InputStream;
+import java.io.IOException;
+import java.net.URL;
+
/**
* Utility class providing access to build time and runtime configuration reporting functions.
*
@@ -31,21 +38,84 @@
*/
public class ConfigurationInfo
{
+ /**
+ * @see .getSourceId
+ * @return the version, if known.
+ */
public static String getVersion() {
- return "unknown";
+ return getSourceId();
}
+ /**
+ * @return the version control tag of the source used, or "unknown".
+ */
public static String getSourceId() {
- return "unknown"; // .getBuildTimeProperty("SOURCEID");
+ return sourceId;
}
+ /**
+ * @return the name (not path) of the properties file
+ */
+ public static String getPropertiesFile() {
+ return propertiesFile;
+ }
+
+ /**
+ * Print config info to stdout.
+ * @param args unused
+ */
public static void main (String[] args)
{
// build time info:
- System.out.println("Version: "+getVersion());
- System.out.println("SourceId: "+getSourceId());
+ System.out.println("sourceId: "+getSourceId());
+ System.out.println("propertiesFile: "+getPropertiesFile());
+
// run time info (probably empty as beans only load on demand):
String beans = BeanPopulator.printState();
System.out.print(beans);
}
+
+ // initialize build time properties from data in the jar's META-INF/MANIFEST.MF
+ private static void getBuildTimeProperties() {
+
+ // our classloader's classpath may contain more than one .jar, each with a manifest.
+ // we need to ensure we get our own .jar's manifest, even if the jar is not first on the path.
+ String classFileName = ConfigurationInfo.class.getSimpleName()+".class";
+ String pathToThisClass = ConfigurationInfo.class.getResource(classFileName).toString();
+ int mark = pathToThisClass.indexOf("!") ;
+ String pathToManifest = (pathToThisClass.substring(0,mark+1))+"/META-INF/MANIFEST.MF";
+
+ InputStream is = null;
+ try {
+ is = new URL(pathToManifest).openStream();
+ Manifest manifest = new Manifest(is);
+ Attributes attributes = manifest.getMainAttributes();
+
+ Attributes.Name name = new Attributes.Name("arjuna-properties-file");
+ if(attributes.containsKey(name)) {
+ propertiesFile = attributes.getValue(name);
+ }
+
+ name = new Attributes.Name("arjuna-scm-revision");
+ if(attributes.containsKey(name)) {
+ sourceId = attributes.getValue(name);
+ }
+
+ } catch(Exception exception) {
+ exception.printStackTrace();
+ } finally {
+ if(is!= null) {
+ try {
+ is.close();
+ } catch(IOException e) {}
+ }
+ }
+ }
+
+ private static volatile String sourceId = "unknown";
+ private static volatile String propertiesFile = "arjuna-properties.xml";
+
+ static {
+ getBuildTimeProperties();
+ }
}
Modified: labs/jbosstm/trunk/common/classes/com/arjuna/common/util/propertyservice/PropertyManagerFactory.java
===================================================================
--- labs/jbosstm/trunk/common/classes/com/arjuna/common/util/propertyservice/PropertyManagerFactory.java 2009-10-21 13:19:15 UTC (rev 29726)
+++ labs/jbosstm/trunk/common/classes/com/arjuna/common/util/propertyservice/PropertyManagerFactory.java 2009-10-21 15:37:03 UTC (rev 29727)
@@ -23,6 +23,7 @@
import com.arjuna.common.internal.util.propertyservice.PropertyManagerImpl;
import com.arjuna.common.internal.util.propertyservice.plugins.io.XMLFilePlugin;
import com.arjuna.common.util.FileLocator;
+import com.arjuna.common.util.ConfigurationInfo;
import java.util.Properties;
import java.util.concurrent.ConcurrentHashMap;
@@ -145,13 +146,13 @@
// the location of the module's properties file. This allows file location to be overriden easily.
String propertyFileName = System.getProperty(fileNamePropertyKey);
- // If the system property is not set, try to load the build time properties for the module. Build time properties
+ // If the system property is not set, try to load the build time properties. Build time properties
// are not the module properties! These are optional and so loading may fail. That's not considered an error.
- // If the build time property key PROPERTIES_FILE exists, take its value as the module's property file location.
- // (In JBossTS it does exist for most modules - the build scripts put build time properties files for the modules
- // into the product .jar)
- if (propertyFileName == null)
- propertyFileName = getFileNameFromBuildTimeProperties(moduleName);
+ // If the properties file name is defined by the build time properties, use that.
+ // (In JBossTS it mostly does exist - the build scripts put build time properties into the .jars manifest file.)
+ if (propertyFileName == null) {
+ propertyFileName = ConfigurationInfo.getPropertiesFile();
+ }
// Bail out if it has not been possible to get a file name by either of these method.
if(propertyFileName == null) {
@@ -164,20 +165,4 @@
return propertyManager;
}
-
- private static String getFileNameFromBuildTimeProperties(String moduleName) {
- Properties buildTimeProperties = new Properties();
- final InputStream is = PropertyManagerFactory.class.getResourceAsStream("/"+moduleName+".properties") ;
- if (is != null)
- {
- try {
- buildTimeProperties.load(is);
- } catch(IOException e) {
- try {
- is.close();
- } catch(IOException e2) {}
- }
- }
- return buildTimeProperties.getProperty("PROPERTIES_FILE");
- }
}
Modified: labs/jbosstm/trunk/sharedbuild.xml
===================================================================
--- labs/jbosstm/trunk/sharedbuild.xml 2009-10-21 13:19:15 UTC (rev 29726)
+++ labs/jbosstm/trunk/sharedbuild.xml 2009-10-21 15:37:03 UTC (rev 29727)
@@ -111,8 +111,17 @@
failonerror="false"/>
<delete file="${build.dir}/lib/${modulename}.jar"/>
+ <tstamp>
+ <format property="buildproperty.date" pattern="yyyy/MMM/dd HH:mm"/>
+ </tstamp>
<jar jarfile="${build.dir}/lib/${modulename}.jar"
- basedir="${build.dir}/classes"/>
+ basedir="${build.dir}/classes">
+ <manifest>
+ <!-- build time metadata consumed by ConfigurationInfo.java:
+ Note this is the minimum needed to bootstrap the unit tests. The product jars have a longer list. -->
+ <attribute name="arjuna-properties-file" value="jbossts-properties.xml"/>
+ </manifest>
+ </jar>
</sequential>
</macrodef>
@@ -198,34 +207,6 @@
<generateresourcebundle.macro/>
</target>
- <target name="propertyfile" depends="init">
-
- <!-- Process the properties -->
- <property name="property.file" value="${modulename}.properties"/>
- <property name="buildproperty.modulename" value="${modulename}"/>
- <property name="buildproperty.sourceid" value="unknown"/>
- <property name="buildproperty.builder" value="JBoss Inc. [${user.name}] (${os.name} ${os.version})"/>
- <property name="buildproperty.version" value="unknown"/>
- <tstamp>
- <format property="buildproperty.date" pattern="yyyy/MMM/dd HH:mm"/>
- </tstamp>
- <property name="buildproperty.notes" value=""/>
-
- <propertyfile file="${build.dir}/classes/${property.file}">
- <entry key="MODULE" value="${buildproperty.modulename}"/>
- <entry key="SOURCEID" value="${buildproperty.sourceid}"/>
- <entry key="BUILDINFO" value="${buildproperty.builder}"/>
- <entry key="VERSION" value="${buildproperty.version}"/>
- <entry key="DATE" value="${buildproperty.date}"/>
- <entry key="NOTES" value="${buildproperty.notes}"/>
- <entry key="PROPERTIES_FILE" value="jbossts-properties.xml"/>
- </propertyfile>
-
- <jar jarfile="${build.dir}/lib/${modulename}.jar" update="true">
- <fileset dir="${build.dir}/classes/" includes="${property.file}"/>
- </jar>
- </target>
-
<target name="install.ext.libs">
<property name="dest.dir" value="${build.dir}"/>
@@ -241,7 +222,7 @@
</target>
- <target name="dist.leafnode" depends="clean, init, compile, compile-tests, generateresourcebundle, propertyfile, run.tests">
+ <target name="dist.leafnode" depends="clean, init, compile, compile-tests, generateresourcebundle, run.tests">
</target>
<target name="dist.compositenode" depends="clean, init, install.lib, install.src, htdocs">
@@ -279,6 +260,14 @@
<jar jarfile="${build.dir}/lib/${modulename}.jar">
<fileset dir="${build.dir}" includes="built_using*"/>
<fileset dir="${build.dir}" includes="default-jbossts-properties.xml"/>
+
+ <manifest>
+ <!-- build time metadata consumed by ConfigurationInfo.java: -->
+ <attribute name="arjuna-properties-file" value="jbossts-properties.xml"/>
+ <attribute name="arjuna-scm-revision" value="foobar"/>
+ <attribute name="arjuna-builder" value="JBoss Inc. [${user.name}] ${os.name} ${os.version} ${buildproperty.date}"/>
+ </manifest>
+
</jar>
<for list="${component-module-list}" param="module">
@@ -466,7 +455,8 @@
<formatter type="plain"/>
<classpath>
<pathelement location="etc"/>
- <pathelement location="${build.dir}/classes/"/>
+ <pathelement location="${build.dir}/lib/${modulename}.jar"/>
+ <!--<pathelement location="${build.dir}/classes/"/>-->
<pathelement location="${build.dir}/tests/"/>
<fileset dir="${build.dir}/lib/ext/" includes="*"/>
<fileset dir="${basedir}" includes="${lib.dir}/ext/*"/>
More information about the jboss-svn-commits
mailing list