Author: berndf
Date: Sun Aug 5 12:44:25 2007
New Revision: 562943
URL: http://svn.apache.org/viewvc?view=rev&rev=562943
Log:
missing from last commit: configuration interception example
Added:
james/server/sandbox/spring-integration/spring-deployment/src/main/java/org/apache/james/container/spring/examples/configuration/
james/server/sandbox/spring-integration/spring-deployment/src/main/java/org/apache/james/container/spring/examples/configuration/UnprivilegedPortConfigurationInterceptor.java
Added:
james/server/sandbox/spring-integration/spring-deployment/src/main/java/org/apache/james/container/spring/examples/configuration/UnprivilegedPortConfigurationInterceptor.java
URL:
http://svn.apache.org/viewvc/james/server/sandbox/spring-integration/spring-deployment/src/main/java/org/apache/james/container/spring/examples/configuration/UnprivilegedPortConfigurationInterceptor.java?view=auto&rev=562943
==============================================================================
---
james/server/sandbox/spring-integration/spring-deployment/src/main/java/org/apache/james/container/spring/examples/configuration/UnprivilegedPortConfigurationInterceptor.java
(added)
+++
james/server/sandbox/spring-integration/spring-deployment/src/main/java/org/apache/james/container/spring/examples/configuration/UnprivilegedPortConfigurationInterceptor.java
Sun Aug 5 12:44:25 2007
@@ -0,0 +1,36 @@
+package org.apache.james.container.spring.examples.configuration;
+
+import org.apache.avalon.framework.configuration.Configuration;
+import org.apache.avalon.framework.configuration.MutableConfiguration;
+import
org.apache.james.container.spring.configuration.ConfigurationInterceptor;
+
+/**
+ * re-maps all privileged ports into the 9000's range
+ */
+public class UnprivilegedPortConfigurationInterceptor implements
ConfigurationInterceptor {
+
+ public Configuration intercept(Configuration configuration) {
+ interceptInternal(configuration);
+ return configuration;
+ }
+
+ private void interceptInternal(Configuration configuration) {
+ String name = configuration.getName();
+ if ("port".equals(name) && configuration instanceof
MutableConfiguration) {
+ MutableConfiguration mutableConfiguration = (MutableConfiguration)
configuration;
+ int port = configuration.getValueAsInteger(0);
+ if (port > 0 && port < 1024) {
+ // map privileged port to unprivileged in the 9000's range
+ port += 9000;
+ }
+ mutableConfiguration.setValue(port);
+ }
+
+ // go deep.
+ Configuration[] children = configuration.getChildren();
+ for (int i = 0; i < children.length; i++) {
+ Configuration childConfiguration = children[i];
+ interceptInternal(childConfiguration);
+ }
+ }
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]