You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by bt...@apache.org on 2018/07/25 10:08:04 UTC

[02/15] james-project git commit: JAMES-2484 Upgrade ical4j & xml-apis & zalando

JAMES-2484 Upgrade ical4j & xml-apis & zalando


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/58d5d9ca
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/58d5d9ca
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/58d5d9ca

Branch: refs/heads/master
Commit: 58d5d9ca0449346d923a72b739fda624ef38c0a4
Parents: 2da051c
Author: duc <dt...@linagora.com>
Authored: Thu Jul 19 19:02:00 2018 +0700
Committer: benwa <bt...@linagora.com>
Committed: Wed Jul 25 16:39:14 2018 +0700

----------------------------------------------------------------------
 mailet/icalendar/pom.xml                        |  7 ++++
 .../james/transport/mailets/ICALToHeader.java   |  4 +++
 .../transport/mailets/ICALToJsonAttribute.java  |  4 +++
 .../transport/mailets/ICal4JConfigurator.java   | 36 ++++++++++++++++++++
 .../transport/mailets/ICalendarParser.java      |  9 ++---
 .../james/transport/mailets/model/ICALTest.java |  7 ++++
 pom.xml                                         |  8 +----
 server/protocols/jmap/pom.xml                   |  8 +++--
 8 files changed, 67 insertions(+), 16 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/58d5d9ca/mailet/icalendar/pom.xml
----------------------------------------------------------------------
diff --git a/mailet/icalendar/pom.xml b/mailet/icalendar/pom.xml
index e589af9..d3a4a21 100644
--- a/mailet/icalendar/pom.xml
+++ b/mailet/icalendar/pom.xml
@@ -109,6 +109,13 @@
         <dependency>
             <groupId>org.mnode.ical4j</groupId>
             <artifactId>ical4j</artifactId>
+            <version>3.0.0</version>
+        </dependency>
+        <dependency>
+            <groupId>javax.cache</groupId>
+            <artifactId>cache-api</artifactId>
+            <version>1.1.0</version>
+            <!-- JSR-107 JCache is used by ICAl4J version 3.0.0 -->
         </dependency>
         <dependency>
             <groupId>org.slf4j</groupId>

