Commit 85ff3650 authored by Brian Long's avatar Brian Long
Browse files

initial checkin

parents
Loading
Loading
Loading
Loading

.gitignore

0 → 100644
+9 −0
Original line number Diff line number Diff line
# Maven
target
pom.xml.versionsBackup

# Eclipse
.settings
.project
.classpath

pom.xml

0 → 100644
+90 −0
Original line number Diff line number Diff line
<project xmlns="http://maven.apache.org/POM/4.0.0"
		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
		xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	
	<groupId>com.inteligr8.alfresco</groupId>
	<artifactId>annotations-platform-module</artifactId>
	<version>1.0-SNAPSHOT</version>
	<packaging>jar</packaging>
	
	<name>Annotations ACS Platform Module</name>
	<description>A module to support annotation-based development for Alfresco Content Services modules.</description>
	
	<scm>
		<connection>scm:git:https://bitbucket.org/inteligr8/annotations-platform-module.git</connection>
		<developerConnection>scm:git:git@bitbucket.org:inteligr8/annotations-platform-module.git</developerConnection>
		<url>https://bitbucket.org/inteligr8/annotations-platform-module</url>
	</scm>
	<organization>
		<name>Inteligr8</name>
		<url>https://www.inteligr8.com</url>
	</organization>
	<developers>
		<developer>
			<id>brian.long</id>
			<name>Brian Long</name>
			<email>brian@inteligr8.com</email>
			<url>https://twitter.com/brianmlong</url>
		</developer>
	</developers>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<maven.compiler.source>8</maven.compiler.source>
		<maven.compiler.target>8</maven.compiler.target>

		<alfresco.sdk.version>4.2.0</alfresco.sdk.version>
		<alfresco.platform.version>6.2.0-ga</alfresco.platform.version>
	</properties>

	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.alfresco</groupId>
				<artifactId>acs-community-packaging</artifactId>
				<version>${alfresco.platform.version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>

	<dependencies>
		<!-- Very popular, but not required, dependency -->
		<!-- Provided as an example -->
		<dependency>
			<groupId>org.alfresco</groupId>
			<artifactId>alfresco-repository</artifactId>
			<scope>provided</scope>
		</dependency>
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>io.repaint.maven</groupId>
				<artifactId>tiles-maven-plugin</artifactId>
				<version>2.26</version>
				<extensions>true</extensions>
				<configuration>
					<tiles>
						<!-- Documentation: https://bitbucket.org/inteligr8/ootbee-beedk/src/stable/beedk-acs-platform-self-rad-tile -->
						<tile>com.inteligr8.ootbee:beedk-acs-platform-self-rad-tile:[1.0.0,2.0.0)</tile>
						<!-- Documentation: https://bitbucket.org/inteligr8/ootbee-beedk/src/stable/beedk-acs-platform-module-tile -->
						<tile>com.inteligr8.ootbee:beedk-acs-platform-module-tile:[1.0.0,2.0.0)</tile>
						<!-- Documentation: https://bitbucket.org/inteligr8/ootbee-beedk/src/stable/beedk-acs-platform-self-it-tile -->
						<tile>com.inteligr8.ootbee:beedk-acs-platform-self-it-tile:[1.0.0,2.0.0)</tile>
					</tiles>
				</configuration>
			</plugin>
		</plugins>
	</build>
	
	<repositories>
		<repository>
			<id>alfresco-public</id>
			<url>https://artifacts.alfresco.com/nexus/content/groups/public</url>
		</repository>
	</repositories>
</project>
 No newline at end of file

rad.ps1

0 → 100644
+74 −0
Original line number Diff line number Diff line

function discoverArtifactId {
	$script:ARTIFACT_ID=(mvn -q -Dexpression=project"."artifactId -DforceStdout help:evaluate)
}

function rebuild {
	echo "Rebuilding project ..."
	mvn process-classes
}

function start_ {
	echo "Rebuilding project and starting Docker containers to support rapid application development ..."
	mvn -Drad process-classes
}

function start_log {
	echo "Rebuilding project and starting Docker containers to support rapid application development ..."
	mvn -Drad "-Ddocker.showLogs" process-classes
}

function stop_ {
	discoverArtifactId
	echo "Stopping Docker containers that supported rapid application development ..."
	docker container ls --filter name=${ARTIFACT_ID}-*
	echo "Stopping containers ..."
	docker container stop (docker container ls -q --filter name=${ARTIFACT_ID}-*)
	echo "Removing containers ..."
	docker container rm (docker container ls -aq --filter name=${ARTIFACT_ID}-*)
}

function tail_logs {
	param (
		$container
	)
	
	discoverArtifactId
	docker container logs -f (docker container ls -q --filter name=${ARTIFACT_ID}-${container})
}

function list {
	discoverArtifactId
	docker container ls --filter name=${ARTIFACT_ID}-*
}

switch ($args[0]) {
	"start" {
		start_
	}
	"start_log" {
		start_log
	}
	"stop" {
		stop_
	}
	"restart" {
		stop_
		start_
	}
	"rebuild" {
		rebuild
	}
	"tail" {
		tail_logs $args[1]
	}
	"containers" {
		list
	}
	default {
		echo "Usage: .\rad.ps1 [ start | start_log | stop | restart | rebuild | tail {container} | containers ]"
	}
}

echo "Completed!"

rad.sh

0 → 100644
+71 −0
Original line number Diff line number Diff line
#!/bin/sh

discoverArtifactId() {
	ARTIFACT_ID=`mvn -q -Dexpression=project.artifactId -DforceStdout help:evaluate`
}

rebuild() {
	echo "Rebuilding project ..."
	mvn process-classes
}

start() {
	echo "Rebuilding project and starting Docker containers to support rapid application development ..."
	mvn -Drad process-classes
}

start_log() {
	echo "Rebuilding project and starting Docker containers to support rapid application development ..."
	mvn -Drad -Ddocker.showLogs process-classes
}

stop() {
	discoverArtifactId
	echo "Stopping Docker containers that supported rapid application development ..."
	docker container ls --filter name=${ARTIFACT_ID}-*
	echo "Stopping containers ..."
	docker container stop `docker container ls -q --filter name=${ARTIFACT_ID}-*`
	echo "Removing containers ..."
	docker container rm `docker container ls -aq --filter name=${ARTIFACT_ID}-*`
}

tail_logs() {
	discoverArtifactId
	docker container logs -f `docker container ls -q --filter name=${ARTIFACT_ID}-$1`
}

list() {
	discoverArtifactId
	docker container ls --filter name=${ARTIFACT_ID}-*
}

case "$1" in
	start)
		start
		;;
	start_log)
		start_log
		;;
	stop)
		stop
		;;
	restart)
		stop
		start
		;;
	rebuild)
		rebuild
		;;
	tail)
		tail_logs $2
		;;
	containers)
		list
		;;
	*)
		echo "Usage: ./rad.sh [ start | start_log | stop | restart | rebuild | tail {container} | containers ]"
		exit 1
