From 9fe8cba35f4b0ec3aa2cb777a1c3922200d8630c Mon Sep 17 00:00:00 2001 From: Brian Long <brian@inteligr8.com> Date: Thu, 4 Feb 2021 16:41:39 -0500 Subject: [PATCH] more fixes for BeeDK --- platform-webapp/pom.xml | 7 ++ pom.xml | 5 +- rad.sh | 79 +++++++++++++++++++ repo/pom.xml | 22 ++++++ .../rendition-defs-alfmarkdown.json | 13 +++ share-webapp/pom.xml | 8 +- share/pom.xml | 20 +++++ tengine/pom.xml | 2 +- .../module/alfmarkdown/CommonmarkConfig.java | 4 +- .../alfmarkdown/CommonmarkTransformer.java | 6 +- .../module/alfmarkdown/FlexmarkConfig.java | 4 +- .../alfmarkdown/FlexmarkTransformer.java | 6 +- .../alfmarkdown/TransformerController.java | 5 +- .../main/resources/application-default.yaml | 1 + .../CommonmarkTransformerTest.java | 2 +- .../alfmarkdown/FlexmarkTransformerTest.java | 2 +- .../test/resources/application-default.yaml | 1 + 17 files changed, 168 insertions(+), 19 deletions(-) create mode 100644 rad.sh create mode 100644 repo/src/main/extension/transform/renditions/rendition-defs-alfmarkdown.json diff --git a/platform-webapp/pom.xml b/platform-webapp/pom.xml index 68f62ed..124f291 100644 --- a/platform-webapp/pom.xml +++ b/platform-webapp/pom.xml @@ -20,6 +20,12 @@ <email>brian@inteligr8.com</email> </developer> </developers> + + <properties> + <ate.docker.image.name>inteligr8/alfmarkdown-tengine</ate.docker.image.name> + <ate.docker.image.tag>${project.version}</ate.docker.image.tag> + <ate.debugger.port>8001</ate.debugger.port> + </properties> <dependencies> <dependency> @@ -45,6 +51,7 @@ <extensions>true</extensions> <configuration> <tiles> + <tile>com.inteligr8.alfresco:beedk-ate-it-tile:1.0-SNAPSHOT</tile> <tile>com.inteligr8.alfresco:beedk-acs-lts-it-tile:1.0-SNAPSHOT</tile> <tile>com.inteligr8.alfresco:beedk-acs-platform-webapp-tile:1.0-SNAPSHOT</tile> </tiles> diff --git a/pom.xml b/pom.xml index 3bd73f5..22a5b4e 100644 --- a/pom.xml +++ b/pom.xml @@ -15,18 +15,18 @@ <alfresco.sdk.version>4.1.0</alfresco.sdk.version> <edition>community</edition> <alfresco.platform.version>6.2.0-ga</alfresco.platform.version> - <alfresco.share.version>6.2.2</alfresco.share.version> + <alfresco.share.version>6.2.2.2</alfresco.share.version> <maven.compiler.source>8</maven.compiler.source> <maven.compiler.target>8</maven.compiler.target> </properties> <modules> + <module>tengine</module> <module>repo</module> <module>platform-webapp</module> <module>share</module> <module>share-webapp</module> - <module>tengine</module> </modules> <!-- Alfresco Maven Repositories --> @@ -43,5 +43,4 @@ <url>https://artifacts.alfresco.com/nexus/content/groups/public</url> </pluginRepository> </pluginRepositories> - </project> diff --git a/rad.sh b/rad.sh new file mode 100644 index 0000000..23a2b05 --- /dev/null +++ b/rad.sh @@ -0,0 +1,79 @@ +#!/bin/sh + +DOCKER_CONTAINER_NAME_PREFIX=alfmarkdown + +if [ -z "${M2_HOME}" ]; then + export MVN_EXEC="mvn" +else + export MVN_EXEC="${M2_HOME}/bin/mvn" +fi + +start() { + $MVN_EXEC clean package + $MVN_EXEC -pl $1 integration-test +} + +stop() { + docker container stop $(docker container ls -q --filter name=$DOCKER_CONTAINER_NAME_PREFIX) + docker container rm $(docker container ls -aq --filter name=$DOCKER_CONTAINER_NAME_PREFIX) +} + +reload() { + docker container stop $(docker container ls -q --filter name=$DOCKER_CONTAINER_NAME_PREFIX-.*-$1) + docker container start $(docker container ls -q --filter name=$DOCKER_CONTAINER_NAME_PREFIX-.*-$1) +} + +list() { + docker container ls --filter name=$DOCKER_CONTAINER_NAME_PREFIX +} + +tail() { + docker container logs $2 $(docker container ls -q --filter name=$DOCKER_CONTAINER_NAME_PREFIX-.*-$1) +} + +case "$1" in + status) + list + ;; + start) + if [ -z "$2" ]; then + echo "Usage: $0 start <project_folder>" + $MVN_EXEC -q --also-make exec:exec -Dexec.executable="pwd" | sed 's~/mnt/data/home/brian/Code/git/alfresco/alfmarkdown/\?\(.*\)~\1~' + else + start $2 + fi + ;; + stop) + stop + ;; + reload) + if [ -z "$2" ]; then + echo "Usage: $0 restart <container_suffix>" + docker container ls --filter name=$DOCKER_CONTAINER_NANE_PREFIX --format "{{.Names}}" + else + restart $2 + fi + ;; + follow) + if [ -z "$2" ]; then + echo "Usage: $0 follow <container_suffix>" + docker container ls --filter name=$DOCKER_CONTAINER_NANE_PREFIX --format "{{.Names}}" + else + tail $2 "-f" + fi + ;; + tail) + if [ -z "$2" ]; then + echo "Usage: $0 tail <container_suffix> [ since ]" + echo " Example since: 40m (for 40 minutes into history)" + docker container ls --filter name=$DOCKER_CONTAINER_NANE_PREFIX --format "{{.Names}}" + elif [ -z "$3" ]; then + tail $2 "--tail 20" + else + tail $2 "--since $3" + fi + ;; + *) + echo "Usage: $0 { status | start <project_folder> | stop | reload <container_suffix> | follow <container_suffix> | tail <container_suffix> [ since ] }" +esac + diff --git a/repo/pom.xml b/repo/pom.xml index 84e792f..bc08d35 100644 --- a/repo/pom.xml +++ b/repo/pom.xml @@ -14,7 +14,20 @@ <version>1.0-SNAPSHOT</version> </parent> + <properties> + <ate.docker.image.name>inteligr8/alfmarkdown-tengine</ate.docker.image.name> + <ate.docker.image.tag>${project.version}</ate.docker.image.tag> + <ate.debugger.port>8001</ate.debugger.port> + </properties> + <dependencies> + <dependency> + <groupId>de.fmaul</groupId> + <artifactId>javascript-console-repo</artifactId> + <version>0.6.0</version> + <type>amp</type> + <scope>test</scope> + </dependency> <dependency> <groupId>org.alfresco</groupId> <artifactId>alfresco-repository</artifactId> @@ -32,6 +45,8 @@ <extensions>true</extensions> <configuration> <tiles> + <tile>com.inteligr8.alfresco:beedk-ate-it-tile:1.0-SNAPSHOT</tile> + <tile>com.inteligr8.alfresco:beedk-acs-lts-it-tile:1.0-SNAPSHOT</tile> <tile>com.inteligr8.alfresco:beedk-acs-platform-module-tile:1.0-SNAPSHOT</tile> <tile>com.inteligr8:maven-private-deploy-tile:[1.0.0,2.0.0)</tile> </tiles> @@ -39,5 +54,12 @@ </plugin> </plugins> </build> + + <repositories> + <repository> + <id>inteligr8-releases</id> + <url>http://repos.yateslong.us/nexus/repository/inteligr8-public</url> + </repository> + </repositories> </project> diff --git a/repo/src/main/extension/transform/renditions/rendition-defs-alfmarkdown.json b/repo/src/main/extension/transform/renditions/rendition-defs-alfmarkdown.json new file mode 100644 index 0000000..1b998e7 --- /dev/null +++ b/repo/src/main/extension/transform/renditions/rendition-defs-alfmarkdown.json @@ -0,0 +1,13 @@ +{ + "renditions": [ + { + "renditionName": "flexmark-md-html", + "targetMediaType": "text/html" + }, + { + "renditionName": "commonmark-md-html", + "targetMediaType": "text/html", + "options": [ { "name": "engine", "value": "commonmark" } ] + } + ] +} \ No newline at end of file diff --git a/share-webapp/pom.xml b/share-webapp/pom.xml index 35cb968..799be1c 100644 --- a/share-webapp/pom.xml +++ b/share-webapp/pom.xml @@ -22,11 +22,13 @@ </developers> <properties> - <alfresco.share.version>6.2.2</alfresco.share.version> - <project.sibling.build.directory>${basedir}/../platform-webapp/target</project.sibling.build.directory> <project.sibling.build.warDirectory>${project.sibling.build.directory}/war</project.sibling.build.warDirectory> <project.sibling.build.warFile>${project.sibling.build.warDirectory}/content-services-community-${alfresco.platform.version}.war</project.sibling.build.warFile> + + <ate.docker.image.name>inteligr8/alfmarkdown-tengine</ate.docker.image.name> + <ate.docker.image.tag>${project.version}</ate.docker.image.tag> + <ate.debugger.port>8001</ate.debugger.port> </properties> <dependencies> @@ -53,6 +55,8 @@ <extensions>true</extensions> <configuration> <tiles> + <tile>com.inteligr8.alfresco:beedk-ate-it-tile:1.0-SNAPSHOT</tile> + <tile>com.inteligr8.alfresco:beedk-acs-lts-it-tile:1.0-SNAPSHOT</tile> <tile>com.inteligr8.alfresco:beedk-acs-platform-sibling-it-tile:1.0-SNAPSHOT</tile> <tile>com.inteligr8.alfresco:beedk-acs-share-webapp-tile:1.0-SNAPSHOT</tile> </tiles> diff --git a/share/pom.xml b/share/pom.xml index d0a8921..ea183d7 100644 --- a/share/pom.xml +++ b/share/pom.xml @@ -18,9 +18,20 @@ <project.sibling.build.directory>${basedir}/../repo/target</project.sibling.build.directory> <project.sibling.build.warDirectory>${project.sibling.build.directory}/war</project.sibling.build.warDirectory> <project.sibling.build.warFile>${project.sibling.build.warDirectory}/content-services-community-${alfresco.platform.version}.war</project.sibling.build.warFile> + + <ate.docker.image.name>inteligr8/alfmarkdown-tengine</ate.docker.image.name> + <ate.docker.image.tag>${project.version}</ate.docker.image.tag> + <ate.debugger.port>8001</ate.debugger.port> </properties> <dependencies> + <dependency> + <groupId>de.fmaul</groupId> + <artifactId>javascript-console-share</artifactId> + <version>0.6.0</version> + <type>amp</type> + <scope>test</scope> + </dependency> <dependency> <groupId>org.alfresco</groupId> <artifactId>share</artifactId> @@ -39,6 +50,8 @@ <extensions>true</extensions> <configuration> <tiles> + <tile>com.inteligr8.alfresco:beedk-ate-it-tile:1.0-SNAPSHOT</tile> + <tile>com.inteligr8.alfresco:beedk-acs-lts-it-tile:1.0-SNAPSHOT</tile> <tile>com.inteligr8.alfresco:beedk-acs-platform-sibling-it-tile:1.0-SNAPSHOT</tile> <tile>com.inteligr8.alfresco:beedk-acs-share-module-tile:1.0-SNAPSHOT</tile> <tile>com.inteligr8:maven-private-deploy-tile:[1.0.0,2.0.0)</tile> @@ -47,5 +60,12 @@ </plugin> </plugins> </build> + + <repositories> + <repository> + <id>inteligr8-releases</id> + <url>http://repos.yateslong.us/nexus/repository/inteligr8-public</url> + </repository> + </repositories> </project> diff --git a/tengine/pom.xml b/tengine/pom.xml index a79e446..585a15c 100644 --- a/tengine/pom.xml +++ b/tengine/pom.xml @@ -12,7 +12,7 @@ <relativePath>..</relativePath> </parent> - <name>alfmarkdown Alfresco T-Engine</name> + <name>Alfmarkdown Alfresco T-Engine</name> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> diff --git a/tengine/src/main/java/com/inteligr8/alfresco/module/alfmarkdown/CommonmarkConfig.java b/tengine/src/main/java/com/inteligr8/alfresco/module/alfmarkdown/CommonmarkConfig.java index b629f3a..97db95b 100755 --- a/tengine/src/main/java/com/inteligr8/alfresco/module/alfmarkdown/CommonmarkConfig.java +++ b/tengine/src/main/java/com/inteligr8/alfresco/module/alfmarkdown/CommonmarkConfig.java @@ -6,9 +6,11 @@ import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Configuration; @Configuration -@ConfigurationProperties(prefix = "transform.alfmarkdown.flexmark") +@ConfigurationProperties(prefix = "transform.alfmarkdown." + CommonmarkConfig.ID) public class CommonmarkConfig { + static final String ID = "commonmark"; + private List<String> defaultExtensions; public List<String> getDefaultExtensions() { diff --git a/tengine/src/main/java/com/inteligr8/alfresco/module/alfmarkdown/CommonmarkTransformer.java b/tengine/src/main/java/com/inteligr8/alfresco/module/alfmarkdown/CommonmarkTransformer.java index d05755d..b6f3e38 100755 --- a/tengine/src/main/java/com/inteligr8/alfresco/module/alfmarkdown/CommonmarkTransformer.java +++ b/tengine/src/main/java/com/inteligr8/alfresco/module/alfmarkdown/CommonmarkTransformer.java @@ -32,10 +32,8 @@ import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.stereotype.Component; -@Component(CommonmarkTransformer.ID) +@Component(CommonmarkConfig.ID) public class CommonmarkTransformer implements Transformer { - - public static final String ID = "commonmark"; private final Logger logger = LoggerFactory.getLogger(CommonmarkTransformer.class); private final List<String> classSearchPrefixes = Arrays.asList("", "org.commonmark.ext.{name}.", "org.commonmark.ext.gfm.{name}."); @@ -52,7 +50,7 @@ public class CommonmarkTransformer implements Transformer { @Override public String getTransformerId() { - return ID; + return CommonmarkConfig.ID; } @Override diff --git a/tengine/src/main/java/com/inteligr8/alfresco/module/alfmarkdown/FlexmarkConfig.java b/tengine/src/main/java/com/inteligr8/alfresco/module/alfmarkdown/FlexmarkConfig.java index 3fa2049..dc20980 100755 --- a/tengine/src/main/java/com/inteligr8/alfresco/module/alfmarkdown/FlexmarkConfig.java +++ b/tengine/src/main/java/com/inteligr8/alfresco/module/alfmarkdown/FlexmarkConfig.java @@ -6,9 +6,11 @@ import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Configuration; @Configuration -@ConfigurationProperties(prefix = "transform.alfmarkdown.flexmark") +@ConfigurationProperties(prefix = "transform.alfmarkdown." + FlexmarkConfig.ID) public class FlexmarkConfig { + static final String ID = "flexmark"; + private String defaultProfile; private List<String> defaultExtensions; diff --git a/tengine/src/main/java/com/inteligr8/alfresco/module/alfmarkdown/FlexmarkTransformer.java b/tengine/src/main/java/com/inteligr8/alfresco/module/alfmarkdown/FlexmarkTransformer.java index 7ea4b78..be38a62 100644 --- a/tengine/src/main/java/com/inteligr8/alfresco/module/alfmarkdown/FlexmarkTransformer.java +++ b/tengine/src/main/java/com/inteligr8/alfresco/module/alfmarkdown/FlexmarkTransformer.java @@ -34,10 +34,8 @@ import com.vladsch.flexmark.util.ast.IRender; import com.vladsch.flexmark.util.data.MutableDataSet; import com.vladsch.flexmark.util.misc.Extension; -@Component(FlexmarkTransformer.ID) +@Component(FlexmarkConfig.ID) public class FlexmarkTransformer implements Transformer { - - public static final String ID = "flexmark"; private final Logger logger = LoggerFactory.getLogger(FlexmarkTransformer.class); private final List<String> classSearchPrefixes = Arrays.asList("", "com.vladsch.flexmark.ext.{name}.", "com.vladsch.flexmark.ext."); @@ -54,7 +52,7 @@ public class FlexmarkTransformer implements Transformer { @Override public String getTransformerId() { - return ID; + return FlexmarkConfig.ID; } @Override diff --git a/tengine/src/main/java/com/inteligr8/alfresco/module/alfmarkdown/TransformerController.java b/tengine/src/main/java/com/inteligr8/alfresco/module/alfmarkdown/TransformerController.java index 5774bd3..6dfcaf1 100644 --- a/tengine/src/main/java/com/inteligr8/alfresco/module/alfmarkdown/TransformerController.java +++ b/tengine/src/main/java/com/inteligr8/alfresco/module/alfmarkdown/TransformerController.java @@ -84,6 +84,9 @@ public class TransformerController extends AbstractTransformerController { @Value("${transform.alfmarkdown.version}") private String version; + @Value("${transform.alfmarkdown.defaultEngine}") + private String defaultEngine; + private Map<String, Transformer> engineMap; private ProbeTestTransform probe; @@ -150,7 +153,7 @@ public class TransformerController extends AbstractTransformerController { targetMimetype = matcher.find() ? this.ext2mime(matcher.group(1)) : this.defaultTarget.toString(); } - String engine = transformOptions.getOrDefault(RequestParamConstants.ENGINE, FlexmarkTransformer.ID); + String engine = transformOptions.getOrDefault(RequestParamConstants.ENGINE, this.defaultEngine); if (!this.engineMap.containsKey(engine)) throw new TransformException(HttpStatus.BAD_REQUEST.value(), "This transformer does not support the following engine: " + engine); diff --git a/tengine/src/main/resources/application-default.yaml b/tengine/src/main/resources/application-default.yaml index cb70837..a59119d 100644 --- a/tengine/src/main/resources/application-default.yaml +++ b/tengine/src/main/resources/application-default.yaml @@ -7,6 +7,7 @@ transform: location: classpath:this_engine_config.json alfmarkdown: version: ${project.version} + defaultEngine: flexmark commonmark: defaultExtensions: - ImageAttributesExtension diff --git a/tengine/src/test/java/com/inteligr8/alfresco/module/alfmarkdown/CommonmarkTransformerTest.java b/tengine/src/test/java/com/inteligr8/alfresco/module/alfmarkdown/CommonmarkTransformerTest.java index 17d615c..f7f27e6 100755 --- a/tengine/src/test/java/com/inteligr8/alfresco/module/alfmarkdown/CommonmarkTransformerTest.java +++ b/tengine/src/test/java/com/inteligr8/alfresco/module/alfmarkdown/CommonmarkTransformerTest.java @@ -7,7 +7,7 @@ import org.springframework.beans.factory.annotation.Qualifier; public class CommonmarkTransformerTest extends TransformerTest { @Autowired - @Qualifier(FlexmarkTransformer.ID) + @Qualifier(FlexmarkConfig.ID) protected Transformer transformer; @Override diff --git a/tengine/src/test/java/com/inteligr8/alfresco/module/alfmarkdown/FlexmarkTransformerTest.java b/tengine/src/test/java/com/inteligr8/alfresco/module/alfmarkdown/FlexmarkTransformerTest.java index c5974c8..4cc3a5f 100755 --- a/tengine/src/test/java/com/inteligr8/alfresco/module/alfmarkdown/FlexmarkTransformerTest.java +++ b/tengine/src/test/java/com/inteligr8/alfresco/module/alfmarkdown/FlexmarkTransformerTest.java @@ -7,7 +7,7 @@ import org.springframework.beans.factory.annotation.Qualifier; public class FlexmarkTransformerTest extends TransformerTest { @Autowired - @Qualifier(FlexmarkTransformer.ID) + @Qualifier(FlexmarkConfig.ID) protected Transformer transformer; @Override diff --git a/tengine/src/test/resources/application-default.yaml b/tengine/src/test/resources/application-default.yaml index 6082e4e..56cef95 100644 --- a/tengine/src/test/resources/application-default.yaml +++ b/tengine/src/test/resources/application-default.yaml @@ -7,6 +7,7 @@ transform: location: classpath:this_engine_config.json alfmarkdown: version: ${project.version} + defaultEngine: flexmark commonmark: defaultExtensions: - ImageAttributesExtension