[exo-jcr-commits] exo-jcr SVN: r2520 - in core/trunk: exo.core.component.database and 13 other directories.
do-not-reply at jboss.org
do-not-reply at jboss.org
Wed Jun 9 05:48:50 EDT 2010
Author: dkatayev
Date: 2010-06-09 05:48:49 -0400 (Wed, 09 Jun 2010)
New Revision: 2520
Added:
core/trunk/exo.core.component.database/src/test/resources/dbcreator/
core/trunk/exo.core.component.database/src/test/resources/dbcreator/test.sql
core/trunk/exo.core.component.document/src/test/resources/testCDATA.xml
core/trunk/exo.core.component.document/src/test/resources/testUTF8.xml
core/trunk/exo.core.component.organization.api/src/main/java/org/exoplatform/services/organization/GroupEventListenerHandler.java
core/trunk/exo.core.component.organization.api/src/main/java/org/exoplatform/services/organization/MembershipEventListenerHandler.java
core/trunk/exo.core.component.organization.api/src/main/java/org/exoplatform/services/organization/UserEventListenerHandler.java
core/trunk/exo.core.component.organization.api/src/main/java/org/exoplatform/services/organization/UserProfileEventListenerHandler.java
Removed:
core/trunk/exo.core.component.database/src/test/resources/dbcreator/test.sql
Modified:
core/trunk/exo.core.component.database/pom.xml
core/trunk/exo.core.component.database/src/main/java/org/exoplatform/services/database/ObjectQuery.java
core/trunk/exo.core.component.database/src/test/resources/conf/standalone/test-configuration.xml
core/trunk/exo.core.component.document/pom.xml
core/trunk/exo.core.component.document/src/main/java/org/exoplatform/services/document/impl/MSExcelDocumentReader.java
core/trunk/exo.core.component.document/src/main/java/org/exoplatform/services/document/impl/PDFDocumentReader.java
core/trunk/exo.core.component.document/src/main/java/org/exoplatform/services/document/impl/XMLDocumentReader.java
core/trunk/exo.core.component.document/src/test/java/org/exoplatform/services/document/test/TestXMLDocumentReader.java
core/trunk/exo.core.component.organization.jdbc/src/main/java/org/exoplatform/services/organization/hibernate/GroupDAOImpl.java
core/trunk/exo.core.component.organization.jdbc/src/main/java/org/exoplatform/services/organization/hibernate/MembershipDAOImpl.java
core/trunk/exo.core.component.organization.jdbc/src/main/java/org/exoplatform/services/organization/hibernate/UserDAOImpl.java
core/trunk/exo.core.component.organization.jdbc/src/main/java/org/exoplatform/services/organization/hibernate/UserProfileDAOImpl.java
core/trunk/exo.core.component.organization.ldap/src/main/java/org/exoplatform/services/organization/ldap/GroupDAOImpl.java
core/trunk/exo.core.component.organization.ldap/src/main/java/org/exoplatform/services/organization/ldap/MembershipDAOImpl.java
core/trunk/exo.core.component.organization.ldap/src/main/java/org/exoplatform/services/organization/ldap/UserDAOImpl.java
core/trunk/exo.core.component.organization.ldap/src/main/java/org/exoplatform/services/organization/ldap/UserProfileDAOImpl.java
core/trunk/exo.core.component.script.groovy/src/main/java/org/exoplatform/services/script/groovy/GroovyScriptInstantiator.java
core/trunk/packaging/module/src/main/javascript/core.packaging.module.js
core/trunk/pom.xml
Log:
EXOJCR-751 epare maintenance branch for jcr 1.12: EXOJCR-694, EXOJCR-700, EXOJCR-705, EXOJCR-721, EXOJCR-640, EXOJCR-573, EXOJCR-738, EXOJCR-765 ported from 1.14.x
Modified: core/trunk/exo.core.component.database/pom.xml
===================================================================
--- core/trunk/exo.core.component.database/pom.xml 2010-06-09 08:26:14 UTC (rev 2519)
+++ core/trunk/exo.core.component.database/pom.xml 2010-06-09 09:48:49 UTC (rev 2520)
@@ -102,7 +102,22 @@
</exclusion>
</exclusions>
</dependency>
- </dependencies>
+
+ <dependency>
+ <groupId>commons-dbcp</groupId>
+ <artifactId>commons-dbcp</artifactId>
+ <exclusions>
+ <exclusion>
+ <groupId>xerces</groupId>
+ <artifactId>xercesImpl</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>commons-pool</groupId>
+ <artifactId>commons-pool</artifactId>
+ </dependency>
+ </dependencies>
<build>
<pluginManagement>
@@ -113,7 +128,6 @@
<configuration>
<excludes>
<exclude>**/DBCreatorTest.java</exclude>
- <exclude>**/TestDBCreator.java</exclude>
</excludes>
</configuration>
</plugin>
Modified: core/trunk/exo.core.component.database/src/main/java/org/exoplatform/services/database/ObjectQuery.java
===================================================================
--- core/trunk/exo.core.component.database/src/main/java/org/exoplatform/services/database/ObjectQuery.java 2010-06-09 08:26:14 UTC (rev 2519)
+++ core/trunk/exo.core.component.database/src/main/java/org/exoplatform/services/database/ObjectQuery.java 2010-06-09 09:48:49 UTC (rev 2520)
@@ -151,7 +151,14 @@
Parameter p = parameters_.get(i);
if (p.value_ instanceof String)
{
- b.append(" o.").append(p.field_).append(p.op_).append("'").append(p.value_).append("'");
+ if (p.field_.startsWith("UPPER") || p.field_.startsWith("LOWER"))
+ {
+ b.append(p.field_).append(p.op_).append("'").append(p.value_).append("'");
+ }
+ else
+ {
+ b.append(" o.").append(p.field_).append(p.op_).append("'").append(p.value_).append("'");
+ }
}
else if (p.value_ instanceof Date)
{
@@ -251,7 +258,14 @@
Parameter p = parameters_.get(i);
if (p.value_ instanceof String)
{
- b.append(" o.").append(p.field_).append(p.op_).append("'").append(p.value_).append("'");
+ if (p.field_.startsWith("UPPER") || p.field_.startsWith("LOWER"))
+ {
+ b.append(p.field_).append(p.op_).append("'").append(p.value_).append("'");
+ }
+ else
+ {
+ b.append(" o.").append(p.field_).append(p.op_).append("'").append(p.value_).append("'");
+ }
}
else if (p.value_ instanceof Date)
{
Modified: core/trunk/exo.core.component.database/src/test/resources/conf/standalone/test-configuration.xml
===================================================================
--- core/trunk/exo.core.component.database/src/test/resources/conf/standalone/test-configuration.xml 2010-06-09 08:26:14 UTC (rev 2519)
+++ core/trunk/exo.core.component.database/src/test/resources/conf/standalone/test-configuration.xml 2010-06-09 09:48:49 UTC (rev 2520)
@@ -19,10 +19,45 @@
02110-1301 USA, or see the FSF site: http://www.fsf.org.
-->
-<configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.exoplaform.org/xml/ns/kernel_1_0.xsd http://www.exoplaform.org/xml/ns/kernel_1_0.xsd"
+<configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.exoplaform.org/xml/ns/kernel_1_0.xsd http://www.exoplaform.org/xml/ns/kernel_1_0.xsd"
xmlns="http://www.exoplaform.org/xml/ns/kernel_1_0.xsd">
<component>
+ <key>org.exoplatform.services.log.LogConfigurationInitializer</key>
+ <type>org.exoplatform.services.log.LogConfigurationInitializer</type>
+ <init-params>
+ <value-param>
+ <name>logger</name>
+ <value>org.exoplatform.services.log.impl.BufferedLog4JLogger</value>
+ </value-param>
+ <value-param>
+ <name>configurator</name>
+ <value>org.exoplatform.services.log.impl.Log4JConfigurator</value>
+ </value-param>
+ <properties-param>
+ <name>properties</name>
+ <description>Log4J properties</description>
+ <property name="log4j.rootLogger" value="INFO, stdout, file" />
+
+ <property name="log4j.appender.stdout" value="org.apache.log4j.ConsoleAppender" />
+ <property name="log4j.appender.stdout.threshold" value="DEBUG" />
+
+ <property name="log4j.appender.stdout.layout" value="org.apache.log4j.PatternLayout" />
+ <property name="log4j.appender.stdout.layout.ConversionPattern" value="%d{dd.MM.yyyy HH:mm:ss} *%-5p* [%t] %c{1}: %m (%F, line %L) %n" />
+
+ <property name="log4j.appender.file" value="org.apache.log4j.FileAppender" />
+ <property name="log4j.appender.file.File" value="target/jcr.log" />
+
+ <property name="log4j.appender.file.layout" value="org.apache.log4j.PatternLayout" />
+ <property name="log4j.appender.file.layout.ConversionPattern" value="%d{dd.MM.yyyy HH:mm:ss} *%-5p* [%t] %c{1}: %m (%F, line %L) %n" />
+
+ <property name="log4j.category.exo.kernel.component.common.InitialContextInitializer" value="DEBUG" />
+ </properties-param>
+ </init-params>
+ </component>
+
+ <component>
<key>org.exoplatform.services.database.jdbc.DBSchemaCreator</key>
<type>org.exoplatform.services.database.jdbc.DBSchemaCreator</type>
<component-plugins>
@@ -50,27 +85,27 @@
</component-plugins>
</component>
- <component>
+ <component>
<key>org.exoplatform.services.database.creator.DBCreator</key>
<type>org.exoplatform.services.database.creator.DBCreator</type>
<init-params>
<properties-param>
<name>db-connection</name>
<description>database connection properties</description>
- <property name="driverClassName" value="com.mysql.jdbc.Driver" />
- <property name="url" value="jdbc:mysql://localhost/" />
- <property name="username" value="root" />
- <property name="password" value="admin" />
+ <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
+ <property name="url" value="jdbc:hsqldb:file:target/temp/data/dbcreator1" />
+ <property name="username" value="sa" />
+ <property name="password" value="" />
</properties-param>
<properties-param>
<name>db-creation</name>
<description>database creation properties</description>
- <property name="scriptPath" value="test.sql" />
- <property name="username" value="testuser" />
- <property name="password" value="testpwd" />
- </properties-param>
- </init-params>
- </component>
+ <property name="scriptPath" value="src/test/resources/dbcreator/test.sql" />
+ <property name="username" value="sa" />
+ <property name="password" value="" />
+ </properties-param>
+ </init-params>
+ </component>
<component>
<key>org.exoplatform.services.naming.InitialContextInitializer</key>
Copied: core/trunk/exo.core.component.database/src/test/resources/dbcreator (from rev 2428, core/trunk/exo.core.component.database/src/test/resources/dbcreator)
Deleted: core/trunk/exo.core.component.database/src/test/resources/dbcreator/test.sql
===================================================================
Copied: core/trunk/exo.core.component.database/src/test/resources/dbcreator/test.sql (from rev 2428, core/trunk/exo.core.component.database/src/test/resources/dbcreator/test.sql)
===================================================================
Modified: core/trunk/exo.core.component.document/pom.xml
===================================================================
--- core/trunk/exo.core.component.document/pom.xml 2010-06-09 08:26:14 UTC (rev 2519)
+++ core/trunk/exo.core.component.document/pom.xml 2010-06-09 09:48:49 UTC (rev 2520)
@@ -50,7 +50,7 @@
<artifactId>slf4j-log4j12</artifactId>
</dependency>
<dependency>
- <groupId>pdfbox</groupId>
+ <groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox</artifactId>
</dependency>
<dependency>
@@ -106,4 +106,4 @@
</testResource>
</testResources>
</build>
-</project>
\ No newline at end of file
+</project>
Modified: core/trunk/exo.core.component.document/src/main/java/org/exoplatform/services/document/impl/MSExcelDocumentReader.java
===================================================================
--- core/trunk/exo.core.component.document/src/main/java/org/exoplatform/services/document/impl/MSExcelDocumentReader.java 2010-06-09 08:26:14 UTC (rev 2519)
+++ core/trunk/exo.core.component.document/src/main/java/org/exoplatform/services/document/impl/MSExcelDocumentReader.java 2010-06-09 09:48:49 UTC (rev 2520)
@@ -67,7 +67,7 @@
throw new NullPointerException("InputStream is null.");
}
- String text = "";
+ StringBuilder builder = new StringBuilder("");
try
{
@@ -78,7 +78,7 @@
}
catch (IOException e)
{
- return text;
+ return builder.toString();
}
for (int sheetNum = 0; sheetNum < wb.getNumberOfSheets(); sheetNum++)
{
@@ -105,25 +105,25 @@
{
Date date = HSSFDateUtil.getJavaDate(d);
String cellText = this.DATE_FORMAT.format(date);
- text = text + cellText + " ";
+ builder.append(cellText).append(" ");
}
else
{
- text = text + d + " ";
+ builder.append(d).append(" ");
}
break;
}
case HSSFCell.CELL_TYPE_FORMULA :
- text = text + cell.getCellFormula().toString() + " ";
+ builder.append(cell.getCellFormula().toString()).append(" ");
break;
case HSSFCell.CELL_TYPE_BOOLEAN :
- text = text + cell.getBooleanCellValue() + " ";
+ builder.append(cell.getBooleanCellValue()).append(" ");
break;
case HSSFCell.CELL_TYPE_ERROR :
- text = text + cell.getErrorCellValue() + " ";
+ builder.append(cell.getErrorCellValue()).append(" ");
break;
case HSSFCell.CELL_TYPE_STRING :
- text = text + cell.getStringCellValue().toString() + " ";
+ builder.append(cell.getStringCellValue().toString()).append(" ");
break;
default :
break;
@@ -148,7 +148,7 @@
}
}
}
- return text;
+ return builder.toString();
}
public String getContentAsText(InputStream is, String encoding) throws IOException, DocumentReadException
Modified: core/trunk/exo.core.component.document/src/main/java/org/exoplatform/services/document/impl/PDFDocumentReader.java
===================================================================
--- core/trunk/exo.core.component.document/src/main/java/org/exoplatform/services/document/impl/PDFDocumentReader.java 2010-06-09 08:26:14 UTC (rev 2519)
+++ core/trunk/exo.core.component.document/src/main/java/org/exoplatform/services/document/impl/PDFDocumentReader.java 2010-06-09 09:48:49 UTC (rev 2520)
@@ -26,8 +26,8 @@
import org.exoplatform.services.document.DocumentReadException;
import org.exoplatform.services.log.ExoLogger;
import org.exoplatform.services.log.Log;
-import org.pdfbox.pdmodel.PDDocument;
-import org.pdfbox.util.PDFTextStripper;
+import org.apache.pdfbox.pdmodel.PDDocument;
+import org.apache.pdfbox.util.PDFTextStripper;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
Modified: core/trunk/exo.core.component.document/src/main/java/org/exoplatform/services/document/impl/XMLDocumentReader.java
===================================================================
--- core/trunk/exo.core.component.document/src/main/java/org/exoplatform/services/document/impl/XMLDocumentReader.java 2010-06-09 08:26:14 UTC (rev 2519)
+++ core/trunk/exo.core.component.document/src/main/java/org/exoplatform/services/document/impl/XMLDocumentReader.java 2010-06-09 09:48:49 UTC (rev 2520)
@@ -19,15 +19,19 @@
package org.exoplatform.services.document.impl;
import org.exoplatform.services.document.DocumentReadException;
+import org.xml.sax.SAXException;
+import org.xml.sax.helpers.DefaultHandler;
-import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
+import java.io.StringWriter;
+import java.io.Writer;
import java.util.Properties;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-import java.util.regex.PatternSyntaxException;
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.parsers.SAXParser;
+import javax.xml.parsers.SAXParserFactory;
+
/**
* Created by The eXo Platform SAS A parser of XML files.
*
@@ -61,14 +65,15 @@
}
try
{
- byte[] buffer = new byte[2048];
- int len;
- ByteArrayOutputStream bos = new ByteArrayOutputStream();
- while ((len = is.read(buffer)) > 0)
- bos.write(buffer, 0, len);
- bos.close();
- String xml = new String(bos.toByteArray());
- return delete(xml);
+
+ // byte[] buffer = new byte[2048];
+ // int len;
+ // ByteArrayOutputStream bos = new ByteArrayOutputStream();
+ // while ((len = is.read(buffer)) > 0)
+ // bos.write(buffer, 0, len);
+ // bos.close();
+ // String xml = new String(bos.toByteArray());
+ return parse(is);
}
finally
{
@@ -113,27 +118,74 @@
* @param str the string which contain a text with user's tags.
* @return The string cleaned from user's tags and their bodies.
*/
- private String delete(String str)
+ private String parse(InputStream is)
{
+ SAXParserFactory saxParserFactory = SAXParserFactory.newInstance();
+ // saxParserFactory.setNamespaceAware(true);
+ // saxParserFactory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
+ SAXParser saxParser;
+ StringWriter writer = new StringWriter();
+
+ DefaultHandler dh = new WriteOutContentHandler(writer);
try
{
- StringBuffer input = new StringBuffer(str);
- String patternString = "<+[^>]*>+";
- Pattern pattern = Pattern.compile(patternString, Pattern.CASE_INSENSITIVE + Pattern.DOTALL);
- Matcher matcher = pattern.matcher(input);
- while (matcher.find())
+ saxParser = saxParserFactory.newSAXParser();
+ saxParser.parse(is, dh);
+ }
+ catch (SAXException e)
+ {
+ return "";
+ }
+ catch (IOException e)
+ {
+ return "";
+ }
+ catch (ParserConfigurationException e)
+ {
+ return "";
+ }
+
+ return writer.toString();
+
+ }
+
+ class WriteOutContentHandler extends DefaultHandler
+ {
+ private final Writer writer;
+
+ public WriteOutContentHandler(Writer writer)
+ {
+ this.writer = writer;
+ }
+
+ /**
+ * Writes the given characters to the given character stream.
+ */
+ @Override
+ public void characters(char[] ch, int start, int length) throws SAXException
+ {
+ try
{
- int start = matcher.start();
- int end = matcher.end();
- input.delete(start, end);
- matcher = pattern.matcher(input);
+ writer.write(ch, start, length);
}
- return input.substring(0, input.length());
+ catch (IOException e)
+ {
+ throw new SAXException(e.getMessage(), e);
+ }
}
- catch (PatternSyntaxException e)
+
+ @Override
+ public void endDocument() throws SAXException
{
+ try
+ {
+ writer.flush();
+ }
+ catch (IOException e)
+ {
+ throw new SAXException(e.getMessage(), e);
+ }
}
- return "";
}
}
Modified: core/trunk/exo.core.component.document/src/test/java/org/exoplatform/services/document/test/TestXMLDocumentReader.java
===================================================================
--- core/trunk/exo.core.component.document/src/test/java/org/exoplatform/services/document/test/TestXMLDocumentReader.java 2010-06-09 08:26:14 UTC (rev 2519)
+++ core/trunk/exo.core.component.document/src/test/java/org/exoplatform/services/document/test/TestXMLDocumentReader.java 2010-06-09 09:48:49 UTC (rev 2520)
@@ -45,7 +45,26 @@
{
InputStream is = TestXMLDocumentReader.class.getResourceAsStream("/test.xml");
String text = service_.getDocumentReader("text/xml").getContentAsText(is);
- String etalon = "\n\n John\n" + " Alice\n" + " Reminder\n" + " Don't forget it this weekend!\n\n";
- assertEquals("Wrong string returned", etalon, text);
+ String expected = "John\n" + " Alice\n" + " Reminder\n" + " Don't forget it this weekend!";
+ assertEquals("Wrong string returned", expected, text.trim());
}
+
+ public void testCDATAGetContentAsString() throws Exception
+ {
+ InputStream is = TestXMLDocumentReader.class.getResourceAsStream("/testCDATA.xml");
+ String text = service_.getDocumentReader("text/xml").getContentAsText(is);
+ String expected = "This is a text inside CDATA.";
+ assertEquals("Wrong string returned", expected, text.trim());
+ }
+
+ public void testI18ngetContentAsString() throws Exception
+ {
+ InputStream is = TestXMLDocumentReader.class.getResourceAsStream("/testUTF8.xml");
+ String text = service_.getDocumentReader("text/xml").getContentAsText(is);
+ final String expected =
+ "\u0426\u0435 \u0442\u0435\u0441\u0442\u043e\u0432\u0438\u0439 \u0442\u0435\u043a\u0441\u0442.\n"
+ + "Archim\u00E8de et Lius \u00E0 Ch\u00E2teauneuf testing chars en \u00E9t\u00E9";
+ assertEquals("Wrong string returned", expected, text.trim());
+ }
+
}
Copied: core/trunk/exo.core.component.document/src/test/resources/testCDATA.xml (from rev 2432, core/trunk/exo.core.component.document/src/test/resources/testCDATA.xml)
===================================================================
--- core/trunk/exo.core.component.document/src/test/resources/testCDATA.xml (rev 0)
+++ core/trunk/exo.core.component.document/src/test/resources/testCDATA.xml 2010-06-09 09:48:49 UTC (rev 2520)
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<Module>
+ <ModulePrefs title="Hello World! title" />
+ <Content type="html">
+<![CDATA[This is a text inside CDATA.]]></Content>
+</Module>
\ No newline at end of file
Copied: core/trunk/exo.core.component.document/src/test/resources/testUTF8.xml (from rev 2432, core/trunk/exo.core.component.document/src/test/resources/testUTF8.xml)
===================================================================
--- core/trunk/exo.core.component.document/src/test/resources/testUTF8.xml (rev 0)
+++ core/trunk/exo.core.component.document/src/test/resources/testUTF8.xml 2010-06-09 09:48:49 UTC (rev 2520)
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<Module>
+ <ModulePrefs title="Hello World! title" />
+ <Content type="html">
+ <Title>Це тестовий текст.</Title>
+<![CDATA[Archimède et Lius à Châteauneuf testing chars en été]]></Content>
+</Module>
\ No newline at end of file
Copied: core/trunk/exo.core.component.organization.api/src/main/java/org/exoplatform/services/organization/GroupEventListenerHandler.java (from rev 2334, core/trunk/exo.core.component.organization.api/src/main/java/org/exoplatform/services/organization/GroupEventListenerHandler.java)
===================================================================
--- core/trunk/exo.core.component.organization.api/src/main/java/org/exoplatform/services/organization/GroupEventListenerHandler.java (rev 0)
+++ core/trunk/exo.core.component.organization.api/src/main/java/org/exoplatform/services/organization/GroupEventListenerHandler.java 2010-06-09 09:48:49 UTC (rev 2520)
@@ -0,0 +1,37 @@
+/*
+ * Copyright (C) 2010 eXo Platform SAS.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.exoplatform.services.organization;
+
+import java.util.List;
+
+/**
+ * @author <a href="anatoliy.bazko at exoplatform.org">Anatoliy Bazko</a>
+ * @version $Id: GroupEventListenerHandler.java 111 2010-11-11 11:11:11Z tolusha $
+ *
+ */
+public interface GroupEventListenerHandler
+{
+
+ /**
+ * Return list of GroupEventListener. List should be unmodifiable to prevent modification outside of GroupHandler.
+ *
+ * @return list of GroupEventListener
+ */
+ public List<GroupEventListener> getGroupListeners();
+}
Copied: core/trunk/exo.core.component.organization.api/src/main/java/org/exoplatform/services/organization/MembershipEventListenerHandler.java (from rev 2334, core/trunk/exo.core.component.organization.api/src/main/java/org/exoplatform/services/organization/MembershipEventListenerHandler.java)
===================================================================
--- core/trunk/exo.core.component.organization.api/src/main/java/org/exoplatform/services/organization/MembershipEventListenerHandler.java (rev 0)
+++ core/trunk/exo.core.component.organization.api/src/main/java/org/exoplatform/services/organization/MembershipEventListenerHandler.java 2010-06-09 09:48:49 UTC (rev 2520)
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2010 eXo Platform SAS.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.exoplatform.services.organization;
+
+import java.util.List;
+
+/**
+ * @author <a href="anatoliy.bazko at exoplatform.org">Anatoliy Bazko</a>
+ * @version $Id: MembershipEventListenerHandler.java 111 2010-11-11 11:11:11Z tolusha $
+ *
+ */
+public interface MembershipEventListenerHandler
+{
+
+ /**
+ * Return list of MembershipEventListener. List should be unmodifiable to prevent modification outside of MembershipHandler.
+ *
+ * @return list of MembershipEventListener
+ */
+ public List<MembershipEventListener> getMembershipListeners();
+
+}
Copied: core/trunk/exo.core.component.organization.api/src/main/java/org/exoplatform/services/organization/UserEventListenerHandler.java (from rev 2334, core/trunk/exo.core.component.organization.api/src/main/java/org/exoplatform/services/organization/UserEventListenerHandler.java)
===================================================================
--- core/trunk/exo.core.component.organization.api/src/main/java/org/exoplatform/services/organization/UserEventListenerHandler.java (rev 0)
+++ core/trunk/exo.core.component.organization.api/src/main/java/org/exoplatform/services/organization/UserEventListenerHandler.java 2010-06-09 09:48:49 UTC (rev 2520)
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2010 eXo Platform SAS.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.exoplatform.services.organization;
+
+import java.util.List;
+
+/**
+ * @author <a href="anatoliy.bazko at exoplatform.org">Anatoliy Bazko</a>
+ * @version $Id: UserEventListenerHandler.java 111 2010-11-11 11:11:11Z tolusha
+ * $
+ */
+public interface UserEventListenerHandler {
+
+ /**
+ * Return list of UserEventListener. List should be unmodifiable to prevent
+ * modification outside of UserHandler.
+ *
+ * @return list of UserEventListener
+ */
+ public List<UserEventListener> getUserListeners();
+
+}
Copied: core/trunk/exo.core.component.organization.api/src/main/java/org/exoplatform/services/organization/UserProfileEventListenerHandler.java (from rev 2334, core/trunk/exo.core.component.organization.api/src/main/java/org/exoplatform/services/organization/UserProfileEventListenerHandler.java)
===================================================================
--- core/trunk/exo.core.component.organization.api/src/main/java/org/exoplatform/services/organization/UserProfileEventListenerHandler.java (rev 0)
+++ core/trunk/exo.core.component.organization.api/src/main/java/org/exoplatform/services/organization/UserProfileEventListenerHandler.java 2010-06-09 09:48:49 UTC (rev 2520)
@@ -0,0 +1,37 @@
+/*
+ * Copyright (C) 2010 eXo Platform SAS.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.exoplatform.services.organization;
+
+import java.util.List;
+
+/**
+ * @author <a href="anatoliy.bazko at exoplatform.org">Anatoliy Bazko</a>
+ * @version $Id: UserProfileEventListenerHandler.java 111 2010-11-11 11:11:11Z
+ * tolusha $
+ */
+public interface UserProfileEventListenerHandler {
+
+ /**
+ * Return list of UserProfileEventListener. List should be unmodifiable to
+ * prevent modification outside of UserProfileHandler.
+ *
+ * @return list of UserProfileEventListener
+ */
+ public List<UserProfileEventListener> getUserProfileListeners();
+}
Modified: core/trunk/exo.core.component.organization.jdbc/src/main/java/org/exoplatform/services/organization/hibernate/GroupDAOImpl.java
===================================================================
--- core/trunk/exo.core.component.organization.jdbc/src/main/java/org/exoplatform/services/organization/hibernate/GroupDAOImpl.java 2010-06-09 08:26:14 UTC (rev 2519)
+++ core/trunk/exo.core.component.organization.jdbc/src/main/java/org/exoplatform/services/organization/hibernate/GroupDAOImpl.java 2010-06-09 09:48:49 UTC (rev 2520)
@@ -22,6 +22,7 @@
import org.exoplatform.services.database.HibernateService;
import org.exoplatform.services.organization.Group;
import org.exoplatform.services.organization.GroupEventListener;
+import org.exoplatform.services.organization.GroupEventListenerHandler;
import org.exoplatform.services.organization.GroupHandler;
import org.exoplatform.services.organization.impl.GroupImpl;
import org.hibernate.Query;
@@ -29,6 +30,7 @@
import java.util.ArrayList;
import java.util.Collection;
+import java.util.Collections;
import java.util.List;
/**
@@ -36,7 +38,7 @@
* benjmestrallet at users.sourceforge.net Author : Tuan Nguyen
* tuan08 at users.sourceforge.net Date: Aug 22, 2003 Time: 4:51:21 PM
*/
-public class GroupDAOImpl implements GroupHandler
+public class GroupDAOImpl implements GroupHandler, GroupEventListenerHandler
{
public static final String queryFindGroupByName =
"from g in class org.exoplatform.services.organization.impl.GroupImpl " + "where g.groupName = ? ";
@@ -227,4 +229,12 @@
for (GroupEventListener listener : listeners_)
listener.postDelete(group);
}
+
+ /**
+ * {@inheritDoc}
+ */
+ public List<GroupEventListener> getGroupListeners()
+ {
+ return Collections.unmodifiableList(listeners_);
+ }
}
Modified: core/trunk/exo.core.component.organization.jdbc/src/main/java/org/exoplatform/services/organization/hibernate/MembershipDAOImpl.java
===================================================================
--- core/trunk/exo.core.component.organization.jdbc/src/main/java/org/exoplatform/services/organization/hibernate/MembershipDAOImpl.java 2010-06-09 08:26:14 UTC (rev 2519)
+++ core/trunk/exo.core.component.organization.jdbc/src/main/java/org/exoplatform/services/organization/hibernate/MembershipDAOImpl.java 2010-06-09 09:48:49 UTC (rev 2520)
@@ -24,6 +24,7 @@
import org.exoplatform.services.organization.Group;
import org.exoplatform.services.organization.Membership;
import org.exoplatform.services.organization.MembershipEventListener;
+import org.exoplatform.services.organization.MembershipEventListenerHandler;
import org.exoplatform.services.organization.MembershipHandler;
import org.exoplatform.services.organization.MembershipType;
import org.exoplatform.services.organization.User;
@@ -31,6 +32,7 @@
import org.hibernate.Session;
import java.util.Collection;
+import java.util.Collections;
import java.util.Iterator;
import java.util.List;
@@ -40,7 +42,7 @@
* Created by The eXo Platform SAS Author : Mestrallet Benjamin benjmestrallet at users.sourceforge.net
* Author : Tuan Nguyen tuan08 at users.sourceforge.net Date: Aug 22, 2003 Time: 4:51:21 PM
*/
-public class MembershipDAOImpl implements MembershipHandler
+public class MembershipDAOImpl implements MembershipHandler, MembershipEventListenerHandler
{
private static final String queryFindMembershipByUserGroupAndType =
@@ -318,4 +320,12 @@
listener.postDelete(membership);
}
}
+
+ /**
+ * {@inheritDoc}
+ */
+ public List<MembershipEventListener> getMembershipListeners()
+ {
+ return Collections.unmodifiableList(listeners_);
+ }
}
Modified: core/trunk/exo.core.component.organization.jdbc/src/main/java/org/exoplatform/services/organization/hibernate/UserDAOImpl.java
===================================================================
--- core/trunk/exo.core.component.organization.jdbc/src/main/java/org/exoplatform/services/organization/hibernate/UserDAOImpl.java 2010-06-09 08:26:14 UTC (rev 2519)
+++ core/trunk/exo.core.component.organization.jdbc/src/main/java/org/exoplatform/services/organization/hibernate/UserDAOImpl.java 2010-06-09 09:48:49 UTC (rev 2520)
@@ -32,13 +32,14 @@
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Collection;
+import java.util.Collections;
import java.util.List;
/**
* Created by The eXo Platform SAS Author : Mestrallet Benjamin benjmestrallet at users.sourceforge.net
* Author : Tuan Nguyen tuan08 at users.sourceforge.net Date: Aug 22, 2003 Time: 4:51:21 PM
*/
-public class UserDAOImpl implements UserHandler
+public class UserDAOImpl implements UserHandler, UserEventListenerHandler
{
public static final String queryFindUserByName =
"from u in class org.exoplatform.services.organization.impl.UserImpl " + "where u.userName = ?";
@@ -255,4 +256,12 @@
for (UserEventListener listener : listeners_)
listener.postDelete(user);
}
+
+ /**
+ * {@inheritDoc}
+ */
+ public List<UserEventListener> getUserListeners()
+ {
+ return Collections.unmodifiableList(listeners_);
+ }
}
Modified: core/trunk/exo.core.component.organization.jdbc/src/main/java/org/exoplatform/services/organization/hibernate/UserProfileDAOImpl.java
===================================================================
--- core/trunk/exo.core.component.organization.jdbc/src/main/java/org/exoplatform/services/organization/hibernate/UserProfileDAOImpl.java 2010-06-09 08:26:14 UTC (rev 2519)
+++ core/trunk/exo.core.component.organization.jdbc/src/main/java/org/exoplatform/services/organization/hibernate/UserProfileDAOImpl.java 2010-06-09 09:48:49 UTC (rev 2520)
@@ -23,6 +23,7 @@
import org.exoplatform.services.database.HibernateService;
import org.exoplatform.services.organization.UserProfile;
import org.exoplatform.services.organization.UserProfileEventListener;
+import org.exoplatform.services.organization.UserProfileEventListenerHandler;
import org.exoplatform.services.organization.UserProfileHandler;
import org.exoplatform.services.organization.impl.UserProfileData;
import org.exoplatform.services.organization.impl.UserProfileImpl;
@@ -30,6 +31,7 @@
import java.util.ArrayList;
import java.util.Collection;
+import java.util.Collections;
import java.util.List;
/**
@@ -37,7 +39,7 @@
* benjmestrallet at users.sourceforge.net Author : Tuan Nguyen
* tuan08 at users.sourceforge.net Date: Aug 22, 2003 Time: 4:51:21 PM
*/
-public class UserProfileDAOImpl implements UserProfileHandler
+public class UserProfileDAOImpl implements UserProfileHandler, UserProfileEventListenerHandler
{
static private UserProfile NOT_FOUND = new UserProfileImpl();
@@ -199,4 +201,12 @@
listener.postDelete(profile);
}
+ /**
+ * {@inheritDoc}
+ */
+ public List<UserProfileEventListener> getUserProfileListeners()
+ {
+ return Collections.unmodifiableList(listeners_);
+ }
+
}
Modified: core/trunk/exo.core.component.organization.ldap/src/main/java/org/exoplatform/services/organization/ldap/GroupDAOImpl.java
===================================================================
--- core/trunk/exo.core.component.organization.ldap/src/main/java/org/exoplatform/services/organization/ldap/GroupDAOImpl.java 2010-06-09 08:26:14 UTC (rev 2519)
+++ core/trunk/exo.core.component.organization.ldap/src/main/java/org/exoplatform/services/organization/ldap/GroupDAOImpl.java 2010-06-09 09:48:49 UTC (rev 2520)
@@ -23,11 +23,13 @@
import org.exoplatform.services.log.Log;
import org.exoplatform.services.organization.Group;
import org.exoplatform.services.organization.GroupEventListener;
+import org.exoplatform.services.organization.GroupEventListenerHandler;
import org.exoplatform.services.organization.GroupHandler;
import org.exoplatform.services.organization.impl.GroupImpl;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.Collections;
import java.util.List;
import javax.naming.CompositeName;
@@ -50,7 +52,7 @@
*
* @version andrew00x $
*/
-public class GroupDAOImpl extends BaseDAO implements GroupHandler
+public class GroupDAOImpl extends BaseDAO implements GroupHandler, GroupEventListenerHandler
{
/**
@@ -751,4 +753,12 @@
group.setId(parent.getId() + "/" + group.getGroupName());
group.setParentId(parent.getId());
}
+
+ /**
+ * {@inheritDoc}
+ */
+ public List<GroupEventListener> getGroupListeners()
+ {
+ return Collections.unmodifiableList(listeners);
+ }
}
Modified: core/trunk/exo.core.component.organization.ldap/src/main/java/org/exoplatform/services/organization/ldap/MembershipDAOImpl.java
===================================================================
--- core/trunk/exo.core.component.organization.ldap/src/main/java/org/exoplatform/services/organization/ldap/MembershipDAOImpl.java 2010-06-09 08:26:14 UTC (rev 2519)
+++ core/trunk/exo.core.component.organization.ldap/src/main/java/org/exoplatform/services/organization/ldap/MembershipDAOImpl.java 2010-06-09 09:48:49 UTC (rev 2520)
@@ -24,6 +24,7 @@
import org.exoplatform.services.organization.Group;
import org.exoplatform.services.organization.Membership;
import org.exoplatform.services.organization.MembershipEventListener;
+import org.exoplatform.services.organization.MembershipEventListenerHandler;
import org.exoplatform.services.organization.MembershipHandler;
import org.exoplatform.services.organization.MembershipType;
import org.exoplatform.services.organization.User;
@@ -31,6 +32,7 @@
import java.util.ArrayList;
import java.util.Collection;
+import java.util.Collections;
import java.util.List;
import javax.naming.InvalidNameException;
@@ -50,7 +52,7 @@
* Created by The eXo Platform SAS Author : Tuan Nguyen tuan08 at users.sourceforge.net Oct 14, 2005. @version
* andrew00x $
*/
-public class MembershipDAOImpl extends BaseDAO implements MembershipHandler
+public class MembershipDAOImpl extends BaseDAO implements MembershipHandler, MembershipEventListenerHandler
{
/**
@@ -720,4 +722,11 @@
listener.preSave(membership, isNew);
}
+ /**
+ * {@inheritDoc}
+ */
+ public List<MembershipEventListener> getMembershipListeners()
+ {
+ return Collections.unmodifiableList(listeners);
+ }
}
Modified: core/trunk/exo.core.component.organization.ldap/src/main/java/org/exoplatform/services/organization/ldap/UserDAOImpl.java
===================================================================
--- core/trunk/exo.core.component.organization.ldap/src/main/java/org/exoplatform/services/organization/ldap/UserDAOImpl.java 2010-06-09 08:26:14 UTC (rev 2519)
+++ core/trunk/exo.core.component.organization.ldap/src/main/java/org/exoplatform/services/organization/ldap/UserDAOImpl.java 2010-06-09 09:48:49 UTC (rev 2520)
@@ -25,6 +25,7 @@
import org.exoplatform.services.organization.impl.UserImpl;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.List;
import javax.naming.NamingException;
@@ -38,7 +39,7 @@
* Created by The eXo Platform SAS Author : Tuan Nguyen
* tuan08 at users.sourceforge.net Oct 14, 2005. @version andrew00x $
*/
-public class UserDAOImpl extends BaseDAO implements UserHandler
+public class UserDAOImpl extends BaseDAO implements UserHandler, UserEventListenerHandler
{
/**
@@ -561,4 +562,12 @@
for (UserEventListener listener : listeners)
listener.postDelete(user);
}
+
+ /**
+ * {@inheritDoc}
+ */
+ public List<UserEventListener> getUserListeners()
+ {
+ return Collections.unmodifiableList(listeners);
+ }
}
Modified: core/trunk/exo.core.component.organization.ldap/src/main/java/org/exoplatform/services/organization/ldap/UserProfileDAOImpl.java
===================================================================
--- core/trunk/exo.core.component.organization.ldap/src/main/java/org/exoplatform/services/organization/ldap/UserProfileDAOImpl.java 2010-06-09 08:26:14 UTC (rev 2519)
+++ core/trunk/exo.core.component.organization.ldap/src/main/java/org/exoplatform/services/organization/ldap/UserProfileDAOImpl.java 2010-06-09 09:48:49 UTC (rev 2520)
@@ -23,12 +23,14 @@
import org.exoplatform.services.log.Log;
import org.exoplatform.services.organization.UserProfile;
import org.exoplatform.services.organization.UserProfileEventListener;
+import org.exoplatform.services.organization.UserProfileEventListenerHandler;
import org.exoplatform.services.organization.UserProfileHandler;
import org.exoplatform.services.organization.impl.UserProfileData;
import org.exoplatform.services.organization.impl.UserProfileImpl;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.Collections;
import java.util.List;
import javax.naming.NameNotFoundException;
@@ -44,7 +46,7 @@
* Created by The eXo Platform SAS Author : Tuan Nguyen
* tuan08 at users.sourceforge.net Oct 14, 2005. @version andrew00x $
*/
-public class UserProfileDAOImpl extends BaseDAO implements UserProfileHandler
+public class UserProfileDAOImpl extends BaseDAO implements UserProfileHandler, UserProfileEventListenerHandler
{
/**
@@ -264,4 +266,12 @@
listeners.add(listener);
}
+ /**
+ * {@inheritDoc}
+ */
+ public List<UserProfileEventListener> getUserProfileListeners()
+ {
+ return Collections.unmodifiableList(listeners);
+ }
+
}
Modified: core/trunk/exo.core.component.script.groovy/src/main/java/org/exoplatform/services/script/groovy/GroovyScriptInstantiator.java
===================================================================
--- core/trunk/exo.core.component.script.groovy/src/main/java/org/exoplatform/services/script/groovy/GroovyScriptInstantiator.java 2010-06-09 08:26:14 UTC (rev 2519)
+++ core/trunk/exo.core.component.script.groovy/src/main/java/org/exoplatform/services/script/groovy/GroovyScriptInstantiator.java 2010-06-09 09:48:49 UTC (rev 2520)
@@ -19,6 +19,7 @@
package org.exoplatform.services.script.groovy;
import groovy.lang.GroovyClassLoader;
+import groovy.lang.GroovyCodeSource;
import org.codehaus.groovy.control.CompilationFailedException;
import org.exoplatform.container.ExoContainer;
@@ -50,7 +51,7 @@
{
/** Our logger. */
- private static final Log LOG = ExoLogger.getLogger("exo.core.component.script.groovy.GroovyScriptInstantiator");
+ private static final Log LOG = ExoLogger.getLogger(GroovyScriptInstantiator.class);
/**
* eXo Container.
@@ -71,11 +72,11 @@
/**
* Load script from given address.
- *
+ *
* @param spec the resource's address.
* @return the object created from groovy script.
* @throws MalformedURLException if parameter <code>url</code> have wrong
- * format.
+ * format.
* @throws IOException if can't load script from given <code>url</code>.
* @see GroovyScriptInstantiator#instantiateScript(URL)
* @see GroovyScriptInstantiator#instantiateScript(InputStream)
@@ -87,7 +88,7 @@
/**
* Load script from given address.
- *
+ *
* @param url the resource's address.
* @return the object created from groovy script.
* @throws IOException if can't load script from given <code>url</code>.
@@ -101,10 +102,11 @@
/**
* Parse given stream, the stream must represents groovy script.
- *
+ *
* @param stream the stream represented groovy script.
* @return the object created from groovy script.
- * @throws IOException if stream can't be parsed or object can't be created.
+ * @throws IOException if stream can't be parsed or object can't be created
+ * cause to illegal content of stream
*/
public Object instantiateScript(InputStream stream) throws IOException
{
@@ -113,12 +115,13 @@
/**
* Parse given stream, the stream must represents groovy script.
- *
+ *
* @param stream the stream represented groovy script.
* @param name script name is null or empty string that groovy completer will
- * use default name
+ * use default name
* @return the object created from groovy script.
- * @throws IOException if stream can't be parsed or object can't be created.
+ * @throws IOException if stream can't be parsed or object can't be created
+ * cause to illegal content of stream
*/
public Object instantiateScript(InputStream stream, String name) throws IOException
{
@@ -133,13 +136,39 @@
{
loader = new GroovyClassLoader();
}
+ return instantiateScript(stream, name, loader);
+ }
+
+ /**
+ * Parse given stream, the stream must represents groovy script and use given
+ * class-loader. If <code>loader == null</code> then
+ * {@link groovy.lang.GroovyClassLoader} will be is use.
+ *
+ * @param stream the stream represented groovy script.
+ * @param name script name is null or empty string that groovy completer will
+ * use default name
+ * @param loader GroovyClassLoader or <code>null</code>
+ * @return the object created from groovy script.
+ * @throws IOException if stream can't be parsed or object can't be created
+ * cause to illegal content of stream
+ */
+ public Object instantiateScript(InputStream stream, String name, GroovyClassLoader loader) throws IOException
+ {
+ if (loader == null)
+ {
+ loader = new GroovyClassLoader();
+ }
Class<?> clazz = null;
try
{
if (name != null && name.length() > 0)
+ {
clazz = loader.parseClass(stream, name);
+ }
else
+ {
clazz = loader.parseClass(stream);
+ }
}
catch (CompilationFailedException e)
{
@@ -160,9 +189,36 @@
}
/**
+ * Instantiate script from give {@link GroovyCodeSource} and use given
+ * class-loader. If <code>loader == null</code> then
+ * {@link groovy.lang.GroovyClassLoader} will be is use.
+ *
+ * @param codeSource code source
+ * @param loader
+ * @return
+ */
+ public Object instantiateScript(GroovyCodeSource codeSource, GroovyClassLoader loader)
+ {
+ if (loader == null)
+ {
+ loader = new GroovyClassLoader();
+ }
+ Class<?> clazz = null;
+ clazz = loader.parseClass(codeSource);
+ try
+ {
+ return createObject(clazz);
+ }
+ catch (Exception e)
+ {
+ throw new RuntimeException("Can't instantiate groovy script: " + e.getMessage(), e);
+ }
+ }
+
+ /**
* Created object from given class, if class has parameters in constructor,
* then this parameters will be searched in container.
- *
+ *
* @param clazz java-groovy class
*/
private Object createObject(Class<?> clazz) throws Exception
@@ -180,7 +236,9 @@
{
Class<?>[] parameterTypes = c.getParameterTypes();
if (parameterTypes.length == 0)
+ {
return c.newInstance();
+ }
List<Object> parameters = new ArrayList<Object>(parameterTypes.length);
@@ -188,7 +246,9 @@
{
Object param = container.getComponentInstanceOfType(parameterType);
if (param == null)
+ {
continue l;
+ }
parameters.add(param);
}
@@ -214,9 +274,13 @@
int c1 = constructor1.getParameterTypes().length;
int c2 = constructor2.getParameterTypes().length;
if (c1 < c2)
+ {
return 1;
+ }
if (c1 > c2)
+ {
return -1;
+ }
return 0;
}
@@ -227,7 +291,10 @@
if (plugin instanceof GroovyScriptJarJarPlugin)
{
GroovyScriptJarJarPlugin jarjarPlugin = (GroovyScriptJarJarPlugin)plugin;
- LOG.debug("Add mapping to groovy instantiator:" + jarjarPlugin.getMapping());
+ if (LOG.isDebugEnabled())
+ {
+ LOG.debug("Add mapping to groovy instantiator:" + jarjarPlugin.getMapping());
+ }
mapping.putAll(jarjarPlugin.getMapping());
}
}
Modified: core/trunk/packaging/module/src/main/javascript/core.packaging.module.js
===================================================================
--- core/trunk/packaging/module/src/main/javascript/core.packaging.module.js 2010-06-09 08:26:14 UTC (rev 2519)
+++ core/trunk/packaging/module/src/main/javascript/core.packaging.module.js 2010-06-09 09:48:49 UTC (rev 2520)
@@ -38,7 +38,7 @@
module.component.documents =
new Project("org.exoplatform.core", "exo.core.component.document", "jar", module.version).
- addDependency(new Project("pdfbox", "pdfbox", "jar", "0.7.3")).
+ addDependency(new Project("org.apache.pdfbox", "pdfbox", "jar", "1.1.0")).
addDependency(new Project("com.lowagie", "itext", "jar", "2.1.0")).
addDependency(new Project("bouncycastle", "bcmail-jdk14", "jar", "136")).
addDependency(new Project("bouncycastle", "bcprov-jdk14", "jar", "136")).
Modified: core/trunk/pom.xml
===================================================================
--- core/trunk/pom.xml 2010-06-09 08:26:14 UTC (rev 2519)
+++ core/trunk/pom.xml 2010-06-09 09:48:49 UTC (rev 2520)
@@ -267,9 +267,9 @@
</dependency>
<dependency>
- <groupId>pdfbox</groupId>
+ <groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox</artifactId>
- <version>0.7.3</version>
+ <version>1.1.0</version>
</dependency>
<dependency>
@@ -334,6 +334,24 @@
<version>1.7</version>
</dependency>
+ <dependency>
+ <groupId>commons-dbcp</groupId>
+ <artifactId>commons-dbcp</artifactId>
+ <version>1.2.2</version>
+ <exclusions>
+ <exclusion>
+ <groupId>commons-pool</groupId>
+ <artifactId>commons-pool</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+
+ <dependency>
+ <groupId>commons-pool</groupId>
+ <artifactId>commons-pool</artifactId>
+ <version>1.5.4</version>
+ </dependency>
+
</dependencies>
</dependencyManagement>
More information about the exo-jcr-commits
mailing list