esac

echo "Completed!"
+42 −0
Original line number Diff line number Diff line
package com.inteligr8.alfresco.annotations;

import java.util.Collection;
import java.util.Collections;
import java.util.HashSet;
import java.util.Set;

import org.alfresco.service.namespace.NamespaceService;
import org.alfresco.service.namespace.QName;
import org.alfresco.service.namespace.QNamePattern;
import org.alfresco.service.namespace.RegexQNamePattern;
import org.springframework.beans.factory.BeanNameAware;

public interface AspectConstrainable extends BeanNameAware {
	
	String getBeanName();
	
	NamespaceService getNamespaceService();
	
	default Collection<String> constrainedPrefixedAspects() {
		return Collections.emptySet();
	}
	
	default Collection<String> constrainedRegexedAspects() {
		return Collections.emptySet();
	}
	
	default Collection<? extends QNamePattern> constrainedAspects() {
		Set<QNamePattern> aspects = new HashSet<>();
		
		Collection<String> prefixedAspects = this.constrainedPrefixedAspects();
		for (String prefixedAspect : prefixedAspects)
			aspects.add(QName.createQName(prefixedAspect, this.getNamespaceService()));

		Collection<String> regexedAspects = this.constrainedRegexedAspects();
		for (String regexedAspect : regexedAspects)
			aspects.add(new RegexQNamePattern(regexedAspect));
		
		return aspects;
	}

}
Loading