http://git-wip-us.apache.org/repos/asf/james-project/blob/58d5d9ca/mailet/icalendar/src/main/java/org/apache/james/transport/mailets/ICALToHeader.java
----------------------------------------------------------------------
diff --git a/mailet/icalendar/src/main/java/org/apache/james/transport/mailets/ICALToHeader.java b/mailet/icalendar/src/main/java/org/apache/james/transport/mailets/ICALToHeader.java
index 1b87bd4..1087374 100644
--- a/mailet/icalendar/src/main/java/org/apache/james/transport/mailets/ICALToHeader.java
+++ b/mailet/icalendar/src/main/java/org/apache/james/transport/mailets/ICALToHeader.java
@@ -69,6 +69,10 @@ public class ICALToHeader extends GenericMailet {
     public static final String X_MEETING_SEQUENCE_HEADER = "X-MEETING-SEQUENCE";
     public static final String X_MEETING_DTSTAMP_HEADER = "X-MEETING-DTSTAMP";
 
+    static {
+        ICal4JConfigurator.configure();
+    }
+
     private String attribute;
 
     @Override

http://git-wip-us.apache.org/repos/asf/james-project/blob/58d5d9ca/mailet/icalendar/src/main/java/org/apache/james/transport/mailets/ICALToJsonAttribute.java
----------------------------------------------------------------------
diff --git a/mailet/icalendar/src/main/java/org/apache/james/transport/mailets/ICALToJsonAttribute.java b/mailet/icalendar/src/main/java/org/apache/james/transport/mailets/ICALToJsonAttribute.java
index e09bbfd..5b95106 100644
--- a/mailet/icalendar/src/main/java/org/apache/james/transport/mailets/ICALToJsonAttribute.java
+++ b/mailet/icalendar/src/main/java/org/apache/james/transport/mailets/ICALToJsonAttribute.java
@@ -91,6 +91,10 @@ public class ICALToJsonAttribute extends GenericMailet {
     public static final String DEFAULT_RAW_SOURCE_ATTRIBUTE_NAME = "attachments";
     public static final String DEFAULT_DESTINATION_ATTRIBUTE_NAME = "icalendarJson";
 
+    static {
+        ICal4JConfigurator.configure();
+    }
+
     private final ObjectMapper objectMapper;
     private String sourceAttributeName;
     private String rawSourceAttributeName;

http://git-wip-us.apache.org/repos/asf/james-project/blob/58d5d9ca/mailet/icalendar/src/main/java/org/apache/james/transport/mailets/ICal4JConfigurator.java
----------------------------------------------------------------------
diff --git a/mailet/icalendar/src/main/java/org/apache/james/transport/mailets/ICal4JConfigurator.java b/mailet/icalendar/src/main/java/org/apache/james/transport/mailets/ICal4JConfigurator.java
new file mode 100644
index 0000000..4d2d3e6
--- /dev/null
+++ b/mailet/icalendar/src/main/java/org/apache/james/transport/mailets/ICal4JConfigurator.java
@@ -0,0 +1,36 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+
+package org.apache.james.transport.mailets;
+
+import net.fortuna.ical4j.util.CompatibilityHints;
+import net.fortuna.ical4j.util.MapTimeZoneCache;
+
+public class ICal4JConfigurator {
+    public static void configure() {
+        CompatibilityHints.setHintEnabled(CompatibilityHints.KEY_RELAXED_PARSING, true);
+        CompatibilityHints.setHintEnabled(CompatibilityHints.KEY_RELAXED_UNFOLDING, true);
+        CompatibilityHints.setHintEnabled(CompatibilityHints.KEY_RELAXED_VALIDATION, true);
+        CompatibilityHints.setHintEnabled(CompatibilityHints.KEY_OUTLOOK_COMPATIBILITY, true);
+        CompatibilityHints.setHintEnabled(CompatibilityHints.KEY_NOTES_COMPATIBILITY, true);
+        CompatibilityHints.setHintEnabled(CompatibilityHints.KEY_VCARD_COMPATIBILITY, true);
+
+        System.setProperty("net.fortuna.ical4j.timezone.cache.impl", MapTimeZoneCache.class.getName());
+    }
+}

http://git-wip-us.apache.org/repos/asf/james-project/blob/58d5d9ca/mailet/icalendar/src/main/java/org/apache/james/transport/mailets/ICalendarParser.java
----------------------------------------------------------------------
diff --git a/mailet/icalendar/src/main/java/org/apache/james/transport/mailets/ICalendarParser.java b/mailet/icalendar/src/main/java/org/apache/james/transport/mailets/ICalendarParser.java
index 5755f55..650a530 100644
--- a/mailet/icalendar/src/main/java/org/apache/james/transport/mailets/ICalendarParser.java
+++ b/mailet/icalendar/src/main/java/org/apache/james/transport/mailets/ICalendarParser.java
@@ -36,10 +36,10 @@ import org.slf4j.LoggerFactory;
 import com.github.steveash.guavate.Guavate;
 import com.google.common.annotations.VisibleForTesting;
 import com.google.common.base.Strings;
+
 import net.fortuna.ical4j.data.CalendarBuilder;
 import net.fortuna.ical4j.data.ParserException;
 import net.fortuna.ical4j.model.Calendar;
-import net.fortuna.ical4j.util.CompatibilityHints;
 
 /**
  * <p>
@@ -73,12 +73,7 @@ public class ICalendarParser extends GenericMailet {
     public static final String DESTINATION_ATTRIBUTE_PARAMETER_DEFAULT_VALUE = "calendars";
 
     static {
-        CompatibilityHints.setHintEnabled(CompatibilityHints.KEY_RELAXED_PARSING, true);
-        CompatibilityHints.setHintEnabled(CompatibilityHints.KEY_RELAXED_UNFOLDING, true);
-        CompatibilityHints.setHintEnabled(CompatibilityHints.KEY_RELAXED_VALIDATION, true);
-        CompatibilityHints.setHintEnabled(CompatibilityHints.KEY_OUTLOOK_COMPATIBILITY, true);
-        CompatibilityHints.setHintEnabled(CompatibilityHints.KEY_NOTES_COMPATIBILITY, true);
-        CompatibilityHints.setHintEnabled(CompatibilityHints.KEY_VCARD_COMPATIBILITY, true);
+        ICal4JConfigurator.configure();
     }
 
     private String sourceAttributeName;

http://git-wip-us.apache.org/repos/asf/james-project/blob/58d5d9ca/mailet/icalendar/src/test/java/org/apache/james/transport/mailets/model/ICALTest.java
----------------------------------------------------------------------
diff --git a/mailet/icalendar/src/test/java/org/apache/james/transport/mailets/model/ICALTest.java b/mailet/icalendar/src/test/java/org/apache/james/transport/mailets/model/ICALTest.java
index 878aa72..dc530a1 100644
--- a/mailet/icalendar/src/test/java/org/apache/james/transport/mailets/model/ICALTest.java
+++ b/mailet/icalendar/src/test/java/org/apache/james/transport/mailets/model/ICALTest.java
@@ -24,8 +24,10 @@ import static org.assertj.core.api.Assertions.assertThat;
 import java.io.ByteArrayInputStream;
 
 import org.apache.james.core.MailAddress;
+import org.apache.james.transport.mailets.ICal4JConfigurator;
 import org.apache.james.util.ClassLoaderUtils;
 import org.apache.mailet.base.MailAddressFixture;
+import org.junit.BeforeClass;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.ExpectedException;
@@ -36,6 +38,11 @@ import nl.jqno.equalsverifier.EqualsVerifier;
 
 public class ICALTest {
 
+    @BeforeClass
+    public static void setUpIcal4J() {
+        ICal4JConfigurator.configure();
+    }
+
     @Rule
     public ExpectedException expectedException = ExpectedException.none();
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/58d5d9ca/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 140d1e8..d50c659 100644
--- a/pom.xml
+++ b/pom.xml
@@ -653,14 +653,13 @@
         <maven-reporting-impl.version>2.2</maven-reporting-impl.version>
         <maven-reporting-api.version>3.0</maven-reporting-api.version>
         <qdox.version>1.12.1</qdox.version>
-        <ical4j.version>2.0.2</ical4j.version>
         <guavate.version>1.0.0</guavate.version>
         <javax.activation.groupId>javax.activation</javax.activation.groupId>
         <javax.activation.artifactId>activation</javax.activation.artifactId>
         <javax.persistence.version>1.0.2</javax.persistence.version>
         <lucene.version>3.6.2</lucene.version>
         <xercesImpl.version>2.9.1</xercesImpl.version>
-        <xml-apis.version>1.3.04</xml-apis.version>
+        <xml-apis.version>2.0.2</xml-apis.version>
         <geronimo-activation-spec.version>1.1</geronimo-activation-spec.version>
         <mockito-core.version>1.9.0</mockito-core.version>
         <jasypt.version>1.9.2</jasypt.version>
@@ -2314,11 +2313,6 @@
                 <version>${junit.vintage.version}</version>
             </dependency>
             <dependency>
-                <groupId>org.mnode.ical4j</groupId>
-                <artifactId>ical4j</artifactId>
-                <version>${ical4j.version}</version>
-            </dependency>
-            <dependency>
                 <groupId>org.mockito</groupId>
                 <artifactId>mockito-core</artifactId>
                 <version>${mockito-core.version}</version>

http://git-wip-us.apache.org/repos/asf/james-project/blob/58d5d9ca/server/protocols/jmap/pom.xml
----------------------------------------------------------------------
diff --git a/server/protocols/jmap/pom.xml b/server/protocols/jmap/pom.xml
index 716accc..74375b9 100644
--- a/server/protocols/jmap/pom.xml
+++ b/server/protocols/jmap/pom.xml
@@ -32,6 +32,10 @@
 
     <name>Apache James :: Server :: JMAP</name>
 
+    <properties>
+        <zalando.version>1.9.0</zalando.version>
+    </properties>
+
     <dependencies>
         <dependency>
             <groupId>${james.groupId}</groupId>
@@ -299,12 +303,12 @@
         <dependency>
             <groupId>org.zalando</groupId>
             <artifactId>logbook-core</artifactId>
-            <version>1.2.1</version>
+            <version>${zalando.version}</version>
         </dependency>
         <dependency>
             <groupId>org.zalando</groupId>
             <artifactId>logbook-servlet</artifactId>
-            <version>1.2.1</version>
+            <version>${zalando.version}</version>
         </dependency>
     </dependencies>
 


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org