Author: markt
Date: Thu Apr 24 15:06:32 2014
New Revision: 1589763
URL: http://svn.apache.org/r1589763
Log:
Refactoring to reduce code duplication.
Added:
tomcat/trunk/java/org/apache/tomcat/util/security/
tomcat/trunk/java/org/apache/tomcat/util/security/PrivilegedGetTccl.java
(with props)
tomcat/trunk/java/org/apache/tomcat/util/security/PrivilegedSetTccl.java
(with props)
Modified:
tomcat/trunk/build.xml
tomcat/trunk/java/org/apache/catalina/core/StandardContext.java
tomcat/trunk/java/org/apache/catalina/security/SecurityClassLoad.java
tomcat/trunk/java/org/apache/coyote/AsyncStateMachine.java
tomcat/trunk/java/org/apache/tomcat/util/threads/TaskThreadFactory.java
Modified: tomcat/trunk/build.xml
URL:
http://svn.apache.org/viewvc/tomcat/trunk/build.xml?rev=1589763&r1=1589762&r2=1589763&view=diff
==============================================================================
--- tomcat/trunk/build.xml (original)
+++ tomcat/trunk/build.xml Thu Apr 24 15:06:32 2014
@@ -347,6 +347,7 @@
<include name="org/apache/tomcat/util/codec/**" />
<include name="org/apache/tomcat/util/file/**" />
<include name="org/apache/tomcat/util/res/**" />
+ <include name="org/apache/tomcat/util/security/**" />
<include name="org/apache/tomcat/util/threads/**" />
<include name="org/apache/tomcat/util/*" />
<exclude name="org/apache/tomcat/util/bcel" />
@@ -1966,6 +1967,7 @@ Apache Tomcat ${version} native binaries
<exclude name="org/apache/tomcat/util/net" />
<exclude name="org/apache/tomcat/util/res" />
<exclude name="org/apache/tomcat/util/scan" />
+ <exclude name="org/apache/tomcat/util/security" />
<exclude name="org/apache/tomcat/util/threads" />
<exclude name="**/package.html" />
<exclude name="**/LocalStrings_*" />
Modified: tomcat/trunk/java/org/apache/catalina/core/StandardContext.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/StandardContext.java?rev=1589763&r1=1589762&r2=1589763&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/core/StandardContext.java (original)
+++ tomcat/trunk/java/org/apache/catalina/core/StandardContext.java Thu Apr 24
15:06:32 2014
@@ -129,6 +129,8 @@ import org.apache.tomcat.util.descriptor
import org.apache.tomcat.util.descriptor.web.SecurityCollection;
import org.apache.tomcat.util.descriptor.web.SecurityConstraint;
import org.apache.tomcat.util.scan.StandardJarScanner;
+import org.apache.tomcat.util.security.PrivilegedGetTccl;
+import org.apache.tomcat.util.security.PrivilegedSetTccl;
/**
* Standard implementation of the <b>Context</b> interface. Each
@@ -5811,30 +5813,6 @@ public class StandardContext extends Con
}
- private static class PrivilegedSetTccl implements PrivilegedAction<Void> {
-
- private ClassLoader cl;
-
- PrivilegedSetTccl(ClassLoader cl) {
- this.cl = cl;
- }
-
- @Override
- public Void run() {
- Thread.currentThread().setContextClassLoader(cl);
- return null;
- }
- }
-
-
- private static class PrivilegedGetTccl implements
PrivilegedAction<ClassLoader> {
- @Override
- public ClassLoader run() {
- return Thread.currentThread().getContextClassLoader();
- }
- }
-
-
/**
* Get naming context full name.
*/
Modified: tomcat/trunk/java/org/apache/catalina/security/SecurityClassLoad.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/security/SecurityClassLoad.java?rev=1589763&r1=1589762&r2=1589763&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/security/SecurityClassLoad.java
(original)
+++ tomcat/trunk/java/org/apache/catalina/security/SecurityClassLoad.java Thu
Apr 24 15:06:32 2014
@@ -101,12 +101,6 @@ public final class SecurityClassLoad {
loader.loadClass
(basePackage +
"ApplicationHttpRequest$AttributeNamesEnumerator");
- loader.loadClass
- (basePackage +
- "StandardContext$PrivilegedGetTccl");
- loader.loadClass
- (basePackage +
- "StandardContext$PrivilegedSetTccl");
}
@@ -293,9 +287,9 @@ public final class SecurityClassLoad {
loader.loadClass(basePackage +
"util.net.NioBlockingSelector$BlockPoller$3");
loader.loadClass(basePackage + "util.net.SSLSupport$CipherData");
- // threads
- loader.loadClass
- (basePackage + "util.threads.TaskThreadFactory$PrivilegedSetTccl");
+ // security
+ loader.loadClass(basePackage + "util.security.PrivilegedGetTccl");
+ loader.loadClass(basePackage + "util.security.PrivilegedSetTccl");
}
}
Modified: tomcat/trunk/java/org/apache/coyote/AsyncStateMachine.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/AsyncStateMachine.java?rev=1589763&r1=1589762&r2=1589763&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/AsyncStateMachine.java (original)
+++ tomcat/trunk/java/org/apache/coyote/AsyncStateMachine.java Thu Apr 24
15:06:32 2014
@@ -21,6 +21,8 @@ import java.security.PrivilegedAction;
import org.apache.tomcat.util.net.AbstractEndpoint.Handler.SocketState;
import org.apache.tomcat.util.res.StringManager;
+import org.apache.tomcat.util.security.PrivilegedGetTccl;
+import org.apache.tomcat.util.security.PrivilegedSetTccl;
/**
* Manages the state transitions for async requests.
@@ -362,29 +364,4 @@ public class AsyncStateMachine<S> {
processor.getRequest().listener = null;
processor.getRequest().getResponse().listener = null;
}
-
-
- private static class PrivilegedSetTccl implements PrivilegedAction<Void> {
-
- private ClassLoader cl;
-
- PrivilegedSetTccl(ClassLoader cl) {
- this.cl = cl;
- }
-
- @Override
- public Void run() {
- Thread.currentThread().setContextClassLoader(cl);
- return null;
- }
- }
-
- private static class PrivilegedGetTccl
- implements PrivilegedAction<ClassLoader> {
-
- @Override
- public ClassLoader run() {
- return Thread.currentThread().getContextClassLoader();
- }
- }
}
Added: tomcat/trunk/java/org/apache/tomcat/util/security/PrivilegedGetTccl.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/security/PrivilegedGetTccl.java?rev=1589763&view=auto
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/security/PrivilegedGetTccl.java
(added)
+++ tomcat/trunk/java/org/apache/tomcat/util/security/PrivilegedGetTccl.java
Thu Apr 24 15:06:32 2014
@@ -0,0 +1,28 @@
+/*
+ * 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.tomcat.util.security;
+
+import java.security.PrivilegedAction;
+
+public class PrivilegedGetTccl implements PrivilegedAction<ClassLoader> {
+ @Override
+ public ClassLoader run() {
+ return Thread.currentThread().getContextClassLoader();
+ }
+}
+
+
Propchange:
tomcat/trunk/java/org/apache/tomcat/util/security/PrivilegedGetTccl.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: tomcat/trunk/java/org/apache/tomcat/util/security/PrivilegedSetTccl.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/security/PrivilegedSetTccl.java?rev=1589763&view=auto
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/security/PrivilegedSetTccl.java
(added)
+++ tomcat/trunk/java/org/apache/tomcat/util/security/PrivilegedSetTccl.java
Thu Apr 24 15:06:32 2014
@@ -0,0 +1,34 @@
+/*
+ * 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.tomcat.util.security;
+
+import java.security.PrivilegedAction;
+
+public class PrivilegedSetTccl implements PrivilegedAction<Void> {
+
+ private ClassLoader cl;
+
+ public PrivilegedSetTccl(ClassLoader cl) {
+ this.cl = cl;
+ }
+
+ @Override
+ public Void run() {
+ Thread.currentThread().setContextClassLoader(cl);
+ return null;
+ }
+}
\ No newline at end of file
Propchange:
tomcat/trunk/java/org/apache/tomcat/util/security/PrivilegedSetTccl.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified:
tomcat/trunk/java/org/apache/tomcat/util/threads/TaskThreadFactory.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/threads/TaskThreadFactory.java?rev=1589763&r1=1589762&r2=1589763&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/threads/TaskThreadFactory.java
(original)
+++ tomcat/trunk/java/org/apache/tomcat/util/threads/TaskThreadFactory.java Thu
Apr 24 15:06:32 2014
@@ -22,6 +22,7 @@ import java.util.concurrent.ThreadFactor
import java.util.concurrent.atomic.AtomicInteger;
import org.apache.tomcat.util.net.Constants;
+import org.apache.tomcat.util.security.PrivilegedSetTccl;
/**
* Simple task thread factory to use to create threads for an executor
* implementation.
@@ -68,20 +69,4 @@ public class TaskThreadFactory implement
}
}
}
-
-
- private static class PrivilegedSetTccl implements PrivilegedAction<Void> {
-
- private ClassLoader cl;
-
- PrivilegedSetTccl(ClassLoader cl) {
- this.cl = cl;
- }
-
- @Override
- public Void run() {
- Thread.currentThread().setContextClassLoader(cl);
- return null;
- }
- }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]