You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by db...@apache.org on 2008/09/18 07:10:52 UTC
svn commit: r696563 - in /openejb/trunk/openejb3:
container/openejb-core/src/main/java/org/apache/openejb/config/
container/openejb-core/src/main/java/org/apache/openejb/util/
container/openejb-core/src/test/java/org/apache/openejb/util/
server/openejb...
Author: dblevins
Date: Wed Sep 17 22:10:51 2008
New Revision: 696563
URL: http://svn.apache.org/viewvc?rev=696563&view=rev
Log:
Consolodated some of the code that pulls and parses properties into ints, booleans, etc.
Added:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/util/Options.java
openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/util/OptionsTest.java
Modified:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/ReportValidationResults.java
openejb/trunk/openejb3/server/openejb-derbynet/src/main/java/org/apache/openejb/server/derbynet/DerbyNetworkService.java
openejb/trunk/openejb3/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/JettyHttpServer.java
openejb/trunk/openejb3/server/openejb-multicast/src/main/java/org/apache/openejb/server/discovery/MulticastDiscoveryAgent.java
openejb/trunk/openejb3/server/openejb-server/src/main/java/org/apache/openejb/server/ServiceDaemon.java
openejb/trunk/openejb3/server/openejb-server/src/main/java/org/apache/openejb/server/ServicePool.java
Modified: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/ReportValidationResults.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/ReportValidationResults.java?rev=696563&r1=696562&r2=696563&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/ReportValidationResults.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/ReportValidationResults.java Wed Sep 17 22:10:51 2008
@@ -21,9 +21,11 @@
import org.apache.openejb.loader.SystemInstance;
import org.apache.openejb.util.Logger;
import org.apache.openejb.util.LogCategory;
+import org.apache.openejb.util.Options;
import java.util.List;
import java.util.Arrays;
+import java.util.Properties;
/**
* @version $Rev$ $Date$
@@ -41,19 +43,9 @@
}
public AppModule deploy(AppModule appModule) throws OpenEJBException {
- String levelString = SystemInstance.get().getProperty(VALIDATION_LEVEL, Level.MEDIUM.toString());
+ Properties properties = SystemInstance.get().getProperties();
- Level level;
- try {
- level = Level.valueOf(levelString.toUpperCase());
- } catch (IllegalArgumentException noSuchEnumConstant) {
- try {
- int i = Integer.parseInt(levelString) - 1;
- level = Level.values()[i];
- } catch (Exception e) {
- level = Level.MEDIUM;
- }
- }
+ Level level = Options.getEnum(properties, VALIDATION_LEVEL, Level.MEDIUM);
boolean hasErrors = appModule.hasErrors();
boolean hasFailures = appModule.hasFailures();
Added: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/util/Options.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/util/Options.java?rev=696563&view=auto
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/util/Options.java (added)
+++ openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/util/Options.java Wed Sep 17 22:10:51 2008
@@ -0,0 +1,80 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.openejb.util;
+
+import java.util.Properties;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class Options {
+
+ private static final Logger logger = Logger.getInstance(LogCategory.OPENEJB, Options.class);
+
+ public static int getInt(Properties p, String property, int defaultValue){
+ String value = p.getProperty(property);
+ try {
+ if (value != null) return Integer.parseInt(value);
+ else return defaultValue;
+ } catch (NumberFormatException e) {
+ warn(property, value, defaultValue, e);
+ return defaultValue;
+ }
+ }
+
+ public static long getLong(Properties p, String property, long defaultValue){
+ String value = p.getProperty(property);
+ try {
+ if (value != null) return Long.parseLong(value);
+ else return defaultValue;
+ } catch (NumberFormatException e) {
+ warn(property, value, defaultValue, e);
+ return defaultValue;
+ }
+ }
+
+ public static boolean getBoolean(Properties p, String property, boolean defaultValue){
+ String value = p.getProperty(property);
+ try {
+ if (value != null) return Boolean.parseBoolean(value);
+ else return defaultValue;
+ } catch (NumberFormatException e) {
+ warn(property, value, defaultValue, e);
+ return defaultValue;
+ }
+ }
+
+ public static <T extends Enum<T>> T getEnum(Properties p, String property, T defaultValue){
+ String value = p.getProperty(property);
+ try {
+ if (value != null) {
+ Class<T> enumType = (Class<T>) defaultValue.getClass();
+ return Enum.valueOf(enumType, value.toUpperCase());
+ } else {
+ return defaultValue;
+ }
+ } catch (IllegalArgumentException e) {
+ warn(property, value, defaultValue, e);
+ return defaultValue;
+ }
+ }
+
+
+ private static void warn(String property, String value, Object defaultValue, Exception e) {
+ logger.warning("Cannot parse supplied value \"" + value + "\" for option \"" + property + "\". Using default of \"" + defaultValue + "\"", e);
+ }
+}
Added: openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/util/OptionsTest.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/util/OptionsTest.java?rev=696563&view=auto
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/util/OptionsTest.java (added)
+++ openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/util/OptionsTest.java Wed Sep 17 22:10:51 2008
@@ -0,0 +1,41 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.openejb.util;
+
+import junit.framework.TestCase;
+
+import java.util.Properties;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class OptionsTest extends TestCase {
+
+ public void testEnum() throws Exception {
+ Properties properties = new Properties();
+ properties.setProperty("caseSensitive", Colors.RED.toString());
+ properties.setProperty("caseInsensitive", "blue");
+
+ assertSame(Colors.RED, Options.getEnum(properties, "caseSensitive", Colors.GREEN));
+ assertSame(Colors.BLUE, Options.getEnum(properties, "caseInsensitive", Colors.GREEN));
+ assertSame(Colors.GREEN, Options.getEnum(properties, "default", Colors.GREEN));
+ }
+
+ public static enum Colors {
+ RED, GREEN, BLUE;
+ }
+}
Modified: openejb/trunk/openejb3/server/openejb-derbynet/src/main/java/org/apache/openejb/server/derbynet/DerbyNetworkService.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/server/openejb-derbynet/src/main/java/org/apache/openejb/server/derbynet/DerbyNetworkService.java?rev=696563&r1=696562&r2=696563&view=diff
==============================================================================
--- openejb/trunk/openejb3/server/openejb-derbynet/src/main/java/org/apache/openejb/server/derbynet/DerbyNetworkService.java (original)
+++ openejb/trunk/openejb3/server/openejb-derbynet/src/main/java/org/apache/openejb/server/derbynet/DerbyNetworkService.java Wed Sep 17 22:10:51 2008
@@ -22,6 +22,7 @@
import org.apache.openejb.server.ServerService;
import org.apache.openejb.server.ServiceException;
import org.apache.openejb.util.Log4jPrintWriter;
+import org.apache.openejb.util.Options;
import org.apache.openejb.loader.SystemInstance;
import java.io.IOException;
@@ -56,13 +57,10 @@
}
public void init(Properties properties) throws Exception {
- String threads = properties.getProperty("threads", "20");
- String port = properties.getProperty("port", "1527");
String bind = properties.getProperty("bind");
- String disabled = properties.getProperty("disabled");
- this.threads = Integer.parseInt(threads);
- this.port = Integer.parseInt(port);
- this.disabled = Boolean.parseBoolean(disabled);
+ this.threads = Options.getInt(properties, "threads", 20);
+ this.port = Options.getInt(properties, "port", 1527);;
+ this.disabled = Options.getBoolean(properties, "disabled", false);;
host = InetAddress.getByName("0.0.0.0");
System.setProperty("derby.system.home", SystemInstance.get().getBase().getDirectory().getAbsolutePath());
}
Modified: openejb/trunk/openejb3/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/JettyHttpServer.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/JettyHttpServer.java?rev=696563&r1=696562&r2=696563&view=diff
==============================================================================
--- openejb/trunk/openejb3/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/JettyHttpServer.java (original)
+++ openejb/trunk/openejb3/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/JettyHttpServer.java Wed Sep 17 22:10:51 2008
@@ -28,6 +28,7 @@
import javax.servlet.http.HttpServletResponse;
import org.apache.openejb.server.ServiceException;
+import org.apache.openejb.util.Options;
import org.mortbay.jetty.Connector;
import org.mortbay.jetty.Handler;
import org.mortbay.jetty.Request;
@@ -77,7 +78,7 @@
}
public void init(Properties props) throws Exception {
- port = Integer.parseInt(props.getProperty("port", "8080"));
+ port = Options.getInt(props, "port", 8080);
// Create all the Jetty objects but dont' start them
server = new Server();
Modified: openejb/trunk/openejb3/server/openejb-multicast/src/main/java/org/apache/openejb/server/discovery/MulticastDiscoveryAgent.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/server/openejb-multicast/src/main/java/org/apache/openejb/server/discovery/MulticastDiscoveryAgent.java?rev=696563&r1=696562&r2=696563&view=diff
==============================================================================
--- openejb/trunk/openejb3/server/openejb-multicast/src/main/java/org/apache/openejb/server/discovery/MulticastDiscoveryAgent.java (original)
+++ openejb/trunk/openejb3/server/openejb-multicast/src/main/java/org/apache/openejb/server/discovery/MulticastDiscoveryAgent.java Wed Sep 17 22:10:51 2008
@@ -16,9 +16,6 @@
*/
package org.apache.openejb.server.discovery;
-import static org.apache.openejb.server.ServiceDaemon.getBoolean;
-import static org.apache.openejb.server.ServiceDaemon.getLong;
-import static org.apache.openejb.server.ServiceDaemon.getInt;
import org.apache.openejb.server.SelfManaging;
import org.apache.openejb.server.ServerService;
import org.apache.openejb.server.ServiceException;
@@ -26,6 +23,7 @@
import org.apache.openejb.server.DiscoveryListener;
import org.apache.openejb.util.LogCategory;
import org.apache.openejb.util.Logger;
+import org.apache.openejb.util.Options;
import java.io.IOException;
import java.io.InputStream;
@@ -101,16 +99,16 @@
group = props.getProperty("group", group);
groupPrefix = group + ":";
- port = getInt(props, "port", port);
+ port = Options.getInt(props, "port", port);
- heartRate = getLong(props, "heart_rate", heartRate);
- maxMissedHeartbeats = getInt(props, "max_missed_heartbeats", maxMissedHeartbeats);
- loopbackMode = getBoolean(props, "loopback_mode", loopbackMode);
-
- reconnectDelay = getLong(props, "reconnect_delay", reconnectDelay);
- maxReconnectDelay = getLong(props, "max_reconnect_delay", reconnectDelay);
- maxReconnectAttempts = getInt(props, "max_reconnect_attempts", maxReconnectAttempts);
- exponentialBackoff = getLong(props, "exponential_backoff", exponentialBackoff);
+ heartRate = Options.getLong(props, "heart_rate", heartRate);
+ maxMissedHeartbeats = Options.getInt(props, "max_missed_heartbeats", maxMissedHeartbeats);
+ loopbackMode = Options.getBoolean(props, "loopback_mode", loopbackMode);
+
+ reconnectDelay = Options.getLong(props, "reconnect_delay", reconnectDelay);
+ maxReconnectDelay = Options.getLong(props, "max_reconnect_delay", reconnectDelay);
+ maxReconnectAttempts = Options.getInt(props, "max_reconnect_attempts", maxReconnectAttempts);
+ exponentialBackoff = Options.getLong(props, "exponential_backoff", exponentialBackoff);
useExponentialBackOff = (exponentialBackoff > 1);
}
Modified: openejb/trunk/openejb3/server/openejb-server/src/main/java/org/apache/openejb/server/ServiceDaemon.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/server/openejb-server/src/main/java/org/apache/openejb/server/ServiceDaemon.java?rev=696563&r1=696562&r2=696563&view=diff
==============================================================================
--- openejb/trunk/openejb3/server/openejb-server/src/main/java/org/apache/openejb/server/ServiceDaemon.java (original)
+++ openejb/trunk/openejb3/server/openejb-server/src/main/java/org/apache/openejb/server/ServiceDaemon.java Wed Sep 17 22:10:51 2008
@@ -18,6 +18,7 @@
import org.apache.openejb.util.LogCategory;
import org.apache.openejb.util.Logger;
+import org.apache.openejb.util.Options;
import org.apache.openejb.loader.SystemInstance;
import org.codehaus.swizzle.stream.StringTemplate;
@@ -34,7 +35,6 @@
import java.net.SocketTimeoutException;
import java.net.UnknownHostException;
import java.net.URI;
-import java.net.URISyntaxException;
import java.util.Properties;
import java.util.Map;
import java.util.HashMap;
@@ -90,42 +90,12 @@
}
}
- public static int getInt(Properties p, String property, int defaultValue){
- String value = p.getProperty(property);
- try {
- if (value != null) return Integer.parseInt(value);
- else return defaultValue;
- } catch (NumberFormatException e) {
- return defaultValue;
- }
- }
-
- public static long getLong(Properties p, String property, long defaultValue){
- String value = p.getProperty(property);
- try {
- if (value != null) return Long.parseLong(value);
- else return defaultValue;
- } catch (NumberFormatException e) {
- return defaultValue;
- }
- }
-
- public static boolean getBoolean(Properties p, String property, boolean defaultValue){
- String value = p.getProperty(property);
- try {
- if (value != null) return Boolean.parseBoolean(value);
- else return defaultValue;
- } catch (NumberFormatException e) {
- return defaultValue;
- }
- }
-
- public void setSoTimeout(int timeout) throws SocketException {
- this.timeout = timeout;
- if (socketListener != null) {
- socketListener.setSoTimeout(timeout);
- }
- }
+ public void setSoTimeout(int timeout) throws SocketException {
+ this.timeout = timeout;
+ if (socketListener != null) {
+ socketListener.setSoTimeout(timeout);
+ }
+ }
public int getSoTimeout() throws IOException {
if (socketListener == null) return 0;
@@ -151,13 +121,13 @@
address = getAddress(ip);
- port = getInt(props, "port", 0);
+ port = Options.getInt(props, "port", 0);
- int threads = getInt(props, "threads", 100);
+ int threads = Options.getInt(props, "threads", 100);
- backlog = getInt(props, "backlog", threads);
+ backlog = Options.getInt(props, "backlog", threads);
- secure = getBoolean(props, "secure", false);
+ secure = Options.getBoolean(props, "secure", false);
timeout = 1000;
Modified: openejb/trunk/openejb3/server/openejb-server/src/main/java/org/apache/openejb/server/ServicePool.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/server/openejb-server/src/main/java/org/apache/openejb/server/ServicePool.java?rev=696563&r1=696562&r2=696563&view=diff
==============================================================================
--- openejb/trunk/openejb3/server/openejb-server/src/main/java/org/apache/openejb/server/ServicePool.java (original)
+++ openejb/trunk/openejb3/server/openejb-server/src/main/java/org/apache/openejb/server/ServicePool.java Wed Sep 17 22:10:51 2008
@@ -16,8 +16,6 @@
*/
package org.apache.openejb.server;
-import static org.apache.openejb.server.ServiceDaemon.getInt;
-
import java.util.concurrent.Executor;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.ThreadPoolExecutor;
@@ -27,6 +25,7 @@
import org.apache.openejb.util.LogCategory;
import org.apache.openejb.util.Logger;
+import org.apache.openejb.util.Options;
import org.apache.openejb.loader.SystemInstance;
import java.io.IOException;
@@ -44,7 +43,7 @@
private final AtomicBoolean stop = new AtomicBoolean();
public ServicePool(ServerService next, String name, Properties properties) {
- this(next, name, getInt(properties, "threads", 100));
+ this(next, name, Options.getInt(properties, "threads", 100));
}
public ServicePool(ServerService next, final String name, int threads) {