Author: dkuleshov
Date: 2011-05-27 07:45:11 -0400 (Fri, 27 May 2011)
New Revision: 4442
Modified:
ws/trunk/exo.ws.frameworks.json/pom.xml
ws/trunk/exo.ws.frameworks.json/src/main/java/org/exoplatform/ws/frameworks/json/impl/JsonGeneratorImpl.java
ws/trunk/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/BaseObjectModel.java
ws/trunk/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/impl/DependencySupplier.java
ws/trunk/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/impl/FieldInjectorImpl.java
ws/trunk/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/impl/resource/AbstractResourceDescriptorImpl.java
ws/trunk/exo.ws.rest.ext/src/main/java/org/exoplatform/services/rest/ext/groovy/DefaultGroovyResourceLoader.java
ws/trunk/exo.ws.rest.ext/src/main/java/org/exoplatform/services/rest/ext/groovy/ExtendedGroovyClassLoader.java
ws/trunk/exo.ws.rest.ext/src/main/java/org/exoplatform/services/rest/ext/groovy/GroovyClassLoaderProvider.java
ws/trunk/exo.ws.rest.ext/src/main/java/org/exoplatform/services/rest/ext/groovy/GroovyJaxrsPublisher.java
Log:
EXOJCR-1186: source code has been reworked to increase performance
Modified: ws/trunk/exo.ws.frameworks.json/pom.xml
===================================================================
--- ws/trunk/exo.ws.frameworks.json/pom.xml 2011-05-27 11:36:04 UTC (rev 4441)
+++ ws/trunk/exo.ws.frameworks.json/pom.xml 2011-05-27 11:45:11 UTC (rev 4442)
@@ -48,6 +48,10 @@
<groupId>org.exoplatform.kernel</groupId>
<artifactId>exo.kernel.commons.test</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.exoplatform.kernel</groupId>
+ <artifactId>exo.kernel.commons</artifactId>
+ </dependency>
</dependencies>
<build>
Modified:
ws/trunk/exo.ws.frameworks.json/src/main/java/org/exoplatform/ws/frameworks/json/impl/JsonGeneratorImpl.java
===================================================================
---
ws/trunk/exo.ws.frameworks.json/src/main/java/org/exoplatform/ws/frameworks/json/impl/JsonGeneratorImpl.java 2011-05-27
11:36:04 UTC (rev 4441)
+++
ws/trunk/exo.ws.frameworks.json/src/main/java/org/exoplatform/ws/frameworks/json/impl/JsonGeneratorImpl.java 2011-05-27
11:45:11 UTC (rev 4442)
@@ -18,6 +18,7 @@
*/
package org.exoplatform.ws.frameworks.json.impl;
+import org.exoplatform.commons.utils.SecurityHelper;
import org.exoplatform.ws.frameworks.json.JsonGenerator;
import org.exoplatform.ws.frameworks.json.impl.JsonUtils.Types;
import org.exoplatform.ws.frameworks.json.value.JsonValue;
@@ -35,7 +36,6 @@
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
-import java.security.AccessController;
import java.security.PrivilegedAction;
import java.util.ArrayList;
import java.util.Collection;
@@ -386,7 +386,7 @@
{
Set<String> set = new HashSet<String>();
- Field[] fields = AccessController.doPrivileged(new
PrivilegedAction<Field[]>()
+ Field[] fields = SecurityHelper.doPrivilegedAction(new
PrivilegedAction<Field[]>()
{
public Field[] run()
{
Modified:
ws/trunk/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/BaseObjectModel.java
===================================================================
---
ws/trunk/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/BaseObjectModel.java 2011-05-27
11:36:04 UTC (rev 4441)
+++
ws/trunk/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/BaseObjectModel.java 2011-05-27
11:45:11 UTC (rev 4442)
@@ -18,13 +18,13 @@
*/
package org.exoplatform.services.rest;
+import org.exoplatform.commons.utils.SecurityHelper;
import org.exoplatform.services.rest.impl.ConstructorDescriptorImpl;
import org.exoplatform.services.rest.impl.FieldInjectorImpl;
import org.exoplatform.services.rest.impl.MultivaluedMapImpl;
import java.lang.reflect.Constructor;
import java.lang.reflect.Modifier;
-import java.security.AccessController;
import java.security.PrivilegedAction;
import java.util.ArrayList;
import java.util.Collections;
@@ -54,7 +54,7 @@
if (scope == ComponentLifecycleScope.PER_REQUEST)
{
Constructor<?>[] jConstructors =
- AccessController.doPrivileged(new
PrivilegedAction<Constructor<?>[]>() {
+ SecurityHelper.doPrivilegedAction(new
PrivilegedAction<Constructor<?>[]>() {
public Constructor<?>[] run()
{
return BaseObjectModel.this.clazz.getConstructors();
@@ -76,7 +76,7 @@
}
// process field
java.lang.reflect.Field[] jfields =
- AccessController.doPrivileged(new
PrivilegedAction<java.lang.reflect.Field[]>() {
+ SecurityHelper.doPrivilegedAction(new
PrivilegedAction<java.lang.reflect.Field[]>() {
public java.lang.reflect.Field[] run()
{
return BaseObjectModel.this.clazz.getDeclaredFields();
Modified:
ws/trunk/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/impl/DependencySupplier.java
===================================================================
---
ws/trunk/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/impl/DependencySupplier.java 2011-05-27
11:36:04 UTC (rev 4441)
+++
ws/trunk/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/impl/DependencySupplier.java 2011-05-27
11:45:11 UTC (rev 4442)
@@ -18,6 +18,7 @@
*/
package org.exoplatform.services.rest.impl;
+import org.exoplatform.commons.utils.SecurityHelper;
import org.exoplatform.container.ExoContainer;
import org.exoplatform.container.ExoContainerContext;
import org.exoplatform.container.xml.InitParams;
@@ -29,7 +30,6 @@
import java.lang.reflect.Method;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
-import java.security.AccessController;
import java.security.PrivilegedActionException;
import java.security.PrivilegedExceptionAction;
import java.util.Iterator;
@@ -72,7 +72,7 @@
final ValueParam injectAnnotationParameter =
params.getValueParam("inject.annotation.class");
try
{
- injectAnnotationClass = AccessController.doPrivileged(new
PrivilegedExceptionAction<Class>()
+ injectAnnotationClass = SecurityHelper.doPrivilegedExceptionAction(new
PrivilegedExceptionAction<Class>()
{
public Class run() throws ClassNotFoundException
{
@@ -179,7 +179,7 @@
Type injectedType = null;
try
{
- get = AccessController.doPrivileged(new
PrivilegedExceptionAction<Method>()
+ get = SecurityHelper.doPrivilegedExceptionAction(new
PrivilegedExceptionAction<Method>()
{
public Method run() throws NoSuchMethodException
{
Modified:
ws/trunk/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/impl/FieldInjectorImpl.java
===================================================================
---
ws/trunk/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/impl/FieldInjectorImpl.java 2011-05-27
11:36:04 UTC (rev 4441)
+++
ws/trunk/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/impl/FieldInjectorImpl.java 2011-05-27
11:45:11 UTC (rev 4442)
@@ -18,6 +18,7 @@
*/
package org.exoplatform.services.rest.impl;
+import org.exoplatform.commons.utils.SecurityHelper;
import org.exoplatform.services.rest.ApplicationContext;
import org.exoplatform.services.rest.FieldInjector;
import org.exoplatform.services.rest.impl.method.ParameterHelper;
@@ -29,7 +30,6 @@
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
import java.lang.reflect.Type;
-import java.security.AccessController;
import java.security.PrivilegedAction;
import java.security.PrivilegedActionException;
import java.security.PrivilegedExceptionAction;
@@ -141,7 +141,7 @@
Method setter = null;
try
{
- setter = AccessController.doPrivileged(new
PrivilegedExceptionAction<Method>() {
+ setter = SecurityHelper.doPrivilegedExceptionAction(new
PrivilegedExceptionAction<Method>() {
public Method run() throws NoSuchMethodException
{
String name = jfield.getName();
@@ -231,7 +231,7 @@
{
if (!Modifier.isPublic(jfield.getModifiers()))
{
- AccessController.doPrivileged(new PrivilegedAction<Void>() {
+ SecurityHelper.doPrivilegedAction(new PrivilegedAction<Void>() {
public Void run()
{
jfield.setAccessible(true);
@@ -265,7 +265,7 @@
{
if (!Modifier.isPublic(jfield.getModifiers()))
{
- AccessController.doPrivileged(new PrivilegedAction<Void>() {
+ SecurityHelper.doPrivilegedAction(new PrivilegedAction<Void>()
{
public Void run()
{
jfield.setAccessible(true);
Modified:
ws/trunk/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/impl/resource/AbstractResourceDescriptorImpl.java
===================================================================
---
ws/trunk/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/impl/resource/AbstractResourceDescriptorImpl.java 2011-05-27
11:36:04 UTC (rev 4441)
+++
ws/trunk/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/impl/resource/AbstractResourceDescriptorImpl.java 2011-05-27
11:45:11 UTC (rev 4442)
@@ -18,6 +18,7 @@
*/
package org.exoplatform.services.rest.impl.resource;
+import org.exoplatform.commons.utils.SecurityHelper;
import org.exoplatform.services.log.ExoLogger;
import org.exoplatform.services.log.Log;
import org.exoplatform.services.rest.BaseObjectModel;
@@ -44,7 +45,6 @@
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
import java.lang.reflect.Type;
-import java.security.AccessController;
import java.security.PrivilegedAction;
import java.util.ArrayList;
import java.util.Collections;
@@ -244,7 +244,7 @@
{
final Class<?> resourceClass = getObjectClass();
- Method[] methods = AccessController.doPrivileged(new
PrivilegedAction<Method[]>() {
+ Method[] methods = SecurityHelper.doPrivilegedAction(new
PrivilegedAction<Method[]>() {
public Method[] run()
{
return resourceClass.getDeclaredMethods();
Modified:
ws/trunk/exo.ws.rest.ext/src/main/java/org/exoplatform/services/rest/ext/groovy/DefaultGroovyResourceLoader.java
===================================================================
---
ws/trunk/exo.ws.rest.ext/src/main/java/org/exoplatform/services/rest/ext/groovy/DefaultGroovyResourceLoader.java 2011-05-27
11:36:04 UTC (rev 4441)
+++
ws/trunk/exo.ws.rest.ext/src/main/java/org/exoplatform/services/rest/ext/groovy/DefaultGroovyResourceLoader.java 2011-05-27
11:45:11 UTC (rev 4442)
@@ -21,10 +21,11 @@
import groovy.lang.GroovyResourceLoader;
+import org.exoplatform.commons.utils.SecurityHelper;
+
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
-import java.security.AccessController;
import java.security.PrivilegedActionException;
import java.security.PrivilegedExceptionAction;
import java.util.Collections;
@@ -92,7 +93,7 @@
final String ffilename = filename.replace('.', '/') +
getSourceFileExtension();
try
{
- resource = AccessController.doPrivileged(new
PrivilegedExceptionAction<URL>()
+ resource = SecurityHelper.doPrivilegedExceptionAction(new
PrivilegedExceptionAction<URL>()
{
public URL run() throws MalformedURLException
{
Modified:
ws/trunk/exo.ws.rest.ext/src/main/java/org/exoplatform/services/rest/ext/groovy/ExtendedGroovyClassLoader.java
===================================================================
---
ws/trunk/exo.ws.rest.ext/src/main/java/org/exoplatform/services/rest/ext/groovy/ExtendedGroovyClassLoader.java 2011-05-27
11:36:04 UTC (rev 4441)
+++
ws/trunk/exo.ws.rest.ext/src/main/java/org/exoplatform/services/rest/ext/groovy/ExtendedGroovyClassLoader.java 2011-05-27
11:45:11 UTC (rev 4442)
@@ -27,11 +27,11 @@
import org.codehaus.groovy.control.CompilerConfiguration;
import org.codehaus.groovy.control.Phases;
import org.codehaus.groovy.control.SourceUnit;
+import org.exoplatform.commons.utils.SecurityHelper;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
-import java.security.AccessController;
import java.security.CodeSource;
import java.security.PrivilegedAction;
import java.util.ArrayList;
@@ -270,7 +270,7 @@
protected SingleClassCollector createSingleCollector(CompilationUnit unit, SourceUnit
sunit)
{
- ExtendedInnerLoader loader = AccessController.doPrivileged(new
PrivilegedAction<ExtendedInnerLoader>() {
+ ExtendedInnerLoader loader = SecurityHelper.doPrivilegedAction(new
PrivilegedAction<ExtendedInnerLoader>() {
public ExtendedInnerLoader run()
{
return new ExtendedInnerLoader(ExtendedGroovyClassLoader.this);
@@ -281,7 +281,7 @@
protected MultipleClassCollector createMultipleCollector(CompilationUnit unit,
Set<SourceUnit> setSunit)
{
- ExtendedInnerLoader loader = AccessController.doPrivileged(new
PrivilegedAction<ExtendedInnerLoader>() {
+ ExtendedInnerLoader loader = SecurityHelper.doPrivilegedAction(new
PrivilegedAction<ExtendedInnerLoader>() {
public ExtendedInnerLoader run()
{
return new ExtendedInnerLoader(ExtendedGroovyClassLoader.this);
Modified:
ws/trunk/exo.ws.rest.ext/src/main/java/org/exoplatform/services/rest/ext/groovy/GroovyClassLoaderProvider.java
===================================================================
---
ws/trunk/exo.ws.rest.ext/src/main/java/org/exoplatform/services/rest/ext/groovy/GroovyClassLoaderProvider.java 2011-05-27
11:36:04 UTC (rev 4441)
+++
ws/trunk/exo.ws.rest.ext/src/main/java/org/exoplatform/services/rest/ext/groovy/GroovyClassLoaderProvider.java 2011-05-27
11:45:11 UTC (rev 4442)
@@ -20,9 +20,10 @@
import groovy.lang.GroovyClassLoader;
+import org.exoplatform.commons.utils.SecurityHelper;
+
import java.net.MalformedURLException;
import java.net.URL;
-import java.security.AccessController;
import java.security.PrivilegedAction;
/**
@@ -41,7 +42,7 @@
public GroovyClassLoaderProvider()
{
- this(AccessController.doPrivileged(new
PrivilegedAction<ExtendedGroovyClassLoader>()
+ this(SecurityHelper.doPrivilegedAction(new
PrivilegedAction<ExtendedGroovyClassLoader>()
{
public ExtendedGroovyClassLoader run()
{
@@ -85,7 +86,7 @@
final GroovyClassLoader parent = getGroovyClassLoader();
ExtendedGroovyClassLoader classLoader =
- AccessController.doPrivileged(new
PrivilegedAction<ExtendedGroovyClassLoader>()
+ SecurityHelper.doPrivilegedAction(new
PrivilegedAction<ExtendedGroovyClassLoader>()
{
public ExtendedGroovyClassLoader run()
{
Modified:
ws/trunk/exo.ws.rest.ext/src/main/java/org/exoplatform/services/rest/ext/groovy/GroovyJaxrsPublisher.java
===================================================================
---
ws/trunk/exo.ws.rest.ext/src/main/java/org/exoplatform/services/rest/ext/groovy/GroovyJaxrsPublisher.java 2011-05-27
11:36:04 UTC (rev 4441)
+++
ws/trunk/exo.ws.rest.ext/src/main/java/org/exoplatform/services/rest/ext/groovy/GroovyJaxrsPublisher.java 2011-05-27
11:45:11 UTC (rev 4442)
@@ -23,6 +23,7 @@
import groovy.lang.GroovyCodeSource;
import org.codehaus.groovy.control.CompilationFailedException;
+import org.exoplatform.commons.utils.SecurityHelper;
import org.exoplatform.container.ExoContainer;
import org.exoplatform.container.ExoContainerContext;
import org.exoplatform.services.log.ExoLogger;
@@ -42,7 +43,6 @@
import java.net.MalformedURLException;
import java.nio.charset.Charset;
import java.nio.charset.UnsupportedCharsetException;
-import java.security.AccessController;
import java.security.PrivilegedAction;
import java.security.PrivilegedActionException;
import java.security.PrivilegedExceptionAction;
@@ -210,7 +210,7 @@
public void publishPerRequest(final InputStream in, final ResourceId resourceId,
final MultivaluedMap<String, String> properties, final SourceFolder[] src,
final SourceFile[] files)
{
- Class<?> rc = AccessController.doPrivileged(new
PrivilegedAction<Class<?>>() {
+ Class<?> rc = SecurityHelper.doPrivilegedAction(new
PrivilegedAction<Class<?>>() {
public Class<?> run()
{
try
@@ -513,7 +513,7 @@
try
{
//rc =
- AccessController.doPrivileged(new
PrivilegedExceptionAction<Class<?>>() {
+ SecurityHelper.doPrivilegedExceptionAction(new
PrivilegedExceptionAction<Class<?>>() {
public Class<?> run() throws MalformedURLException
{
ExtendedGroovyClassLoader cl =
@@ -684,7 +684,7 @@
*/
protected GroovyCodeSource createCodeSource(final InputStream in, final String name)
{
- GroovyCodeSource gcs = AccessController.doPrivileged(new
PrivilegedAction<GroovyCodeSource>() {
+ GroovyCodeSource gcs = SecurityHelper.doPrivilegedAction(new
PrivilegedAction<GroovyCodeSource>() {
public GroovyCodeSource run()
{
return new GroovyCodeSource(in, name, ExtendedGroovyClassLoader.CODE_BASE);