exo-jcr SVN: r5607 - kernel/tags.
by do-not-reply@jboss.org
Author: tolusha
Date: 2012-02-13 02:34:00 -0500 (Mon, 13 Feb 2012)
New Revision: 5607
Added:
kernel/tags/2.3.6-GA/
Log:
[maven-scm] copy for tag 2.3.6-GA
12 years, 4 months
exo-jcr SVN: r5606 - in kernel/trunk: exo.kernel.commons and 14 other directories.
by do-not-reply@jboss.org
Author: tolusha
Date: 2012-02-13 02:33:45 -0500 (Mon, 13 Feb 2012)
New Revision: 5606
Modified:
kernel/trunk/exo.kernel.commons.test/pom.xml
kernel/trunk/exo.kernel.commons/pom.xml
kernel/trunk/exo.kernel.component.cache/pom.xml
kernel/trunk/exo.kernel.component.command/pom.xml
kernel/trunk/exo.kernel.component.common/pom.xml
kernel/trunk/exo.kernel.component.ext.cache.impl.infinispan.v5/pom.xml
kernel/trunk/exo.kernel.component.ext.cache.impl.jboss.v3/pom.xml
kernel/trunk/exo.kernel.component.ext.rpc.impl.jgroups.v3/pom.xml
kernel/trunk/exo.kernel.container/pom.xml
kernel/trunk/exo.kernel.mc-integration/exo.kernel.mc-int-demo/pom.xml
kernel/trunk/exo.kernel.mc-integration/exo.kernel.mc-int-tests/pom.xml
kernel/trunk/exo.kernel.mc-integration/exo.kernel.mc-int/pom.xml
kernel/trunk/exo.kernel.mc-integration/exo.kernel.mc-kernel-extras/pom.xml
kernel/trunk/exo.kernel.mc-integration/pom.xml
kernel/trunk/packaging/module/pom.xml
kernel/trunk/pom.xml
Log:
[maven-release-plugin] prepare release 2.3.6-GA
Modified: kernel/trunk/exo.kernel.commons/pom.xml
===================================================================
--- kernel/trunk/exo.kernel.commons/pom.xml 2012-02-10 14:24:40 UTC (rev 5605)
+++ kernel/trunk/exo.kernel.commons/pom.xml 2012-02-13 07:33:45 UTC (rev 5606)
@@ -16,7 +16,7 @@
<parent>
<groupId>org.exoplatform.kernel</groupId>
<artifactId>kernel-parent</artifactId>
- <version>2.3.6-GA-SNAPSHOT</version>
+ <version>2.3.6-GA</version>
</parent>
<artifactId>exo.kernel.commons</artifactId>
Modified: kernel/trunk/exo.kernel.commons.test/pom.xml
===================================================================
--- kernel/trunk/exo.kernel.commons.test/pom.xml 2012-02-10 14:24:40 UTC (rev 5605)
+++ kernel/trunk/exo.kernel.commons.test/pom.xml 2012-02-13 07:33:45 UTC (rev 5606)
@@ -16,7 +16,7 @@
<parent>
<groupId>org.exoplatform.kernel</groupId>
<artifactId>kernel-parent</artifactId>
- <version>2.3.6-GA-SNAPSHOT</version>
+ <version>2.3.6-GA</version>
</parent>
<artifactId>exo.kernel.commons.test</artifactId>
Modified: kernel/trunk/exo.kernel.component.cache/pom.xml
===================================================================
--- kernel/trunk/exo.kernel.component.cache/pom.xml 2012-02-10 14:24:40 UTC (rev 5605)
+++ kernel/trunk/exo.kernel.component.cache/pom.xml 2012-02-13 07:33:45 UTC (rev 5606)
@@ -25,7 +25,7 @@
<parent>
<groupId>org.exoplatform.kernel</groupId>
<artifactId>kernel-parent</artifactId>
- <version>2.3.6-GA-SNAPSHOT</version>
+ <version>2.3.6-GA</version>
</parent>
<artifactId>exo.kernel.component.cache</artifactId>
Modified: kernel/trunk/exo.kernel.component.command/pom.xml
===================================================================
--- kernel/trunk/exo.kernel.component.command/pom.xml 2012-02-10 14:24:40 UTC (rev 5605)
+++ kernel/trunk/exo.kernel.component.command/pom.xml 2012-02-13 07:33:45 UTC (rev 5606)
@@ -25,7 +25,7 @@
<parent>
<groupId>org.exoplatform.kernel</groupId>
<artifactId>kernel-parent</artifactId>
- <version>2.3.6-GA-SNAPSHOT</version>
+ <version>2.3.6-GA</version>
</parent>
<artifactId>exo.kernel.component.command</artifactId>
Modified: kernel/trunk/exo.kernel.component.common/pom.xml
===================================================================
--- kernel/trunk/exo.kernel.component.common/pom.xml 2012-02-10 14:24:40 UTC (rev 5605)
+++ kernel/trunk/exo.kernel.component.common/pom.xml 2012-02-13 07:33:45 UTC (rev 5606)
@@ -25,7 +25,7 @@
<parent>
<groupId>org.exoplatform.kernel</groupId>
<artifactId>kernel-parent</artifactId>
- <version>2.3.6-GA-SNAPSHOT</version>
+ <version>2.3.6-GA</version>
</parent>
<artifactId>exo.kernel.component.common</artifactId>
Modified: kernel/trunk/exo.kernel.component.ext.cache.impl.infinispan.v5/pom.xml
===================================================================
--- kernel/trunk/exo.kernel.component.ext.cache.impl.infinispan.v5/pom.xml 2012-02-10 14:24:40 UTC (rev 5605)
+++ kernel/trunk/exo.kernel.component.ext.cache.impl.infinispan.v5/pom.xml 2012-02-13 07:33:45 UTC (rev 5606)
@@ -9,7 +9,7 @@
<parent>
<groupId>org.exoplatform.kernel</groupId>
<artifactId>kernel-parent</artifactId>
- <version>2.3.6-GA-SNAPSHOT</version>
+ <version>2.3.6-GA</version>
</parent>
<artifactId>exo.kernel.component.ext.cache.impl.infinispan.v5</artifactId>
<name>eXo Kernel :: Cache Extension :: Infinispan Implementation</name>
Modified: kernel/trunk/exo.kernel.component.ext.cache.impl.jboss.v3/pom.xml
===================================================================
--- kernel/trunk/exo.kernel.component.ext.cache.impl.jboss.v3/pom.xml 2012-02-10 14:24:40 UTC (rev 5605)
+++ kernel/trunk/exo.kernel.component.ext.cache.impl.jboss.v3/pom.xml 2012-02-13 07:33:45 UTC (rev 5606)
@@ -23,7 +23,7 @@
<parent>
<groupId>org.exoplatform.kernel</groupId>
<artifactId>kernel-parent</artifactId>
- <version>2.3.6-GA-SNAPSHOT</version>
+ <version>2.3.6-GA</version>
</parent>
<artifactId>exo.kernel.component.ext.cache.impl.jboss.v3</artifactId>
<name>eXo Kernel :: Cache Extension :: JBoss Cache Implementation</name>
Modified: kernel/trunk/exo.kernel.component.ext.rpc.impl.jgroups.v3/pom.xml
===================================================================
--- kernel/trunk/exo.kernel.component.ext.rpc.impl.jgroups.v3/pom.xml 2012-02-10 14:24:40 UTC (rev 5605)
+++ kernel/trunk/exo.kernel.component.ext.rpc.impl.jgroups.v3/pom.xml 2012-02-13 07:33:45 UTC (rev 5606)
@@ -23,7 +23,7 @@
<parent>
<groupId>org.exoplatform.kernel</groupId>
<artifactId>kernel-parent</artifactId>
- <version>2.3.6-GA-SNAPSHOT</version>
+ <version>2.3.6-GA</version>
</parent>
<artifactId>exo.kernel.component.ext.rpc.impl.jgroups.v3</artifactId>
<name>eXo Kernel :: RPC Service Extension :: JGroups 3 Implementation</name>
Modified: kernel/trunk/exo.kernel.container/pom.xml
===================================================================
--- kernel/trunk/exo.kernel.container/pom.xml 2012-02-10 14:24:40 UTC (rev 5605)
+++ kernel/trunk/exo.kernel.container/pom.xml 2012-02-13 07:33:45 UTC (rev 5606)
@@ -12,7 +12,7 @@
<parent>
<groupId>org.exoplatform.kernel</groupId>
<artifactId>kernel-parent</artifactId>
- <version>2.3.6-GA-SNAPSHOT</version>
+ <version>2.3.6-GA</version>
</parent>
<artifactId>exo.kernel.container</artifactId>
<name>eXo Kernel :: Container</name>
Modified: kernel/trunk/exo.kernel.mc-integration/exo.kernel.mc-int/pom.xml
===================================================================
--- kernel/trunk/exo.kernel.mc-integration/exo.kernel.mc-int/pom.xml 2012-02-10 14:24:40 UTC (rev 5605)
+++ kernel/trunk/exo.kernel.mc-integration/exo.kernel.mc-int/pom.xml 2012-02-13 07:33:45 UTC (rev 5606)
@@ -6,7 +6,7 @@
<parent>
<groupId>org.exoplatform.kernel</groupId>
<artifactId>mc-integration-parent</artifactId>
- <version>2.3.6-GA-SNAPSHOT</version>
+ <version>2.3.6-GA</version>
</parent>
<artifactId>exo.kernel.mc-int</artifactId>
Modified: kernel/trunk/exo.kernel.mc-integration/exo.kernel.mc-int-demo/pom.xml
===================================================================
--- kernel/trunk/exo.kernel.mc-integration/exo.kernel.mc-int-demo/pom.xml 2012-02-10 14:24:40 UTC (rev 5605)
+++ kernel/trunk/exo.kernel.mc-integration/exo.kernel.mc-int-demo/pom.xml 2012-02-13 07:33:45 UTC (rev 5606)
@@ -5,7 +5,7 @@
<parent>
<groupId>org.exoplatform.kernel</groupId>
<artifactId>mc-integration-parent</artifactId>
- <version>2.3.6-GA-SNAPSHOT</version>
+ <version>2.3.6-GA</version>
</parent>
<artifactId>exo.kernel.mc-int-demo</artifactId>
Modified: kernel/trunk/exo.kernel.mc-integration/exo.kernel.mc-int-tests/pom.xml
===================================================================
--- kernel/trunk/exo.kernel.mc-integration/exo.kernel.mc-int-tests/pom.xml 2012-02-10 14:24:40 UTC (rev 5605)
+++ kernel/trunk/exo.kernel.mc-integration/exo.kernel.mc-int-tests/pom.xml 2012-02-13 07:33:45 UTC (rev 5606)
@@ -5,7 +5,7 @@
<parent>
<groupId>org.exoplatform.kernel</groupId>
<artifactId>mc-integration-parent</artifactId>
- <version>2.3.6-GA-SNAPSHOT</version>
+ <version>2.3.6-GA</version>
</parent>
<artifactId>exo.kernel.mc-int-tests</artifactId>
Modified: kernel/trunk/exo.kernel.mc-integration/exo.kernel.mc-kernel-extras/pom.xml
===================================================================
--- kernel/trunk/exo.kernel.mc-integration/exo.kernel.mc-kernel-extras/pom.xml 2012-02-10 14:24:40 UTC (rev 5605)
+++ kernel/trunk/exo.kernel.mc-integration/exo.kernel.mc-kernel-extras/pom.xml 2012-02-13 07:33:45 UTC (rev 5606)
@@ -6,7 +6,7 @@
<parent>
<groupId>org.exoplatform.kernel</groupId>
<artifactId>mc-integration-parent</artifactId>
- <version>2.3.6-GA-SNAPSHOT</version>
+ <version>2.3.6-GA</version>
</parent>
<artifactId>exo.kernel.mc-kernel-extras</artifactId>
Modified: kernel/trunk/exo.kernel.mc-integration/pom.xml
===================================================================
--- kernel/trunk/exo.kernel.mc-integration/pom.xml 2012-02-10 14:24:40 UTC (rev 5605)
+++ kernel/trunk/exo.kernel.mc-integration/pom.xml 2012-02-13 07:33:45 UTC (rev 5606)
@@ -6,7 +6,7 @@
<parent>
<groupId>org.exoplatform.kernel</groupId>
<artifactId>kernel-parent</artifactId>
- <version>2.3.6-GA-SNAPSHOT</version>
+ <version>2.3.6-GA</version>
</parent>
<artifactId>mc-integration-parent</artifactId>
Modified: kernel/trunk/packaging/module/pom.xml
===================================================================
--- kernel/trunk/packaging/module/pom.xml 2012-02-10 14:24:40 UTC (rev 5605)
+++ kernel/trunk/packaging/module/pom.xml 2012-02-13 07:33:45 UTC (rev 5606)
@@ -2,7 +2,7 @@
<parent>
<groupId>org.exoplatform.kernel</groupId>
<artifactId>kernel-parent</artifactId>
- <version>2.3.6-GA-SNAPSHOT</version>
+ <version>2.3.6-GA</version>
<relativePath>../../pom.xml</relativePath>
</parent>
Modified: kernel/trunk/pom.xml
===================================================================
--- kernel/trunk/pom.xml 2012-02-10 14:24:40 UTC (rev 5605)
+++ kernel/trunk/pom.xml 2012-02-13 07:33:45 UTC (rev 5606)
@@ -30,7 +30,7 @@
<groupId>org.exoplatform.kernel</groupId>
<artifactId>kernel-parent</artifactId>
- <version>2.3.6-GA-SNAPSHOT</version>
+ <version>2.3.6-GA</version>
<packaging>pom</packaging>
<name>eXo Kernel</name>
@@ -43,9 +43,9 @@
</properties>
<scm>
- <connection>scm:svn:http://anonsvn.jboss.org/repos/exo-jcr/kernel/trunk</connection>
- <developerConnection>scm:svn:https://svn.jboss.org/repos/exo-jcr/kernel/trunk</developerConnection>
- <url>http://fisheye.jboss.org/browse/exo-jcr/kernel/trunk</url>
+ <connection>scm:svn:http://anonsvn.jboss.org/repos/exo-jcr/kernel/tags/2.3.6-GA</connection>
+ <developerConnection>scm:svn:https://svn.jboss.org/repos/exo-jcr/kernel/tags/2.3.6-GA</developerConnection>
+ <url>http://fisheye.jboss.org/browse/exo-jcr/kernel/tags/2.3.6-GA</url>
</scm>
<modules>
12 years, 4 months
exo-jcr SVN: r5605 - jcr/branches/1.15.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/jbosscache.
by do-not-reply@jboss.org
Author: nzamosenchuk
Date: 2012-02-10 09:24:40 -0500 (Fri, 10 Feb 2012)
New Revision: 5605
Modified:
jcr/branches/1.15.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/jbosscache/JBossCacheIndexChangesFilter.java
Log:
EXOJCR-1747 : merging RSYNC brainch into 1.15.x
Modified: jcr/branches/1.15.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/jbosscache/JBossCacheIndexChangesFilter.java
===================================================================
--- jcr/branches/1.15.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/jbosscache/JBossCacheIndexChangesFilter.java 2012-02-10 14:18:09 UTC (rev 5604)
+++ jcr/branches/1.15.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/jbosscache/JBossCacheIndexChangesFilter.java 2012-02-10 14:24:40 UTC (rev 5605)
@@ -219,13 +219,15 @@
// read RSYNC configuration
String rsyncEntryName = config.getParameterValue(PARAM_RSYNC_ENTRY_NAME, null);
String rsyncEntryPath = config.getParameterValue(PARAM_RSYNC_ENTRY_PATH, null);
+ String rsyncUserName = config.getParameterValue(PARAM_RSYNC_USER, null);
+ String rsyncPassword = config.getParameterValue(PARAM_RSYNC_PASSWORD, null);
int rsyncPort = config.getParameterInteger(PARAM_RSYNC_PORT, PARAM_RSYNC_PORT_DEFAULT);
// rsync configured
if (rsyncEntryName != null)
{
return new RsyncIndexInfos(rootFqn, cache, system, modeHandler, ((SearchIndex)handler).getContext()
- .getIndexDirectory(), rsyncPort, rsyncEntryName, rsyncEntryPath);
+ .getIndexDirectory(), rsyncPort, rsyncEntryName, rsyncEntryPath, rsyncUserName, rsyncPassword);
}
else
{
12 years, 4 months
exo-jcr SVN: r5604 - in kernel/trunk: exo.kernel.component.cache/src/main/java/org/exoplatform/services/cache/impl and 9 other directories.
by do-not-reply@jboss.org
Author: andrew.plotnikov
Date: 2012-02-10 09:18:09 -0500 (Fri, 10 Feb 2012)
New Revision: 5604
Modified:
kernel/trunk/exo.kernel.component.cache/src/main/java/org/exoplatform/services/cache/ExoCacheConfig.java
kernel/trunk/exo.kernel.component.cache/src/main/java/org/exoplatform/services/cache/impl/CacheServiceImpl.java
kernel/trunk/exo.kernel.component.common/src/main/java/org/exoplatform/services/jdbc/impl/ManagedDataSource.java
kernel/trunk/exo.kernel.component.common/src/main/java/org/exoplatform/services/net/impl/NetServiceImpl.java
kernel/trunk/exo.kernel.component.common/src/main/java/org/exoplatform/services/scheduler/impl/QuartzSheduler.java
kernel/trunk/exo.kernel.component.ext.cache.impl.jboss.v3/src/main/java/org/exoplatform/services/cache/impl/jboss/ExoCacheFactoryImpl.java
kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/StandaloneContainer.java
kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/management/ManageableContainer.java
kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/util/ExoWurflSource.java
kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/management/jmx/impl/JMXManagementProvider.java
kernel/trunk/exo.kernel.mc-integration/exo.kernel.mc-int/src/main/java/org/exoplatform/container/mc/impl/MCIntConfig.java
Log:
EXOJCR-1725: Fixed the Blocker/Critical violations and the easiest Major ones raised by eXo Quality Level 1.2
Modified: kernel/trunk/exo.kernel.component.cache/src/main/java/org/exoplatform/services/cache/ExoCacheConfig.java
===================================================================
--- kernel/trunk/exo.kernel.component.cache/src/main/java/org/exoplatform/services/cache/ExoCacheConfig.java 2012-02-10 14:00:29 UTC (rev 5603)
+++ kernel/trunk/exo.kernel.component.cache/src/main/java/org/exoplatform/services/cache/ExoCacheConfig.java 2012-02-10 14:18:09 UTC (rev 5604)
@@ -175,13 +175,6 @@
@Override
public ExoCacheConfig clone() throws CloneNotSupportedException
{
- try
- {
- return (ExoCacheConfig)super.clone();
- }
- catch (Exception e)
- {
- throw new AssertionError();
- }
+ return (ExoCacheConfig)super.clone();
}
}
Modified: kernel/trunk/exo.kernel.component.cache/src/main/java/org/exoplatform/services/cache/impl/CacheServiceImpl.java
===================================================================
--- kernel/trunk/exo.kernel.component.cache/src/main/java/org/exoplatform/services/cache/impl/CacheServiceImpl.java 2012-02-10 14:00:29 UTC (rev 5603)
+++ kernel/trunk/exo.kernel.component.cache/src/main/java/org/exoplatform/services/cache/impl/CacheServiceImpl.java 2012-02-10 14:18:09 UTC (rev 5604)
@@ -221,13 +221,27 @@
{
cache = task.get();
}
- catch (Exception e)
+ catch (CancellationException e)
{
if (LOG.isTraceEnabled())
{
LOG.trace("An exception occurred: " + e.getMessage());
}
}
+ catch (InterruptedException e)
+ {
+ if (LOG.isTraceEnabled())
+ {
+ LOG.trace("An exception occurred: " + e.getMessage());
+ }
+ }
+ catch (ExecutionException e)
+ {
+ if (LOG.isTraceEnabled())
+ {
+ LOG.trace("An exception occurred: " + e.getMessage());
+ }
+ }
if (cache != null)
{
caches.add(cache);
@@ -288,11 +302,31 @@
final Class clazz = cl.loadClass(config.getImplementation());
return (ExoCache)clazz.newInstance();
}
- catch (Exception e)
+ catch (ExceptionInInitializerError e)
{
throw new ExoCacheInitException("Cannot create instance of ExoCache of type "
+ config.getImplementation(), e);
}
+ catch (SecurityException e)
+ {
+ throw new ExoCacheInitException("Cannot create instance of ExoCache of type "
+ + config.getImplementation(), e);
+ }
+ catch (ClassNotFoundException e)
+ {
+ throw new ExoCacheInitException("Cannot create instance of ExoCache of type "
+ + config.getImplementation(), e);
+ }
+ catch (InstantiationException e)
+ {
+ throw new ExoCacheInitException("Cannot create instance of ExoCache of type "
+ + config.getImplementation(), e);
+ }
+ catch (IllegalAccessException e)
+ {
+ throw new ExoCacheInitException("Cannot create instance of ExoCache of type "
+ + config.getImplementation(), e);
+ }
}
}
}
Modified: kernel/trunk/exo.kernel.component.common/src/main/java/org/exoplatform/services/jdbc/impl/ManagedDataSource.java
===================================================================
--- kernel/trunk/exo.kernel.component.common/src/main/java/org/exoplatform/services/jdbc/impl/ManagedDataSource.java 2012-02-10 14:00:29 UTC (rev 5603)
+++ kernel/trunk/exo.kernel.component.common/src/main/java/org/exoplatform/services/jdbc/impl/ManagedDataSource.java 2012-02-10 14:18:09 UTC (rev 5604)
@@ -27,6 +27,7 @@
import javax.sql.DataSource;
import javax.transaction.Status;
+import javax.transaction.SystemException;
import javax.transaction.TransactionManager;
/**
@@ -145,7 +146,7 @@
{
return tm != null && tm.getStatus() != Status.STATUS_NO_TRANSACTION;
}
- catch (Exception e)
+ catch (SystemException e)
{
LOG.warn("We cannot know if a global tx is active", e);
}
Modified: kernel/trunk/exo.kernel.component.common/src/main/java/org/exoplatform/services/net/impl/NetServiceImpl.java
===================================================================
--- kernel/trunk/exo.kernel.component.common/src/main/java/org/exoplatform/services/net/impl/NetServiceImpl.java 2012-02-10 14:00:29 UTC (rev 5603)
+++ kernel/trunk/exo.kernel.component.common/src/main/java/org/exoplatform/services/net/impl/NetServiceImpl.java 2012-02-10 14:18:09 UTC (rev 5604)
@@ -22,6 +22,7 @@
import org.exoplatform.services.net.NetService;
import java.net.Socket;
+import java.security.PrivilegedActionException;
import java.security.PrivilegedExceptionAction;
/**
@@ -47,7 +48,7 @@
});
endTime = System.currentTimeMillis();
}
- catch (Exception e)
+ catch (PrivilegedActionException e)
{
// e.printStackTrace() ;
return -1;
Modified: kernel/trunk/exo.kernel.component.common/src/main/java/org/exoplatform/services/scheduler/impl/QuartzSheduler.java
===================================================================
--- kernel/trunk/exo.kernel.component.common/src/main/java/org/exoplatform/services/scheduler/impl/QuartzSheduler.java 2012-02-10 14:00:29 UTC (rev 5603)
+++ kernel/trunk/exo.kernel.component.common/src/main/java/org/exoplatform/services/scheduler/impl/QuartzSheduler.java 2012-02-10 14:18:09 UTC (rev 5604)
@@ -106,7 +106,7 @@
{
scheduler_.shutdown();
}
- catch (Exception ex)
+ catch (SchedulerException ex)
{
log.warn("Could not shutdown the scheduler", ex);
}
Modified: kernel/trunk/exo.kernel.component.ext.cache.impl.jboss.v3/src/main/java/org/exoplatform/services/cache/impl/jboss/ExoCacheFactoryImpl.java
===================================================================
--- kernel/trunk/exo.kernel.component.ext.cache.impl.jboss.v3/src/main/java/org/exoplatform/services/cache/impl/jboss/ExoCacheFactoryImpl.java 2012-02-10 14:00:29 UTC (rev 5603)
+++ kernel/trunk/exo.kernel.component.ext.cache.impl.jboss.v3/src/main/java/org/exoplatform/services/cache/impl/jboss/ExoCacheFactoryImpl.java 2012-02-10 14:18:09 UTC (rev 5604)
@@ -242,7 +242,7 @@
}
};
}
- catch (Exception e)
+ catch (IllegalArgumentException e)
{
LOG.error("Could not create the JMX Manager", e);
}
Modified: kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/StandaloneContainer.java
===================================================================
--- kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/StandaloneContainer.java 2012-02-10 14:00:29 UTC (rev 5603)
+++ kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/StandaloneContainer.java 2012-02-10 14:18:09 UTC (rev 5604)
@@ -36,6 +36,7 @@
import org.exoplatform.services.log.Log;
import java.io.File;
+import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.security.PrivilegedAction;
@@ -354,7 +355,7 @@
{
SecurityHelper.doPrivilegedIOExceptionAction(new PrivilegedExceptionAction<Void>()
{
- public Void run() throws Exception
+ public Void run() throws IOException
{
url.openStream().close();
return null;
@@ -362,7 +363,7 @@
});
return true;
}
- catch (Exception e)
+ catch (IOException e)
{
return false;
}
Modified: kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/management/ManageableContainer.java
===================================================================
--- kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/management/ManageableContainer.java 2012-02-10 14:00:29 UTC (rev 5603)
+++ kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/management/ManageableContainer.java 2012-02-10 14:18:09 UTC (rev 5604)
@@ -46,6 +46,7 @@
import java.util.Set;
import javax.management.MBeanServer;
+import javax.management.MalformedObjectNameException;
import javax.management.ObjectName;
/**
@@ -201,7 +202,7 @@
{
this.objectName = JMX.createObjectName("exo", props);
}
- catch (Exception e)
+ catch (MalformedObjectNameException e)
{
LOG.error("Could not create the object name", e);
}
Modified: kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/util/ExoWurflSource.java
===================================================================
--- kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/util/ExoWurflSource.java 2012-02-10 14:00:29 UTC (rev 5603)
+++ kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/util/ExoWurflSource.java 2012-02-10 14:18:09 UTC (rev 5604)
@@ -21,6 +21,7 @@
import org.exoplatform.services.log.ExoLogger;
import org.exoplatform.services.log.Log;
+import java.io.IOException;
import java.io.InputStream;
//import net.sourceforge.wurfl.wurflapi.WurflSource;
@@ -41,7 +42,7 @@
{
return wurflUrl.openStream();
}
- catch (Exception e)
+ catch (IOException e)
{
LOG.error(e.getLocalizedMessage(), e);
return null;
Modified: kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/management/jmx/impl/JMXManagementProvider.java
===================================================================
--- kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/management/jmx/impl/JMXManagementProvider.java 2012-02-10 14:00:29 UTC (rev 5603)
+++ kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/management/jmx/impl/JMXManagementProvider.java 2012-02-10 14:18:09 UTC (rev 5604)
@@ -32,11 +32,14 @@
import java.util.Map;
import javax.management.InstanceNotFoundException;
+import javax.management.MBeanException;
import javax.management.MBeanRegistrationException;
import javax.management.MBeanServer;
import javax.management.MBeanServerFactory;
import javax.management.MalformedObjectNameException;
import javax.management.ObjectName;
+import javax.management.RuntimeOperationsException;
+import javax.management.modelmbean.InvalidTargetObjectTypeException;
import javax.management.modelmbean.ModelMBeanInfo;
/**
@@ -73,11 +76,41 @@
ModelMBeanInfo info = infoBuilder.build();
mbean = new ExoModelMBean(context, context.getResource(), info);
}
- catch (Exception e)
+ catch (IllegalArgumentException e)
{
- LOG.warn("Could not create the ExoModelMBean for the class " +
- (context == null ? null : (context.getResource() == null ? null : context.getResource().getClass())), e);
+ LOG.warn(
+ "Could not create the ExoModelMBean for the class "
+ + (context == null ? null : (context.getResource() == null ? null : context.getResource().getClass())),
+ e);
}
+ catch (RuntimeOperationsException e)
+ {
+ LOG.warn(
+ "Could not create the ExoModelMBean for the class "
+ + (context == null ? null : (context.getResource() == null ? null : context.getResource().getClass())),
+ e);
+ }
+ catch (InstanceNotFoundException e)
+ {
+ LOG.warn(
+ "Could not create the ExoModelMBean for the class "
+ + (context == null ? null : (context.getResource() == null ? null : context.getResource().getClass())),
+ e);
+ }
+ catch (MBeanException e)
+ {
+ LOG.warn(
+ "Could not create the ExoModelMBean for the class "
+ + (context == null ? null : (context.getResource() == null ? null : context.getResource().getClass())),
+ e);
+ }
+ catch (InvalidTargetObjectTypeException e)
+ {
+ LOG.warn(
+ "Could not create the ExoModelMBean for the class "
+ + (context == null ? null : (context.getResource() == null ? null : context.getResource().getClass())),
+ e);
+ }
//
if (mbean != null)
@@ -166,7 +199,7 @@
}
});
}
- catch (Exception e)
+ catch (PrivilegedActionException e)
{
throw new RuntimeException("Failed to unregister MBean '" + name + " due to " + e.getMessage(), e);
}
@@ -182,7 +215,7 @@
}
});
}
- catch (Exception e)
+ catch (PrivilegedActionException e)
{
throw new RuntimeException("Failed to register MBean '" + name + " due to " + e.getMessage(), e);
}
Modified: kernel/trunk/exo.kernel.mc-integration/exo.kernel.mc-int/src/main/java/org/exoplatform/container/mc/impl/MCIntConfig.java
===================================================================
--- kernel/trunk/exo.kernel.mc-integration/exo.kernel.mc-int/src/main/java/org/exoplatform/container/mc/impl/MCIntConfig.java 2012-02-10 14:00:29 UTC (rev 5603)
+++ kernel/trunk/exo.kernel.mc-integration/exo.kernel.mc-int/src/main/java/org/exoplatform/container/mc/impl/MCIntConfig.java 2012-02-10 14:18:09 UTC (rev 5604)
@@ -26,6 +26,7 @@
import org.jboss.beans.metadata.plugins.AbstractBeanMetaData;
import org.jboss.beans.metadata.spi.BeanMetaData;
import org.jboss.kernel.spi.deployment.KernelDeployment;
+import org.jboss.xb.binding.JBossXBException;
import org.jboss.xb.binding.Unmarshaller;
import org.jboss.xb.binding.UnmarshallerFactory;
import org.jboss.xb.binding.resolver.MutableSchemaResolver;
@@ -233,7 +234,7 @@
{
deployment = (KernelDeployment) unmarshaller.unmarshal(url.toString(), resolver);
}
- catch (Exception e)
+ catch (JBossXBException e)
{
throw new RuntimeException("Failed to parse xml " + url, e);
}
12 years, 4 months
exo-jcr SVN: r5603 - in kernel/branches/2.4.x: exo.kernel.component.cache/src/main/java/org/exoplatform/services/cache/impl and 9 other directories.
by do-not-reply@jboss.org
Author: andrew.plotnikov
Date: 2012-02-10 09:00:29 -0500 (Fri, 10 Feb 2012)
New Revision: 5603
Modified:
kernel/branches/2.4.x/exo.kernel.component.cache/src/main/java/org/exoplatform/services/cache/ExoCacheConfig.java
kernel/branches/2.4.x/exo.kernel.component.cache/src/main/java/org/exoplatform/services/cache/impl/CacheServiceImpl.java
kernel/branches/2.4.x/exo.kernel.component.common/src/main/java/org/exoplatform/services/jdbc/impl/ManagedDataSource.java
kernel/branches/2.4.x/exo.kernel.component.common/src/main/java/org/exoplatform/services/net/impl/NetServiceImpl.java
kernel/branches/2.4.x/exo.kernel.component.common/src/main/java/org/exoplatform/services/scheduler/impl/QuartzSheduler.java
kernel/branches/2.4.x/exo.kernel.component.ext.cache.impl.jboss.v3/src/main/java/org/exoplatform/services/cache/impl/jboss/ExoCacheFactoryImpl.java
kernel/branches/2.4.x/exo.kernel.container/src/main/java/org/exoplatform/container/StandaloneContainer.java
kernel/branches/2.4.x/exo.kernel.container/src/main/java/org/exoplatform/container/management/ManageableContainer.java
kernel/branches/2.4.x/exo.kernel.container/src/main/java/org/exoplatform/container/util/ExoWurflSource.java
kernel/branches/2.4.x/exo.kernel.container/src/main/java/org/exoplatform/management/jmx/impl/JMXManagementProvider.java
kernel/branches/2.4.x/exo.kernel.mc-integration/exo.kernel.mc-int/src/main/java/org/exoplatform/container/mc/impl/MCIntConfig.java
Log:
EXOJCR-1725: Fixed the Blocker/Critical violations and the easiest Major ones raised by eXo Quality Level 1.2
Modified: kernel/branches/2.4.x/exo.kernel.component.cache/src/main/java/org/exoplatform/services/cache/ExoCacheConfig.java
===================================================================
--- kernel/branches/2.4.x/exo.kernel.component.cache/src/main/java/org/exoplatform/services/cache/ExoCacheConfig.java 2012-02-10 13:04:52 UTC (rev 5602)
+++ kernel/branches/2.4.x/exo.kernel.component.cache/src/main/java/org/exoplatform/services/cache/ExoCacheConfig.java 2012-02-10 14:00:29 UTC (rev 5603)
@@ -175,13 +175,6 @@
@Override
public ExoCacheConfig clone() throws CloneNotSupportedException
{
- try
- {
- return (ExoCacheConfig)super.clone();
- }
- catch (Exception e)
- {
- throw new AssertionError();
- }
+ return (ExoCacheConfig)super.clone();
}
}
Modified: kernel/branches/2.4.x/exo.kernel.component.cache/src/main/java/org/exoplatform/services/cache/impl/CacheServiceImpl.java
===================================================================
--- kernel/branches/2.4.x/exo.kernel.component.cache/src/main/java/org/exoplatform/services/cache/impl/CacheServiceImpl.java 2012-02-10 13:04:52 UTC (rev 5602)
+++ kernel/branches/2.4.x/exo.kernel.component.cache/src/main/java/org/exoplatform/services/cache/impl/CacheServiceImpl.java 2012-02-10 14:00:29 UTC (rev 5603)
@@ -222,13 +222,27 @@
{
cache = task.get();
}
- catch (Exception e)
+ catch (CancellationException e)
{
if (LOG.isTraceEnabled())
{
LOG.trace("An exception occurred: " + e.getMessage());
}
}
+ catch (InterruptedException e)
+ {
+ if (LOG.isTraceEnabled())
+ {
+ LOG.trace("An exception occurred: " + e.getMessage());
+ }
+ }
+ catch (ExecutionException e)
+ {
+ if (LOG.isTraceEnabled())
+ {
+ LOG.trace("An exception occurred: " + e.getMessage());
+ }
+ }
if (cache != null)
{
caches.add(cache);
@@ -284,11 +298,31 @@
final Class<?> clazz = ClassLoading.loadClass(config.getImplementation(), this);
return (ExoCache)clazz.newInstance();
}
- catch (Exception e)
+ catch (ExceptionInInitializerError e)
{
throw new ExoCacheInitException("Cannot create instance of ExoCache of type "
+ config.getImplementation(), e);
}
+ catch (SecurityException e)
+ {
+ throw new ExoCacheInitException("Cannot create instance of ExoCache of type "
+ + config.getImplementation(), e);
+ }
+ catch (ClassNotFoundException e)
+ {
+ throw new ExoCacheInitException("Cannot create instance of ExoCache of type "
+ + config.getImplementation(), e);
+ }
+ catch (InstantiationException e)
+ {
+ throw new ExoCacheInitException("Cannot create instance of ExoCache of type "
+ + config.getImplementation(), e);
+ }
+ catch (IllegalAccessException e)
+ {
+ throw new ExoCacheInitException("Cannot create instance of ExoCache of type "
+ + config.getImplementation(), e);
+ }
}
}
}
Modified: kernel/branches/2.4.x/exo.kernel.component.common/src/main/java/org/exoplatform/services/jdbc/impl/ManagedDataSource.java
===================================================================
--- kernel/branches/2.4.x/exo.kernel.component.common/src/main/java/org/exoplatform/services/jdbc/impl/ManagedDataSource.java 2012-02-10 13:04:52 UTC (rev 5602)
+++ kernel/branches/2.4.x/exo.kernel.component.common/src/main/java/org/exoplatform/services/jdbc/impl/ManagedDataSource.java 2012-02-10 14:00:29 UTC (rev 5603)
@@ -27,6 +27,7 @@
import javax.sql.DataSource;
import javax.transaction.Status;
+import javax.transaction.SystemException;
import javax.transaction.TransactionManager;
/**
@@ -145,7 +146,7 @@
{
return tm != null && tm.getStatus() != Status.STATUS_NO_TRANSACTION;
}
- catch (Exception e)
+ catch (SystemException e)
{
LOG.warn("We cannot know if a global tx is active", e);
}
Modified: kernel/branches/2.4.x/exo.kernel.component.common/src/main/java/org/exoplatform/services/net/impl/NetServiceImpl.java
===================================================================
--- kernel/branches/2.4.x/exo.kernel.component.common/src/main/java/org/exoplatform/services/net/impl/NetServiceImpl.java 2012-02-10 13:04:52 UTC (rev 5602)
+++ kernel/branches/2.4.x/exo.kernel.component.common/src/main/java/org/exoplatform/services/net/impl/NetServiceImpl.java 2012-02-10 14:00:29 UTC (rev 5603)
@@ -22,6 +22,7 @@
import org.exoplatform.services.net.NetService;
import java.net.Socket;
+import java.security.PrivilegedActionException;
import java.security.PrivilegedExceptionAction;
/**
@@ -47,7 +48,7 @@
});
endTime = System.currentTimeMillis();
}
- catch (Exception e)
+ catch (PrivilegedActionException e)
{
// e.printStackTrace() ;
return -1;
Modified: kernel/branches/2.4.x/exo.kernel.component.common/src/main/java/org/exoplatform/services/scheduler/impl/QuartzSheduler.java
===================================================================
--- kernel/branches/2.4.x/exo.kernel.component.common/src/main/java/org/exoplatform/services/scheduler/impl/QuartzSheduler.java 2012-02-10 13:04:52 UTC (rev 5602)
+++ kernel/branches/2.4.x/exo.kernel.component.common/src/main/java/org/exoplatform/services/scheduler/impl/QuartzSheduler.java 2012-02-10 14:00:29 UTC (rev 5603)
@@ -106,7 +106,7 @@
{
scheduler_.shutdown();
}
- catch (Exception ex)
+ catch (SchedulerException ex)
{
log.warn("Could not shutdown the scheduler", ex);
}
Modified: kernel/branches/2.4.x/exo.kernel.component.ext.cache.impl.jboss.v3/src/main/java/org/exoplatform/services/cache/impl/jboss/ExoCacheFactoryImpl.java
===================================================================
--- kernel/branches/2.4.x/exo.kernel.component.ext.cache.impl.jboss.v3/src/main/java/org/exoplatform/services/cache/impl/jboss/ExoCacheFactoryImpl.java 2012-02-10 13:04:52 UTC (rev 5602)
+++ kernel/branches/2.4.x/exo.kernel.component.ext.cache.impl.jboss.v3/src/main/java/org/exoplatform/services/cache/impl/jboss/ExoCacheFactoryImpl.java 2012-02-10 14:00:29 UTC (rev 5603)
@@ -242,7 +242,7 @@
}
};
}
- catch (Exception e)
+ catch (IllegalArgumentException e)
{
LOG.error("Could not create the JMX Manager", e);
}
Modified: kernel/branches/2.4.x/exo.kernel.container/src/main/java/org/exoplatform/container/StandaloneContainer.java
===================================================================
--- kernel/branches/2.4.x/exo.kernel.container/src/main/java/org/exoplatform/container/StandaloneContainer.java 2012-02-10 13:04:52 UTC (rev 5602)
+++ kernel/branches/2.4.x/exo.kernel.container/src/main/java/org/exoplatform/container/StandaloneContainer.java 2012-02-10 14:00:29 UTC (rev 5603)
@@ -36,6 +36,7 @@
import org.exoplatform.services.log.Log;
import java.io.File;
+import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.security.PrivilegedAction;
@@ -354,7 +355,7 @@
{
SecurityHelper.doPrivilegedIOExceptionAction(new PrivilegedExceptionAction<Void>()
{
- public Void run() throws Exception
+ public Void run() throws IOException
{
url.openStream().close();
return null;
@@ -362,7 +363,7 @@
});
return true;
}
- catch (Exception e)
+ catch (IOException e)
{
return false;
}
Modified: kernel/branches/2.4.x/exo.kernel.container/src/main/java/org/exoplatform/container/management/ManageableContainer.java
===================================================================
--- kernel/branches/2.4.x/exo.kernel.container/src/main/java/org/exoplatform/container/management/ManageableContainer.java 2012-02-10 13:04:52 UTC (rev 5602)
+++ kernel/branches/2.4.x/exo.kernel.container/src/main/java/org/exoplatform/container/management/ManageableContainer.java 2012-02-10 14:00:29 UTC (rev 5603)
@@ -46,6 +46,7 @@
import java.util.Set;
import javax.management.MBeanServer;
+import javax.management.MalformedObjectNameException;
import javax.management.ObjectName;
/**
@@ -201,7 +202,7 @@
{
this.objectName = JMX.createObjectName("exo", props);
}
- catch (Exception e)
+ catch (MalformedObjectNameException e)
{
LOG.error("Could not create the object name", e);
}
Modified: kernel/branches/2.4.x/exo.kernel.container/src/main/java/org/exoplatform/container/util/ExoWurflSource.java
===================================================================
--- kernel/branches/2.4.x/exo.kernel.container/src/main/java/org/exoplatform/container/util/ExoWurflSource.java 2012-02-10 13:04:52 UTC (rev 5602)
+++ kernel/branches/2.4.x/exo.kernel.container/src/main/java/org/exoplatform/container/util/ExoWurflSource.java 2012-02-10 14:00:29 UTC (rev 5603)
@@ -21,6 +21,7 @@
import org.exoplatform.services.log.ExoLogger;
import org.exoplatform.services.log.Log;
+import java.io.IOException;
import java.io.InputStream;
//import net.sourceforge.wurfl.wurflapi.WurflSource;
@@ -41,7 +42,7 @@
{
return wurflUrl.openStream();
}
- catch (Exception e)
+ catch (IOException e)
{
LOG.error(e.getLocalizedMessage(), e);
return null;
Modified: kernel/branches/2.4.x/exo.kernel.container/src/main/java/org/exoplatform/management/jmx/impl/JMXManagementProvider.java
===================================================================
--- kernel/branches/2.4.x/exo.kernel.container/src/main/java/org/exoplatform/management/jmx/impl/JMXManagementProvider.java 2012-02-10 13:04:52 UTC (rev 5602)
+++ kernel/branches/2.4.x/exo.kernel.container/src/main/java/org/exoplatform/management/jmx/impl/JMXManagementProvider.java 2012-02-10 14:00:29 UTC (rev 5603)
@@ -32,11 +32,14 @@
import java.util.Map;
import javax.management.InstanceNotFoundException;
+import javax.management.MBeanException;
import javax.management.MBeanRegistrationException;
import javax.management.MBeanServer;
import javax.management.MBeanServerFactory;
import javax.management.MalformedObjectNameException;
import javax.management.ObjectName;
+import javax.management.RuntimeOperationsException;
+import javax.management.modelmbean.InvalidTargetObjectTypeException;
import javax.management.modelmbean.ModelMBeanInfo;
/**
@@ -73,11 +76,41 @@
ModelMBeanInfo info = infoBuilder.build();
mbean = new ExoModelMBean(context, context.getResource(), info);
}
- catch (Exception e)
+ catch (IllegalArgumentException e)
{
- LOG.warn("Could not create the ExoModelMBean for the class " +
- (context == null ? null : (context.getResource() == null ? null : context.getResource().getClass())), e);
+ LOG.warn(
+ "Could not create the ExoModelMBean for the class "
+ + (context == null ? null : (context.getResource() == null ? null : context.getResource().getClass())),
+ e);
}
+ catch (RuntimeOperationsException e)
+ {
+ LOG.warn(
+ "Could not create the ExoModelMBean for the class "
+ + (context == null ? null : (context.getResource() == null ? null : context.getResource().getClass())),
+ e);
+ }
+ catch (InstanceNotFoundException e)
+ {
+ LOG.warn(
+ "Could not create the ExoModelMBean for the class "
+ + (context == null ? null : (context.getResource() == null ? null : context.getResource().getClass())),
+ e);
+ }
+ catch (MBeanException e)
+ {
+ LOG.warn(
+ "Could not create the ExoModelMBean for the class "
+ + (context == null ? null : (context.getResource() == null ? null : context.getResource().getClass())),
+ e);
+ }
+ catch (InvalidTargetObjectTypeException e)
+ {
+ LOG.warn(
+ "Could not create the ExoModelMBean for the class "
+ + (context == null ? null : (context.getResource() == null ? null : context.getResource().getClass())),
+ e);
+ }
//
if (mbean != null)
@@ -166,7 +199,7 @@
}
});
}
- catch (Exception e)
+ catch (PrivilegedActionException e)
{
throw new RuntimeException("Failed to unregister MBean '" + name + " due to " + e.getMessage(), e);
}
@@ -182,7 +215,7 @@
}
});
}
- catch (Exception e)
+ catch (PrivilegedActionException e)
{
throw new RuntimeException("Failed to register MBean '" + name + " due to " + e.getMessage(), e);
}
Modified: kernel/branches/2.4.x/exo.kernel.mc-integration/exo.kernel.mc-int/src/main/java/org/exoplatform/container/mc/impl/MCIntConfig.java
===================================================================
--- kernel/branches/2.4.x/exo.kernel.mc-integration/exo.kernel.mc-int/src/main/java/org/exoplatform/container/mc/impl/MCIntConfig.java 2012-02-10 13:04:52 UTC (rev 5602)
+++ kernel/branches/2.4.x/exo.kernel.mc-integration/exo.kernel.mc-int/src/main/java/org/exoplatform/container/mc/impl/MCIntConfig.java 2012-02-10 14:00:29 UTC (rev 5603)
@@ -26,6 +26,7 @@
import org.jboss.beans.metadata.plugins.AbstractBeanMetaData;
import org.jboss.beans.metadata.spi.BeanMetaData;
import org.jboss.kernel.spi.deployment.KernelDeployment;
+import org.jboss.xb.binding.JBossXBException;
import org.jboss.xb.binding.Unmarshaller;
import org.jboss.xb.binding.UnmarshallerFactory;
import org.jboss.xb.binding.resolver.MutableSchemaResolver;
@@ -233,7 +234,7 @@
{
deployment = (KernelDeployment) unmarshaller.unmarshal(url.toString(), resolver);
}
- catch (Exception e)
+ catch (JBossXBException e)
{
throw new RuntimeException("Failed to parse xml " + url, e);
}
12 years, 4 months
exo-jcr SVN: r5602 - jcr/branches/1.15.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/jbosscache.
by do-not-reply@jboss.org
Author: nzamosenchuk
Date: 2012-02-10 08:04:52 -0500 (Fri, 10 Feb 2012)
New Revision: 5602
Modified:
jcr/branches/1.15.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/jbosscache/JBossCacheIndexChangesFilter.java
Log:
EXOJCR-1747 : merging RSYNC brainch into 1.15.x
Modified: jcr/branches/1.15.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/jbosscache/JBossCacheIndexChangesFilter.java
===================================================================
--- jcr/branches/1.15.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/jbosscache/JBossCacheIndexChangesFilter.java 2012-02-10 13:00:38 UTC (rev 5601)
+++ jcr/branches/1.15.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/jbosscache/JBossCacheIndexChangesFilter.java 2012-02-10 13:04:52 UTC (rev 5602)
@@ -29,6 +29,8 @@
import org.exoplatform.services.jcr.impl.core.query.IndexingTree;
import org.exoplatform.services.jcr.impl.core.query.QueryHandler;
import org.exoplatform.services.jcr.impl.core.query.SearchManager;
+import org.exoplatform.services.jcr.impl.core.query.lucene.IndexInfos;
+import org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex;
import org.exoplatform.services.jcr.jbosscache.ExoJBossCacheFactory;
import org.exoplatform.services.jcr.jbosscache.ExoJBossCacheFactory.CacheType;
import org.exoplatform.services.jcr.jbosscache.PrivilegedJBossCacheHelper;
@@ -75,10 +77,25 @@
public static final Boolean PARAM_JBOSSCACHE_SHAREABLE_DEFAULT = Boolean.FALSE;
+ // RSYNC SERVER CONFIGURATION
+ public static final String PARAM_RSYNC_ENTRY_NAME = "rsync-entry-name";
+
+ public static final String PARAM_RSYNC_ENTRY_PATH = "rsync-entry-path";
+
+ public static final String PARAM_RSYNC_PORT = "rsync-port";
+
+ public static final int PARAM_RSYNC_PORT_DEFAULT = 873;
+
+ // TODO
+ public static final String PARAM_RSYNC_USER = "rsync-user";
+
+ public static final String PARAM_RSYNC_PASSWORD = "rsync-password";
+
+ // Fields
private final Cache<Serializable, Object> cache;
private final Fqn<String> rootFqn;
-
+
private final JmxRegistrationManager jmxManager;
public static final String LISTWRAPPER = "$lists".intern();
@@ -173,18 +190,50 @@
if (!parentHandler.isInitialized())
{
- parentHandler.setIndexInfos(new JBossCacheIndexInfos(rootFqn, cache, true, modeHandler));
+ parentHandler.setIndexInfos(createIndexInfos(true, modeHandler, config, parentHandler));
parentHandler.setIndexUpdateMonitor(new JBossCacheIndexUpdateMonitor(rootFqn, cache, true, modeHandler));
parentHandler.init();
}
if (!handler.isInitialized())
{
- handler.setIndexInfos(new JBossCacheIndexInfos(rootFqn, cache, false, modeHandler));
+ handler.setIndexInfos(createIndexInfos(false, modeHandler, config, handler));
handler.setIndexUpdateMonitor(new JBossCacheIndexUpdateMonitor(rootFqn, cache, false, modeHandler));
handler.init();
}
}
+ /**
+ * Factory method for creating corresponding IndexInfos class. RSyncIndexInfos created if RSync configured
+ * and JBossCacheIndexInfos otherwise
+ *
+ * @param system
+ * @param modeHandler
+ * @param config
+ * @param handler
+ * @return
+ * @throws RepositoryConfigurationException
+ */
+ private IndexInfos createIndexInfos(Boolean system, IndexerIoModeHandler modeHandler, QueryHandlerEntry config,
+ QueryHandler handler) throws RepositoryConfigurationException
+ {
+ // read RSYNC configuration
+ String rsyncEntryName = config.getParameterValue(PARAM_RSYNC_ENTRY_NAME, null);
+ String rsyncEntryPath = config.getParameterValue(PARAM_RSYNC_ENTRY_PATH, null);
+ int rsyncPort = config.getParameterInteger(PARAM_RSYNC_PORT, PARAM_RSYNC_PORT_DEFAULT);
+
+ // rsync configured
+ if (rsyncEntryName != null)
+ {
+ return new RsyncIndexInfos(rootFqn, cache, system, modeHandler, ((SearchIndex)handler).getContext()
+ .getIndexDirectory(), rsyncPort, rsyncEntryName, rsyncEntryPath);
+ }
+ else
+ {
+ return new JBossCacheIndexInfos(rootFqn, cache, system, modeHandler);
+ }
+
+ }
+
protected Log getLogger()
{
return log;
@@ -204,9 +253,9 @@
return true;
}
- /**
- * {@inheritDoc}
- */
+ /**
+ * {@inheritDoc}
+ */
@Override
public void close()
{
@@ -224,8 +273,9 @@
});
}
}
- catch (Exception e) {
+ catch (Exception e)
+ {
log.warn("Not all JBoss Cache MBeans were unregistered.");
}
- }
+ }
}
12 years, 4 months
exo-jcr SVN: r5601 - in jcr/branches/1.15.x: exo.jcr.component.core.impl.infinispan.v5/src/main/java/org/exoplatform/services/jcr/impl/core/query/ispn and 1 other directories.
by do-not-reply@jboss.org
Author: nzamosenchuk
Date: 2012-02-10 08:00:38 -0500 (Fri, 10 Feb 2012)
New Revision: 5601
Added:
jcr/branches/1.15.x/exo.jcr.component.core.impl.infinispan.v5/src/main/java/org/exoplatform/services/jcr/impl/core/query/ispn/RsyncIndexInfos.java
jcr/branches/1.15.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/jbosscache/RSyncJob.java
jcr/branches/1.15.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/jbosscache/RsyncIndexInfos.java
Modified:
jcr/branches/1.15.x/exo.jcr.component.core.impl.infinispan.v5/src/main/java/org/exoplatform/services/jcr/impl/core/query/ispn/ISPNIndexChangesFilter.java
jcr/branches/1.15.x/exo.jcr.component.core.impl.infinispan.v5/src/main/java/org/exoplatform/services/jcr/impl/core/query/ispn/ISPNIndexInfos.java
jcr/branches/1.15.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/jbosscache/JBossCacheIndexInfos.java
jcr/branches/1.15.x/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/ispn/ispn-integration.xml
Log:
EXOJCR-1747 : merging RSYNC brainch into 1.15.x
Modified: jcr/branches/1.15.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/jbosscache/JBossCacheIndexInfos.java
===================================================================
--- jcr/branches/1.15.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/jbosscache/JBossCacheIndexInfos.java 2012-02-10 10:45:28 UTC (rev 5600)
+++ jcr/branches/1.15.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/jbosscache/JBossCacheIndexInfos.java 2012-02-10 13:00:38 UTC (rev 5601)
@@ -64,17 +64,17 @@
private static final String LIST_KEY = "$listOfIndexes".intern();
- private final Cache<Serializable, Object> cache;
+ protected final Cache<Serializable, Object> cache;
/**
* Flag notifies if this IndexInfos is from system search manager or not.
*/
- private boolean system;
+ protected boolean system;
/**
* Used to retrieve the current mode
*/
- private final IndexerIoModeHandler modeHandler;
+ protected final IndexerIoModeHandler modeHandler;
/**
* This FQN points to cache node, where list of indexes for this {@link IndexInfos} instance is stored.
@@ -195,23 +195,36 @@
// read from cache to update lists
set = (Set<String>)cache.get(namesFqn, LIST_KEY);
}
- if (set != null)
+ refreshIndexes(set);
+ }
+ }
+
+ /**
+ * Update index configuration, when it changes on persistent storage
+ *
+ * @param set
+ */
+ protected void refreshIndexes(Set<String> set)
+ {
+ // do nothing if null is passed
+ if (set == null)
+ {
+ return;
+ }
+ setNames(set);
+ // callback multiIndex to refresh lists
+ try
+ {
+ MultiIndex multiIndex = getMultiIndex();
+ if (multiIndex != null)
{
- setNames(set);
- // callback multiIndex to refresh lists
- try
- {
- MultiIndex multiIndex = getMultiIndex();
- if (multiIndex != null)
- {
- multiIndex.refreshIndexList();
- }
- }
- catch (IOException e)
- {
- log.error("Failed to update indexes! " + e.getMessage(), e);
- }
+ multiIndex.refreshIndexList();
}
}
+ catch (IOException e)
+ {
+ log.error("Failed to update indexes! " + e.getMessage(), e);
+ }
}
+
}
Copied: jcr/branches/1.15.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/jbosscache/RSyncJob.java (from rev 5599, jcr/branches/1.14-RSYNC/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/jbosscache/RSyncJob.java)
===================================================================
--- jcr/branches/1.15.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/jbosscache/RSyncJob.java (rev 0)
+++ jcr/branches/1.15.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/jbosscache/RSyncJob.java 2012-02-10 13:00:38 UTC (rev 5601)
@@ -0,0 +1,152 @@
+/*
+ * Copyright (C) 2003-2012 eXo Platform SAS.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Affero General Public License
+ * as published by the Free Software Foundation; either version 3
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, see<http://www.gnu.org/licenses/>.
+ */
+package org.exoplatform.services.jcr.impl.core.query.jbosscache;
+
+import org.exoplatform.services.log.ExoLogger;
+import org.exoplatform.services.log.Log;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+
+/**
+ * Created by The eXo Platform SAS
+ * Author : eXoPlatform
+ * exo(a)exoplatform.com
+ * Feb 6, 2012
+ */
+/**
+ * Wrapper of native process calling RSYNC utility
+ */
+public class RSyncJob
+{
+ final Log log = ExoLogger.getLogger("exo.jcr.component.core.RsyncJob");
+
+ private final static String RSYNC_USER_SYSTEM_PROPERTY = "USER";
+
+ private final static String RSYNC_PASSWORD_SYSTEM_PROPERTY = "RSYNC_PASSWORD";
+
+ private Process process;
+
+ private final String src;
+
+ private final String dst;
+
+ private String userName;
+
+ private String password;
+
+ public RSyncJob(String src, String dst, String userName, String password)
+ {
+ this.src = src.endsWith(File.separator) ? src : src + File.separator;
+ this.dst = dst;
+ this.userName = userName;
+ this.password = password;
+ }
+
+ /**
+ * Executes RSYNC synchronization job
+ *
+ * @throws IOException
+ */
+ public void execute() throws IOException
+ {
+ // Future todo: Use JNI and librsync library?
+ Runtime run = Runtime.getRuntime();
+ try
+ {
+ String command = "rsync -rv --delete " + src + " " + dst;
+ if (log.isDebugEnabled())
+ {
+ log.debug("Rsync job started: " + command);
+ }
+ if (userName != null && password != null)
+ {
+ String[] envProperties =
+ new String[]{RSYNC_USER_SYSTEM_PROPERTY + "=" + userName,
+ RSYNC_PASSWORD_SYSTEM_PROPERTY + "=" + password};
+ process = run.exec(command, envProperties);
+ }
+ else
+ {
+ process = run.exec(command);
+ }
+
+ // Handle process Standard and Error output
+ InputStream stderr = process.getErrorStream();
+ InputStreamReader isrErr = new InputStreamReader(stderr);
+ BufferedReader brErr = new BufferedReader(isrErr);
+
+ InputStream stdout = process.getInputStream();
+ InputStreamReader isrStd = new InputStreamReader(stdout);
+ BufferedReader brStd = new BufferedReader(isrStd);
+
+ String val = null;
+ StringBuilder stringBuilderErr = new StringBuilder();
+ StringBuilder stringBuilderStd = new StringBuilder();
+ while ((val = brStd.readLine()) != null)
+ {
+ stringBuilderStd.append(val);
+ stringBuilderStd.append('\n');
+ }
+
+ while ((val = brErr.readLine()) != null)
+ {
+ stringBuilderErr.append(val);
+ stringBuilderErr.append('\n');
+ }
+
+ Integer returnCode = null;
+ // wait for thread
+ while (returnCode == null)
+ {
+ try
+ {
+ returnCode = process.waitFor();
+ }
+ catch (InterruptedException e)
+ {
+ // oops, this can happen sometimes
+ }
+ }
+ if (log.isDebugEnabled())
+ {
+ log.debug("Rsync job finished: " + returnCode + ". Error stream output \n"
+ + stringBuilderErr.toString() + " Standard stream output \n" + stringBuilderStd.toString());
+ }
+ if (returnCode != 0)
+ {
+ throw new IOException("RSync job finished with exit code is " + returnCode + ". Error stream output: \n"
+ + stringBuilderErr.toString());
+ }
+ }
+ finally
+ {
+ process = null;
+ }
+ }
+
+ public void forceCancel()
+ {
+ if (process != null)
+ {
+ process.destroy();
+ }
+ }
+}
\ No newline at end of file
Copied: jcr/branches/1.15.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/jbosscache/RsyncIndexInfos.java (from rev 5599, jcr/branches/1.14-RSYNC/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/jbosscache/RsyncIndexInfos.java)
===================================================================
--- jcr/branches/1.15.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/jbosscache/RsyncIndexInfos.java (rev 0)
+++ jcr/branches/1.15.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/jbosscache/RsyncIndexInfos.java 2012-02-10 13:00:38 UTC (rev 5601)
@@ -0,0 +1,156 @@
+/*
+ * Copyright (C) 2003-2012 eXo Platform SAS.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Affero General Public License
+ * as published by the Free Software Foundation; either version 3
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, see<http://www.gnu.org/licenses/>.
+ */
+package org.exoplatform.services.jcr.impl.core.query.jbosscache;
+
+import org.exoplatform.services.jcr.config.RepositoryConfigurationException;
+import org.exoplatform.services.jcr.impl.core.query.IndexerIoMode;
+import org.exoplatform.services.jcr.impl.core.query.IndexerIoModeHandler;
+import org.exoplatform.services.log.ExoLogger;
+import org.exoplatform.services.log.Log;
+import org.jboss.cache.Cache;
+import org.jboss.cache.CacheSPI;
+import org.jboss.cache.Fqn;
+import org.jboss.cache.notifications.annotation.CacheListener;
+import org.jgroups.stack.IpAddress;
+
+import java.io.File;
+import java.io.IOException;
+import java.io.Serializable;
+import java.util.Set;
+
+/**
+ * Created by The eXo Platform SAS
+ * Author : eXoPlatform
+ * exo(a)exoplatform.com
+ * Jan 11, 2012
+ */
+@CacheListener
+public class RsyncIndexInfos extends JBossCacheIndexInfos
+{
+
+ final Log log = ExoLogger.getLogger("exo.jcr.component.core.RsyncIndexInfos");
+
+ private final String indexPath;
+
+ private final String urlFormatString;
+
+ private final String rsyncUserName;
+
+ private final String rsyncPassword;
+
+ public RsyncIndexInfos(Fqn<String> rootFqn, Cache<Serializable, Object> cache, boolean system,
+ IndexerIoModeHandler modeHandler, String indexPath, int rsyncPort, String rsyncEntryName, String rsyncEntryPath,
+ String rsyncUserName, String rsyncPassword) throws RepositoryConfigurationException
+ {
+ super(rootFqn, cache, system, modeHandler);
+ this.rsyncUserName = rsyncUserName;
+ this.rsyncPassword = rsyncPassword;
+
+ String absoluteRsyncEntryPath;
+ try
+ {
+ this.indexPath = new File(indexPath).getCanonicalPath();
+ absoluteRsyncEntryPath = new File(rsyncEntryPath).getCanonicalPath();
+ }
+ catch (IOException e)
+ {
+ throw new RepositoryConfigurationException("Index path or rsyncEntry path is invalid.", e);
+ }
+
+ if (this.indexPath.startsWith(absoluteRsyncEntryPath))
+ {
+ // in relation to RSync Server Entry
+ // i.e. absolute index path is /var/portal/data/index/repo1/ws2
+ // i.e. RSync Server Entry is "index" pointing to /var/portal/data/index
+ // then relative path is repo1/ws2
+ // and whole url is "rsync://<addr>:<port>/<entryName>/repo1/ws2"
+ String relativeIndexPath = this.indexPath.substring(absoluteRsyncEntryPath.length());
+
+ // if client is Windows OS, need to replace all '\' with '/' used in url
+ if (File.separatorChar == '\\')
+ {
+ relativeIndexPath = relativeIndexPath.replace(File.separatorChar, '/');
+ }
+ // generate ready-to-use formatter string with address variable
+ urlFormatString = "rsync://%s:" + rsyncPort + "/" + rsyncEntryName + relativeIndexPath + "/";
+ }
+ else
+ {
+ throw new RepositoryConfigurationException(
+ "Invalid RSync configuration. Index must be placed in folder that is a descendant of RSync Server Entry. Current RSync Server Entry Path is : "
+ + absoluteRsyncEntryPath
+ + " but it doesnt hold Index folder, that is : "
+ + this.indexPath
+ + ". Please fix configuration according to JCR Documentation and restart application.");
+ }
+
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ protected void refreshIndexes(Set<String> set)
+ {
+ triggerRSyncSynchronization();
+ // call super, after indexes are synchronized
+ super.refreshIndexes(set);
+ }
+
+ @Override
+ public void read() throws IOException
+ {
+ // synchronizing indexes on read access to index list for Read-Only mode
+ // allowing to synchronize indexes on startup
+ triggerRSyncSynchronization();
+ super.read();
+ }
+
+ /**
+ * Call to system RSync binary implementation,
+ */
+ private void triggerRSyncSynchronization()
+ {
+ // Call RSync to retrieve actual index from coordinator
+ if (modeHandler.getMode() == IndexerIoMode.READ_ONLY)
+ {
+ if (((CacheSPI<Serializable, Object>)cache).getRPCManager().getCoordinator() instanceof IpAddress)
+ {
+ // Coordinator's address
+ String address =
+ ((IpAddress)((CacheSPI<Serializable, Object>)cache).getRPCManager().getCoordinator()).getIpAddress()
+ .getHostAddress();
+ RSyncJob rSyncJob =
+ new RSyncJob(String.format(urlFormatString, address), indexPath, rsyncUserName, rsyncPassword);
+ try
+ {
+ // synchronizing access to RSync Job.
+ // No parallel jobs allowed
+ synchronized (this)
+ {
+ rSyncJob.execute();
+ }
+ }
+ catch (IOException e)
+ {
+ log.error("Failed to retrieve index using RSYNC", e);
+ }
+ }
+ }
+ }
+
+}
Modified: jcr/branches/1.15.x/exo.jcr.component.core.impl.infinispan.v5/src/main/java/org/exoplatform/services/jcr/impl/core/query/ispn/ISPNIndexChangesFilter.java
===================================================================
--- jcr/branches/1.15.x/exo.jcr.component.core.impl.infinispan.v5/src/main/java/org/exoplatform/services/jcr/impl/core/query/ispn/ISPNIndexChangesFilter.java 2012-02-10 10:45:28 UTC (rev 5600)
+++ jcr/branches/1.15.x/exo.jcr.component.core.impl.infinispan.v5/src/main/java/org/exoplatform/services/jcr/impl/core/query/ispn/ISPNIndexChangesFilter.java 2012-02-10 13:00:38 UTC (rev 5601)
@@ -27,6 +27,8 @@
import org.exoplatform.services.jcr.impl.core.query.IndexingTree;
import org.exoplatform.services.jcr.impl.core.query.QueryHandler;
import org.exoplatform.services.jcr.impl.core.query.SearchManager;
+import org.exoplatform.services.jcr.impl.core.query.lucene.IndexInfos;
+import org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex;
import org.exoplatform.services.jcr.infinispan.ISPNCacheFactory;
import org.exoplatform.services.jcr.util.IdGenerator;
import org.exoplatform.services.log.ExoLogger;
@@ -66,7 +68,21 @@
* Unique workspace identifier.
*/
private final String wsId;
+
+ // RSYNC SERVER CONFIGURATION
+ public static final String PARAM_RSYNC_ENTRY_NAME = "rsync-entry-name";
+
+ public static final String PARAM_RSYNC_ENTRY_PATH = "rsync-entry-path";
+
+ public static final String PARAM_RSYNC_PORT = "rsync-port";
+
+ public static final int PARAM_RSYNC_PORT_DEFAULT = 873;
+
+ public static final String PARAM_RSYNC_USER = "rsync-user";
+
+ public static final String PARAM_RSYNC_PASSWORD = "rsync-password";
+
/**
* ISPNIndexChangesFilter constructor.
*/
@@ -94,19 +110,54 @@
if (!parentHandler.isInitialized())
{
- parentHandler.setIndexInfos(new ISPNIndexInfos(searchManager.getWsId(), cache, true, modeHandler));
+ parentHandler.setIndexInfos(createIndexInfos(true, modeHandler, config, parentHandler));
parentHandler.setIndexUpdateMonitor(new ISPNIndexUpdateMonitor(searchManager.getWsId(), cache, true,
modeHandler));
parentHandler.init();
}
if (!handler.isInitialized())
{
- handler.setIndexInfos(new ISPNIndexInfos(searchManager.getWsId(), cache, false, modeHandler));
+ handler.setIndexInfos(createIndexInfos(false, modeHandler, config, handler));
handler.setIndexUpdateMonitor(new ISPNIndexUpdateMonitor(searchManager.getWsId(), cache, false, modeHandler));
handler.init();
}
}
+
+ /**
+ * Factory method for creating corresponding IndexInfos class. RSyncIndexInfos created if RSync configured
+ * and JBossCacheIndexInfos otherwise
+ *
+ * @param system
+ * @param modeHandler
+ * @param config
+ * @param handler
+ * @return
+ * @throws RepositoryConfigurationException
+ */
+ private IndexInfos createIndexInfos(Boolean system, IndexerIoModeHandler modeHandler, QueryHandlerEntry config,
+ QueryHandler handler) throws RepositoryConfigurationException
+ {
+ // read RSYNC configuration
+ String rsyncEntryName = config.getParameterValue(PARAM_RSYNC_ENTRY_NAME, null);
+ String rsyncEntryPath = config.getParameterValue(PARAM_RSYNC_ENTRY_PATH, null);
+ String rsyncUserName = config.getParameterValue(PARAM_RSYNC_USER, null);
+ String rsyncPassword = config.getParameterValue(PARAM_RSYNC_PASSWORD, null);
+ int rsyncPort = config.getParameterInteger(PARAM_RSYNC_PORT, PARAM_RSYNC_PORT_DEFAULT);
+
+ // rsync configured
+ if (rsyncEntryName != null)
+ {
+ return new RsyncIndexInfos(wsId, cache, system, modeHandler, ((SearchIndex)handler).getContext()
+ .getIndexDirectory(), rsyncPort, rsyncEntryName, rsyncEntryPath, rsyncUserName, rsyncPassword);
+ }
+ else
+ {
+ return new ISPNIndexInfos(wsId, cache, true, modeHandler);
+ }
+
+ }
+
protected Log getLogger()
{
return log;
Modified: jcr/branches/1.15.x/exo.jcr.component.core.impl.infinispan.v5/src/main/java/org/exoplatform/services/jcr/impl/core/query/ispn/ISPNIndexInfos.java
===================================================================
--- jcr/branches/1.15.x/exo.jcr.component.core.impl.infinispan.v5/src/main/java/org/exoplatform/services/jcr/impl/core/query/ispn/ISPNIndexInfos.java 2012-02-10 10:45:28 UTC (rev 5600)
+++ jcr/branches/1.15.x/exo.jcr.component.core.impl.infinispan.v5/src/main/java/org/exoplatform/services/jcr/impl/core/query/ispn/ISPNIndexInfos.java 2012-02-10 13:00:38 UTC (rev 5601)
@@ -70,17 +70,17 @@
/**
* ISPN cache.
*/
- private final Cache<Serializable, Object> cache;
+ protected final Cache<Serializable, Object> cache;
/**
* Used to retrieve the current mode.
*/
- private final IndexerIoModeHandler modeHandler;
+ protected final IndexerIoModeHandler modeHandler;
/**
* Cache key for storing index names.
*/
- private final IndexInfosKey namesKey;
+ protected final IndexInfosKey namesKey;
/**
* Need to write the index info out of the current transaction
@@ -214,22 +214,39 @@
Set<String> set = (Set<String>)event.getValue();
if (set != null)
{
- setNames(set);
-
- // callback multiIndex to refresh lists
- try
- {
- MultiIndex multiIndex = getMultiIndex();
- if (multiIndex != null)
- {
- multiIndex.refreshIndexList();
- }
- }
- catch (IOException e)
- {
- log.error("Failed to update indexes! " + e.getMessage(), e);
- }
+ refreshIndexes(set);
}
}
}
+
+
+
+ /**
+ * Update index configuration, when it changes on persistent storage
+ *
+ * @param set
+ */
+ protected void refreshIndexes(Set<String> set)
+ {
+ // do nothing if null is passed
+ if (set == null)
+ {
+ return;
+ }
+ setNames(set);
+ // callback multiIndex to refresh lists
+ try
+ {
+ MultiIndex multiIndex = getMultiIndex();
+ if (multiIndex != null)
+ {
+ multiIndex.refreshIndexList();
+ }
+ }
+ catch (IOException e)
+ {
+ log.error("Failed to update indexes! " + e.getMessage(), e);
+ }
+ }
+
}
Copied: jcr/branches/1.15.x/exo.jcr.component.core.impl.infinispan.v5/src/main/java/org/exoplatform/services/jcr/impl/core/query/ispn/RsyncIndexInfos.java (from rev 5599, jcr/branches/1.14-RSYNC/exo.jcr.component.core.impl.infinispan.v5/src/main/java/org/exoplatform/services/jcr/impl/core/query/ispn/RsyncIndexInfos.java)
===================================================================
--- jcr/branches/1.15.x/exo.jcr.component.core.impl.infinispan.v5/src/main/java/org/exoplatform/services/jcr/impl/core/query/ispn/RsyncIndexInfos.java (rev 0)
+++ jcr/branches/1.15.x/exo.jcr.component.core.impl.infinispan.v5/src/main/java/org/exoplatform/services/jcr/impl/core/query/ispn/RsyncIndexInfos.java 2012-02-10 13:00:38 UTC (rev 5601)
@@ -0,0 +1,182 @@
+/*
+ * Copyright (C) 2003-2012 eXo Platform SAS.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Affero General Public License
+ * as published by the Free Software Foundation; either version 3
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, see<http://www.gnu.org/licenses/>.
+ */
+package org.exoplatform.services.jcr.impl.core.query.ispn;
+
+import org.exoplatform.services.jcr.config.RepositoryConfigurationException;
+import org.exoplatform.services.jcr.impl.core.query.IndexerIoMode;
+import org.exoplatform.services.jcr.impl.core.query.IndexerIoModeHandler;
+import org.exoplatform.services.jcr.impl.core.query.jbosscache.RSyncJob;
+import org.exoplatform.services.log.ExoLogger;
+import org.exoplatform.services.log.Log;
+import org.infinispan.Cache;
+import org.infinispan.manager.EmbeddedCacheManager;
+import org.infinispan.remoting.transport.jgroups.JGroupsAddress;
+import org.infinispan.remoting.transport.jgroups.JGroupsTransport;
+import org.jboss.cache.notifications.annotation.CacheListener;
+import org.jgroups.Channel;
+import org.jgroups.Event;
+import org.jgroups.stack.IpAddress;
+
+import java.io.File;
+import java.io.IOException;
+import java.io.Serializable;
+import java.util.Set;
+
+/**
+ * Created by The eXo Platform SAS
+ * Author : eXoPlatform
+ * exo(a)exoplatform.com
+ * Jan 11, 2012
+ */
+@CacheListener
+public class RsyncIndexInfos extends ISPNIndexInfos
+{
+
+ private final Log log = ExoLogger.getLogger("exo.jcr.component.core.RsyncIndexInfos");
+
+ private final String indexPath;
+
+ private final String urlFormatString;
+
+ private final String rsyncUserName;
+
+ private final String rsyncPassword;
+
+ public RsyncIndexInfos(String wsId, Cache<Serializable, Object> cache, boolean system,
+ IndexerIoModeHandler modeHandler, String indexPath, int rsyncPort, String rsyncEntryName, String rsyncEntryPath,
+ String rsyncUserName, String rsyncPassword) throws RepositoryConfigurationException
+ {
+ super(wsId, cache, system, modeHandler);
+ this.rsyncUserName = rsyncUserName;
+ this.rsyncPassword = rsyncPassword;
+
+ String absoluteRsyncEntryPath;
+ try
+ {
+ this.indexPath = new File(indexPath).getCanonicalPath();
+ absoluteRsyncEntryPath = new File(rsyncEntryPath).getCanonicalPath();
+ }
+ catch (IOException e)
+ {
+ throw new RepositoryConfigurationException("Index path or rsyncEntry path is invalid.", e);
+ }
+
+ if (this.indexPath.startsWith(absoluteRsyncEntryPath))
+ {
+ // in relation to RSync Server Entry
+ // i.e. absolute index path is /var/portal/data/index/repo1/ws2
+ // i.e. RSync Server Entry is "index" pointing to /var/portal/data/index
+ // then relative path is repo1/ws2
+ // and whole url is "rsync://<addr>:<port>/<entryName>/repo1/ws2"
+ String relativeIndexPath = this.indexPath.substring(absoluteRsyncEntryPath.length());
+
+ // if client is Windows OS, need to replace all '\' with '/' used in url
+ if (File.separatorChar == '\\')
+ {
+ relativeIndexPath = relativeIndexPath.replace(File.separatorChar, '/');
+ }
+ // generate ready-to-use formatter string with address variable
+ urlFormatString = "rsync://%s:" + rsyncPort + "/" + rsyncEntryName + relativeIndexPath + "/";
+ }
+ else
+ {
+ throw new RepositoryConfigurationException(
+ "Invalid RSync configuration. Index must be placed in folder that is a descendant of RSync Server Entry. Current RSync Server Entry Path is : "
+ + absoluteRsyncEntryPath
+ + " but it doesnt hold Index folder, that is : "
+ + this.indexPath
+ + ". Please fix configuration according to JCR Documentation and restart application.");
+ }
+
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ protected void refreshIndexes(Set<String> set)
+ {
+ triggerRSyncSynchronization();
+ // call super, after indexes are synchronized
+ super.refreshIndexes(set);
+ }
+
+ @Override
+ public void read() throws IOException
+ {
+ // synchronizing indexes on read access to index list for Read-Only mode
+ // allowing to synchronize indexes on startup
+ triggerRSyncSynchronization();
+ super.read();
+ }
+
+ /**
+ * Call to system RSync binary implementation,
+ */
+ private void triggerRSyncSynchronization()
+ {
+ // Call RSync to retrieve actual index from coordinator
+ if (modeHandler.getMode() == IndexerIoMode.READ_ONLY)
+ {
+ EmbeddedCacheManager cacheManager = cache.getCacheManager();
+
+ if (cacheManager.getCoordinator() instanceof JGroupsAddress
+ && cacheManager.getTransport() instanceof JGroupsTransport)
+ {
+ JGroupsTransport transport = (JGroupsTransport)cacheManager.getTransport();
+ // Coordinator's address
+ org.jgroups.Address jgAddress = ((JGroupsAddress)cacheManager.getCoordinator()).getJGroupsAddress();
+ // if jgAddress is UUID address, not the physical one, then retrieve via channel
+ if (!(jgAddress instanceof IpAddress))
+ {
+ // this is the only way of getting physical address.
+ Channel channel = transport.getChannel();
+ jgAddress = (org.jgroups.Address)channel.down(new Event(Event.GET_PHYSICAL_ADDRESS, jgAddress));
+ }
+ if (jgAddress instanceof IpAddress)
+ {
+ String address = ((IpAddress)jgAddress).getIpAddress().getHostAddress();
+ RSyncJob rSyncJob =
+ new RSyncJob(String.format(urlFormatString, address), indexPath, rsyncUserName, rsyncPassword);
+ try
+ {
+ // synchronizing access to RSync Job.
+ // No parallel jobs allowed
+ synchronized (this)
+ {
+ rSyncJob.execute();
+ }
+ }
+ catch (IOException e)
+ {
+ log.error("Failed to retrieve index using RSYNC", e);
+ }
+ }
+ else
+ {
+ log.error("Error triggering RSync synchronization, skipped. Unsupported Address object : "
+ + jgAddress.getClass().getName());
+ }
+ }
+ else
+ {
+ log.error("Error triggering RSync synchronization, skipped. Unsupported Address object : "
+ + cacheManager.getCoordinator().getClass().getName());
+ }
+ }
+ }
+}
Modified: jcr/branches/1.15.x/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/ispn/ispn-integration.xml
===================================================================
--- jcr/branches/1.15.x/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/ispn/ispn-integration.xml 2012-02-10 10:45:28 UTC (rev 5600)
+++ jcr/branches/1.15.x/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/ispn/ispn-integration.xml 2012-02-10 13:00:38 UTC (rev 5601)
@@ -107,7 +107,7 @@
<para><abbrev>changesfilter-class</abbrev> - defines cluster-ready
index strategy based on Infinispan Cache, it can be either
<classname>org.exoplatform.services.jcr.impl.core.query.ispn.ISPNIndexChangesFilter</classname>
- (for shared index) or
+ (for shared and rsync-based index strategies) or
<classname>org.exoplatform.services.jcr.impl.core.query.ispn.LocalIndexChangesFilter</classname>
(for local index)</para>
</listitem>
12 years, 4 months
exo-jcr SVN: r5600 - jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene.
by do-not-reply@jboss.org
Author: tolusha
Date: 2012-02-10 05:45:28 -0500 (Fri, 10 Feb 2012)
New Revision: 5600
Modified:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/AbstractIndex.java
Log:
EXOJCR-1719: revemo parallel text extractin
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/AbstractIndex.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/AbstractIndex.java 2012-02-10 09:10:28 UTC (rev 5599)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/AbstractIndex.java 2012-02-10 10:45:28 UTC (rev 5600)
@@ -174,57 +174,43 @@
void addDocuments(final Document[] docs) throws IOException
{
final IndexWriter writer = getIndexWriter();
- DynamicPooledExecutor.Command[] commands = new DynamicPooledExecutor.Command[docs.length];
- for (int i = 0; i < docs.length; i++)
+
+ IOException ioExc = null;
+ try
{
- // check if text extractor completed its work
- final Document doc = getFinishedDocument(docs[i]);
- // create a command for inverting the document
- commands[i] = new DynamicPooledExecutor.Command()
+ for (Document doc : docs)
{
- public Object call() throws Exception
+ try
{
- long time = System.currentTimeMillis();
- writer.addDocument(doc);
- return new Long(System.currentTimeMillis() - time);
+ writer.addDocument(getFinishedDocument(doc));
}
- };
- }
- DynamicPooledExecutor.Result[] results = EXECUTOR.executeAndWait(commands);
- invalidateSharedReader();
- IOException ex = null;
- for (int i = 0; i < results.length; i++)
- {
- if (results[i].getException() != null)
- {
- Throwable cause = results[i].getException().getCause();
- if (ex == null)
+ catch (Throwable e)
{
- // only throw the first exception
- if (cause instanceof IOException)
+ if (ioExc == null)
{
- ex = (IOException)cause;
+ if (e instanceof IOException)
+ {
+ ioExc = (IOException)e;
+ }
+ else
+ {
+ ioExc = Util.createIOException(e);
+ }
}
- else
- {
- throw Util.createIOException(cause);
- }
+
+ log.warn("Exception while inverting document", e);
}
- else
- {
- // all others are logged
- log.warn("Exception while inverting document", cause);
- }
}
- else
- {
- log.debug("Inverted document in {} ms", results[i].get());
- }
}
- if (ex != null)
+ finally
{
- throw ex;
+ invalidateSharedReader();
}
+
+ if (ioExc != null)
+ {
+ throw ioExc;
+ }
}
/**
12 years, 4 months
exo-jcr SVN: r5599 - in ws/trunk: exo.ws.frameworks.json/src/main/java/org/exoplatform/ws/frameworks/json/impl and 5 other directories.
by do-not-reply@jboss.org
Author: andrew.plotnikov
Date: 2012-02-10 04:10:28 -0500 (Fri, 10 Feb 2012)
New Revision: 5599
Modified:
ws/trunk/exo.ws.commons/src/main/java/org/exoplatform/common/http/client/DefaultAuthHandler.java
ws/trunk/exo.ws.commons/src/main/java/org/exoplatform/common/http/client/HTTPConnection.java
ws/trunk/exo.ws.commons/src/main/java/org/exoplatform/common/http/client/HTTPResponse.java
ws/trunk/exo.ws.commons/src/main/java/org/exoplatform/common/http/client/HttpURLConnection.java
ws/trunk/exo.ws.commons/src/main/java/org/exoplatform/common/http/client/RedirectionModule.java
ws/trunk/exo.ws.commons/src/main/java/org/exoplatform/common/http/client/Response.java
ws/trunk/exo.ws.commons/src/main/java/org/exoplatform/common/http/client/StreamDemultiplexor.java
ws/trunk/exo.ws.frameworks.json/src/main/java/org/exoplatform/ws/frameworks/json/impl/ObjectBuilder.java
ws/trunk/exo.ws.frameworks.servlet/src/main/java/org/exoplatform/ws/frameworks/servlet/StandaloneContainerInitializedListener.java
ws/trunk/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/impl/RequestHandlerImpl.java
ws/trunk/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/impl/method/DefaultMethodInvoker.java
ws/trunk/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/impl/method/ParameterHelper.java
ws/trunk/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/impl/provider/IOHelper.java
ws/trunk/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/impl/provider/JsonEntityProvider.java
ws/trunk/exo.ws.rest.ext/src/main/java/org/exoplatform/services/rest/ext/management/RestResource.java
Log:
EXOJCR-1725: Fixed the Blocker/Critical violations and the easiest Major ones raised by eXo Quality Level 1.2
Modified: ws/trunk/exo.ws.commons/src/main/java/org/exoplatform/common/http/client/DefaultAuthHandler.java
===================================================================
--- ws/trunk/exo.ws.commons/src/main/java/org/exoplatform/common/http/client/DefaultAuthHandler.java 2012-02-10 08:29:10 UTC (rev 5598)
+++ ws/trunk/exo.ws.commons/src/main/java/org/exoplatform/common/http/client/DefaultAuthHandler.java 2012-02-10 09:10:28 UTC (rev 5599)
@@ -1651,7 +1651,7 @@
{
Runtime.getRuntime().exec(cmd).waitFor();
}
- catch (Exception e)
+ catch (Throwable e)
{
if (LOG.isTraceEnabled())
{
Modified: ws/trunk/exo.ws.commons/src/main/java/org/exoplatform/common/http/client/HTTPConnection.java
===================================================================
--- ws/trunk/exo.ws.commons/src/main/java/org/exoplatform/common/http/client/HTTPConnection.java 2012-02-10 08:29:10 UTC (rev 5598)
+++ ws/trunk/exo.ws.commons/src/main/java/org/exoplatform/common/http/client/HTTPConnection.java 2012-02-10 09:10:28 UTC (rev 5599)
@@ -3279,26 +3279,60 @@
}
if (req.getStream() != null)
+ {
req.getStream().goAhead(req, sock_out, 0);
+ }
else
+ {
sock_out.flush();
+ }
// get a new response.
// Note: this does not do a read on the socket.
if (resp == null)
+ {
resp = new Response(req, (Proxy_Host != null && Protocol != HTTPS), input_demux);
+ }
}
- catch (IOException ioe)
+ catch (UnknownHostException e)
{
+ LOG.error("Send request error", e);
- LOG.error("Send request error", ioe);
+ closeDemux(e, true);
- closeDemux(ioe, true);
+ throw e;
+ }
+ catch (ConnectException e)
+ {
+ LOG.error("Send request error", e);
- if (try_count == 0 || ioe instanceof UnknownHostException || ioe instanceof ConnectException
- || ioe instanceof NoRouteToHostException || ioe instanceof InterruptedIOException || req.aborted)
+ closeDemux(e, true);
+
+ throw e;
+ }
+ catch (NoRouteToHostException e)
+ {
+ LOG.error("Send request error", e);
+
+ closeDemux(e, true);
+
+ throw e;
+ }
+ catch (InterruptedIOException e)
+ {
+ LOG.error("Send request error", e);
+
+ closeDemux(e, true);
+
+ throw e;
+ }
+ catch (IOException ioe)
+ {
+ if (try_count == 0 || req.aborted)
+ {
throw ioe;
+ }
LOG.info("Retrying request");
continue;
Modified: ws/trunk/exo.ws.commons/src/main/java/org/exoplatform/common/http/client/HTTPResponse.java
===================================================================
--- ws/trunk/exo.ws.commons/src/main/java/org/exoplatform/common/http/client/HTTPResponse.java 2012-02-10 08:29:10 UTC (rev 5598)
+++ ws/trunk/exo.ws.commons/src/main/java/org/exoplatform/common/http/client/HTTPResponse.java 2012-02-10 09:10:28 UTC (rev 5599)
@@ -514,7 +514,7 @@
{
inp_stream.close();
}
- catch (Exception e)
+ catch (IOException e)
{
if (LOG.isTraceEnabled())
{
@@ -648,15 +648,18 @@
{
handleResponse();
}
- catch (Exception e)
+ catch (ModuleException e)
{
- if (!(e instanceof InterruptedIOException))
- {
- LOG.error(method + " " + OriginalURI.getPathAndQuery());
- }
+ LOG.error(method + " " + OriginalURI.getPathAndQuery());
return "Failed to read headers: " + e;
}
+ catch (IOException e)
+ {
+ LOG.error(method + " " + OriginalURI.getPathAndQuery());
+
+ return "Failed to read headers: " + e;
+ }
}
String nl = PrivilegedSystemHelper.getProperty("line.separator", "\n");
Modified: ws/trunk/exo.ws.commons/src/main/java/org/exoplatform/common/http/client/HttpURLConnection.java
===================================================================
--- ws/trunk/exo.ws.commons/src/main/java/org/exoplatform/common/http/client/HttpURLConnection.java 2012-02-10 08:29:10 UTC (rev 5598)
+++ ws/trunk/exo.ws.commons/src/main/java/org/exoplatform/common/http/client/HttpURLConnection.java 2012-02-10 09:10:28 UTC (rev 5599)
@@ -40,11 +40,13 @@
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
+import java.net.MalformedURLException;
import java.net.ProtocolException;
import java.net.URL;
import java.util.Date;
import java.util.Enumeration;
import java.util.Hashtable;
+import java.util.NoSuchElementException;
/**
* This class is a wrapper around HTTPConnection providing the interface defined
@@ -377,13 +379,19 @@
try
{
if (!connected)
+ {
connect();
+ }
return resp.getHeader(name);
}
- catch (Exception e)
+ catch (IOException e)
{
return null;
}
+ catch (ModuleException e)
+ {
+ return null;
+ }
}
/**
@@ -400,13 +408,23 @@
try
{
if (!connected)
+ {
connect();
+ }
return resp.getHeaderAsInt(name);
}
- catch (Exception e)
+ catch (NumberFormatException e)
{
return def;
}
+ catch (IOException e)
+ {
+ return def;
+ }
+ catch (ModuleException e)
+ {
+ return def;
+ }
}
/**
@@ -424,13 +442,23 @@
try
{
if (!connected)
+ {
connect();
+ }
return resp.getHeaderAsDate(name).getTime();
}
- catch (Exception e)
+ catch (IllegalArgumentException e)
{
return def;
}
+ catch (IOException e)
+ {
+ return def;
+ }
+ catch (ModuleException e)
+ {
+ return def;
+ }
}
private String[] hdr_keys, hdr_values;
@@ -480,7 +508,9 @@
try
{
if (!connected)
+ {
connect();
+ }
// count number of headers
int num = 1;
@@ -506,10 +536,18 @@
// the 0'th field is special
hdr_values[0] = resp.getVersion() + " " + resp.getStatusCode() + " " + resp.getReasonLine();
}
- catch (Exception e)
+ catch (NoSuchElementException e)
{
hdr_keys = hdr_values = new String[0];
}
+ catch (IOException e)
+ {
+ hdr_keys = hdr_values = new String[0];
+ }
+ catch (ModuleException e)
+ {
+ hdr_keys = hdr_values = new String[0];
+ }
}
/**
@@ -557,14 +595,24 @@
try
{
if (!doInput || !connected || resp.getStatusCode() < 300 || resp.getHeaderAsInt("Content-length") <= 0)
+ {
return null;
+ }
return resp.getInputStream();
}
- catch (Exception e)
+ catch (IOException e)
{
return null;
}
+ catch (NumberFormatException e)
+ {
+ return null;
+ }
+ catch (ModuleException e)
+ {
+ return null;
+ }
}
/**
@@ -643,10 +691,18 @@
{
return resp.getEffectiveURI().toURL();
}
- catch (Exception e)
+ catch (MalformedURLException e)
{
return null;
}
+ catch (IOException e)
+ {
+ return null;
+ }
+ catch (ModuleException e)
+ {
+ return null;
+ }
}
return url;
Modified: ws/trunk/exo.ws.commons/src/main/java/org/exoplatform/common/http/client/RedirectionModule.java
===================================================================
--- ws/trunk/exo.ws.commons/src/main/java/org/exoplatform/common/http/client/RedirectionModule.java 2012-02-10 08:29:10 UTC (rev 5598)
+++ ws/trunk/exo.ws.commons/src/main/java/org/exoplatform/common/http/client/RedirectionModule.java 2012-02-10 09:10:28 UTC (rev 5599)
@@ -155,7 +155,7 @@
{
con = new HTTPConnection(new_loc);
}
- catch (Exception e)
+ catch (ProtocolNotSuppException e)
{
throw new Error("HTTPClient Internal Error: unexpected " + "exception '" + e + "'");
}
@@ -324,7 +324,7 @@
mvd = new HTTPConnection(loc);
nres = loc.getPathAndQuery();
}
- catch (Exception e)
+ catch (ProtocolNotSuppException e)
{
if (req.getConnection().getProxyHost() == null || !loc.getScheme().equalsIgnoreCase("ftp"))
return RSP_CONTINUE;
Modified: ws/trunk/exo.ws.commons/src/main/java/org/exoplatform/common/http/client/Response.java
===================================================================
--- ws/trunk/exo.ws.commons/src/main/java/org/exoplatform/common/http/client/Response.java 2012-02-10 08:29:10 UTC (rev 5598)
+++ ws/trunk/exo.ws.commons/src/main/java/org/exoplatform/common/http/client/Response.java 2012-02-10 09:10:28 UTC (rev 5599)
@@ -583,7 +583,7 @@
{
inp_stream.close();
}
- catch (Exception e)
+ catch (IOException e)
{
if (LOG.isTraceEnabled())
{
@@ -689,18 +689,25 @@
while ((StatusCode == 100 && skip_cont) || // Continue
(StatusCode > 101 && StatusCode < 200)); // Unknown
}
- catch (IOException ioe)
+ catch (InterruptedIOException ioe)
{
- if (!(ioe instanceof InterruptedIOException))
- exception = ioe;
- if (ioe instanceof ProtocolException) // thrown internally
+ throw ioe;
+ }
+ catch (ProtocolException ioe)// thrown internally
+ {
+ exception = ioe;
+ cd_type = CD_CLOSE;
+ if (stream_handler != null)
{
- cd_type = CD_CLOSE;
- if (stream_handler != null)
- stream_handler.markForClose(this);
+ stream_handler.markForClose(this);
}
throw ioe;
}
+ catch (IOException ioe)
+ {
+ exception = ioe;
+ throw ioe;
+ }
finally
{
reading_headers = false;
@@ -1042,10 +1049,13 @@
readLines(inp);
trailers_read = true;
}
+ catch (InterruptedIOException ioe)
+ {
+ throw ioe;
+ }
catch (IOException ioe)
{
- if (!(ioe instanceof InterruptedIOException))
- exception = ioe;
+ exception = ioe;
throw ioe;
}
}
Modified: ws/trunk/exo.ws.commons/src/main/java/org/exoplatform/common/http/client/StreamDemultiplexor.java
===================================================================
--- ws/trunk/exo.ws.commons/src/main/java/org/exoplatform/common/http/client/StreamDemultiplexor.java 2012-02-10 08:29:10 UTC (rev 5598)
+++ ws/trunk/exo.ws.commons/src/main/java/org/exoplatform/common/http/client/StreamDemultiplexor.java 2012-02-10 09:10:28 UTC (rev 5599)
@@ -219,15 +219,14 @@
{
head.stream.readAll(timeout);
}
+ catch (InterruptedIOException ioe)
+ {
+ throw ioe;
+ }
catch (IOException ioe)
{
- if (ioe instanceof InterruptedIOException)
- throw ioe;
- else
- {
- resph.exception.fillInStackTrace();
- throw resph.exception;
- }
+ resph.exception.fillInStackTrace();
+ throw resph.exception;
}
}
Modified: ws/trunk/exo.ws.frameworks.json/src/main/java/org/exoplatform/ws/frameworks/json/impl/ObjectBuilder.java
===================================================================
--- ws/trunk/exo.ws.frameworks.json/src/main/java/org/exoplatform/ws/frameworks/json/impl/ObjectBuilder.java 2012-02-10 08:29:10 UTC (rev 5598)
+++ ws/trunk/exo.ws.frameworks.json/src/main/java/org/exoplatform/ws/frameworks/json/impl/ObjectBuilder.java 2012-02-10 09:10:28 UTC (rev 5599)
@@ -25,6 +25,7 @@
import java.lang.reflect.Array;
import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
import java.lang.reflect.ParameterizedType;
@@ -192,10 +193,14 @@
{
constructor = collectionClass.getConstructor(new Class[]{Collection.class});
}
- catch (Exception e)
+ catch (SecurityException e)
{
throw new JsonException(e.getMessage(), e);
}
+ catch (NoSuchMethodException e)
+ {
+ throw new JsonException(e.getMessage(), e);
+ }
}
if (constructor == null)
@@ -221,10 +226,26 @@
{
collection = constructor.newInstance(sourceCollection);
}
- catch (Exception e)
+ catch (IllegalAccessException e)
{
throw new JsonException(e.getMessage(), e);
}
+ catch (IllegalArgumentException e)
+ {
+ throw new JsonException(e.getMessage(), e);
+ }
+ catch (InstantiationException e)
+ {
+ throw new JsonException(e.getMessage(), e);
+ }
+ catch (InvocationTargetException e)
+ {
+ throw new JsonException(e.getMessage(), e);
+ }
+ catch (ExceptionInInitializerError e)
+ {
+ throw new JsonException(e.getMessage(), e);
+ }
}
return collection;
}
@@ -304,10 +325,14 @@
{
constructor = mapClass.getConstructor(new Class[]{Map.class});
}
- catch (Exception e)
+ catch (SecurityException e)
{
throw new JsonException(e.getMessage(), e);
}
+ catch (NoSuchMethodException e)
+ {
+ throw new JsonException(e.getMessage(), e);
+ }
}
if (constructor == null)
@@ -334,10 +359,26 @@
{
map = constructor.newInstance(sourceMap);
}
- catch (Exception e)
+ catch (ExceptionInInitializerError e)
{
throw new JsonException(e.getMessage(), e);
}
+ catch (IllegalAccessException e)
+ {
+ throw new JsonException(e.getMessage(), e);
+ }
+ catch (IllegalArgumentException e)
+ {
+ throw new JsonException(e.getMessage(), e);
+ }
+ catch (InstantiationException e)
+ {
+ throw new JsonException(e.getMessage(), e);
+ }
+ catch (InvocationTargetException e)
+ {
+ throw new JsonException(e.getMessage(), e);
+ }
}
return map;
}
@@ -377,10 +418,22 @@
{
object = clazz.newInstance();
}
- catch (Exception e)
+ catch (ExceptionInInitializerError e)
{
throw new JsonException("Unable instantiate object. " + e.getMessage(), e);
}
+ catch (SecurityException e)
+ {
+ throw new JsonException("Unable instantiate object. " + e.getMessage(), e);
+ }
+ catch (IllegalAccessException e)
+ {
+ throw new JsonException("Unable instantiate object. " + e.getMessage(), e);
+ }
+ catch (InstantiationException e)
+ {
+ throw new JsonException("Unable instantiate object. " + e.getMessage(), e);
+ }
Method[] methods = clazz.getMethods();
Modified: ws/trunk/exo.ws.frameworks.servlet/src/main/java/org/exoplatform/ws/frameworks/servlet/StandaloneContainerInitializedListener.java
===================================================================
--- ws/trunk/exo.ws.frameworks.servlet/src/main/java/org/exoplatform/ws/frameworks/servlet/StandaloneContainerInitializedListener.java 2012-02-10 08:29:10 UTC (rev 5598)
+++ ws/trunk/exo.ws.frameworks.servlet/src/main/java/org/exoplatform/ws/frameworks/servlet/StandaloneContainerInitializedListener.java 2012-02-10 09:10:28 UTC (rev 5599)
@@ -73,7 +73,7 @@
event.getServletContext().getResource(configurationURL.substring(PREFIX_WAR.length())).toExternalForm();
}
}
- catch (Exception e)
+ catch (MalformedURLException e)
{
LOG.error("Error of configurationURL read", e);
}
Modified: ws/trunk/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/impl/RequestHandlerImpl.java
===================================================================
--- ws/trunk/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/impl/RequestHandlerImpl.java 2012-02-10 08:29:10 UTC (rev 5598)
+++ ws/trunk/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/impl/RequestHandlerImpl.java 2012-02-10 09:10:28 UTC (rev 5599)
@@ -52,8 +52,8 @@
import javax.ws.rs.WebApplicationException;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
-import javax.ws.rs.core.StreamingOutput;
import javax.ws.rs.core.Response.ResponseBuilder;
+import javax.ws.rs.core.StreamingOutput;
import javax.ws.rs.ext.ExceptionMapper;
/**
@@ -155,87 +155,80 @@
}
}
}
- catch (Exception e)
+ catch (WebApplicationException e)
{
- if (e instanceof WebApplicationException)
+ Response errorResponse = ((WebApplicationException)e).getResponse();
+ ExceptionMapper excmap = context.getProviders().getExceptionMapper(WebApplicationException.class);
+ int errorStatus = errorResponse.getStatus();
+ // should be some of 4xx status
+ if (errorStatus < 500)
{
- Response errorResponse = ((WebApplicationException)e).getResponse();
- ExceptionMapper excmap = context.getProviders().getExceptionMapper(WebApplicationException.class);
- int errorStatus = errorResponse.getStatus();
- // should be some of 4xx status
- if (errorStatus < 500)
+ // Warn about error in debug mode only.
+ if (LOG.isDebugEnabled() && e.getCause() != null)
{
- // Warn about error in debug mode only.
- if (LOG.isDebugEnabled() && e.getCause() != null)
- {
- LOG.warn("WebApplication exception occurs.", e.getCause());
- }
+ LOG.warn("WebApplication exception occurs.", e.getCause());
}
- else
+ }
+ else
+ {
+ if (e.getCause() != null)
{
- if (e.getCause() != null)
- {
- LOG.warn("WebApplication exception occurs.", e.getCause());
- }
+ LOG.warn("WebApplication exception occurs.", e.getCause());
}
- if (errorResponse.getEntity() == null)
+ }
+ if (errorResponse.getEntity() == null)
+ {
+ if (excmap != null)
{
- if (excmap != null)
- {
- errorResponse = excmap.toResponse(e);
- }
- else
- {
- if (e.getMessage() != null)
- {
- errorResponse = createErrorResponse(errorStatus, e.getMessage());
- }
- }
+ errorResponse = excmap.toResponse(e);
}
else
{
- if (errorResponse.getMetadata().getFirst(ExtHttpHeaders.JAXRS_BODY_PROVIDED) == null)
+ if (e.getMessage() != null)
{
- String jaxrsHeader = getJaxrsHeader(errorStatus);
- if (jaxrsHeader != null)
- {
- errorResponse.getMetadata().putSingle(ExtHttpHeaders.JAXRS_BODY_PROVIDED, jaxrsHeader);
- }
+ errorResponse = createErrorResponse(errorStatus, e.getMessage());
}
}
- response.setResponse(errorResponse);
}
- else if (e instanceof InternalException)
+ else
{
- Throwable cause = e.getCause();
- Class causeClazz = cause.getClass();
- ExceptionMapper excmap = context.getProviders().getExceptionMapper(causeClazz);
- while (causeClazz != null && excmap == null)
+ if (errorResponse.getMetadata().getFirst(ExtHttpHeaders.JAXRS_BODY_PROVIDED) == null)
{
- excmap = context.getProviders().getExceptionMapper(causeClazz);
- if (excmap == null)
+ String jaxrsHeader = getJaxrsHeader(errorStatus);
+ if (jaxrsHeader != null)
{
- causeClazz = causeClazz.getSuperclass();
+ errorResponse.getMetadata().putSingle(ExtHttpHeaders.JAXRS_BODY_PROVIDED, jaxrsHeader);
}
}
- if (excmap != null)
+ }
+ response.setResponse(errorResponse);
+ }
+ catch (InternalException e)
+ {
+ Throwable cause = e.getCause();
+ Class causeClazz = cause.getClass();
+ ExceptionMapper excmap = context.getProviders().getExceptionMapper(causeClazz);
+ while (causeClazz != null && excmap == null)
+ {
+ excmap = context.getProviders().getExceptionMapper(causeClazz);
+ if (excmap == null)
{
- if (LOG.isDebugEnabled())
- {
- // Hide error message if exception mapper exists.
- LOG.warn("Internal error occurs.", cause);
- }
- response.setResponse(excmap.toResponse(e.getCause()));
+ causeClazz = causeClazz.getSuperclass();
}
- else
+ }
+ if (excmap != null)
+ {
+ if (LOG.isDebugEnabled())
{
- LOG.error("Internal error occurs.", cause);
- throw new UnhandledException(e.getCause());
+ // Hide error message if exception mapper exists.
+ LOG.warn("Internal error occurs.", cause);
}
+ response.setResponse(excmap.toResponse(e.getCause()));
}
else
{
- throw new UnhandledException(e);
+ LOG.error("Internal error occurs.", cause);
+ throw new UnhandledException(e.getCause());
}
}
Modified: ws/trunk/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/impl/method/DefaultMethodInvoker.java
===================================================================
--- ws/trunk/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/impl/method/DefaultMethodInvoker.java 2012-02-10 08:29:10 UTC (rev 5598)
+++ ws/trunk/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/impl/method/DefaultMethodInvoker.java 2012-02-10 09:10:28 UTC (rev 5599)
@@ -157,16 +157,22 @@
entityReader.readFrom(mp.getParameterClass(), mp.getGenericType(), mp.getAnnotations(),
contentType, headers, entityStream);
}
- catch (Exception e)
+ catch (WebApplicationException e)
{
if (LOG.isDebugEnabled())
{
LOG.debug(e.getLocalizedMessage(), e);
}
- if (e instanceof WebApplicationException)
+
+ throw e;
+ }
+ catch (Exception e)
+ {
+ if (LOG.isDebugEnabled())
{
- throw (WebApplicationException)e;
+ LOG.debug(e.getLocalizedMessage(), e);
}
+
throw new InternalException(e);
}
}
Modified: ws/trunk/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/impl/method/ParameterHelper.java
===================================================================
--- ws/trunk/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/impl/method/ParameterHelper.java 2012-02-10 08:29:10 UTC (rev 5598)
+++ ws/trunk/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/impl/method/ParameterHelper.java 2012-02-10 09:10:28 UTC (rev 5599)
@@ -28,6 +28,7 @@
import java.lang.reflect.Modifier;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
+import java.security.PrivilegedActionException;
import java.security.PrivilegedExceptionAction;
import java.util.ArrayList;
import java.util.Arrays;
@@ -273,7 +274,7 @@
return Modifier.isStatic(method.getModifiers()) ? method : null;
}
- catch (Exception e)
+ catch (PrivilegedActionException e)
{
return null;
}
@@ -293,10 +294,14 @@
{
return clazz.getConstructor(String.class);
}
- catch (Exception e)
+ catch (SecurityException e)
{
return null;
}
+ catch (NoSuchMethodException e)
+ {
+ return null;
+ }
}
Modified: ws/trunk/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/impl/provider/IOHelper.java
===================================================================
--- ws/trunk/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/impl/provider/IOHelper.java 2012-02-10 08:29:10 UTC (rev 5598)
+++ ws/trunk/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/impl/provider/IOHelper.java 2012-02-10 09:10:28 UTC (rev 5599)
@@ -26,6 +26,8 @@
import java.io.Reader;
import java.io.Writer;
import java.nio.charset.Charset;
+import java.nio.charset.IllegalCharsetNameException;
+import java.nio.charset.UnsupportedCharsetException;
/**
* @author <a href="mailto:andrew00x@gmail.com">Andrey Parfonov</a>
@@ -131,10 +133,18 @@
{
charset = cs != null ? Charset.forName(cs) : DEFAULT_CHARSET;
}
- catch (Exception e)
+ catch (IllegalCharsetNameException e)
{
charset = DEFAULT_CHARSET;
}
+ catch (UnsupportedCharsetException e)
+ {
+ charset = DEFAULT_CHARSET;
+ }
+ catch (IllegalArgumentException e)
+ {
+ charset = DEFAULT_CHARSET;
+ }
Writer w = new OutputStreamWriter(out, charset);
try
{
Modified: ws/trunk/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/impl/provider/JsonEntityProvider.java
===================================================================
--- ws/trunk/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/impl/provider/JsonEntityProvider.java 2012-02-10 08:29:10 UTC (rev 5598)
+++ ws/trunk/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/impl/provider/JsonEntityProvider.java 2012-02-10 09:10:28 UTC (rev 5599)
@@ -137,7 +137,7 @@
return ObjectBuilder.createObject(type, jsonValue);
}
- catch (Exception e)
+ catch (JsonException e)
{
throw new IOException("Can't read from input stream " + e);
}
Modified: ws/trunk/exo.ws.rest.ext/src/main/java/org/exoplatform/services/rest/ext/management/RestResource.java
===================================================================
--- ws/trunk/exo.ws.rest.ext/src/main/java/org/exoplatform/services/rest/ext/management/RestResource.java 2012-02-10 08:29:10 UTC (rev 5598)
+++ ws/trunk/exo.ws.rest.ext/src/main/java/org/exoplatform/services/rest/ext/management/RestResource.java 2012-02-10 09:10:28 UTC (rev 5599)
@@ -30,6 +30,8 @@
import org.exoplatform.services.rest.impl.ApplicationContextImpl;
import org.exoplatform.services.rest.impl.MultivaluedMapImpl;
+import java.io.IOException;
+import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.Collection;
@@ -45,6 +47,7 @@
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
+import javax.ws.rs.WebApplicationException;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.MultivaluedMap;
@@ -240,11 +243,16 @@
Object ret = invoker.invoke(resource, argMap);
return ret == null ? Response.ok() : ValueWrapper.wrap(ret);
}
- catch (Exception e)
+ catch (IllegalAccessException e)
{
LOG.error("An exception occured: " + e.getMessage());
return Response.serverError();
}
+ catch (InvocationTargetException e)
+ {
+ LOG.error("An exception occured: " + e.getMessage());
+ return Response.serverError();
+ }
finally
{
managedResource.afterInvoke(resource);
@@ -276,13 +284,27 @@
context.getHttpHeaders().getRequestHeaders(), context.getContainerRequest().getEntityStream());
}
}
- catch (Exception e)
+ catch (IllegalStateException e)
{
if (LOG.isTraceEnabled())
{
LOG.trace("An exception occurred: " + e.getMessage());
}
}
+ catch (WebApplicationException e)
+ {
+ if (LOG.isTraceEnabled())
+ {
+ LOG.trace("An exception occurred: " + e.getMessage());
+ }
+ }
+ catch (IOException e)
+ {
+ if (LOG.isTraceEnabled())
+ {
+ LOG.trace("An exception occurred: " + e.getMessage());
+ }
+ }
parameters.putAll(form);
return parameters;
12 years, 4 months
exo-jcr SVN: r5598 - in ws/branches/2.3.x: exo.ws.frameworks.json/src/main/java/org/exoplatform/ws/frameworks/json/impl and 5 other directories.
by do-not-reply@jboss.org
Author: andrew.plotnikov
Date: 2012-02-10 03:29:10 -0500 (Fri, 10 Feb 2012)
New Revision: 5598
Modified:
ws/branches/2.3.x/exo.ws.commons/src/main/java/org/exoplatform/common/http/client/DefaultAuthHandler.java
ws/branches/2.3.x/exo.ws.commons/src/main/java/org/exoplatform/common/http/client/HTTPConnection.java
ws/branches/2.3.x/exo.ws.commons/src/main/java/org/exoplatform/common/http/client/HTTPResponse.java
ws/branches/2.3.x/exo.ws.commons/src/main/java/org/exoplatform/common/http/client/HttpURLConnection.java
ws/branches/2.3.x/exo.ws.commons/src/main/java/org/exoplatform/common/http/client/RedirectionModule.java
ws/branches/2.3.x/exo.ws.commons/src/main/java/org/exoplatform/common/http/client/Response.java
ws/branches/2.3.x/exo.ws.commons/src/main/java/org/exoplatform/common/http/client/StreamDemultiplexor.java
ws/branches/2.3.x/exo.ws.frameworks.json/src/main/java/org/exoplatform/ws/frameworks/json/impl/ObjectBuilder.java
ws/branches/2.3.x/exo.ws.frameworks.servlet/src/main/java/org/exoplatform/ws/frameworks/servlet/StandaloneContainerInitializedListener.java
ws/branches/2.3.x/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/impl/RequestHandlerImpl.java
ws/branches/2.3.x/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/impl/method/DefaultMethodInvoker.java
ws/branches/2.3.x/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/impl/method/ParameterHelper.java
ws/branches/2.3.x/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/impl/provider/IOHelper.java
ws/branches/2.3.x/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/impl/provider/JsonEntityProvider.java
ws/branches/2.3.x/exo.ws.rest.ext/src/main/java/org/exoplatform/services/rest/ext/management/RestResource.java
Log:
EXOJCR-1725: Fixed the Blocker/Critical violations and the easiest Major ones raised by eXo Quality Level 1.2
Modified: ws/branches/2.3.x/exo.ws.commons/src/main/java/org/exoplatform/common/http/client/DefaultAuthHandler.java
===================================================================
--- ws/branches/2.3.x/exo.ws.commons/src/main/java/org/exoplatform/common/http/client/DefaultAuthHandler.java 2012-02-09 15:46:42 UTC (rev 5597)
+++ ws/branches/2.3.x/exo.ws.commons/src/main/java/org/exoplatform/common/http/client/DefaultAuthHandler.java 2012-02-10 08:29:10 UTC (rev 5598)
@@ -1651,7 +1651,7 @@
{
Runtime.getRuntime().exec(cmd).waitFor();
}
- catch (Exception e)
+ catch (Throwable e)
{
if (LOG.isTraceEnabled())
{
Modified: ws/branches/2.3.x/exo.ws.commons/src/main/java/org/exoplatform/common/http/client/HTTPConnection.java
===================================================================
--- ws/branches/2.3.x/exo.ws.commons/src/main/java/org/exoplatform/common/http/client/HTTPConnection.java 2012-02-09 15:46:42 UTC (rev 5597)
+++ ws/branches/2.3.x/exo.ws.commons/src/main/java/org/exoplatform/common/http/client/HTTPConnection.java 2012-02-10 08:29:10 UTC (rev 5598)
@@ -3317,26 +3317,64 @@
}
if (req.getStream() != null)
+ {
req.getStream().goAhead(req, sock_out, 0);
+ }
else
+ {
sock_out.flush();
+ }
// get a new response.
// Note: this does not do a read on the socket.
if (resp == null)
+ {
resp = new Response(req, (Proxy_Host != null && Protocol != HTTPS), input_demux);
+ }
}
+ catch (UnknownHostException e)
+ {
+ LOG.error("Send request error", e);
+
+ closeDemux(e, true);
+
+ throw e;
+ }
+ catch (ConnectException e)
+ {
+ LOG.error("Send request error", e);
+
+ closeDemux(e, true);
+
+ throw e;
+ }
+ catch (NoRouteToHostException e)
+ {
+ LOG.error("Send request error", e);
+
+ closeDemux(e, true);
+
+ throw e;
+ }
+ catch (InterruptedIOException e)
+ {
+ LOG.error("Send request error", e);
+
+ closeDemux(e, true);
+
+ throw e;
+ }
catch (IOException ioe)
{
-
LOG.error("Send request error", ioe);
closeDemux(ioe, true);
- if (try_count == 0 || ioe instanceof UnknownHostException || ioe instanceof ConnectException
- || ioe instanceof NoRouteToHostException || ioe instanceof InterruptedIOException || req.aborted)
+ if (try_count == 0 || req.aborted)
+ {
throw ioe;
+ }
LOG.info("Retrying request");
continue;
Modified: ws/branches/2.3.x/exo.ws.commons/src/main/java/org/exoplatform/common/http/client/HTTPResponse.java
===================================================================
--- ws/branches/2.3.x/exo.ws.commons/src/main/java/org/exoplatform/common/http/client/HTTPResponse.java 2012-02-09 15:46:42 UTC (rev 5597)
+++ ws/branches/2.3.x/exo.ws.commons/src/main/java/org/exoplatform/common/http/client/HTTPResponse.java 2012-02-10 08:29:10 UTC (rev 5598)
@@ -514,7 +514,7 @@
{
inp_stream.close();
}
- catch (Exception e)
+ catch (IOException e)
{
if (LOG.isTraceEnabled())
{
@@ -648,15 +648,18 @@
{
handleResponse();
}
- catch (Exception e)
+ catch (ModuleException e)
{
- if (!(e instanceof InterruptedIOException))
- {
- LOG.error(method + " " + OriginalURI.getPathAndQuery());
- }
+ LOG.error(method + " " + OriginalURI.getPathAndQuery());
return "Failed to read headers: " + e;
}
+ catch (IOException e)
+ {
+ LOG.error(method + " " + OriginalURI.getPathAndQuery());
+
+ return "Failed to read headers: " + e;
+ }
}
String nl = PrivilegedSystemHelper.getProperty("line.separator", "\n");
Modified: ws/branches/2.3.x/exo.ws.commons/src/main/java/org/exoplatform/common/http/client/HttpURLConnection.java
===================================================================
--- ws/branches/2.3.x/exo.ws.commons/src/main/java/org/exoplatform/common/http/client/HttpURLConnection.java 2012-02-09 15:46:42 UTC (rev 5597)
+++ ws/branches/2.3.x/exo.ws.commons/src/main/java/org/exoplatform/common/http/client/HttpURLConnection.java 2012-02-10 08:29:10 UTC (rev 5598)
@@ -41,11 +41,13 @@
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
+import java.net.MalformedURLException;
import java.net.ProtocolException;
import java.net.URL;
import java.util.Date;
import java.util.Enumeration;
import java.util.Hashtable;
+import java.util.NoSuchElementException;
/**
* This class is a wrapper around HTTPConnection providing the interface defined
@@ -378,13 +380,19 @@
try
{
if (!connected)
+ {
connect();
+ }
return resp.getHeader(name);
}
- catch (Exception e)
+ catch (IOException e)
{
return null;
}
+ catch (ModuleException e)
+ {
+ return null;
+ }
}
/**
@@ -401,13 +409,23 @@
try
{
if (!connected)
+ {
connect();
+ }
return resp.getHeaderAsInt(name);
}
- catch (Exception e)
+ catch (NumberFormatException e)
{
return def;
}
+ catch (IOException e)
+ {
+ return def;
+ }
+ catch (ModuleException e)
+ {
+ return def;
+ }
}
/**
@@ -425,13 +443,23 @@
try
{
if (!connected)
+ {
connect();
+ }
return resp.getHeaderAsDate(name).getTime();
}
- catch (Exception e)
+ catch (IllegalArgumentException e)
{
return def;
}
+ catch (IOException e)
+ {
+ return def;
+ }
+ catch (ModuleException e)
+ {
+ return def;
+ }
}
private String[] hdr_keys, hdr_values;
@@ -481,7 +509,9 @@
try
{
if (!connected)
+ {
connect();
+ }
// count number of headers
int num = 1;
@@ -507,10 +537,18 @@
// the 0'th field is special
hdr_values[0] = resp.getVersion() + " " + resp.getStatusCode() + " " + resp.getReasonLine();
}
- catch (Exception e)
+ catch (NoSuchElementException e)
{
hdr_keys = hdr_values = new String[0];
}
+ catch (IOException e)
+ {
+ hdr_keys = hdr_values = new String[0];
+ }
+ catch (ModuleException e)
+ {
+ hdr_keys = hdr_values = new String[0];
+ }
}
/**
@@ -558,14 +596,24 @@
try
{
if (!doInput || !connected || resp.getStatusCode() < 300 || resp.getHeaderAsInt("Content-length") <= 0)
+ {
return null;
+ }
return resp.getInputStream();
}
- catch (Exception e)
+ catch (IOException e)
{
return null;
}
+ catch (NumberFormatException e)
+ {
+ return null;
+ }
+ catch (ModuleException e)
+ {
+ return null;
+ }
}
/**
@@ -644,10 +692,18 @@
{
return resp.getEffectiveURI().toURL();
}
- catch (Exception e)
+ catch (MalformedURLException e)
{
return null;
}
+ catch (IOException e)
+ {
+ return null;
+ }
+ catch (ModuleException e)
+ {
+ return null;
+ }
}
return url;
Modified: ws/branches/2.3.x/exo.ws.commons/src/main/java/org/exoplatform/common/http/client/RedirectionModule.java
===================================================================
--- ws/branches/2.3.x/exo.ws.commons/src/main/java/org/exoplatform/common/http/client/RedirectionModule.java 2012-02-09 15:46:42 UTC (rev 5597)
+++ ws/branches/2.3.x/exo.ws.commons/src/main/java/org/exoplatform/common/http/client/RedirectionModule.java 2012-02-10 08:29:10 UTC (rev 5598)
@@ -155,7 +155,7 @@
{
con = new HTTPConnection(new_loc);
}
- catch (Exception e)
+ catch (ProtocolNotSuppException e)
{
throw new Error("HTTPClient Internal Error: unexpected " + "exception '" + e + "'");
}
@@ -324,7 +324,7 @@
mvd = new HTTPConnection(loc);
nres = loc.getPathAndQuery();
}
- catch (Exception e)
+ catch (ProtocolNotSuppException e)
{
if (req.getConnection().getProxyHost() == null || !loc.getScheme().equalsIgnoreCase("ftp"))
return RSP_CONTINUE;
Modified: ws/branches/2.3.x/exo.ws.commons/src/main/java/org/exoplatform/common/http/client/Response.java
===================================================================
--- ws/branches/2.3.x/exo.ws.commons/src/main/java/org/exoplatform/common/http/client/Response.java 2012-02-09 15:46:42 UTC (rev 5597)
+++ ws/branches/2.3.x/exo.ws.commons/src/main/java/org/exoplatform/common/http/client/Response.java 2012-02-10 08:29:10 UTC (rev 5598)
@@ -583,7 +583,7 @@
{
inp_stream.close();
}
- catch (Exception e)
+ catch (IOException e)
{
if (LOG.isTraceEnabled())
{
@@ -689,18 +689,25 @@
while ((StatusCode == 100 && skip_cont) || // Continue
(StatusCode > 101 && StatusCode < 200)); // Unknown
}
- catch (IOException ioe)
+ catch (InterruptedIOException ioe)
{
- if (!(ioe instanceof InterruptedIOException))
- exception = ioe;
- if (ioe instanceof ProtocolException) // thrown internally
+ throw ioe;
+ }
+ catch (ProtocolException ioe)// thrown internally
+ {
+ exception = ioe;
+ cd_type = CD_CLOSE;
+ if (stream_handler != null)
{
- cd_type = CD_CLOSE;
- if (stream_handler != null)
- stream_handler.markForClose(this);
+ stream_handler.markForClose(this);
}
throw ioe;
}
+ catch (IOException ioe)
+ {
+ exception = ioe;
+ throw ioe;
+ }
finally
{
reading_headers = false;
@@ -1042,10 +1049,13 @@
readLines(inp);
trailers_read = true;
}
+ catch (InterruptedIOException ioe)
+ {
+ throw ioe;
+ }
catch (IOException ioe)
{
- if (!(ioe instanceof InterruptedIOException))
- exception = ioe;
+ exception = ioe;
throw ioe;
}
}
Modified: ws/branches/2.3.x/exo.ws.commons/src/main/java/org/exoplatform/common/http/client/StreamDemultiplexor.java
===================================================================
--- ws/branches/2.3.x/exo.ws.commons/src/main/java/org/exoplatform/common/http/client/StreamDemultiplexor.java 2012-02-09 15:46:42 UTC (rev 5597)
+++ ws/branches/2.3.x/exo.ws.commons/src/main/java/org/exoplatform/common/http/client/StreamDemultiplexor.java 2012-02-10 08:29:10 UTC (rev 5598)
@@ -219,15 +219,14 @@
{
head.stream.readAll(timeout);
}
+ catch (InterruptedIOException ioe)
+ {
+ throw ioe;
+ }
catch (IOException ioe)
{
- if (ioe instanceof InterruptedIOException)
- throw ioe;
- else
- {
- resph.exception.fillInStackTrace();
- throw resph.exception;
- }
+ resph.exception.fillInStackTrace();
+ throw resph.exception;
}
}
Modified: ws/branches/2.3.x/exo.ws.frameworks.json/src/main/java/org/exoplatform/ws/frameworks/json/impl/ObjectBuilder.java
===================================================================
--- ws/branches/2.3.x/exo.ws.frameworks.json/src/main/java/org/exoplatform/ws/frameworks/json/impl/ObjectBuilder.java 2012-02-09 15:46:42 UTC (rev 5597)
+++ ws/branches/2.3.x/exo.ws.frameworks.json/src/main/java/org/exoplatform/ws/frameworks/json/impl/ObjectBuilder.java 2012-02-10 08:29:10 UTC (rev 5598)
@@ -26,6 +26,7 @@
import java.lang.reflect.Array;
import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
import java.lang.reflect.ParameterizedType;
@@ -192,10 +193,14 @@
{
constructor = collectionClass.getConstructor(new Class[]{Collection.class});
}
- catch (Exception e)
+ catch (SecurityException e)
{
throw new JsonException(e.getMessage(), e);
}
+ catch (NoSuchMethodException e)
+ {
+ throw new JsonException(e.getMessage(), e);
+ }
}
if (constructor == null)
@@ -221,10 +226,26 @@
{
collection = constructor.newInstance(sourceCollection);
}
- catch (Exception e)
+ catch (IllegalAccessException e)
{
throw new JsonException(e.getMessage(), e);
}
+ catch (IllegalArgumentException e)
+ {
+ throw new JsonException(e.getMessage(), e);
+ }
+ catch (InstantiationException e)
+ {
+ throw new JsonException(e.getMessage(), e);
+ }
+ catch (InvocationTargetException e)
+ {
+ throw new JsonException(e.getMessage(), e);
+ }
+ catch (ExceptionInInitializerError e)
+ {
+ throw new JsonException(e.getMessage(), e);
+ }
}
return collection;
}
@@ -287,7 +308,7 @@
try
{
constructor = LinkedHashMap.class.asSubclass(mapClass).getConstructor(new Class[]{Map.class});
- }
+ }
catch (Exception e2)
{
if (LOG.isTraceEnabled())
@@ -304,10 +325,14 @@
{
constructor = mapClass.getConstructor(new Class[]{Map.class});
}
- catch (Exception e)
+ catch (SecurityException e)
{
throw new JsonException(e.getMessage(), e);
}
+ catch (NoSuchMethodException e)
+ {
+ throw new JsonException(e.getMessage(), e);
+ }
}
if (constructor == null)
@@ -334,10 +359,26 @@
{
map = constructor.newInstance(sourceMap);
}
- catch (Exception e)
+ catch (ExceptionInInitializerError e)
{
throw new JsonException(e.getMessage(), e);
}
+ catch (IllegalAccessException e)
+ {
+ throw new JsonException(e.getMessage(), e);
+ }
+ catch (IllegalArgumentException e)
+ {
+ throw new JsonException(e.getMessage(), e);
+ }
+ catch (InstantiationException e)
+ {
+ throw new JsonException(e.getMessage(), e);
+ }
+ catch (InvocationTargetException e)
+ {
+ throw new JsonException(e.getMessage(), e);
+ }
}
return map;
}
@@ -377,10 +418,22 @@
{
object = clazz.newInstance();
}
- catch (Exception e)
+ catch (ExceptionInInitializerError e)
{
throw new JsonException("Unable instantiate object. " + e.getMessage(), e);
}
+ catch (SecurityException e)
+ {
+ throw new JsonException("Unable instantiate object. " + e.getMessage(), e);
+ }
+ catch (IllegalAccessException e)
+ {
+ throw new JsonException("Unable instantiate object. " + e.getMessage(), e);
+ }
+ catch (InstantiationException e)
+ {
+ throw new JsonException("Unable instantiate object. " + e.getMessage(), e);
+ }
Method[] methods = clazz.getMethods();
Modified: ws/branches/2.3.x/exo.ws.frameworks.servlet/src/main/java/org/exoplatform/ws/frameworks/servlet/StandaloneContainerInitializedListener.java
===================================================================
--- ws/branches/2.3.x/exo.ws.frameworks.servlet/src/main/java/org/exoplatform/ws/frameworks/servlet/StandaloneContainerInitializedListener.java 2012-02-09 15:46:42 UTC (rev 5597)
+++ ws/branches/2.3.x/exo.ws.frameworks.servlet/src/main/java/org/exoplatform/ws/frameworks/servlet/StandaloneContainerInitializedListener.java 2012-02-10 08:29:10 UTC (rev 5598)
@@ -73,7 +73,7 @@
event.getServletContext().getResource(configurationURL.substring(PREFIX_WAR.length())).toExternalForm();
}
}
- catch (Exception e)
+ catch (MalformedURLException e)
{
LOG.error("Error of configurationURL read", e);
}
Modified: ws/branches/2.3.x/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/impl/RequestHandlerImpl.java
===================================================================
--- ws/branches/2.3.x/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/impl/RequestHandlerImpl.java 2012-02-09 15:46:42 UTC (rev 5597)
+++ ws/branches/2.3.x/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/impl/RequestHandlerImpl.java 2012-02-10 08:29:10 UTC (rev 5598)
@@ -52,8 +52,8 @@
import javax.ws.rs.WebApplicationException;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
-import javax.ws.rs.core.StreamingOutput;
import javax.ws.rs.core.Response.ResponseBuilder;
+import javax.ws.rs.core.StreamingOutput;
import javax.ws.rs.ext.ExceptionMapper;
/**
@@ -155,87 +155,80 @@
}
}
}
- catch (Exception e)
+ catch (WebApplicationException e)
{
- if (e instanceof WebApplicationException)
+ Response errorResponse = ((WebApplicationException)e).getResponse();
+ ExceptionMapper excmap = context.getProviders().getExceptionMapper(WebApplicationException.class);
+ int errorStatus = errorResponse.getStatus();
+ // should be some of 4xx status
+ if (errorStatus < 500)
{
- Response errorResponse = ((WebApplicationException)e).getResponse();
- ExceptionMapper excmap = context.getProviders().getExceptionMapper(WebApplicationException.class);
- int errorStatus = errorResponse.getStatus();
- // should be some of 4xx status
- if (errorStatus < 500)
+ // Warn about error in debug mode only.
+ if (LOG.isDebugEnabled() && e.getCause() != null)
{
- // Warn about error in debug mode only.
- if (LOG.isDebugEnabled() && e.getCause() != null)
- {
- LOG.warn("WebApplication exception occurs.", e.getCause());
- }
+ LOG.warn("WebApplication exception occurs.", e.getCause());
}
- else
+ }
+ else
+ {
+ if (e.getCause() != null)
{
- if (e.getCause() != null)
- {
- LOG.warn("WebApplication exception occurs.", e.getCause());
- }
+ LOG.warn("WebApplication exception occurs.", e.getCause());
}
- if (errorResponse.getEntity() == null)
+ }
+ if (errorResponse.getEntity() == null)
+ {
+ if (excmap != null)
{
- if (excmap != null)
- {
- errorResponse = excmap.toResponse(e);
- }
- else
- {
- if (e.getMessage() != null)
- {
- errorResponse = createErrorResponse(errorStatus, e.getMessage());
- }
- }
+ errorResponse = excmap.toResponse(e);
}
else
{
- if (errorResponse.getMetadata().getFirst(ExtHttpHeaders.JAXRS_BODY_PROVIDED) == null)
+ if (e.getMessage() != null)
{
- String jaxrsHeader = getJaxrsHeader(errorStatus);
- if (jaxrsHeader != null)
- {
- errorResponse.getMetadata().putSingle(ExtHttpHeaders.JAXRS_BODY_PROVIDED, jaxrsHeader);
- }
+ errorResponse = createErrorResponse(errorStatus, e.getMessage());
}
}
- response.setResponse(errorResponse);
}
- else if (e instanceof InternalException)
+ else
{
- Throwable cause = e.getCause();
- Class causeClazz = cause.getClass();
- ExceptionMapper excmap = context.getProviders().getExceptionMapper(causeClazz);
- while (causeClazz != null && excmap == null)
+ if (errorResponse.getMetadata().getFirst(ExtHttpHeaders.JAXRS_BODY_PROVIDED) == null)
{
- excmap = context.getProviders().getExceptionMapper(causeClazz);
- if (excmap == null)
+ String jaxrsHeader = getJaxrsHeader(errorStatus);
+ if (jaxrsHeader != null)
{
- causeClazz = causeClazz.getSuperclass();
+ errorResponse.getMetadata().putSingle(ExtHttpHeaders.JAXRS_BODY_PROVIDED, jaxrsHeader);
}
}
- if (excmap != null)
+ }
+ response.setResponse(errorResponse);
+ }
+ catch (InternalException e)
+ {
+ Throwable cause = e.getCause();
+ Class causeClazz = cause.getClass();
+ ExceptionMapper excmap = context.getProviders().getExceptionMapper(causeClazz);
+ while (causeClazz != null && excmap == null)
+ {
+ excmap = context.getProviders().getExceptionMapper(causeClazz);
+ if (excmap == null)
{
- if (LOG.isDebugEnabled())
- {
- // Hide error message if exception mapper exists.
- LOG.warn("Internal error occurs.", cause);
- }
- response.setResponse(excmap.toResponse(e.getCause()));
+ causeClazz = causeClazz.getSuperclass();
}
- else
+ }
+ if (excmap != null)
+ {
+ if (LOG.isDebugEnabled())
{
- LOG.error("Internal error occurs.", cause);
- throw new UnhandledException(e.getCause());
+ // Hide error message if exception mapper exists.
+ LOG.warn("Internal error occurs.", cause);
}
+ response.setResponse(excmap.toResponse(e.getCause()));
}
else
{
- throw new UnhandledException(e);
+ LOG.error("Internal error occurs.", cause);
+ throw new UnhandledException(e.getCause());
}
}
Modified: ws/branches/2.3.x/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/impl/method/DefaultMethodInvoker.java
===================================================================
--- ws/branches/2.3.x/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/impl/method/DefaultMethodInvoker.java 2012-02-09 15:46:42 UTC (rev 5597)
+++ ws/branches/2.3.x/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/impl/method/DefaultMethodInvoker.java 2012-02-10 08:29:10 UTC (rev 5598)
@@ -157,16 +157,22 @@
entityReader.readFrom(mp.getParameterClass(), mp.getGenericType(), mp.getAnnotations(),
contentType, headers, entityStream);
}
- catch (Exception e)
+ catch (WebApplicationException e)
{
if (LOG.isDebugEnabled())
{
LOG.debug(e.getLocalizedMessage(), e);
}
- if (e instanceof WebApplicationException)
+
+ throw e;
+ }
+ catch (Exception e)
+ {
+ if (LOG.isDebugEnabled())
{
- throw (WebApplicationException)e;
+ LOG.debug(e.getLocalizedMessage(), e);
}
+
throw new InternalException(e);
}
}
Modified: ws/branches/2.3.x/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/impl/method/ParameterHelper.java
===================================================================
--- ws/branches/2.3.x/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/impl/method/ParameterHelper.java 2012-02-09 15:46:42 UTC (rev 5597)
+++ ws/branches/2.3.x/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/impl/method/ParameterHelper.java 2012-02-10 08:29:10 UTC (rev 5598)
@@ -28,6 +28,7 @@
import java.lang.reflect.Modifier;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
+import java.security.PrivilegedActionException;
import java.security.PrivilegedExceptionAction;
import java.util.ArrayList;
import java.util.Arrays;
@@ -273,7 +274,7 @@
return Modifier.isStatic(method.getModifiers()) ? method : null;
}
- catch (Exception e)
+ catch (PrivilegedActionException e)
{
return null;
}
@@ -293,10 +294,14 @@
{
return clazz.getConstructor(String.class);
}
- catch (Exception e)
+ catch (SecurityException e)
{
return null;
}
+ catch (NoSuchMethodException e)
+ {
+ return null;
+ }
}
Modified: ws/branches/2.3.x/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/impl/provider/IOHelper.java
===================================================================
--- ws/branches/2.3.x/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/impl/provider/IOHelper.java 2012-02-09 15:46:42 UTC (rev 5597)
+++ ws/branches/2.3.x/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/impl/provider/IOHelper.java 2012-02-10 08:29:10 UTC (rev 5598)
@@ -26,6 +26,8 @@
import java.io.Reader;
import java.io.Writer;
import java.nio.charset.Charset;
+import java.nio.charset.IllegalCharsetNameException;
+import java.nio.charset.UnsupportedCharsetException;
/**
* @author <a href="mailto:andrew00x@gmail.com">Andrey Parfonov</a>
@@ -131,10 +133,18 @@
{
charset = cs != null ? Charset.forName(cs) : DEFAULT_CHARSET;
}
- catch (Exception e)
+ catch (IllegalCharsetNameException e)
{
charset = DEFAULT_CHARSET;
}
+ catch (UnsupportedCharsetException e)
+ {
+ charset = DEFAULT_CHARSET;
+ }
+ catch (IllegalArgumentException e)
+ {
+ charset = DEFAULT_CHARSET;
+ }
Writer w = new OutputStreamWriter(out, charset);
try
{
Modified: ws/branches/2.3.x/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/impl/provider/JsonEntityProvider.java
===================================================================
--- ws/branches/2.3.x/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/impl/provider/JsonEntityProvider.java 2012-02-09 15:46:42 UTC (rev 5597)
+++ ws/branches/2.3.x/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/impl/provider/JsonEntityProvider.java 2012-02-10 08:29:10 UTC (rev 5598)
@@ -137,7 +137,7 @@
return ObjectBuilder.createObject(type, jsonValue);
}
- catch (Exception e)
+ catch (JsonException e)
{
throw new IOException("Can't read from input stream " + e);
}
Modified: ws/branches/2.3.x/exo.ws.rest.ext/src/main/java/org/exoplatform/services/rest/ext/management/RestResource.java
===================================================================
--- ws/branches/2.3.x/exo.ws.rest.ext/src/main/java/org/exoplatform/services/rest/ext/management/RestResource.java 2012-02-09 15:46:42 UTC (rev 5597)
+++ ws/branches/2.3.x/exo.ws.rest.ext/src/main/java/org/exoplatform/services/rest/ext/management/RestResource.java 2012-02-10 08:29:10 UTC (rev 5598)
@@ -30,6 +30,8 @@
import org.exoplatform.services.rest.impl.ApplicationContextImpl;
import org.exoplatform.services.rest.impl.MultivaluedMapImpl;
+import java.io.IOException;
+import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.Collection;
@@ -45,6 +47,7 @@
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
+import javax.ws.rs.WebApplicationException;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.MultivaluedMap;
@@ -240,11 +243,16 @@
Object ret = invoker.invoke(resource, argMap);
return ret == null ? Response.ok() : ValueWrapper.wrap(ret);
}
- catch (Exception e)
+ catch (IllegalAccessException e)
{
LOG.error("An exception occured: " + e.getMessage());
return Response.serverError();
}
+ catch (InvocationTargetException e)
+ {
+ LOG.error("An exception occured: " + e.getMessage());
+ return Response.serverError();
+ }
finally
{
managedResource.afterInvoke(resource);
@@ -276,13 +284,27 @@
context.getHttpHeaders().getRequestHeaders(), context.getContainerRequest().getEntityStream());
}
}
- catch (Exception e)
+ catch (IllegalStateException e)
{
if (LOG.isTraceEnabled())
{
LOG.trace("An exception occurred: " + e.getMessage());
}
}
+ catch (WebApplicationException e)
+ {
+ if (LOG.isTraceEnabled())
+ {
+ LOG.trace("An exception occurred: " + e.getMessage());
+ }
+ }
+ catch (IOException e)
+ {
+ if (LOG.isTraceEnabled())
+ {
+ LOG.trace("An exception occurred: " + e.getMessage());
+ }
+ }
parameters.putAll(form);
return parameters;
12 years, 4 months