diff --git a/pom.xml b/pom.xml
index 5620947738..44ea26ebbd 100644
--- a/pom.xml
+++ b/pom.xml
@@ -204,6 +204,13 @@
build
+
+ build-image-verify
+ verify
+
+ build
+
+
@@ -235,7 +242,7 @@
build-push-image
- install
+ deploy
build
push
@@ -279,7 +286,7 @@
build-push-image
- install
+ deploy
build
push
diff --git a/rm-community/rm-community-repo/.maven-dockerignore b/rm-community/rm-community-repo/.maven-dockerignore
new file mode 100644
index 0000000000..18bb2a12d0
--- /dev/null
+++ b/rm-community/rm-community-repo/.maven-dockerignore
@@ -0,0 +1 @@
+target/docker/**
\ No newline at end of file
diff --git a/rm-community/rm-community-repo/Dockerfile b/rm-community/rm-community-repo/Dockerfile
new file mode 100644
index 0000000000..1ffc5a1ecb
--- /dev/null
+++ b/rm-community/rm-community-repo/Dockerfile
@@ -0,0 +1,6 @@
+FROM alfresco/alfresco-content-repository-community:6.0.7-ga
+
+COPY target/alfresco-rm-community-repo-*.amp /usr/local/tomcat/amps/
+
+RUN java -jar /usr/local/tomcat/alfresco-mmt/alfresco-mmt*.jar install \
+ /usr/local/tomcat/amps/alfresco-rm-community-repo-*.amp /usr/local/tomcat/webapps/alfresco -nobackup
diff --git a/rm-community/rm-community-repo/docker-compose.yml b/rm-community/rm-community-repo/docker-compose.yml
new file mode 100644
index 0000000000..05ab6bd24a
--- /dev/null
+++ b/rm-community/rm-community-repo/docker-compose.yml
@@ -0,0 +1,59 @@
+version: "3"
+
+# For remote debug we need the CATALINA_OPTS and to expose port 8000.
+
+services:
+ alfresco:
+ # acs repo community image with ags repo community amp applied
+ image: alfresco/ags-repo-community:latest
+ environment:
+ CATALINA_OPTS : "
+ -agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n
+ "
+ JAVA_OPTS : "
+ -Ddb.driver=org.postgresql.Driver
+ -Ddb.username=alfresco
+ -Ddb.password=alfresco
+ -Ddb.url=jdbc:postgresql://postgres:5432/alfresco
+ -Dsolr.host=solr6
+ -Dsolr.port=8983
+ -Dsolr.secureComms=none
+ -Dsolr.base.url=/solr
+ -Dindex.subsystem.name=solr6
+ -Dalfresco.restApi.basicAuthScheme=true
+ -Dimap.server.enabled=true
+ -Dftp.enabled=true
+ -Dftp.dataPortFrom=30000
+ -Dftp.dataPortTo=30099
+ -Dcifs.enabled=true
+ "
+ ports:
+ - 8080:8080
+ - 8000:8000
+ - 445:445
+ - 143:143
+ - "21:21"
+ - "30000-30099:30000-30099"
+
+ postgres:
+ image: library/postgres:10.1
+ environment:
+ - POSTGRES_PASSWORD=alfresco
+ - POSTGRES_USER=alfresco
+ - POSTGRES_DB=alfresco
+ ports:
+ - 5432:5432
+
+ solr6:
+ image: alfresco/alfresco-search-services:1.1.1
+ environment:
+ #Solr needs to know how to register itself with Alfresco
+ - SOLR_ALFRESCO_HOST=alfresco
+ - SOLR_ALFRESCO_PORT=8080
+ #Alfresco needs to know how to call solr
+ - SOLR_SOLR_HOST=solr6
+ - SOLR_SOLR_PORT=8983
+ #Create the default alfresco and archive cores
+ - SOLR_CREATE_ALFRESCO_DEFAULTS=alfresco,archive
+ ports:
+ - 8083:8983 #Browser port
diff --git a/rm-community/rm-community-repo/pom.xml b/rm-community/rm-community-repo/pom.xml
index 7ac23a239f..6cfcc3391c 100644
--- a/rm-community/rm-community-repo/pom.xml
+++ b/rm-community/rm-community-repo/pom.xml
@@ -32,6 +32,8 @@
6.51
6.35
6.0.0-rc5
+ alfresco/ags-repo-community
+
@@ -755,7 +757,6 @@
-
wipeDB
@@ -808,5 +809,50 @@
+
+
+ buildDockerImage
+
+
+
+ io.fabric8
+ fabric8-maven-plugin
+
+
+
+
+
+ internal
+
+
+
+ io.fabric8
+ fabric8-maven-plugin
+
+
+
+
+
+ master
+
+
+
+ io.fabric8
+ fabric8-maven-plugin
+
+
+
+
+
+ release
+
+
+
+ io.fabric8
+ fabric8-maven-plugin
+
+
+
+
\ No newline at end of file
diff --git a/rm-community/rm-community-repo/source/java/org/alfresco/rm/rest/api/util/CustomDateTimeSerializer.java b/rm-community/rm-community-repo/source/java/org/alfresco/rm/rest/api/util/CustomDateTimeSerializer.java
index 2d75f5ec5d..631ccee679 100644
--- a/rm-community/rm-community-repo/source/java/org/alfresco/rm/rest/api/util/CustomDateTimeSerializer.java
+++ b/rm-community/rm-community-repo/source/java/org/alfresco/rm/rest/api/util/CustomDateTimeSerializer.java
@@ -33,8 +33,8 @@ import com.fasterxml.jackson.databind.SerializerProvider;
import com.fasterxml.jackson.databind.ser.std.StdSerializer;
import org.joda.time.DateTime;
-import org.joda.time.format.DateTimeFormat;
import org.joda.time.format.DateTimeFormatter;
+import org.joda.time.format.ISODateTimeFormat;
/**
* Custom Date Time serializer for formatting org.joda.time.DateTime
@@ -45,7 +45,7 @@ import org.joda.time.format.DateTimeFormatter;
public class CustomDateTimeSerializer extends StdSerializer
{
/** Date time format */
- private final static DateTimeFormatter DATE_TIME_FORMAT = DateTimeFormat.forPattern("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
+ private final static DateTimeFormatter DATE_TIME_FORMAT = ISODateTimeFormat.dateTime();
public CustomDateTimeSerializer()
{
diff --git a/rm-community/rm-community-repo/source/java/org/alfresco/rm/rest/api/util/CustomLocalDateDeserializer.java b/rm-community/rm-community-repo/source/java/org/alfresco/rm/rest/api/util/CustomLocalDateDeserializer.java
new file mode 100644
index 0000000000..ef8133a114
--- /dev/null
+++ b/rm-community/rm-community-repo/source/java/org/alfresco/rm/rest/api/util/CustomLocalDateDeserializer.java
@@ -0,0 +1,74 @@
+/*
+ * #%L
+ * Alfresco Records Management Module
+ * %%
+ * Copyright (C) 2005 - 2018 Alfresco Software Limited
+ * %%
+ * This file is part of the Alfresco software.
+ * -
+ * If the software was purchased under a paid Alfresco license, the terms of
+ * the paid license agreement will prevail. Otherwise, the software is
+ * provided under the following open source license terms:
+ * -
+ * Alfresco 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 3 of the License, or
+ * (at your option) any later version.
+ * -
+ * Alfresco 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 Alfresco. If not, see .
+ * #L%
+ */
+package org.alfresco.rm.rest.api.util;
+
+import java.io.IOException;
+
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import com.fasterxml.jackson.databind.deser.std.StdDeserializer;
+
+import org.joda.time.LocalDate;
+import org.joda.time.format.DateTimeFormatter;
+import org.joda.time.format.ISODateTimeFormat;
+
+
+/**
+ * Custom Local Date deserializer converting a string to org.joda.time.LocalDate when the time is optional;
+ *
+ * @author Rodica Sutu
+ * @since 3.0
+ */
+public class CustomLocalDateDeserializer extends StdDeserializer
+{
+ /** Date time format with time optional */
+ private final static DateTimeFormatter LOCAL_DATE_OPTIONAL_TIME_PARSER = ISODateTimeFormat.localDateOptionalTimeParser();
+
+ public CustomLocalDateDeserializer()
+ {
+ super(LocalDate.class);
+ }
+
+ /**
+ * Custom deserialize method to convert string to the org.joda.time.LocalDate type with LOCAL_DATE_OPTIONAL_TIME_PARSER
+ *
+ * @param jp local date value
+ * @param ctxt
+ * @throws IOException
+ */
+ @Override
+ public LocalDate deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException
+ {
+ String str = jp.getText().trim();
+ if (str.length() == 0)
+ {
+ return null;
+ }
+ return LOCAL_DATE_OPTIONAL_TIME_PARSER.parseLocalDate(str);
+ }
+}
+
diff --git a/rm-community/rm-community-repo/source/java/org/alfresco/rm/rest/api/util/CustomLocalDateSerializer.java b/rm-community/rm-community-repo/source/java/org/alfresco/rm/rest/api/util/CustomLocalDateSerializer.java
index f10fd69cd4..b3aa93c66a 100644
--- a/rm-community/rm-community-repo/source/java/org/alfresco/rm/rest/api/util/CustomLocalDateSerializer.java
+++ b/rm-community/rm-community-repo/source/java/org/alfresco/rm/rest/api/util/CustomLocalDateSerializer.java
@@ -33,8 +33,8 @@ import com.fasterxml.jackson.databind.SerializerProvider;
import com.fasterxml.jackson.databind.ser.std.StdSerializer;
import org.joda.time.LocalDate;
-import org.joda.time.format.DateTimeFormat;
import org.joda.time.format.DateTimeFormatter;
+import org.joda.time.format.ISODateTimeFormat;
/**
* Custom Local Date serializer for formatting org.joda.time.LocalDate
@@ -44,8 +44,8 @@ import org.joda.time.format.DateTimeFormatter;
*/
public class CustomLocalDateSerializer extends StdSerializer
{
- /** Local date format */
- private final static DateTimeFormatter DATE_FORMAT = DateTimeFormat.forPattern("yyyy-MM-dd");
+ /** Local date format yyyy-MM-dd*/
+ private final static DateTimeFormatter DATE_FORMAT = ISODateTimeFormat.date();
public CustomLocalDateSerializer()
{