ee-mvc #6
|
|
@ -1,4 +1,13 @@
|
|||
it-pgsql-datasources.properties
|
||||
nb-configuration.xml
|
||||
node
|
||||
node_modules
|
||||
runtime
|
||||
target
|
||||
.cache
|
||||
.classpath
|
||||
.factorypath
|
||||
.project
|
||||
.settings
|
||||
.tscache
|
||||
*.vscode
|
||||
|
|
|
|||
|
|
@ -0,0 +1,85 @@
|
|||
# LibreCCM/LibreCMS Installation
|
||||
|
||||
## WildFly
|
||||
|
||||
### Preparation (optional)
|
||||
|
||||
These steps are optional and can be skipped if you have already a WildFly server
|
||||
up and running or if you already installed the PostgreSQL JDBC driver in your
|
||||
WildFly instance.
|
||||
|
||||
#### WildFly installation
|
||||
|
||||
Download WildFly and extract the archive. For more informations about setting
|
||||
wildfly please refer to the WildFly documentation
|
||||
|
||||
#### Install the PostgreSQL JDBC driver
|
||||
|
||||
1. Download the PostgreSQL JDBC driver from
|
||||
https://jdbc.postgresql.org/download.html
|
||||
2. Go to the home directory of your WildFly installation and to
|
||||
`modules/system/layers/base`
|
||||
3. Create a new directory `org/postgresql/main`
|
||||
4. Create a `module.xml` file in the `org/postgresql/main` directory with the
|
||||
following content:
|
||||
|
||||
```
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module xmlns="urn:jboss:module:1.1" name="org.postgresql">
|
||||
<resources>
|
||||
<resource-root path="postgresql-42.2.10.jar"/>
|
||||
</resources>
|
||||
<dependencies>
|
||||
<module name="javax.api"/>
|
||||
<module name="javax.transaction.api"/>
|
||||
</dependencies>
|
||||
</module>
|
||||
```
|
||||
|
||||
Change the name of the JAR file to the correct name!
|
||||
|
||||
5. Start the JBOSS CLI tool: `bin/jboss-cli.sh` or `bin/jboss-cli.bat`. Enable
|
||||
the new module:
|
||||
|
||||
```
|
||||
[standalone@localhost:9990 /] /subsystem=datasources/jdbc-driver=postgresql:add(
|
||||
driver-name=postgresql,
|
||||
driver-module-name=org.postgresql,
|
||||
driver-class-name=org.postgresql.Driver
|
||||
)
|
||||
```
|
||||
|
||||
Note: The above command can be in one line.
|
||||
|
||||
### Installing LibreCCM/LibreCMS
|
||||
|
||||
#### Database
|
||||
|
||||
1. Create a new database user
|
||||
2. Create a new database in your PostgreSQL server owned by the user created
|
||||
in the previous step.
|
||||
|
||||
#### Create a datasource
|
||||
|
||||
1. Start the JBOSS CLI tool: `bin/jboss-cli.sh` or `bin/jboss-cli.bat`.
|
||||
2. Add new datasource:
|
||||
```
|
||||
[standalone@localhost:9990 /] data-source add --name=librecms --driver-name=postgresql --jndi-name=java:/comp/env/jdbc/libreccm/db --connection-url=jdbc:postgresql://localhost:5432/librecm --user-name=libreccm --password=libreccm
|
||||
```
|
||||
|
||||
Replace the name of the datasource, the connection URL,
|
||||
the user name and the password with the correct values for your environment.
|
||||
|
||||
|
||||
#### Deploy LibreCCM/LibreCMS
|
||||
|
||||
Simpley copy the the WAR file from one of the bundle modules to to the
|
||||
directory `standalone/deployments` of your WildFly installation.
|
||||
|
||||
## Thorntail
|
||||
|
||||
ToDo
|
||||
|
||||
## TomEE
|
||||
|
||||
ToDo
|
||||
|
|
@ -7,20 +7,23 @@ pipeline {
|
|||
stage('Build and Test') {
|
||||
steps {
|
||||
dir('') {
|
||||
// sh 'mvn clean package test -Pwildfly-remote-h2-mem'
|
||||
sh 'mvn clean package -Pwildfly-remote-h2-mem'
|
||||
}
|
||||
}
|
||||
post {
|
||||
always {
|
||||
sh 'sudo systemctl restart wildfly'
|
||||
sh 'mvn clean verify -Prun-its-with-wildfly-h2mem -Dwildfly.propertiesFile=/srv/libreccm-wildfly.properties'
|
||||
}
|
||||
}
|
||||
}
|
||||
stage("Analyse") {
|
||||
steps {
|
||||
dir('') {
|
||||
sh 'mvn package pmd:pmd pmd:cpd spotbugs:spotbugs'
|
||||
sh 'mvn pmd:pmd pmd:cpd spotbugs:spotbugs'
|
||||
}
|
||||
}
|
||||
}
|
||||
stage("Deploy") {
|
||||
steps {
|
||||
dir('') {
|
||||
configFileProvider([configFile(fileId: 'libreccm-packages-deploy', variable: 'MAVEN_SETTINGS')]) {
|
||||
sh 'mvn -U -s "$MAVEN_SETTINGS" -e deploy'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -37,7 +40,8 @@ pipeline {
|
|||
body: "Build ${env.BUILD_URL} failed."
|
||||
}
|
||||
always {
|
||||
junit testResults: '**/target/surefire-reports/*.xml'
|
||||
junit allowEmptyResults: true, testResults: '**/target/surefire-reports/*.xml'
|
||||
|
||||
|
||||
recordIssues enabledForFailure: true, tools: [java(), javaDoc()]
|
||||
recordIssues enabledForFailure: false, tool: spotBugs()
|
||||
|
|
|
|||
104
README.md
104
README.md
|
|
@ -3,8 +3,11 @@
|
|||
The [https://libreccm.org](LibreCCM) framework and the
|
||||
[https://librecms.org](LibreCMS) web content management system.
|
||||
|
||||
This repository contains the Jakarta EE based, new version of LibreCCM
|
||||
and LibreCMS. We are now using Maven as build tool.
|
||||
## Overview
|
||||
|
||||
This repository contains the Jakarta EE based, new version of
|
||||
[https://libreccm.org](LibreCCM) and [https://librecms.org](LibreCMS). We are
|
||||
now using Maven as build tool.
|
||||
|
||||
Some more documentation is provided as Maven project site. To create the site
|
||||
run
|
||||
|
|
@ -15,46 +18,86 @@ and open the ./target/staging/index.html file in your browser.
|
|||
|
||||
The recreate the site run
|
||||
|
||||
mvn clean package site site:stage
|
||||
mvn package site site:stage
|
||||
|
||||
again.
|
||||
|
||||
To include integration tests into the reports
|
||||
Note: The ./target/staging folder is left intact when cleaning. If you
|
||||
want to remove the folder you have delete it manually.
|
||||
|
||||
mvn clean package test site site:stage -P$profile-name
|
||||
To include integration tests into the reports run
|
||||
|
||||
Note: If there are test failures the package goal fails and the site is not
|
||||
mvn clean verifiy site site:stage -P${profileName}
|
||||
|
||||
Note: If there are test failures the build fails and the site is not
|
||||
build. The build the site anywhy use
|
||||
|
||||
mvn clean package site site:stage -Dmaven.test.failure.ignore=true
|
||||
|
||||
or with a profile
|
||||
or with the integration tests included
|
||||
|
||||
mvn clean package site site:stage -Dmaven.test.failure.ignore=true -Pwildfly-remote-h2-mem
|
||||
mvn clean verify site site:stage -Dmaven.test.failure.ignore=true -P${profileName}
|
||||
|
||||
The available profiles are listed in the documentation. All modules should
|
||||
provide a profile called wildfly-remote-h2-mem. This profile uses a remote
|
||||
Wildfly application server and its integrated H2 in-memory database for
|
||||
running the tests. Before you can run the integration tests you must download
|
||||
Wildfly from http://www.wildfly.org. Unzip the downloaded archive and start
|
||||
the server using the bin/standalone.sh file. Then go to another terminal,
|
||||
navigate to the CCM NG directory and run
|
||||
## Running integration tests
|
||||
|
||||
mvn clean package test site site:stage -Pwildfly-remote-h2-mem
|
||||
Some of the modules provide integration tests which use
|
||||
[Arquillian](http://arquillian.org/) to run tests inside an application server.
|
||||
If a module provides integration tests it should have at least four profiles
|
||||
for running them (at the time of writing):
|
||||
|
||||
* `run-its-with-wildfly-h2mem`: This profile uses the
|
||||
[wildfly-maven-plugin](https://docs.jboss.org/wildfly/plugins/maven/latest/)
|
||||
to start a Wildfly and run the integration tests. The H2 database which is
|
||||
integrated with Wildfly is used for run the tests. No configuration
|
||||
is necessary.
|
||||
* `run-its-with-wildfly-pgsql`: This profile uses the
|
||||
[wildfly-maven-plugin](https://docs.jboss.org/wildfly/plugins/maven/latest/)
|
||||
to start a Wildfly and run the integration tests. A PostgreSQL database is
|
||||
used to run the tests. The connection parameters are configured using
|
||||
the `it-pgsql-datasources.properties` file in the project root. Make sure
|
||||
to create a database for all modules and configure them before using
|
||||
this profile.
|
||||
* `run-its-in-remote-wildfly-h2mem`: This profile uses a remote Wildfly and
|
||||
the H2 database for
|
||||
running the tests. The user it responsible for starting the Wildfly container
|
||||
and for creating the required databases.
|
||||
* `run-its-in-remote-wildfly-pgsql`: This profile uses a remote Wildfly and
|
||||
PostgreSQL databases for
|
||||
running the tests. The user it responsible for starting the Wildfly container
|
||||
and for creating the required databases.
|
||||
|
||||
To run the integration tests select a profile - we recommend to use the profiles
|
||||
which use the wildfly-maven-plugin` to manage to Wildfly application server -
|
||||
and run
|
||||
|
||||
mvn verify site site:stage -P${profileName}
|
||||
|
||||
## Running LibreCCM (development environment)
|
||||
|
||||
Before running a bundle the WAR file has the be generated using
|
||||
|
||||
mvn package
|
||||
|
||||
To run LibreCCM choose the bundle to run, for instance
|
||||
ccm-bundle-devel-wildfly. Depending on the bundle and the selected profile
|
||||
you may have to configure a datasource in the Wildfly server and create a
|
||||
database. Also you need to configure an environement variable which points to
|
||||
your Wildfly installation. Then you can run LibreCCM using
|
||||
`ccm-bundle-devel-wildfly`. You can run the bundle
|
||||
|
||||
mvn package wildfly:run -DskipTests -pl ccm-bundle-devel-wildfly -am -Pgeneric
|
||||
mvn wildfly:run -pl ${bundleName} -am
|
||||
|
||||
The above example skips all tests to speed up the start process. The generic
|
||||
profile used in this example uses an existing Wildfly installation. The
|
||||
JBOSS_HOME environment variable must either be configured or must be provided.
|
||||
Alternativly you can provide the location of your Wildfly installation using
|
||||
the -D switch: mvn -Djboss-as.home=/path/to/wildfly/
|
||||
This will start a Wildfly server running the selected bundle. Before running
|
||||
the bundle the Wildfly container has the be configured. For these purpose, run
|
||||
|
||||
mvn wildfly:run -pl ${bundleName} -am -Psetup-runtime
|
||||
|
||||
This will start the Wildfly server, deploy the bundle WAR, and create a
|
||||
datasource. At the moment only PostgreSQL is supported as database. The
|
||||
datasource configuration is provided by the `datasource.properties` file in the
|
||||
bundle directory. To create one copy the example file and adjust the settings.
|
||||
|
||||
You also have to create a wildfly.properties file which contains some settings
|
||||
for the Wildfly server, for isntance the port the Wildfly server binds to. An
|
||||
example file is provided.
|
||||
|
||||
## Archetypes
|
||||
|
||||
To install the archetypes in your local Maven repository run
|
||||
|
||||
|
|
@ -64,15 +107,6 @@ for example
|
|||
|
||||
mvn clean install -pl ccm-cms-archetypes-contenttype -am
|
||||
|
||||
Using the managed profiles (example is for testing):
|
||||
|
||||
mvn clean test -Djboss.home=/path/to/wildfly/ -DstartupTimeoutInSeconds=180 -Pwildfly-managed-h2-mem
|
||||
|
||||
You might need to increase the timeout.
|
||||
|
||||
For convience, we also provide a small Bash script which makes calling some Maven tasks easier. For more information please refer to the help of the ccm.sh script:
|
||||
|
||||
ccm.sh --help
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
mvn clean package site site:stage -Dmaven.test.failure.ignore=true -Pwildfly-remote-h2-mem
|
||||
mvn clean verify site site:stage -Dmaven.test.failure.ignore=true -Prun-its-with-wildfly-h2mem
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
<artifactId>ccm-archetype-module</artifactId>
|
||||
<version>7.0.0-SNAPSHOT</version>
|
||||
|
||||
<name>LibreCCM Module archetype</name>
|
||||
<name>LibreCCM Module Archetype</name>
|
||||
<url>http://www.libreccm.org/devel/modules</url>
|
||||
|
||||
</project>
|
||||
|
|
|
|||
|
|
@ -183,13 +183,8 @@
|
|||
<artifactId>maven-javadoc-plugin</artifactId>
|
||||
<version>2.10.3</version>
|
||||
<configuration>
|
||||
<detectLinks>true</detectLinks>
|
||||
<detectJavaApiLinks>true</detectJavaApiLinks>
|
||||
<links>
|
||||
<link>http://docs.oracle.com/javase/7/docs/api/</link>
|
||||
<link>http://docs.oracle.com/javaee/7/api/</link>
|
||||
<link>http://docs.jboss.org/hibernate/orm/4.3/javadocs/</link>
|
||||
</links>
|
||||
<detectLinks>false</detectLinks>
|
||||
<detectJavaApiLinks>false</detectJavaApiLinks>
|
||||
<show>private</show>
|
||||
<docfilessubdirs>true</docfilessubdirs>
|
||||
<charset>UTF-8</charset>
|
||||
|
|
@ -200,16 +195,6 @@
|
|||
<author>true</author>
|
||||
<keywords>true</keywords>
|
||||
<failOnError>false</failOnError>
|
||||
<doclet>org.jboss.apiviz.APIviz</doclet>
|
||||
<docletArtifact>
|
||||
<groupId>org.jboss.apiviz</groupId>
|
||||
<artifactId>apiviz</artifactId>
|
||||
<version>1.3.2.GA</version>
|
||||
</docletArtifact>
|
||||
<useStandardDocletOptions>true</useStandardDocletOptions>
|
||||
<additionalparam>
|
||||
-sourceclasspath ${project.build.outputDirectory}
|
||||
</additionalparam>
|
||||
</configuration>
|
||||
</plugin>
|
||||
|
||||
|
|
@ -228,11 +213,6 @@
|
|||
<artifactId>jacoco-maven-plugin</artifactId>
|
||||
<version>0.7.5.201505241946</version>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.codehaus.mojo</groupId>
|
||||
<artifactId>findbugs-maven-plugin</artifactId>
|
||||
<version>3.0.1</version>
|
||||
</plugin>
|
||||
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
|
|
|
|||
|
|
@ -26,9 +26,7 @@ import org.junit.AfterClass;
|
|||
import org.junit.Before;
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.Test;
|
||||
import org.junit.experimental.categories.Category;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.libreccm.tests.categories.IntegrationTest;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.List;
|
||||
|
|
@ -39,7 +37,6 @@ import javax.persistence.PersistenceContext;
|
|||
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
@Category(IntegrationTest.class)
|
||||
@RunWith(Arquillian.class)
|
||||
@PersistenceTest
|
||||
@Transactional(TransactionMode.COMMIT)
|
||||
|
|
@ -3,12 +3,6 @@
|
|||
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<!--<parent>
|
||||
<groupId>org.libreccm</groupId>
|
||||
<artifactId>libreccm-parent</artifactId>
|
||||
<version>7.0.0-SNAPSHOT</version>
|
||||
</parent>-->
|
||||
|
||||
<parent>
|
||||
<groupId>org.libreccm</groupId>
|
||||
<artifactId>ccm-bundle-devel</artifactId>
|
||||
|
|
@ -129,6 +123,12 @@
|
|||
<artifactId>undertow</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.libreccm</groupId>
|
||||
<artifactId>ccm-wildfly</artifactId>
|
||||
<version>7.0.0-SNAPSHOT</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.h2database</groupId>
|
||||
<artifactId>h2</artifactId>
|
||||
|
|
@ -142,17 +142,14 @@
|
|||
<dependency>
|
||||
<groupId>org.webjars</groupId>
|
||||
<artifactId>font-awesome</artifactId>
|
||||
<version>4.7.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.webjars</groupId>
|
||||
<artifactId>requirejs</artifactId>
|
||||
<version>2.3.6</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.webjars</groupId>
|
||||
<artifactId>requirejs-domready</artifactId>
|
||||
<version>2.0.1-2</version>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
|
|
|||
|
|
@ -1,12 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project-shared-configuration>
|
||||
<!--
|
||||
This file contains additional configuration written by modules in the NetBeans IDE.
|
||||
The configuration is intended to be shared among all the users of project and
|
||||
therefore it is assumed to be part of version control checkout.
|
||||
Without this configuration present, some functionality in the IDE may be limited or fail altogether.
|
||||
-->
|
||||
<spellchecker-wordlist xmlns="http://www.netbeans.org/ns/spellchecker-wordlist/1">
|
||||
<word>libreccm</word>
|
||||
</spellchecker-wordlist>
|
||||
</project-shared-configuration>
|
||||
|
|
@ -1,227 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
|
||||
<properties>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
</properties>
|
||||
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<parent>
|
||||
<groupId>org.libreccm</groupId>
|
||||
<artifactId>ccm-bundle-devel</artifactId>
|
||||
<relativePath>../ccm-bundle-devel</relativePath>
|
||||
<version>7.0.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
<groupId>org.libreccm</groupId>
|
||||
<artifactId>ccm-bundle-devel-wildfly-web</artifactId>
|
||||
<!--<version>7.0.0-SNAPSHOT</version>-->
|
||||
<packaging>war</packaging>
|
||||
|
||||
<name>LibreCCM Devel Bundle Web for Wildfly</name>
|
||||
<url>http://www.libreccm.org/modules/web/wildfly</url>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.webjars</groupId>
|
||||
<artifactId>font-awesome</artifactId>
|
||||
<!--<version>4.7.0</version>-->
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.webjars</groupId>
|
||||
<artifactId>requirejs</artifactId>
|
||||
<!--<version>2.3.5</version>-->
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.webjars</groupId>
|
||||
<artifactId>requirejs-domready</artifactId>
|
||||
<!--<version>2.0.1-2</version>-->
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.webjars.npm</groupId>
|
||||
<artifactId>tinymce</artifactId>
|
||||
<!--<version>4.8.2</version>-->
|
||||
</dependency>
|
||||
<!-- <dependency>
|
||||
<groupId>org.librecms</groupId>
|
||||
<artifactId>ccm-cms-js</artifactId>
|
||||
<version>7.0.0-SNAPSHOT</version>
|
||||
</dependency> -->
|
||||
<dependency>
|
||||
<groupId>org.librecms</groupId>
|
||||
<artifactId>ccm-cms-pagemodelseditor</artifactId>
|
||||
<version>${project.parent.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.librecms</groupId>
|
||||
<artifactId>ccm-cms-tinymce</artifactId>
|
||||
<version>${project.parent.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<finalName>libreccm-web-wildfly</finalName>
|
||||
|
||||
<resources>
|
||||
<resource>
|
||||
<directory>src/main/resources</directory>
|
||||
</resource>
|
||||
<resource>
|
||||
<directory>${project.build.directory}/generated-resources</directory>
|
||||
</resource>
|
||||
</resources>
|
||||
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<configuration>
|
||||
<source>1.8</source>
|
||||
<target>1.8</target>
|
||||
<optimize>true</optimize>
|
||||
<debug>true</debug>
|
||||
<encoding>${project.build.sourceEncoding}</encoding>
|
||||
</configuration>
|
||||
</plugin>
|
||||
|
||||
<plugin>
|
||||
<groupId>com.github.eirslett</groupId>
|
||||
<artifactId>frontend-maven-plugin</artifactId>
|
||||
|
||||
<configuration>
|
||||
<installDirectory>../node</installDirectory>
|
||||
</configuration>
|
||||
|
||||
<executions>
|
||||
<execution>
|
||||
<id>Install node.js and NPM</id>
|
||||
<goals>
|
||||
<goal>install-node-and-npm</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<nodeVersion>v8.11.4</nodeVersion>
|
||||
</configuration>
|
||||
</execution>
|
||||
<!-- <execution>
|
||||
<id>npm link ccm-pagemodelseditor</id>
|
||||
<goals>
|
||||
<goal>npm</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<arguments>link ccm-pagemodelseditor</arguments>
|
||||
</configuration>
|
||||
</execution> -->
|
||||
<execution>
|
||||
<id>npm link ccm-cms-pagemodelseditor</id>
|
||||
<goals>
|
||||
<goal>npm</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<arguments>link ccm-cms-pagemodelseditor</arguments>
|
||||
</configuration>
|
||||
</execution>
|
||||
<!-- <execution>
|
||||
<id>npm link ccm-cms-tinymce</id>
|
||||
<goals>
|
||||
<goal>npm</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<arguments>link ccm-cms-tinymce</arguments>
|
||||
</configuration>
|
||||
</execution>-->
|
||||
<!--<execution>
|
||||
<id>npm link ccm-cms-js</id>
|
||||
<goals>
|
||||
<goal>npm</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<arguments>link ccm-cms-js</arguments>
|
||||
</configuration>
|
||||
</execution>-->
|
||||
<execution>
|
||||
<id>npm install</id>
|
||||
<goals>
|
||||
<goal>npm</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
<execution>
|
||||
<id>build</id>
|
||||
<goals>
|
||||
<goal>npm</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<arguments>run build</arguments>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-war-plugin</artifactId>
|
||||
<configuration>
|
||||
|
||||
<webResources>
|
||||
<resource>
|
||||
<directory>src/main/resources</directory>
|
||||
</resource>
|
||||
<resource>
|
||||
<directory>${project.build.directory}/generated-resources</directory>
|
||||
</resource>
|
||||
</webResources>
|
||||
|
||||
<overlays>
|
||||
<overlay>
|
||||
<groupId>org.libreccm</groupId>
|
||||
<artifactId>ccm-editor</artifactId>
|
||||
<type>jar</type>
|
||||
</overlay>
|
||||
<overlay>
|
||||
<groupId>org.libreccm</groupId>
|
||||
<artifactId>ccm-pagemodelseditor</artifactId>
|
||||
<type>jar</type>
|
||||
</overlay>
|
||||
<overlay>
|
||||
<groupId>org.libreccm</groupId>
|
||||
<artifactId>ccm-theme-foundry</artifactId>
|
||||
<type>jar</type>
|
||||
</overlay>
|
||||
<overlay>
|
||||
<groupId>org.libreccm</groupId>
|
||||
<artifactId>ccm-core</artifactId>
|
||||
<type>jar</type>
|
||||
<includes>
|
||||
<include>assets/</include>
|
||||
</includes>
|
||||
</overlay>
|
||||
<overlay>
|
||||
<groupId>org.librecms</groupId>
|
||||
<artifactId>ccm-cms</artifactId>
|
||||
<type>jar</type>
|
||||
<includes>
|
||||
<include>templates/</include>
|
||||
</includes>
|
||||
</overlay>
|
||||
<overlay>
|
||||
<groupId>org.librecms</groupId>
|
||||
<artifactId>ccm-cms-tinymce</artifactId>
|
||||
<type>jar</type>
|
||||
<includes>
|
||||
<include>scripts/</include>
|
||||
</includes>
|
||||
</overlay>
|
||||
</overlays>
|
||||
</configuration>
|
||||
</plugin>
|
||||
|
||||
<plugin>
|
||||
<groupId>org.wildfly.plugins</groupId>
|
||||
<artifactId>wildfly-maven-plugin</artifactId>
|
||||
<configuration>
|
||||
<skip>true</skip>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
||||
|
|
@ -1,107 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
|
||||
http://maven.apache.org/xsd/maven-4.0.0.xsd"
|
||||
xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
|
||||
<properties>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
</properties>
|
||||
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<parent>
|
||||
<groupId>org.libreccm</groupId>
|
||||
<artifactId>ccm-bundle-devel</artifactId>
|
||||
<relativePath>../ccm-bundle-devel</relativePath>
|
||||
<version>7.0.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
<groupId>org.libreccm</groupId>
|
||||
<artifactId>ccm-bundle-devel-wildfly-web</artifactId>
|
||||
<!--<version>7.0.0-SNAPSHOT</version>-->
|
||||
<packaging>war</packaging>
|
||||
|
||||
<name>LibreCCM Devel Bundle Web for Wildfly</name>
|
||||
<url>http://www.libreccm.org/modules/web/wildfly</url>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.webjars</groupId>
|
||||
<artifactId>font-awesome</artifactId>
|
||||
<version>4.7.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.webjars</groupId>
|
||||
<artifactId>requirejs</artifactId>
|
||||
<version>2.3.5</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.webjars</groupId>
|
||||
<artifactId>requirejs-domready</artifactId>
|
||||
<version>2.0.1-2</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<finalName>libreccm-web-wildfly</finalName>
|
||||
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<configuration>
|
||||
<source>1.8</source>
|
||||
<target>1.8</target>
|
||||
<optimize>true</optimize>
|
||||
<debug>true</debug>
|
||||
<encoding>${project.build.sourceEncoding}</encoding>
|
||||
</configuration>
|
||||
</plugin>
|
||||
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-war-plugin</artifactId>
|
||||
<configuration>
|
||||
<overlays>
|
||||
<overlay>
|
||||
<groupId>org.libreccm</groupId>
|
||||
<artifactId>ccm-editor</artifactId>
|
||||
<type>jar</type>
|
||||
</overlay>
|
||||
<overlay>
|
||||
<groupId>org.libreccm</groupId>
|
||||
<artifactId>ccm-theme-foundry</artifactId>
|
||||
<type>jar</type>
|
||||
</overlay>
|
||||
<overlay>
|
||||
<groupId>org.libreccm</groupId>
|
||||
<artifactId>ccm-core</artifactId>
|
||||
<type>jar</type>
|
||||
<includes>
|
||||
<include>assets/</include>
|
||||
<include>VAADIN/</include>
|
||||
</includes>
|
||||
</overlay>
|
||||
<overlay>
|
||||
<groupId>org.librecms</groupId>
|
||||
<artifactId>ccm-cms</artifactId>
|
||||
<type>jar</type>
|
||||
<includes>
|
||||
<include>templates/</include>
|
||||
</includes>
|
||||
</overlay>
|
||||
</overlays>
|
||||
</configuration>
|
||||
</plugin>
|
||||
|
||||
<plugin>
|
||||
<groupId>org.wildfly.plugins</groupId>
|
||||
<artifactId>wildfly-maven-plugin</artifactId>
|
||||
<configuration>
|
||||
<skip>true</skip>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
||||
|
|
@ -1 +0,0 @@
|
|||
import "ccm-cms-pagemodelseditor";
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
--------------
|
||||
Overview
|
||||
--------------
|
||||
Jens Pelzetter
|
||||
--------------
|
||||
2016-03-18
|
||||
--------------
|
||||
|
||||
LibreCCM Bundle Web for Wildfly
|
||||
|
||||
This module provides the web application part of the the LibreCCM devel
|
||||
bundle for the Wildfly application server.
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<project xmlns="http://maven.apache.org/DECORATION/1.3.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/DECORATION/1.3.0
|
||||
http://maven.apache.org/xsd/decoration-1.3.0.xsd">
|
||||
|
||||
<body>
|
||||
<menu name="Parent project">
|
||||
<item name="LibreCCM" href="../index.html"/>
|
||||
</menu>
|
||||
|
||||
<menu name="Overview">
|
||||
<item name="The LibreCCM Devel Bundle Web module" href="index.html"/>
|
||||
</menu>
|
||||
|
||||
<menu ref="reports"/>
|
||||
</body>
|
||||
|
||||
</project>
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
datasource.properties
|
||||
wildfly.properties
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
# ccm-bundle-devel-wildfly README
|
||||
|
||||
This module creates a WAR which can be deployed to a Wildfly Application
|
||||
Server. For testing, the module also provides an runtime environment
|
||||
and the setup. The runtime is managed using the
|
||||
[wildfly-maven-plugin](https://docs.jboss.org/wildfly/plugins/maven/latest/).
|
||||
|
||||
At the moment the runtime only supports PostgreSQL as database.
|
||||
|
||||
To use these runtime some prepration steps are necessary.
|
||||
|
||||
1. Create the configuration files. The runtime is configured using two files:
|
||||
* wildfly.properties allows it to configure the ports used by the Wildfly server
|
||||
* datasource.properties provides the configuration data for datasource used by
|
||||
LibreCCM.
|
||||
|
||||
For both files examples are provided (`datasource.example.properties`,
|
||||
`wildfly.example.properties`). Copy the example files and customize
|
||||
the settings is necessary.
|
||||
|
||||
2. Run a build using the `setup-runtime` profile. It is important to add the
|
||||
`package` goal, otherwise the WAR file which is deployed in this step is
|
||||
not build correctly:
|
||||
|
||||
```
|
||||
mvn package -Psetup-runtime -pl ccm-bundle-devel-wildfly -am
|
||||
```
|
||||
|
||||
During the `package` phase of the this module Wildfly will be downloaded,
|
||||
unpackaged into the `target` directory, the PostgreSQL driver will be
|
||||
deployed, a datasource will be generated and the WAR file will be deployed.
|
||||
|
||||
To run LibreCCM in this environment, use the `enable-runtime` profile and the `wildfly:start`
|
||||
goal:
|
||||
|
||||
mvn -pl ccm-bundle-devel-wildfly wildfly:start
|
||||
|
||||
To shutdown the server:
|
||||
|
||||
mvn -pl ccm-bundle-devel-wildfly wildfly:shutdown
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
libreccm.datasource.connectionUrl=jdbc:postgresql://localhost:5432/ccm-devel-beta
|
||||
libreccm.datasource.username=ccm
|
||||
libreccm.datasource.password=ccm
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -5,7 +5,7 @@
|
|||
"build": "webpack"
|
||||
},
|
||||
"dependencies": {
|
||||
"ccm-cms-pagemodelseditor": "7.0.0",
|
||||
"@librecms/ccm-cms-pagemodelseditor": "7.0.0",
|
||||
"tinymce": "^4.8.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
|
@ -3,200 +3,385 @@
|
|||
|
||||
<properties>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
<wildfly.version>12.0.0.Final</wildfly.version>
|
||||
|
||||
</properties>
|
||||
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<parent>
|
||||
<groupId>org.libreccm</groupId>
|
||||
<artifactId>libreccm-parent</artifactId>
|
||||
<artifactId>ccm-bundle-devel</artifactId>
|
||||
<relativePath>../ccm-bundle-devel</relativePath>
|
||||
<version>7.0.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
<groupId>org.libreccm</groupId>
|
||||
<artifactId>ccm-bundle-devel-wildfly</artifactId>
|
||||
<!--<version>7.0.0-SNAPSHOT</version>-->
|
||||
<packaging>ear</packaging>
|
||||
<packaging>war</packaging>
|
||||
|
||||
<name>LibreCCM Devel Bundle for Wildfly</name>
|
||||
<url>http://www.libreccm.org/bundles/devel/wildfly</url>
|
||||
<url>http://www.libreccm.org/modules/web/wildfly</url>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.libreccm</groupId>
|
||||
<artifactId>ccm-bundle-devel-wildfly-web</artifactId>
|
||||
<version>${project.parent.version}</version>
|
||||
<type>war</type>
|
||||
<artifactId>ccm-wildfly</artifactId>
|
||||
<version>7.0.0-SNAPSHOT</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.webjars</groupId>
|
||||
<artifactId>font-awesome</artifactId>
|
||||
<!--<version>4.7.0</version>-->
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.webjars</groupId>
|
||||
<artifactId>requirejs</artifactId>
|
||||
<!--<version>2.3.5</version>-->
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.webjars</groupId>
|
||||
<artifactId>requirejs-domready</artifactId>
|
||||
<!--<version>2.0.1-2</version>-->
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.webjars.npm</groupId>
|
||||
<artifactId>tinymce</artifactId>
|
||||
<!--<version>4.8.2</version>-->
|
||||
</dependency>
|
||||
<!-- <dependency>
|
||||
<groupId>org.librecms</groupId>
|
||||
<artifactId>ccm-cms-js</artifactId>
|
||||
<version>7.0.0-SNAPSHOT</version>
|
||||
</dependency> -->
|
||||
<dependency>
|
||||
<groupId>org.librecms</groupId>
|
||||
<artifactId>ccm-cms-pagemodelseditor</artifactId>
|
||||
<version>${project.parent.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.librecms</groupId>
|
||||
<artifactId>ccm-cms-tinymce</artifactId>
|
||||
<version>${project.parent.version}</version>
|
||||
</dependency>
|
||||
|
||||
<!-- <dependency>
|
||||
<groupId>org.postgresql</groupId>
|
||||
<artifactId>postgresql</artifactId>
|
||||
<scope>provided</scope>
|
||||
</dependency>-->
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<finalName>libreccm-devel-${project.version}</finalName>
|
||||
<finalName>libreccm-web-wildfly</finalName>
|
||||
|
||||
<resources>
|
||||
<resource>
|
||||
<directory>src/main/resources</directory>
|
||||
</resource>
|
||||
<resource>
|
||||
<directory>${project.build.directory}/generated-resources</directory>
|
||||
</resource>
|
||||
</resources>
|
||||
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-ear-plugin</artifactId>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<configuration>
|
||||
<!-- Tell Maven we are using Java EE 7 -->
|
||||
<version>7</version>
|
||||
<!-- Use Java EE ear libraries as needed. Java EE ear libraries
|
||||
are an easy way to package any libraries needed in the ear,
|
||||
and automatically
|
||||
have any modules (EJB-JARs and WARs) use them -->
|
||||
<defaultLibBundleDir>lib</defaultLibBundleDir>
|
||||
<outputFileNameMapping>no-version</outputFileNameMapping>
|
||||
<modules>
|
||||
<webModule>
|
||||
<source>1.8</source>
|
||||
<target>1.8</target>
|
||||
<optimize>true</optimize>
|
||||
<debug>true</debug>
|
||||
<encoding>${project.build.sourceEncoding}</encoding>
|
||||
</configuration>
|
||||
</plugin>
|
||||
|
||||
<plugin>
|
||||
<groupId>com.github.eirslett</groupId>
|
||||
<artifactId>frontend-maven-plugin</artifactId>
|
||||
|
||||
<configuration>
|
||||
<installDirectory>../node</installDirectory>
|
||||
</configuration>
|
||||
|
||||
<executions>
|
||||
<execution>
|
||||
<id>Install node.js and NPM</id>
|
||||
<goals>
|
||||
<goal>install-node-and-npm</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<nodeVersion>v8.11.4</nodeVersion>
|
||||
</configuration>
|
||||
</execution>
|
||||
<!-- <execution>
|
||||
<id>npm link @libreccm/ccm-pagemodelseditor</id>
|
||||
<goals>
|
||||
<goal>npm</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<arguments>link @libreccm/ccm-pagemodelseditor</arguments>
|
||||
</configuration>
|
||||
</execution> -->
|
||||
<execution>
|
||||
<id>npm link @librecms/ccm-cms-pagemodelseditor</id>
|
||||
<goals>
|
||||
<goal>npm</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<arguments>link @librecms/ccm-cms-pagemodelseditor</arguments>
|
||||
</configuration>
|
||||
</execution>
|
||||
<!-- <execution>
|
||||
<id>npm link @librecms/ccm-cms-tinymce</id>
|
||||
<goals>
|
||||
<goal>npm</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<arguments>link @librecms/ccm-cms-tinymce</arguments>
|
||||
</configuration>
|
||||
</execution>-->
|
||||
<!--<execution>
|
||||
<id>npm link @librecms/ccm-cms-js</id>
|
||||
<goals>
|
||||
<goal>npm</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<arguments>link @librecms/ccm-cms-js</arguments>
|
||||
</configuration>
|
||||
</execution>-->
|
||||
<execution>
|
||||
<id>npm install</id>
|
||||
<goals>
|
||||
<goal>npm</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
<execution>
|
||||
<id>build</id>
|
||||
<goals>
|
||||
<goal>npm</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<arguments>run build</arguments>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-war-plugin</artifactId>
|
||||
<configuration>
|
||||
|
||||
<webResources>
|
||||
<resource>
|
||||
<directory>src/main/resources</directory>
|
||||
</resource>
|
||||
<resource>
|
||||
<directory>${project.build.directory}/generated-resources</directory>
|
||||
</resource>
|
||||
</webResources>
|
||||
|
||||
<overlays>
|
||||
<overlay>
|
||||
<groupId>org.libreccm</groupId>
|
||||
<artifactId>ccm-bundle-devel-wildfly-web</artifactId>
|
||||
<contextRoot>/libreccm</contextRoot>
|
||||
</webModule>
|
||||
</modules>
|
||||
<artifactId>ccm-editor</artifactId>
|
||||
<type>jar</type>
|
||||
</overlay>
|
||||
<overlay>
|
||||
<groupId>org.libreccm</groupId>
|
||||
<artifactId>ccm-pagemodelseditor</artifactId>
|
||||
<type>jar</type>
|
||||
</overlay>
|
||||
<overlay>
|
||||
<groupId>org.libreccm</groupId>
|
||||
<artifactId>ccm-theme-foundry</artifactId>
|
||||
<type>jar</type>
|
||||
</overlay>
|
||||
<overlay>
|
||||
<groupId>org.libreccm</groupId>
|
||||
<artifactId>ccm-core</artifactId>
|
||||
<type>jar</type>
|
||||
<includes>
|
||||
<include>assets/</include>
|
||||
</includes>
|
||||
</overlay>
|
||||
<overlay>
|
||||
<groupId>org.libreccm</groupId>
|
||||
<artifactId>ccm-core</artifactId>
|
||||
<type>jar</type>
|
||||
<includes>
|
||||
<include>views/</include>
|
||||
</includes>
|
||||
</overlay>
|
||||
<overlay>
|
||||
<groupId>org.libreccm</groupId>
|
||||
<artifactId>ccm-core</artifactId>
|
||||
<type>jar</type>
|
||||
<includes>
|
||||
<include>resources/</include>
|
||||
</includes>
|
||||
</overlay>
|
||||
<overlay>
|
||||
<groupId>org.librecms</groupId>
|
||||
<artifactId>ccm-cms</artifactId>
|
||||
<type>jar</type>
|
||||
<includes>
|
||||
<include>templates/</include>
|
||||
</includes>
|
||||
</overlay>
|
||||
<overlay>
|
||||
<groupId>org.librecms</groupId>
|
||||
<artifactId>ccm-cms-tinymce</artifactId>
|
||||
<type>jar</type>
|
||||
<includes>
|
||||
<include>scripts/</include>
|
||||
</includes>
|
||||
</overlay>
|
||||
</overlays>
|
||||
</configuration>
|
||||
</plugin>
|
||||
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-clean-plugin</artifactId>
|
||||
<configuration>
|
||||
<excludeDefaultDirectories>true</excludeDefaultDirectories>
|
||||
<filesets>
|
||||
<fileset>
|
||||
<directory>${project.build.directory}</directory>
|
||||
<excludes>
|
||||
<exclude>wildfly*/**</exclude>
|
||||
</excludes>
|
||||
</fileset>
|
||||
</filesets>
|
||||
</configuration>
|
||||
</plugin>
|
||||
|
||||
<plugin>
|
||||
<groupId>org.wildfly.plugins</groupId>
|
||||
<artifactId>wildfly-maven-plugin</artifactId>
|
||||
<configuration>
|
||||
<skip>false</skip>
|
||||
<propertiesFile>${project.basedir}/wildfly.properties</propertiesFile>
|
||||
<java-opts>
|
||||
<java-opt>-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8787</java-opt>
|
||||
</java-opts>
|
||||
</configuration>
|
||||
</plugin>
|
||||
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
<!-- Profiles for running the bundle in a development environment -->
|
||||
<profiles>
|
||||
|
||||
<!-- Profile which uses a H2 database. The DB file is put into the
|
||||
project build directory and therefore deleted when the clean phase
|
||||
runs.
|
||||
-->
|
||||
<profile>
|
||||
<id>h2</id>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.wildfly.plugins</groupId>
|
||||
<artifactId>wildfly-maven-plugin</artifactId>
|
||||
|
||||
<configuration>
|
||||
<version>${wildfly.version}</version>
|
||||
|
||||
<skip>false</skip>
|
||||
|
||||
<add-user>
|
||||
<users>
|
||||
<user>
|
||||
<username>admin</username>
|
||||
<password>admin123</password>
|
||||
</user>
|
||||
</users>
|
||||
</add-user>
|
||||
|
||||
<beforeDeployment>
|
||||
<commands>
|
||||
<command>data-source add --jndi-name=java:/comp/env/jdbc/libreccm/db --name=ccm-devel --connection-url=jdbc:h2:${project.build.directory}/libreccm-db;DB_CLOSE_ON_EXIT=FALSE --driver-name=h2 --driver-class=org.h2.Driver --user-name=sa --password=sa</command>
|
||||
</commands>
|
||||
</beforeDeployment>
|
||||
|
||||
<java-opts>
|
||||
<java-opt>-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8787</java-opt>
|
||||
</java-opts>
|
||||
|
||||
</configuration>
|
||||
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</profile>
|
||||
|
||||
<!--
|
||||
Profile which uses a PostgreSQL datasource with a generic
|
||||
configuration. When using this profile PostgreSQL must run on the
|
||||
local system and a database with the name "libreccm-devel" which
|
||||
is accessible by the user "ccm" with the password "ccm47web" must
|
||||
exist.
|
||||
-->
|
||||
<profile>
|
||||
<id>pgsql</id>
|
||||
|
||||
<id>setup-runtime</id>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.postgresql</groupId>
|
||||
<artifactId>postgresql</artifactId>
|
||||
<version>9.4.1208</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.codehaus.mojo</groupId>
|
||||
<artifactId>properties-maven-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>read-datasource-properties</id>
|
||||
<phase>initialize</phase>
|
||||
<goals>
|
||||
<goal>read-project-properties</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<files>
|
||||
<file>${project.basedir}/datasource.properties</file>
|
||||
</files>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.wildfly.plugins</groupId>
|
||||
<artifactId>wildfly-maven-plugin</artifactId>
|
||||
|
||||
<configuration>
|
||||
<version>${wildfly.version}</version>
|
||||
|
||||
<skip>false</skip>
|
||||
|
||||
<add-user>
|
||||
<users>
|
||||
<user>
|
||||
<username>admin</username>
|
||||
<password>admin1234</password>
|
||||
</user>
|
||||
</users>
|
||||
</add-user>
|
||||
|
||||
<beforeDeployment>
|
||||
<commands>
|
||||
<!--jdbc-drivers/postgresql-9.4.1208.jar-->
|
||||
<command>module add --name=org.postgres --resources=${project.build.directory}/${project.build.finalName}/lib/postgresql.jar --dependencies=javax.api,javax.transaction.api</command>
|
||||
<command>/subsystem=datasources/jdbc-driver=postgres:add(driver-name="postgres",driver-module-name="org.postgres",driver-class-name=org.postgresql.Driver)</command>
|
||||
<command>data-source add --jndi-name=java:/comp/env/jdbc/libreccm/db --name=libreccm-devel --connection-url=jdbc:postgresql://localhost:5432/libreccm-devel --driver-name=postgres --driver-class=org.postgresql.Driver --user-name=ccm --password=ccm47web</command>
|
||||
</commands>
|
||||
</beforeDeployment>
|
||||
|
||||
<java-opts>
|
||||
<java-opt>-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8787</java-opt>
|
||||
</java-opts>
|
||||
|
||||
<propertiesFile>${project.basedir}/wildfly.properties</propertiesFile>
|
||||
</configuration>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>start-for-prepare</id>
|
||||
<goals>
|
||||
<goal>start</goal>
|
||||
</goals>
|
||||
<phase>package</phase>
|
||||
<configuration>
|
||||
<stdout>System.out</stdout>
|
||||
</configuration>
|
||||
</execution>
|
||||
<execution>
|
||||
<id>deploy-jdbc-driver</id>
|
||||
<configuration>
|
||||
<groupId>org.postgresql</groupId>
|
||||
<artifactId>postgresql</artifactId>
|
||||
<name>postgresql.jar</name>
|
||||
<force>true</force>
|
||||
</configuration>
|
||||
<phase>package</phase>
|
||||
<goals>
|
||||
<goal>deploy-artifact</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
<execution>
|
||||
<id>add-datasource</id>
|
||||
<configuration>
|
||||
<address>subsystem=datasources,data-source=ccm-devel</address>
|
||||
<force>true</force>
|
||||
<resources>
|
||||
<resource>
|
||||
<properties>
|
||||
<connection-url>${libreccm.datasource.connectionUrl}</connection-url>
|
||||
<jndi-name>java:/comp/env/jdbc/libreccm/db</jndi-name>
|
||||
<enabled>true</enabled>
|
||||
<user-name>${libreccm.datasource.username}</user-name>
|
||||
<password>${libreccm.datasource.password}</password>
|
||||
<use-ccm>false</use-ccm>
|
||||
<driver-name>postgresql.jar</driver-name>
|
||||
</properties>
|
||||
</resource>
|
||||
</resources>
|
||||
|
||||
</configuration>
|
||||
<phase>package</phase>
|
||||
<goals>
|
||||
<goal>add-resource</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
<execution>
|
||||
<id>deploy-libreccm-bundle-devel</id>
|
||||
<configuration>
|
||||
<force>true</force>
|
||||
</configuration>
|
||||
<phase>package</phase>
|
||||
<goals>
|
||||
<goal>deploy-only</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
<execution>
|
||||
<id>shutdown-after-deploy</id>
|
||||
<phase>package</phase>
|
||||
<goals>
|
||||
<goal>shutdown</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</profile>
|
||||
|
||||
<!--
|
||||
Generic profile for using an existing Wildfly installation.
|
||||
The datasource for CCM must be configured in the Wildfly instance.
|
||||
Also the plugin must know where the wildfly installation is. This
|
||||
can either be done by setting the JBOSS_HOME environment variable or
|
||||
by providing the location using -Djboss-as.home=/path/to/wildfly
|
||||
on the command line.
|
||||
-->
|
||||
<profile>
|
||||
<id>generic</id>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.wildfly.plugins</groupId>
|
||||
<artifactId>wildfly-maven-plugin</artifactId>
|
||||
|
||||
<configuration>
|
||||
<version>${wildfly.version}</version>
|
||||
|
||||
<skip>false</skip>
|
||||
<startupTimeout>120</startupTimeout>
|
||||
|
||||
<java-opts>
|
||||
<java-opt>-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8787</java-opt>
|
||||
</java-opts>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
</profile>
|
||||
</profiles>
|
||||
|
||||
</project>
|
||||
|
|
|
|||
|
|
@ -6,200 +6,102 @@
|
|||
|
||||
<properties>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
<wildfly.version>10.0.0.Final</wildfly.version>
|
||||
</properties>
|
||||
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<parent>
|
||||
<groupId>org.libreccm</groupId>
|
||||
<artifactId>libreccm-parent</artifactId>
|
||||
<artifactId>ccm-bundle-devel</artifactId>
|
||||
<relativePath>../ccm-bundle-devel</relativePath>
|
||||
<version>7.0.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
<groupId>org.libreccm</groupId>
|
||||
<artifactId>ccm-bundle-devel-wildfly</artifactId>
|
||||
<artifactId>ccm-bundle-devel-wildfly-web</artifactId>
|
||||
<!--<version>7.0.0-SNAPSHOT</version>-->
|
||||
<packaging>ear</packaging>
|
||||
<packaging>war</packaging>
|
||||
|
||||
<name>LibreCCM Devel Bundle for Wildfly</name>
|
||||
<url>http://www.libreccm.org/bundles/devel/wildfly</url>
|
||||
<name>LibreCCM Devel Bundle Web for Wildfly</name>
|
||||
<url>http://www.libreccm.org/modules/web/wildfly</url>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.libreccm</groupId>
|
||||
<artifactId>ccm-bundle-devel-wildfly-web</artifactId>
|
||||
<version>${project.parent.version}</version>
|
||||
<type>war</type>
|
||||
<groupId>org.webjars</groupId>
|
||||
<artifactId>font-awesome</artifactId>
|
||||
<version>4.7.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.webjars</groupId>
|
||||
<artifactId>requirejs</artifactId>
|
||||
<version>2.3.5</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.webjars</groupId>
|
||||
<artifactId>requirejs-domready</artifactId>
|
||||
<version>2.0.1-2</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<finalName>libreccm-devel-${project.version}</finalName>
|
||||
<finalName>libreccm-web-wildfly</finalName>
|
||||
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-ear-plugin</artifactId>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<configuration>
|
||||
<!-- Tell Maven we are using Java EE 7 -->
|
||||
<version>7</version>
|
||||
<!-- Use Java EE ear libraries as needed. Java EE ear libraries
|
||||
are an easy way to package any libraries needed in the ear,
|
||||
and automatically
|
||||
have any modules (EJB-JARs and WARs) use them -->
|
||||
<defaultLibBundleDir>lib</defaultLibBundleDir>
|
||||
<fileNameMapping>no-version</fileNameMapping>
|
||||
<modules>
|
||||
<webModule>
|
||||
<groupId>org.libreccm</groupId>
|
||||
<artifactId>ccm-bundle-devel-wildfly-web</artifactId>
|
||||
<contextRoot>/libreccm</contextRoot>
|
||||
</webModule>
|
||||
</modules>
|
||||
<source>1.8</source>
|
||||
<target>1.8</target>
|
||||
<optimize>true</optimize>
|
||||
<debug>true</debug>
|
||||
<encoding>${project.build.sourceEncoding}</encoding>
|
||||
</configuration>
|
||||
</plugin>
|
||||
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-war-plugin</artifactId>
|
||||
<configuration>
|
||||
<overlays>
|
||||
<overlay>
|
||||
<groupId>org.libreccm</groupId>
|
||||
<artifactId>ccm-editor</artifactId>
|
||||
<type>jar</type>
|
||||
</overlay>
|
||||
<overlay>
|
||||
<groupId>org.libreccm</groupId>
|
||||
<artifactId>ccm-theme-foundry</artifactId>
|
||||
<type>jar</type>
|
||||
</overlay>
|
||||
<overlay>
|
||||
<groupId>org.libreccm</groupId>
|
||||
<artifactId>ccm-core</artifactId>
|
||||
<type>jar</type>
|
||||
<includes>
|
||||
<include>assets/</include>
|
||||
<include>VAADIN/</include>
|
||||
</includes>
|
||||
</overlay>
|
||||
<overlay>
|
||||
<groupId>org.librecms</groupId>
|
||||
<artifactId>ccm-cms</artifactId>
|
||||
<type>jar</type>
|
||||
<includes>
|
||||
<include>templates/</include>
|
||||
</includes>
|
||||
</overlay>
|
||||
</overlays>
|
||||
</configuration>
|
||||
</plugin>
|
||||
|
||||
<plugin>
|
||||
<groupId>org.wildfly.plugins</groupId>
|
||||
<artifactId>wildfly-maven-plugin</artifactId>
|
||||
<configuration>
|
||||
<skip>true</skip>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
<!-- Profiles for running the bundle in a development environment -->
|
||||
<profiles>
|
||||
|
||||
<!-- Profile which uses a H2 database. The DB file is put into the
|
||||
project build directory and therefore deleted when the clean phase
|
||||
runs.
|
||||
-->
|
||||
<profile>
|
||||
<id>h2</id>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.wildfly.plugins</groupId>
|
||||
<artifactId>wildfly-maven-plugin</artifactId>
|
||||
|
||||
<configuration>
|
||||
<version>${wildfly.version}</version>
|
||||
|
||||
<skip>false</skip>
|
||||
|
||||
<add-user>
|
||||
<users>
|
||||
<user>
|
||||
<username>admin</username>
|
||||
<password>admin123</password>
|
||||
</user>
|
||||
</users>
|
||||
</add-user>
|
||||
|
||||
<beforeDeployment>
|
||||
<commands>
|
||||
<command>data-source add --jndi-name=java:/comp/env/jdbc/libreccm/db --name=ccm-devel --connection-url=jdbc:h2:${project.build.directory}/libreccm-db;DB_CLOSE_ON_EXIT=FALSE --driver-name=h2 --driver-class=org.h2.Driver --user-name=sa --password=sa</command>
|
||||
</commands>
|
||||
</beforeDeployment>
|
||||
|
||||
<java-opts>
|
||||
<java-opt>-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8787</java-opt>
|
||||
</java-opts>
|
||||
|
||||
</configuration>
|
||||
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</profile>
|
||||
|
||||
<!--
|
||||
Profile which uses a PostgreSQL datasource with a generic
|
||||
configuration. When using this profile PostgreSQL must run on the
|
||||
local system and a database with the name "libreccm-devel" which
|
||||
is accessible by the user "ccm" with the password "ccm47web" must
|
||||
exist.
|
||||
-->
|
||||
<profile>
|
||||
<id>pgsql</id>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.postgresql</groupId>
|
||||
<artifactId>postgresql</artifactId>
|
||||
<version>9.4.1208</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.wildfly.plugins</groupId>
|
||||
<artifactId>wildfly-maven-plugin</artifactId>
|
||||
|
||||
<configuration>
|
||||
<version>${wildfly.version}</version>
|
||||
|
||||
<skip>false</skip>
|
||||
|
||||
<add-user>
|
||||
<users>
|
||||
<user>
|
||||
<username>admin</username>
|
||||
<password>admin1234</password>
|
||||
</user>
|
||||
</users>
|
||||
</add-user>
|
||||
|
||||
<beforeDeployment>
|
||||
<commands>
|
||||
<!--jdbc-drivers/postgresql-9.4.1208.jar-->
|
||||
<command>module add --name=org.postgres --resources=${project.build.directory}/${project.build.finalName}/lib/postgresql.jar --dependencies=javax.api,javax.transaction.api</command>
|
||||
<command>/subsystem=datasources/jdbc-driver=postgres:add(driver-name="postgres",driver-module-name="org.postgres",driver-class-name=org.postgresql.Driver)</command>
|
||||
<command>data-source add --jndi-name=java:/comp/env/jdbc/libreccm/db --name=libreccm-devel --connection-url=jdbc:postgresql://localhost:5432/libreccm-devel --driver-name=postgres --driver-class=org.postgresql.Driver --user-name=ccm --password=ccm47web</command>
|
||||
</commands>
|
||||
</beforeDeployment>
|
||||
|
||||
<java-opts>
|
||||
<java-opt>-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8787</java-opt>
|
||||
</java-opts>
|
||||
|
||||
</configuration>
|
||||
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</profile>
|
||||
|
||||
<!--
|
||||
Generic profile for using an existing Wildfly installation.
|
||||
The datasource for CCM must be configured in the Wildfly instance.
|
||||
Also the plugin must know where the wildfly installation is. This
|
||||
can either be done by setting the JBOSS_HOME environment variable or
|
||||
by providing the location using -Djboss-as.home=/path/to/wildfly
|
||||
on the command line.
|
||||
-->
|
||||
<profile>
|
||||
<id>generic</id>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.wildfly.plugins</groupId>
|
||||
<artifactId>wildfly-maven-plugin</artifactId>
|
||||
|
||||
<configuration>
|
||||
<version>${wildfly.version}</version>
|
||||
|
||||
<skip>false</skip>
|
||||
<startupTimeout>120</startupTimeout>
|
||||
|
||||
<java-opts>
|
||||
<java-opt>-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8787</java-opt>
|
||||
</java-opts>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
</profile>
|
||||
</profiles>
|
||||
|
||||
</project>
|
||||
|
|
|
|||
|
|
@ -0,0 +1 @@
|
|||
import "@librecms/ccm-cms-pagemodelseditor";
|
||||
|
|
@ -4,4 +4,7 @@
|
|||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
|
||||
http://xmlns.jcp.org/xml/ns/javaee/web-facesconfig_2_2.xsd">
|
||||
<application>
|
||||
<resource-handler>org.libreccm.ui.CcmFaceletsResourceHandler</resource-handler>
|
||||
</application>
|
||||
</faces-config>
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
<?xml version="1.0" ?>
|
||||
<jboss-web>
|
||||
<context-root>/libreccm</context-root>
|
||||
</jboss-web>
|
||||
|
|
@ -3,61 +3,10 @@
|
|||
--------------
|
||||
Jens Pelzetter
|
||||
--------------
|
||||
2016-06-03
|
||||
2016-03-18
|
||||
--------------
|
||||
|
||||
LibreCCM Bundle for Wildfly
|
||||
LibreCCM Bundle Web for Wildfly
|
||||
|
||||
This module provides the LibreCCM development bundle for the Wildfly
|
||||
application server.
|
||||
|
||||
This bundle is not meant for production use as its contains most of the
|
||||
available modules.
|
||||
|
||||
Developers can run this LibreCCM directly from Maven. Three profiles are
|
||||
provided:
|
||||
|
||||
[h2] Uses a H2 database located in the project build directory. This means
|
||||
that the database is deleted every time <<<mvn clean>>>.
|
||||
|
||||
[pgsql] Uses an PostgresSQL database with a generic configuration. The
|
||||
PostgreSQL server must run on localhost and the standard port and there
|
||||
must be a database called with <<<libreccm-devel>>> which is accessible
|
||||
for the user <<<ccm>>> using the password <<<ccm47web>>>.
|
||||
|
||||
[generic] Uses an existing Wildfly installation. The datasource for the
|
||||
database which is used by LibreCCM has to be configured by the user for this
|
||||
profile. Also, Maven or more exactly the wildfly-maven-plugin has to know
|
||||
the location of the Wildfly instance to use. The location of the Wildfly
|
||||
instance can either be provided on the command line when invoking Maven
|
||||
or by setting the <<<JBOSS_HOME>>> environment variable.
|
||||
|
||||
When using the <<<h2>>> it is not necessary to install a Wildfly application
|
||||
server first. The <wildfly-maven-plugin> will download the Wildfly
|
||||
application server and extract the server into the <<<target>>> directory.
|
||||
|
||||
The <<<h2>>> and the <<<pgsql>>> profile add a user to the Wildfly server
|
||||
with the username <<<admin>>> and the password <<<admin123>>> which allow
|
||||
the developer to access the management web UI of the Wildfly server.
|
||||
|
||||
* Run examples
|
||||
|
||||
** Profile h2
|
||||
|
||||
To run the LibreCCM bundle using a H2 database:
|
||||
|
||||
mvn package wildfly:run -pl ccm-bundle-devel-wildfly -am -Ph2
|
||||
|
||||
** Profile pgsql
|
||||
|
||||
mvn package wildfly:run -pl ccm-bundle-devel-wildfly -am -Ppgsql
|
||||
|
||||
** Profile generic
|
||||
|
||||
mvn -Djboss-as.home=/home/mustermann/java-ee-servers/wildfly/wildfly-10.0.0.Final package wildfly:run -pl ccm-bundle-devel-wildfly -am -Pgeneric
|
||||
|
||||
** Additional options
|
||||
|
||||
The <<<wildfly:run>>> goal of the <wildfly-maven-plugin> provides several
|
||||
other options. For a complete list please refer to the documentation of the
|
||||
{{{https://docs.jboss.org/wildfly/plugins/maven/latest/run-mojo.html}run goal}}.
|
||||
This module provides the web application part of the the LibreCCM devel
|
||||
bundle for the Wildfly application server.
|
||||
|
|
|
|||
|
|
@ -10,11 +10,10 @@
|
|||
</menu>
|
||||
|
||||
<menu name="Overview">
|
||||
<item name="The LibreCCM Devel Bundle module" href="index.html"/>
|
||||
<item name="The LibreCCM Devel Bundle Web module" href="index.html"/>
|
||||
</menu>
|
||||
|
||||
<menu ref="reports"/>
|
||||
</body>
|
||||
|
||||
</project>
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,12 @@
|
|||
# Configuration for Wildfly, primarly ports on which Wildfly will listen
|
||||
|
||||
# Ports for Undertow (Servlet Container). These are the ports which you are
|
||||
# using the access your application
|
||||
jboss.http.port=8080
|
||||
jboss.https.port=8443
|
||||
|
||||
# Ports for Wildfly's Management Interface
|
||||
jboss.management.http.port=9990
|
||||
jboss.management.https.port=9993
|
||||
|
||||
|
||||
|
|
@ -38,6 +38,11 @@
|
|||
<artifactId>ccm-theme-foundry</artifactId>
|
||||
<version>${project.parent.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.librecms</groupId>
|
||||
<artifactId>ccm-theme-ftllibs-devel</artifactId>
|
||||
<version>${project.parent.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>net.sf.saxon</groupId>
|
||||
|
|
|
|||
|
|
@ -113,8 +113,8 @@
|
|||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<version>3.3</version>
|
||||
<configuration>
|
||||
<source>1.7</source>
|
||||
<target>1.7</target>
|
||||
<source>1.8</source>
|
||||
<target>1.8</target>
|
||||
<optimize>true</optimize>
|
||||
<debug>true</debug>
|
||||
<encoding>${project.build.sourceEncoding}</encoding>
|
||||
|
|
@ -191,13 +191,8 @@
|
|||
<artifactId>maven-javadoc-plugin</artifactId>
|
||||
<version>2.10.3</version>
|
||||
<configuration>
|
||||
<detectLinks>true</detectLinks>
|
||||
<detectJavaApiLinks>true</detectJavaApiLinks>
|
||||
<links>
|
||||
<link>http://docs.oracle.com/javase/7/docs/api/</link>
|
||||
<link>http://docs.oracle.com/javaee/7/api/</link>
|
||||
<link>http://docs.jboss.org/hibernate/orm/4.3/javadocs/</link>
|
||||
</links>
|
||||
<detectLinks>false</detectLinks>
|
||||
<detectJavaApiLinks>false</detectJavaApiLinks>
|
||||
<show>private</show>
|
||||
<docfilessubdirs>true</docfilessubdirs>
|
||||
<charset>UTF-8</charset>
|
||||
|
|
@ -208,16 +203,6 @@
|
|||
<author>true</author>
|
||||
<keywords>true</keywords>
|
||||
<failOnError>false</failOnError>
|
||||
<doclet>org.jboss.apiviz.APIviz</doclet>
|
||||
<docletArtifact>
|
||||
<groupId>org.jboss.apiviz</groupId>
|
||||
<artifactId>apiviz</artifactId>
|
||||
<version>1.3.2.GA</version>
|
||||
</docletArtifact>
|
||||
<useStandardDocletOptions>true</useStandardDocletOptions>
|
||||
<additionalparam>
|
||||
-sourceclasspath ${project.build.outputDirectory}
|
||||
</additionalparam>
|
||||
</configuration>
|
||||
</plugin>
|
||||
|
||||
|
|
@ -236,11 +221,6 @@
|
|||
<artifactId>jacoco-maven-plugin</artifactId>
|
||||
<version>0.7.5.201505241946</version>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.codehaus.mojo</groupId>
|
||||
<artifactId>findbugs-maven-plugin</artifactId>
|
||||
<version>3.0.1</version>
|
||||
</plugin>
|
||||
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"name": "ccm-cms-js",
|
||||
"name": "@librecms/ccm-cms-js",
|
||||
"version": "7.0.0",
|
||||
"description": "JavaScript for the ccm-cms-module",
|
||||
"repository": {
|
||||
|
|
@ -15,7 +15,7 @@
|
|||
"tslint": "tslint --project ."
|
||||
},
|
||||
"dependencies": {
|
||||
"ccm-pagemodelseditor": "7.0.0",
|
||||
"@libreccm/ccm-pagemodelseditor": "7.0.0",
|
||||
"react": "^16.4.2",
|
||||
"react-dom": "^16.4.2",
|
||||
"react-redux": "^5.0.7",
|
||||
|
|
|
|||
|
|
@ -79,12 +79,12 @@
|
|||
</configuration>
|
||||
</execution>
|
||||
<execution>
|
||||
<id>npm link ccm-pagemodelseditor</id>
|
||||
<id>npm link @libreccm/ccm-pagemodelseditor</id>
|
||||
<goals>
|
||||
<goal>npm</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<arguments>link ccm-pagemodelseditor</arguments>
|
||||
<arguments>link @libreccm/ccm-pagemodelseditor</arguments>
|
||||
</configuration>
|
||||
</execution>
|
||||
<execution>
|
||||
|
|
|
|||
|
|
@ -1,125 +1,10 @@
|
|||
{
|
||||
"name": "ccm-cms-pagemodelseditor",
|
||||
"name": "@librecms/ccm-cms-pagemodelseditor",
|
||||
"version": "7.0.0",
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
"@types/node": {
|
||||
"version": "10.7.1",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-10.7.1.tgz",
|
||||
"integrity": "sha512-EGoI4ylB/lPOaqXqtzAyL8HcgOuCtH2hkEaLmkueOYufsTFWBn4VCvlCDC2HW8Q+9iF+QVC3sxjDKQYjHQeZ9w==",
|
||||
"dev": true
|
||||
},
|
||||
"@types/prop-types": {
|
||||
"version": "15.5.5",
|
||||
"resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.5.5.tgz",
|
||||
"integrity": "sha512-mOrlCEdwX3seT3n0AXNt4KNPAZZxcsABUHwBgFXOt+nvFUXkxCAO6UBJHPrDxWEa2KDMil86355fjo8jbZ+K0Q==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@types/react": "16.4.11"
|
||||
}
|
||||
},
|
||||
"@types/react": {
|
||||
"version": "16.4.11",
|
||||
"resolved": "https://registry.npmjs.org/@types/react/-/react-16.4.11.tgz",
|
||||
"integrity": "sha512-1DQnmwO8u8N3ucvRX2ZLDEjQ2VctkAvL/rpbm2ev4uaZA0z4ysU+I0tk+K8ZLblC6p7MCgFyF+cQlSNIPUHzeQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@types/prop-types": "15.5.5",
|
||||
"csstype": "2.5.6"
|
||||
}
|
||||
},
|
||||
"@types/react-dom": {
|
||||
"version": "16.0.7",
|
||||
"resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-16.0.7.tgz",
|
||||
"integrity": "sha512-vaq4vMaJOaNgFff1t3LnHYr6vRa09vRspMkmLdXtFZmO1fwDI2snP+dpOkwrtlU8UC8qsqemCu4RmVM2OLq/fA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@types/node": "10.7.1",
|
||||
"@types/react": "16.4.11"
|
||||
}
|
||||
},
|
||||
"ansi-regex": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
|
||||
"integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
|
||||
"dev": true
|
||||
},
|
||||
"ansi-styles": {
|
||||
"version": "2.2.1",
|
||||
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
|
||||
"integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
|
||||
"dev": true
|
||||
},
|
||||
"argparse": {
|
||||
"version": "1.0.10",
|
||||
"resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
|
||||
"integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"sprintf-js": "1.0.3"
|
||||
}
|
||||
},
|
||||
"asap": {
|
||||
"version": "2.0.6",
|
||||
"resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
|
||||
"integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY="
|
||||
},
|
||||
"babel-code-frame": {
|
||||
"version": "6.26.0",
|
||||
"resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
|
||||
"integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"chalk": "1.1.3",
|
||||
"esutils": "2.0.2",
|
||||
"js-tokens": "3.0.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"chalk": {
|
||||
"version": "1.1.3",
|
||||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
|
||||
"integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"ansi-styles": "2.2.1",
|
||||
"escape-string-regexp": "1.0.5",
|
||||
"has-ansi": "2.0.0",
|
||||
"strip-ansi": "3.0.1",
|
||||
"supports-color": "2.0.0"
|
||||
}
|
||||
},
|
||||
"js-tokens": {
|
||||
"version": "3.0.2",
|
||||
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
|
||||
"integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"balanced-match": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
|
||||
"integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
|
||||
"dev": true
|
||||
},
|
||||
"brace-expansion": {
|
||||
"version": "1.1.11",
|
||||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
|
||||
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"balanced-match": "1.0.0",
|
||||
"concat-map": "0.0.1"
|
||||
}
|
||||
},
|
||||
"builtin-modules": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
|
||||
"integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=",
|
||||
"dev": true
|
||||
},
|
||||
"ccm-pagemodelseditor": {
|
||||
"@libreccm/ccm-pagemodelseditor": {
|
||||
"version": "7.0.0",
|
||||
"requires": {
|
||||
"react": "16.4.2",
|
||||
|
|
@ -604,6 +489,121 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"@types/node": {
|
||||
"version": "10.7.1",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-10.7.1.tgz",
|
||||
"integrity": "sha512-EGoI4ylB/lPOaqXqtzAyL8HcgOuCtH2hkEaLmkueOYufsTFWBn4VCvlCDC2HW8Q+9iF+QVC3sxjDKQYjHQeZ9w==",
|
||||
"dev": true
|
||||
},
|
||||
"@types/prop-types": {
|
||||
"version": "15.5.5",
|
||||
"resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.5.5.tgz",
|
||||
"integrity": "sha512-mOrlCEdwX3seT3n0AXNt4KNPAZZxcsABUHwBgFXOt+nvFUXkxCAO6UBJHPrDxWEa2KDMil86355fjo8jbZ+K0Q==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@types/react": "16.4.11"
|
||||
}
|
||||
},
|
||||
"@types/react": {
|
||||
"version": "16.4.11",
|
||||
"resolved": "https://registry.npmjs.org/@types/react/-/react-16.4.11.tgz",
|
||||
"integrity": "sha512-1DQnmwO8u8N3ucvRX2ZLDEjQ2VctkAvL/rpbm2ev4uaZA0z4ysU+I0tk+K8ZLblC6p7MCgFyF+cQlSNIPUHzeQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@types/prop-types": "15.5.5",
|
||||
"csstype": "2.5.6"
|
||||
}
|
||||
},
|
||||
"@types/react-dom": {
|
||||
"version": "16.0.7",
|
||||
"resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-16.0.7.tgz",
|
||||
"integrity": "sha512-vaq4vMaJOaNgFff1t3LnHYr6vRa09vRspMkmLdXtFZmO1fwDI2snP+dpOkwrtlU8UC8qsqemCu4RmVM2OLq/fA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@types/node": "10.7.1",
|
||||
"@types/react": "16.4.11"
|
||||
}
|
||||
},
|
||||
"ansi-regex": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
|
||||
"integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
|
||||
"dev": true
|
||||
},
|
||||
"ansi-styles": {
|
||||
"version": "2.2.1",
|
||||
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
|
||||
"integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
|
||||
"dev": true
|
||||
},
|
||||
"argparse": {
|
||||
"version": "1.0.10",
|
||||
"resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
|
||||
"integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"sprintf-js": "1.0.3"
|
||||
}
|
||||
},
|
||||
"asap": {
|
||||
"version": "2.0.6",
|
||||
"resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
|
||||
"integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY="
|
||||
},
|
||||
"babel-code-frame": {
|
||||
"version": "6.26.0",
|
||||
"resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
|
||||
"integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"chalk": "1.1.3",
|
||||
"esutils": "2.0.2",
|
||||
"js-tokens": "3.0.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"chalk": {
|
||||
"version": "1.1.3",
|
||||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
|
||||
"integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"ansi-styles": "2.2.1",
|
||||
"escape-string-regexp": "1.0.5",
|
||||
"has-ansi": "2.0.0",
|
||||
"strip-ansi": "3.0.1",
|
||||
"supports-color": "2.0.0"
|
||||
}
|
||||
},
|
||||
"js-tokens": {
|
||||
"version": "3.0.2",
|
||||
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
|
||||
"integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"balanced-match": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
|
||||
"integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
|
||||
"dev": true
|
||||
},
|
||||
"brace-expansion": {
|
||||
"version": "1.1.11",
|
||||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
|
||||
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"balanced-match": "1.0.0",
|
||||
"concat-map": "0.0.1"
|
||||
}
|
||||
},
|
||||
"builtin-modules": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
|
||||
"integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=",
|
||||
"dev": true
|
||||
},
|
||||
"chalk": {
|
||||
"version": "2.4.1",
|
||||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"name": "ccm-cms-pagemodelseditor",
|
||||
"name": "@librecms/ccm-cms-pagemodelseditor",
|
||||
"version": "7.0.0",
|
||||
"description": "Adds editor components for PageModels components provided by ccm-cms",
|
||||
"repository": {
|
||||
|
|
@ -15,7 +15,7 @@
|
|||
"tslint": "tslint --project ."
|
||||
},
|
||||
"dependencies": {
|
||||
"ccm-pagemodelseditor": "7.0.0",
|
||||
"@libreccm/ccm-pagemodelseditor": "7.0.0",
|
||||
"react": "^16.4.2",
|
||||
"react-dom": "^16.4.2"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -79,7 +79,7 @@
|
|||
</configuration>
|
||||
</execution>
|
||||
<execution>
|
||||
<id>npm link ccm-pagemodelseditor</id>
|
||||
<id>npm link @libreccm/ccm-pagemodelseditor</id>
|
||||
<phase>package</phase>
|
||||
<goals>
|
||||
<goal>exec</goal>
|
||||
|
|
@ -88,7 +88,7 @@
|
|||
<executable>npm</executable>
|
||||
<arguments>
|
||||
<argument>link</argument>
|
||||
<argument>ccm-pagemodelseditor</argument>
|
||||
<argument>@libreccm/ccm-pagemodelseditor</argument>
|
||||
</arguments>
|
||||
</configuration>
|
||||
</execution>
|
||||
|
|
@ -141,12 +141,12 @@
|
|||
</configuration>
|
||||
</execution>
|
||||
<execution>
|
||||
<id>npm link ccm-pagemodelseditor</id>
|
||||
<id>npm link @libreccm/ccm-pagemodelseditor</id>
|
||||
<goals>
|
||||
<goal>npm</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<arguments>link ccm-pagemodelseditor</arguments>
|
||||
<arguments>link @libreccm/ccm-pagemodelseditor</arguments>
|
||||
</configuration>
|
||||
</execution>
|
||||
<execution>
|
||||
|
|
@ -173,6 +173,19 @@
|
|||
<arguments>link</arguments>
|
||||
</configuration>
|
||||
</execution>
|
||||
|
||||
<execution>
|
||||
<id>npm publish</id>
|
||||
<goals>
|
||||
<goal>npm</goal>
|
||||
</goals>
|
||||
|
||||
<phase>deploy</phase>
|
||||
|
||||
<configuration>
|
||||
<arguments>publish --userconfig ../libreccm.npmrc</arguments>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ import {
|
|||
ComponentModelEditorProps,
|
||||
EditorComponents,
|
||||
PageModelEditor,
|
||||
} from "ccm-pagemodelseditor";
|
||||
} from "@libreccm/ccm-pagemodelseditor";
|
||||
|
||||
class CategoryTreeComponentPropertiesList
|
||||
extends React.Component<
|
||||
|
|
|
|||
|
|
@ -64,12 +64,12 @@
|
|||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.hibernate</groupId>
|
||||
<groupId>org.hibernate.validator</groupId>
|
||||
<artifactId>hibernate-validator</artifactId>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.hibernate</groupId>
|
||||
<groupId>org.hibernate.validator</groupId>
|
||||
<artifactId>hibernate-validator-cdi</artifactId>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
|
|
@ -215,13 +215,8 @@
|
|||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-javadoc-plugin</artifactId>
|
||||
<configuration>
|
||||
<detectLinks>true</detectLinks>
|
||||
<detectJavaApiLinks>true</detectJavaApiLinks>
|
||||
<links>
|
||||
<link>http://docs.oracle.com/javase/7/docs/api/</link>
|
||||
<link>http://docs.oracle.com/javaee/7/api/</link>
|
||||
<link>http://docs.jboss.org/hibernate/orm/4.3/javadocs/</link>
|
||||
</links>
|
||||
<detectLinks>false</detectLinks>
|
||||
<detectJavaApiLinks>false</detectJavaApiLinks>
|
||||
<show>private</show>
|
||||
<docfilessubdirs>true</docfilessubdirs>
|
||||
<charset>UTF-8</charset>
|
||||
|
|
@ -232,14 +227,6 @@
|
|||
<author>true</author>
|
||||
<keywords>true</keywords>
|
||||
<failOnError>false</failOnError>
|
||||
<doclet>org.jboss.apiviz.APIviz</doclet>
|
||||
<docletArtifact>
|
||||
<groupId>org.jboss.apiviz</groupId>
|
||||
<artifactId>apiviz</artifactId>
|
||||
<version>1.3.2.GA</version>
|
||||
</docletArtifact>
|
||||
<useStandardDocletOptions>true</useStandardDocletOptions>
|
||||
<additionalparam>-sourceclasspath ${project.build.outputDirectory}</additionalparam>
|
||||
</configuration>
|
||||
</plugin>
|
||||
|
||||
|
|
@ -255,10 +242,6 @@
|
|||
<groupId>org.jacoco</groupId>
|
||||
<artifactId>jacoco-maven-plugin</artifactId>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.codehaus.mojo</groupId>
|
||||
<artifactId>findbugs-maven-plugin</artifactId>
|
||||
</plugin>
|
||||
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"name": "ccm-cms-tinymce",
|
||||
"name": "@librecms/ccm-cms-tinymce",
|
||||
"version": "7.0.0",
|
||||
"description": "Extensions for TinyMCE specific for ccm-cms",
|
||||
"repository": {
|
||||
|
|
|
|||
|
|
@ -64,12 +64,12 @@
|
|||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.hibernate</groupId>
|
||||
<groupId>org.hibernate.validator</groupId>
|
||||
<artifactId>hibernate-validator</artifactId>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.hibernate</groupId>
|
||||
<groupId>org.hibernate.validator</groupId>
|
||||
<artifactId>hibernate-validator-cdi</artifactId>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
|
|
@ -212,13 +212,8 @@
|
|||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-javadoc-plugin</artifactId>
|
||||
<configuration>
|
||||
<detectLinks>true</detectLinks>
|
||||
<detectJavaApiLinks>true</detectJavaApiLinks>
|
||||
<links>
|
||||
<link>http://docs.oracle.com/javase/7/docs/api/</link>
|
||||
<link>http://docs.oracle.com/javaee/7/api/</link>
|
||||
<link>http://docs.jboss.org/hibernate/orm/4.3/javadocs/</link>
|
||||
</links>
|
||||
<detectLinks>falsed</detectLinks>
|
||||
<detectJavaApiLinks>false</detectJavaApiLinks>
|
||||
<show>private</show>
|
||||
<docfilessubdirs>true</docfilessubdirs>
|
||||
<charset>UTF-8</charset>
|
||||
|
|
@ -229,14 +224,6 @@
|
|||
<author>true</author>
|
||||
<keywords>true</keywords>
|
||||
<failOnError>false</failOnError>
|
||||
<doclet>org.jboss.apiviz.APIviz</doclet>
|
||||
<docletArtifact>
|
||||
<groupId>org.jboss.apiviz</groupId>
|
||||
<artifactId>apiviz</artifactId>
|
||||
<version>1.3.2.GA</version>
|
||||
</docletArtifact>
|
||||
<useStandardDocletOptions>true</useStandardDocletOptions>
|
||||
<additionalparam>-sourceclasspath ${project.build.outputDirectory}</additionalparam>
|
||||
</configuration>
|
||||
</plugin>
|
||||
|
||||
|
|
@ -252,10 +239,6 @@
|
|||
<groupId>org.jacoco</groupId>
|
||||
<artifactId>jacoco-maven-plugin</artifactId>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.codehaus.mojo</groupId>
|
||||
<artifactId>findbugs-maven-plugin</artifactId>
|
||||
</plugin>
|
||||
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
|
|
|
|||
|
|
@ -64,12 +64,12 @@
|
|||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.hibernate</groupId>
|
||||
<groupId>org.hibernate.validator</groupId>
|
||||
<artifactId>hibernate-validator</artifactId>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.hibernate</groupId>
|
||||
<groupId>org.hibernate.validator</groupId>
|
||||
<artifactId>hibernate-validator-cdi</artifactId>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
|
|
@ -211,13 +211,8 @@
|
|||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-javadoc-plugin</artifactId>
|
||||
<configuration>
|
||||
<detectLinks>true</detectLinks>
|
||||
<detectJavaApiLinks>true</detectJavaApiLinks>
|
||||
<links>
|
||||
<link>http://docs.oracle.com/javase/7/docs/api/</link>
|
||||
<link>http://docs.oracle.com/javaee/7/api/</link>
|
||||
<link>http://docs.jboss.org/hibernate/orm/4.3/javadocs/</link>
|
||||
</links>
|
||||
<detectLinks>false</detectLinks>
|
||||
<detectJavaApiLinks>false</detectJavaApiLinks>
|
||||
<show>private</show>
|
||||
<docfilessubdirs>true</docfilessubdirs>
|
||||
<charset>UTF-8</charset>
|
||||
|
|
@ -228,14 +223,6 @@
|
|||
<author>true</author>
|
||||
<keywords>true</keywords>
|
||||
<failOnError>false</failOnError>
|
||||
<doclet>org.jboss.apiviz.APIviz</doclet>
|
||||
<docletArtifact>
|
||||
<groupId>org.jboss.apiviz</groupId>
|
||||
<artifactId>apiviz</artifactId>
|
||||
<version>1.3.2.GA</version>
|
||||
</docletArtifact>
|
||||
<useStandardDocletOptions>true</useStandardDocletOptions>
|
||||
<additionalparam>-sourceclasspath ${project.build.outputDirectory}</additionalparam>
|
||||
</configuration>
|
||||
</plugin>
|
||||
|
||||
|
|
@ -251,10 +238,6 @@
|
|||
<groupId>org.jacoco</groupId>
|
||||
<artifactId>jacoco-maven-plugin</artifactId>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.codehaus.mojo</groupId>
|
||||
<artifactId>findbugs-maven-plugin</artifactId>
|
||||
</plugin>
|
||||
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
|
|
|
|||
|
|
@ -64,12 +64,12 @@
|
|||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.hibernate</groupId>
|
||||
<groupId>org.hibernate.validator</groupId>
|
||||
<artifactId>hibernate-validator</artifactId>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.hibernate</groupId>
|
||||
<groupId>org.hibernate.validator</groupId>
|
||||
<artifactId>hibernate-validator-cdi</artifactId>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
|
|
@ -212,13 +212,8 @@
|
|||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-javadoc-plugin</artifactId>
|
||||
<configuration>
|
||||
<detectLinks>true</detectLinks>
|
||||
<detectJavaApiLinks>true</detectJavaApiLinks>
|
||||
<links>
|
||||
<link>http://docs.oracle.com/javase/7/docs/api/</link>
|
||||
<link>http://docs.oracle.com/javaee/7/api/</link>
|
||||
<link>http://docs.jboss.org/hibernate/orm/4.3/javadocs/</link>
|
||||
</links>
|
||||
<detectLinks>false</detectLinks>
|
||||
<detectJavaApiLinks>false</detectJavaApiLinks>
|
||||
<show>private</show>
|
||||
<docfilessubdirs>true</docfilessubdirs>
|
||||
<charset>UTF-8</charset>
|
||||
|
|
@ -229,14 +224,6 @@
|
|||
<author>true</author>
|
||||
<keywords>true</keywords>
|
||||
<failOnError>false</failOnError>
|
||||
<doclet>org.jboss.apiviz.APIviz</doclet>
|
||||
<docletArtifact>
|
||||
<groupId>org.jboss.apiviz</groupId>
|
||||
<artifactId>apiviz</artifactId>
|
||||
<version>1.3.2.GA</version>
|
||||
</docletArtifact>
|
||||
<useStandardDocletOptions>true</useStandardDocletOptions>
|
||||
<additionalparam>-sourceclasspath ${project.build.outputDirectory}</additionalparam>
|
||||
</configuration>
|
||||
</plugin>
|
||||
|
||||
|
|
@ -252,10 +239,6 @@
|
|||
<groupId>org.jacoco</groupId>
|
||||
<artifactId>jacoco-maven-plugin</artifactId>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.codehaus.mojo</groupId>
|
||||
<artifactId>findbugs-maven-plugin</artifactId>
|
||||
</plugin>
|
||||
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
|
|
|
|||
|
|
@ -64,12 +64,12 @@
|
|||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.hibernate</groupId>
|
||||
<groupId>org.hibernate.validator</groupId>
|
||||
<artifactId>hibernate-validator</artifactId>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.hibernate</groupId>
|
||||
<groupId>org.hibernate.validator</groupId>
|
||||
<artifactId>hibernate-validator-cdi</artifactId>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
|
|
@ -211,13 +211,8 @@
|
|||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-javadoc-plugin</artifactId>
|
||||
<configuration>
|
||||
<detectLinks>true</detectLinks>
|
||||
<detectJavaApiLinks>true</detectJavaApiLinks>
|
||||
<links>
|
||||
<link>http://docs.oracle.com/javase/7/docs/api/</link>
|
||||
<link>http://docs.oracle.com/javaee/7/api/</link>
|
||||
<link>http://docs.jboss.org/hibernate/orm/4.3/javadocs/</link>
|
||||
</links>
|
||||
<detectLinks>false</detectLinks>
|
||||
<detectJavaApiLinks>false</detectJavaApiLinks>
|
||||
<show>private</show>
|
||||
<docfilessubdirs>true</docfilessubdirs>
|
||||
<charset>UTF-8</charset>
|
||||
|
|
@ -228,14 +223,6 @@
|
|||
<author>true</author>
|
||||
<keywords>true</keywords>
|
||||
<failOnError>false</failOnError>
|
||||
<doclet>org.jboss.apiviz.APIviz</doclet>
|
||||
<docletArtifact>
|
||||
<groupId>org.jboss.apiviz</groupId>
|
||||
<artifactId>apiviz</artifactId>
|
||||
<version>1.3.2.GA</version>
|
||||
</docletArtifact>
|
||||
<useStandardDocletOptions>true</useStandardDocletOptions>
|
||||
<additionalparam>-sourceclasspath ${project.build.outputDirectory}</additionalparam>
|
||||
</configuration>
|
||||
</plugin>
|
||||
|
||||
|
|
@ -251,10 +238,6 @@
|
|||
<groupId>org.jacoco</groupId>
|
||||
<artifactId>jacoco-maven-plugin</artifactId>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.codehaus.mojo</groupId>
|
||||
<artifactId>findbugs-maven-plugin</artifactId>
|
||||
</plugin>
|
||||
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
|
|
|
|||
|
|
@ -64,12 +64,12 @@
|
|||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.hibernate</groupId>
|
||||
<groupId>org.hibernate.validator</groupId>
|
||||
<artifactId>hibernate-validator</artifactId>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.hibernate</groupId>
|
||||
<groupId>org.hibernate.validator</groupId>
|
||||
<artifactId>hibernate-validator-cdi</artifactId>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
|
|
@ -211,11 +211,11 @@
|
|||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-javadoc-plugin</artifactId>
|
||||
<configuration>
|
||||
<detectLinks>true</detectLinks>
|
||||
<detectJavaApiLinks>true</detectJavaApiLinks>
|
||||
<detectLinks>false</detectLinks>
|
||||
<detectJavaApiLinks>false</detectJavaApiLinks>
|
||||
<links>
|
||||
<link>http://docs.oracle.com/javase/7/docs/api/</link>
|
||||
<link>http://docs.oracle.com/javaee/7/api/</link>
|
||||
<link>http://docs.oracle.com/javase/8/docs/api/</link>
|
||||
<link>http://docs.oracle.com/javaee/8/api/</link>
|
||||
<link>http://docs.jboss.org/hibernate/orm/4.3/javadocs/</link>
|
||||
</links>
|
||||
<show>private</show>
|
||||
|
|
@ -228,14 +228,6 @@
|
|||
<author>true</author>
|
||||
<keywords>true</keywords>
|
||||
<failOnError>false</failOnError>
|
||||
<doclet>org.jboss.apiviz.APIviz</doclet>
|
||||
<docletArtifact>
|
||||
<groupId>org.jboss.apiviz</groupId>
|
||||
<artifactId>apiviz</artifactId>
|
||||
<version>1.3.2.GA</version>
|
||||
</docletArtifact>
|
||||
<useStandardDocletOptions>true</useStandardDocletOptions>
|
||||
<additionalparam>-sourceclasspath ${project.build.outputDirectory}</additionalparam>
|
||||
</configuration>
|
||||
</plugin>
|
||||
|
||||
|
|
@ -251,10 +243,6 @@
|
|||
<groupId>org.jacoco</groupId>
|
||||
<artifactId>jacoco-maven-plugin</artifactId>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.codehaus.mojo</groupId>
|
||||
<artifactId>findbugs-maven-plugin</artifactId>
|
||||
</plugin>
|
||||
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
|
|
|
|||
|
|
@ -64,12 +64,12 @@
|
|||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.hibernate</groupId>
|
||||
<groupId>org.hibernate.validator</groupId>
|
||||
<artifactId>hibernate-validator</artifactId>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.hibernate</groupId>
|
||||
<groupId>org.hibernate.validator</groupId>
|
||||
<artifactId>hibernate-validator-cdi</artifactId>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
|
|
@ -211,13 +211,8 @@
|
|||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-javadoc-plugin</artifactId>
|
||||
<configuration>
|
||||
<detectLinks>true</detectLinks>
|
||||
<detectJavaApiLinks>true</detectJavaApiLinks>
|
||||
<links>
|
||||
<link>http://docs.oracle.com/javase/7/docs/api/</link>
|
||||
<link>http://docs.oracle.com/javaee/7/api/</link>
|
||||
<link>http://docs.jboss.org/hibernate/orm/4.3/javadocs/</link>
|
||||
</links>
|
||||
<detectLinks>false</detectLinks>
|
||||
<detectJavaApiLinks>false</detectJavaApiLinks>
|
||||
<show>private</show>
|
||||
<docfilessubdirs>true</docfilessubdirs>
|
||||
<charset>UTF-8</charset>
|
||||
|
|
@ -228,14 +223,6 @@
|
|||
<author>true</author>
|
||||
<keywords>true</keywords>
|
||||
<failOnError>false</failOnError>
|
||||
<doclet>org.jboss.apiviz.APIviz</doclet>
|
||||
<docletArtifact>
|
||||
<groupId>org.jboss.apiviz</groupId>
|
||||
<artifactId>apiviz</artifactId>
|
||||
<version>1.3.2.GA</version>
|
||||
</docletArtifact>
|
||||
<useStandardDocletOptions>true</useStandardDocletOptions>
|
||||
<additionalparam>-sourceclasspath ${project.build.outputDirectory}</additionalparam>
|
||||
</configuration>
|
||||
</plugin>
|
||||
|
||||
|
|
@ -251,10 +238,6 @@
|
|||
<groupId>org.jacoco</groupId>
|
||||
<artifactId>jacoco-maven-plugin</artifactId>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.codehaus.mojo</groupId>
|
||||
<artifactId>findbugs-maven-plugin</artifactId>
|
||||
</plugin>
|
||||
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
|
|
|
|||
|
|
@ -64,12 +64,12 @@
|
|||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.hibernate</groupId>
|
||||
<groupId>org.hibernate.validator</groupId>
|
||||
<artifactId>hibernate-validator</artifactId>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.hibernate</groupId>
|
||||
<groupId>org.hibernate.validator</groupId>
|
||||
<artifactId>hibernate-validator-cdi</artifactId>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
|
|
@ -212,13 +212,8 @@
|
|||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-javadoc-plugin</artifactId>
|
||||
<configuration>
|
||||
<detectLinks>true</detectLinks>
|
||||
<detectJavaApiLinks>true</detectJavaApiLinks>
|
||||
<links>
|
||||
<link>http://docs.oracle.com/javase/7/docs/api/</link>
|
||||
<link>http://docs.oracle.com/javaee/7/api/</link>
|
||||
<link>http://docs.jboss.org/hibernate/orm/4.3/javadocs/</link>
|
||||
</links>
|
||||
<detectLinks>false</detectLinks>
|
||||
<detectJavaApiLinks>false</detectJavaApiLinks>
|
||||
<show>private</show>
|
||||
<docfilessubdirs>true</docfilessubdirs>
|
||||
<charset>UTF-8</charset>
|
||||
|
|
@ -229,14 +224,6 @@
|
|||
<author>true</author>
|
||||
<keywords>true</keywords>
|
||||
<failOnError>false</failOnError>
|
||||
<doclet>org.jboss.apiviz.APIviz</doclet>
|
||||
<docletArtifact>
|
||||
<groupId>org.jboss.apiviz</groupId>
|
||||
<artifactId>apiviz</artifactId>
|
||||
<version>1.3.2.GA</version>
|
||||
</docletArtifact>
|
||||
<useStandardDocletOptions>true</useStandardDocletOptions>
|
||||
<additionalparam>-sourceclasspath ${project.build.outputDirectory}</additionalparam>
|
||||
</configuration>
|
||||
</plugin>
|
||||
|
||||
|
|
@ -252,10 +239,6 @@
|
|||
<groupId>org.jacoco</groupId>
|
||||
<artifactId>jacoco-maven-plugin</artifactId>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.codehaus.mojo</groupId>
|
||||
<artifactId>findbugs-maven-plugin</artifactId>
|
||||
</plugin>
|
||||
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
|
|
|
|||
612
ccm-cms/pom.xml
612
ccm-cms/pom.xml
|
|
@ -55,12 +55,12 @@
|
|||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.hibernate</groupId>
|
||||
<groupId>org.hibernate.validator</groupId>
|
||||
<artifactId>hibernate-validator</artifactId>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.hibernate</groupId>
|
||||
<groupId>org.hibernate.validator</groupId>
|
||||
<artifactId>hibernate-validator-cdi</artifactId>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
|
|
@ -250,13 +250,8 @@
|
|||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-javadoc-plugin</artifactId>
|
||||
<configuration>
|
||||
<detectLinks>true</detectLinks>
|
||||
<detectJavaApiLinks>true</detectJavaApiLinks>
|
||||
<links>
|
||||
<link>http://docs.oracle.com/javase/7/docs/api/</link>
|
||||
<link>http://docs.oracle.com/javaee/7/api/</link>
|
||||
<link>http://docs.jboss.org/hibernate/orm/4.3/javadocs/</link>
|
||||
</links>
|
||||
<detectLinks>false</detectLinks>
|
||||
<detectJavaApiLinks>false</detectJavaApiLinks>
|
||||
<show>private</show>
|
||||
<docfilessubdirs>true</docfilessubdirs>
|
||||
<charset>UTF-8</charset>
|
||||
|
|
@ -267,14 +262,6 @@
|
|||
<author>true</author>
|
||||
<keywords>true</keywords>
|
||||
<failOnError>false</failOnError>
|
||||
<doclet>org.jboss.apiviz.APIviz</doclet>
|
||||
<docletArtifact>
|
||||
<groupId>org.jboss.apiviz</groupId>
|
||||
<artifactId>apiviz</artifactId>
|
||||
<version>1.3.2.GA</version>
|
||||
</docletArtifact>
|
||||
<useStandardDocletOptions>true</useStandardDocletOptions>
|
||||
<additionalparam>-sourceclasspath ${project.build.outputDirectory}</additionalparam>
|
||||
</configuration>
|
||||
</plugin>
|
||||
|
||||
|
|
@ -294,16 +281,9 @@
|
|||
<artifactId>jacoco-maven-plugin</artifactId>
|
||||
</plugin>
|
||||
|
||||
<plugin>
|
||||
<groupId>org.codehaus.mojo</groupId>
|
||||
<artifactId>findbugs-maven-plugin</artifactId>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>com.github.spotbugs</groupId>
|
||||
<artifactId>spotbugs-maven-plugin</artifactId>
|
||||
<!--<configuration>
|
||||
<excludeFilterFile>findbugs-exclude.xml</excludeFilterFile>
|
||||
</configuration>-->
|
||||
</plugin>
|
||||
|
||||
<plugin>
|
||||
|
|
@ -360,192 +340,18 @@
|
|||
|
||||
<profiles>
|
||||
<profile>
|
||||
<id>wildfly-managed-h2-mem</id>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.wildfly.arquillian</groupId>
|
||||
<artifactId>wildfly-arquillian-container-managed</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.jacoco</groupId>
|
||||
<artifactId>org.jacoco.core</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.jboss.arquillian.extension</groupId>
|
||||
<artifactId>arquillian-jacoco</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.sf.saxon</groupId>
|
||||
<artifactId>Saxon-HE</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<testResources>
|
||||
<testResource>
|
||||
<directory>src/test/resources</directory>
|
||||
</testResource>
|
||||
<testResource>
|
||||
<directory>src/test/resources-wildfly-remote-h2-mem</directory>
|
||||
</testResource>
|
||||
<testResource>
|
||||
<directory>${project.build.directory}/generated-resources</directory>
|
||||
</testResource>
|
||||
</testResources>
|
||||
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>de.jpdigital</groupId>
|
||||
<artifactId>hibernate53-ddl-maven-plugin</artifactId>
|
||||
<configuration>
|
||||
<dialects>
|
||||
<param>h2</param>
|
||||
<param>postgresql9</param>
|
||||
</dialects>
|
||||
<packages>
|
||||
<param>org.libreccm</param>
|
||||
</packages>
|
||||
<useEnvers>true</useEnvers>
|
||||
</configuration>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>gen-ddl</goal>
|
||||
</goals>
|
||||
<phase>process-classes</phase>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-surefire-plugin</artifactId>
|
||||
<configuration>
|
||||
<forkMode>always</forkMode>
|
||||
<forkCount>999</forkCount>
|
||||
<reuseForks>true</reuseForks>
|
||||
<trimStackTrace>false</trimStackTrace>
|
||||
<systemPropertyVariables>
|
||||
<java.util.logging.manager>org.jboss.logmanager.LogManager</java.util.logging.manager>
|
||||
<!--<jboss.home>${project.basedir}/target/wildfly-8.2.0.Final</jboss.home>
|
||||
<module.path>${project.basedir}/target/wildfly-8.2.0.Final/modules</module.path>-->
|
||||
</systemPropertyVariables>
|
||||
<redirectTestOutputToFile>false</redirectTestOutputToFile>
|
||||
<groups>
|
||||
org.libreccm.tests.categories.UnitTest,
|
||||
org.libreccm.tests.categories.IntegrationTest
|
||||
</groups>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</profile>
|
||||
|
||||
<profile>
|
||||
<id>wildfly-managed-pgsql</id>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.wildfly.arquillian</groupId>
|
||||
<artifactId>wildfly-arquillian-container-managed</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.jacoco</groupId>
|
||||
<artifactId>org.jacoco.core</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.jboss.arquillian.extension</groupId>
|
||||
<artifactId>arquillian-jacoco</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.sf.saxon</groupId>
|
||||
<artifactId>Saxon-HE</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<testResources>
|
||||
<testResource>
|
||||
<directory>src/test/resources</directory>
|
||||
</testResource>
|
||||
<testResource>
|
||||
<directory>src/test/resources-wildfly-remote-pgsql</directory>
|
||||
</testResource>
|
||||
<testResource>
|
||||
<directory>${project.build.directory}/generated-resources</directory>
|
||||
</testResource>
|
||||
</testResources>
|
||||
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>de.jpdigital</groupId>
|
||||
<artifactId>hibernate53-ddl-maven-plugin</artifactId>
|
||||
<configuration>
|
||||
<dialects>
|
||||
<param>h2</param>
|
||||
<param>postgresql9</param>
|
||||
</dialects>
|
||||
<packages>
|
||||
<param>org.libreccm</param>
|
||||
</packages>
|
||||
<useEnvers>true</useEnvers>
|
||||
</configuration>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>gen-ddl</goal>
|
||||
</goals>
|
||||
<phase>process-classes</phase>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-surefire-plugin</artifactId>
|
||||
<configuration>
|
||||
<trimStackTrace>false</trimStackTrace>
|
||||
<forkMode>always</forkMode>
|
||||
<forkCount>999</forkCount>
|
||||
<reuseForks>true</reuseForks>
|
||||
<systemPropertyVariables>
|
||||
<java.util.logging.manager>org.jboss.logmanager.LogManager</java.util.logging.manager>
|
||||
<!--<jboss.home>${project.basedir}/target/wildfly-8.2.0.Final</jboss.home>
|
||||
<module.path>${project.basedir}/target/wildfly-8.2.0.Final/modules</module.path>-->
|
||||
</systemPropertyVariables>
|
||||
<redirectTestOutputToFile>false</redirectTestOutputToFile>
|
||||
<groups>
|
||||
org.libreccm.tests.categories.UnitTest,
|
||||
org.libreccm.tests.categories.IntegrationTest
|
||||
</groups>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</profile>
|
||||
|
||||
<profile>
|
||||
<id>wildfly-remote-h2-mem</id>
|
||||
<id>run-its-with-wildfly-h2mem</id>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.wildfly.arquillian</groupId>
|
||||
<artifactId>wildfly-arquillian-container-remote</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.jacoco</groupId>
|
||||
<artifactId>org.jacoco.core</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.jboss.arquillian.extension</groupId>
|
||||
<artifactId>arquillian-jacoco</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.sf.saxon</groupId>
|
||||
<artifactId>Saxon-HE</artifactId>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
|
|
@ -554,11 +360,12 @@
|
|||
<directory>src/test/resources</directory>
|
||||
</testResource>
|
||||
<testResource>
|
||||
<directory>src/test/resources-wildfly-remote-h2-mem</directory>
|
||||
<directory>src/test/resources-wildfly-h2mem</directory>
|
||||
</testResource>
|
||||
<testResource>
|
||||
<directory>${project.build.directory}/generated-resources</directory>
|
||||
</testResource>
|
||||
|
||||
</testResources>
|
||||
|
||||
<plugins>
|
||||
|
|
@ -586,49 +393,114 @@
|
|||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-surefire-plugin</artifactId>
|
||||
<artifactId>maven-failsafe-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>integration-test</goal>
|
||||
<goal>verify</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
<configuration>
|
||||
<forkMode>always</forkMode>
|
||||
<forkCount>999</forkCount>
|
||||
<reuseForks>true</reuseForks>
|
||||
<trimStackTrace>false</trimStackTrace>
|
||||
<systemPropertyVariables>
|
||||
<java.util.logging.manager>org.jboss.logmanager.LogManager</java.util.logging.manager>
|
||||
<!--<jboss.home>${project.basedir}/target/wildfly-8.2.0.Final</jboss.home>
|
||||
<module.path>${project.basedir}/target/wildfly-8.2.0.Final/modules</module.path>-->
|
||||
</systemPropertyVariables>
|
||||
<redirectTestOutputToFile>false</redirectTestOutputToFile>
|
||||
<groups>
|
||||
org.libreccm.tests.categories.UnitTest,
|
||||
org.libreccm.tests.categories.IntegrationTest
|
||||
</groups>
|
||||
<trimStackTrace>false</trimStackTrace>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.wildfly.plugins</groupId>
|
||||
<artifactId>wildfly-maven-plugin</artifactId>
|
||||
<configuration>
|
||||
<skip>false</skip>
|
||||
</configuration>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>start-test-env</id>
|
||||
<goals>
|
||||
<goal>start</goal>
|
||||
</goals>
|
||||
<phase>pre-integration-test</phase>
|
||||
<configuration>
|
||||
<stdout>System.out</stdout>
|
||||
</configuration>
|
||||
</execution>
|
||||
<execution>
|
||||
<id>prepare-test-env</id>
|
||||
<goals>
|
||||
<goal>add-resource</goal>
|
||||
</goals>
|
||||
<phase>pre-integration-test</phase>
|
||||
<configuration>
|
||||
<address>subsystem=datasources,data-source=ccm-cms-testdb-h2-mem</address>
|
||||
<force>true</force>
|
||||
<resources>
|
||||
<resource>
|
||||
<properties>
|
||||
<connection-url>jdbc:h2:mem:ccm-core-testdb</connection-url>
|
||||
<jndi-name>java:/comp/env/jdbc/org/librecms/ccm-cms/h2-mem</jndi-name>
|
||||
<enabled>true</enabled>
|
||||
<user-name>sa</user-name>
|
||||
<password>sa</password>
|
||||
<use-ccm>false</use-ccm>
|
||||
<driver-name>h2</driver-name>
|
||||
</properties>
|
||||
</resource>
|
||||
</resources>
|
||||
</configuration>
|
||||
</execution>
|
||||
<execution>
|
||||
<id>shutdown-test-env</id>
|
||||
<goals>
|
||||
<goal>shutdown</goal>
|
||||
</goals>
|
||||
<phase>post-integration-test</phase>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
<reporting>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-surefire-report-plugin</artifactId>
|
||||
<reportSets>
|
||||
<reportSet>
|
||||
<id>integration-tests</id>
|
||||
<reports>
|
||||
<report>failsafe-report-only</report>
|
||||
</reports>
|
||||
</reportSet>
|
||||
</reportSets>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</reporting>
|
||||
</profile>
|
||||
|
||||
<profile>
|
||||
<id>wildfly-remote-pgsql</id>
|
||||
<id>run-its-with-wildfly-pgsql</id>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.wildfly.arquillian</groupId>
|
||||
<artifactId>wildfly-arquillian-container-remote</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.jacoco</groupId>
|
||||
<artifactId>org.jacoco.core</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.jboss.arquillian.extension</groupId>
|
||||
<artifactId>arquillian-jacoco</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.sf.saxon</groupId>
|
||||
<artifactId>Saxon-HE</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.postgresql</groupId>
|
||||
<artifactId>postgresql</artifactId>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
|
|
@ -637,7 +509,7 @@
|
|||
<directory>src/test/resources</directory>
|
||||
</testResource>
|
||||
<testResource>
|
||||
<directory>src/test/resources-wildfly-remote-pgsql</directory>
|
||||
<directory>src/test/resources-wildfly-pgsql</directory>
|
||||
</testResource>
|
||||
<testResource>
|
||||
<directory>${project.build.directory}/generated-resources</directory>
|
||||
|
|
@ -669,7 +541,282 @@
|
|||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-surefire-plugin</artifactId>
|
||||
<artifactId>maven-failsafe-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>integration-test</goal>
|
||||
<goal>verify</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
<configuration>
|
||||
<forkMode>always</forkMode>
|
||||
<forkCount>999</forkCount>
|
||||
<reuseForks>true</reuseForks>
|
||||
<systemPropertyVariables>
|
||||
<java.util.logging.manager>org.jboss.logmanager.LogManager</java.util.logging.manager>
|
||||
</systemPropertyVariables>
|
||||
<redirectTestOutputToFile>false</redirectTestOutputToFile>
|
||||
<trimStackTrace>false</trimStackTrace>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.codehaus.mojo</groupId>
|
||||
<artifactId>properties-maven-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>read-datasource-properties</id>
|
||||
<phase>initialize</phase>
|
||||
<goals>
|
||||
<goal>read-project-properties</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<files>
|
||||
<file>${project.basedir}/../it-pgsql-datasources.properties</file>
|
||||
</files>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.wildfly.plugins</groupId>
|
||||
<artifactId>wildfly-maven-plugin</artifactId>
|
||||
<configuration>
|
||||
<skip>false</skip>
|
||||
</configuration>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>start-test-env</id>
|
||||
<goals>
|
||||
<goal>start</goal>
|
||||
</goals>
|
||||
<phase>pre-integration-test</phase>
|
||||
<configuration>
|
||||
<stdout>System.out</stdout>
|
||||
</configuration>
|
||||
</execution>
|
||||
<execution>
|
||||
<id>prepare-deploy-jdbc-driver</id>
|
||||
<configuration>
|
||||
<groupId>org.postgresql</groupId>
|
||||
<artifactId>postgresql</artifactId>
|
||||
<name>postgresql.jar</name>
|
||||
<force>true</force>
|
||||
</configuration>
|
||||
<phase>pre-integration-test</phase>
|
||||
<goals>
|
||||
<goal>deploy-artifact</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
<execution>
|
||||
<id>prepare-test-env</id>
|
||||
<goals>
|
||||
<goal>add-resource</goal>
|
||||
</goals>
|
||||
<phase>pre-integration-test</phase>
|
||||
<configuration>
|
||||
<address>subsystem=datasources,data-source=ccm-cms-testdb-pgsql</address>
|
||||
<force>true</force>
|
||||
<resources>
|
||||
<resource>
|
||||
<properties>
|
||||
<connection-url>${it.ccm-cms.datasource.connectionUrl}</connection-url>
|
||||
<jndi-name>java:/comp/env/jdbc/org/librecms/ccm-cms/pgsql</jndi-name>
|
||||
<enabled>true</enabled>
|
||||
<user-name>${it.ccm-cms.datasource.username}</user-name>
|
||||
<password>${it.ccm-cms.datasource.password}</password>
|
||||
<use-ccm>false</use-ccm>
|
||||
<driver-name>postgresql.jar</driver-name>
|
||||
</properties>
|
||||
</resource>
|
||||
</resources>
|
||||
</configuration>
|
||||
</execution>
|
||||
<execution>
|
||||
<id>shutdown-test-env</id>
|
||||
<goals>
|
||||
<goal>shutdown</goal>
|
||||
</goals>
|
||||
<phase>post-integration-test</phase>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
<reporting>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-surefire-report-plugin</artifactId>
|
||||
<reportSets>
|
||||
<reportSet>
|
||||
<id>integration-tests</id>
|
||||
<reports>
|
||||
<report>failsafe-report-only</report>
|
||||
</reports>
|
||||
</reportSet>
|
||||
</reportSets>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</reporting>
|
||||
</profile>
|
||||
|
||||
<profile>
|
||||
<id>run-its-in-remote-wildfly-h2mem</id>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.wildfly.arquillian</groupId>
|
||||
<artifactId>wildfly-arquillian-container-remote</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.sf.saxon</groupId>
|
||||
<artifactId>Saxon-HE</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<testResources>
|
||||
<testResource>
|
||||
<directory>src/test/resources</directory>
|
||||
</testResource>
|
||||
<testResource>
|
||||
<directory>src/test/resources-wildfly-h2mem</directory>
|
||||
</testResource>
|
||||
<testResource>
|
||||
<directory>${project.build.directory}/generated-resources</directory>
|
||||
</testResource>
|
||||
</testResources>
|
||||
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>de.jpdigital</groupId>
|
||||
<artifactId>hibernate53-ddl-maven-plugin</artifactId>
|
||||
<configuration>
|
||||
<dialects>
|
||||
<param>h2</param>
|
||||
<param>postgresql9</param>
|
||||
</dialects>
|
||||
<packages>
|
||||
<param>org.libreccm</param>
|
||||
</packages>
|
||||
<useEnvers>true</useEnvers>
|
||||
</configuration>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>gen-ddl</goal>
|
||||
</goals>
|
||||
<phase>process-classes</phase>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-failsafe-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>integration-test</goal>
|
||||
<goal>verify</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
<configuration>
|
||||
<forkMode>always</forkMode>
|
||||
<forkCount>999</forkCount>
|
||||
<reuseForks>true</reuseForks>
|
||||
<trimStackTrace>false</trimStackTrace>
|
||||
<systemPropertyVariables>
|
||||
<java.util.logging.manager>org.jboss.logmanager.LogManager</java.util.logging.manager>
|
||||
</systemPropertyVariables>
|
||||
<redirectTestOutputToFile>false</redirectTestOutputToFile>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
<reporting>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-surefire-report-plugin</artifactId>
|
||||
<reportSets>
|
||||
<reportSet>
|
||||
<id>integration-tests</id>
|
||||
<reports>
|
||||
<report>failsafe-report-only</report>
|
||||
</reports>
|
||||
</reportSet>
|
||||
</reportSets>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</reporting>
|
||||
</profile>
|
||||
|
||||
<profile>
|
||||
<id>run-its-in-remote-wildfly-pgsql</id>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.wildfly.arquillian</groupId>
|
||||
<artifactId>wildfly-arquillian-container-remote</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.sf.saxon</groupId>
|
||||
<artifactId>Saxon-HE</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<testResources>
|
||||
<testResource>
|
||||
<directory>src/test/resources</directory>
|
||||
</testResource>
|
||||
<testResource>
|
||||
<directory>src/test/resources-wildfly-pgsql</directory>
|
||||
</testResource>
|
||||
<testResource>
|
||||
<directory>${project.build.directory}/generated-resources</directory>
|
||||
</testResource>
|
||||
</testResources>
|
||||
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>de.jpdigital</groupId>
|
||||
<artifactId>hibernate53-ddl-maven-plugin</artifactId>
|
||||
<configuration>
|
||||
<dialects>
|
||||
<param>h2</param>
|
||||
<param>postgresql9</param>
|
||||
</dialects>
|
||||
<packages>
|
||||
<param>org.libreccm</param>
|
||||
</packages>
|
||||
<useEnvers>true</useEnvers>
|
||||
</configuration>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>gen-ddl</goal>
|
||||
</goals>
|
||||
<phase>process-classes</phase>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-failsafe-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>integration-test</goal>
|
||||
<goal>verify</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
<configuration>
|
||||
<trimStackTrace>false</trimStackTrace>
|
||||
<forkMode>always</forkMode>
|
||||
|
|
@ -677,18 +824,29 @@
|
|||
<reuseForks>true</reuseForks>
|
||||
<systemPropertyVariables>
|
||||
<java.util.logging.manager>org.jboss.logmanager.LogManager</java.util.logging.manager>
|
||||
<!--<jboss.home>${project.basedir}/target/wildfly-8.2.0.Final</jboss.home>
|
||||
<module.path>${project.basedir}/target/wildfly-8.2.0.Final/modules</module.path>-->
|
||||
</systemPropertyVariables>
|
||||
<redirectTestOutputToFile>false</redirectTestOutputToFile>
|
||||
<groups>
|
||||
org.libreccm.tests.categories.UnitTest,
|
||||
org.libreccm.tests.categories.IntegrationTest
|
||||
</groups>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
<reporting>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-surefire-report-plugin</artifactId>
|
||||
<reportSets>
|
||||
<reportSet>
|
||||
<id>integration-tests</id>
|
||||
<reports>
|
||||
<report>failsafe-report-only</report>
|
||||
</reports>
|
||||
</reportSet>
|
||||
</reportSets>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</reporting>
|
||||
</profile>
|
||||
|
||||
</profiles>
|
||||
|
|
|
|||
|
|
@ -129,15 +129,15 @@ public class MultiPartArticleEditForm extends MultiPartArticleForm
|
|||
.selectedLocale(state, selectedLanguageParam);
|
||||
|
||||
final String newName = (String) data.get(MultiPartArticleForm.NAME);
|
||||
final String oldName = article.getName().getValue(selectedLocale);
|
||||
final MultiPartArticleFormController controller = CdiUtil
|
||||
.createCdiUtil()
|
||||
.findBean(MultiPartArticleFormController.class);
|
||||
final String oldName = controller.getName(article, selectedLocale);
|
||||
|
||||
final boolean valid;
|
||||
if (newName.equalsIgnoreCase(oldName)) {
|
||||
valid = true;
|
||||
} else {
|
||||
final CdiUtil cdiUtil = CdiUtil.createCdiUtil();
|
||||
final MultiPartArticleFormController controller = cdiUtil
|
||||
.findBean(MultiPartArticleFormController.class);
|
||||
final Optional<Folder> folder = controller.getArticleFolder(article);
|
||||
if (folder.isPresent()) {
|
||||
valid = validateNameUniqueness(folder.get(), event);
|
||||
|
|
|
|||
|
|
@ -233,14 +233,17 @@ public abstract class MultiPartArticleForm
|
|||
|
||||
final Locale selectedLocale = SelectedLanguageUtil
|
||||
.selectedLocale(state, selectedLanguageParam);
|
||||
final MultiPartArticleFormController controller = CdiUtil
|
||||
.createCdiUtil()
|
||||
.findBean(MultiPartArticleFormController.class);
|
||||
|
||||
if (article != null) {
|
||||
data.put(NAME, article.getName().getValue(selectedLocale));
|
||||
data.put(TITLE, article.getTitle().getValue(selectedLocale));
|
||||
data.put(NAME, controller.getName(article, selectedLocale));
|
||||
data.put(TITLE, controller.getTitle(article, selectedLocale));
|
||||
if (!CMSConfig.getConfig().isHideLaunchDate()) {
|
||||
data.put(LAUNCH_DATE, article.getLaunchDate());
|
||||
}
|
||||
data.put(SUMMARY, article.getSummary().getValue(selectedLocale));
|
||||
data.put(SUMMARY, controller.getSummary(article, selectedLocale));
|
||||
}
|
||||
|
||||
return article;
|
||||
|
|
|
|||
|
|
@ -24,6 +24,8 @@ import org.librecms.contentsection.ContentItemRepository;
|
|||
import org.librecms.contentsection.Folder;
|
||||
import org.librecms.contenttypes.MultiPartArticle;
|
||||
|
||||
import java.util.Locale;
|
||||
import java.util.Objects;
|
||||
import java.util.Optional;
|
||||
|
||||
import javax.enterprise.context.RequestScoped;
|
||||
|
|
@ -46,8 +48,9 @@ public class MultiPartArticleFormController {
|
|||
@Transactional(Transactional.TxType.REQUIRED)
|
||||
protected Optional<Folder> getArticleFolder(final MultiPartArticle article) {
|
||||
|
||||
final Optional<ContentItem> mpa = itemRepo
|
||||
.findById(article.getObjectId());
|
||||
final Optional<ContentItem> mpa = itemRepo.findById(
|
||||
article.getObjectId()
|
||||
);
|
||||
|
||||
if (mpa.isPresent()) {
|
||||
return itemManager.getItemFolder(mpa.get());
|
||||
|
|
@ -56,4 +59,62 @@ public class MultiPartArticleFormController {
|
|||
}
|
||||
}
|
||||
|
||||
@Transactional(Transactional.TxType.REQUIRED)
|
||||
public String getName(
|
||||
final MultiPartArticle fromMpa, final Locale forLocale
|
||||
) {
|
||||
Objects.requireNonNull(fromMpa);
|
||||
Objects.requireNonNull(forLocale);
|
||||
final MultiPartArticle mpa = itemRepo
|
||||
.findById(fromMpa.getObjectId(), MultiPartArticle.class)
|
||||
.orElseThrow(
|
||||
() -> new IllegalArgumentException(
|
||||
String.format(
|
||||
"No MultiPartArticle with ID %d available",
|
||||
fromMpa.getObjectId()
|
||||
)
|
||||
)
|
||||
);
|
||||
return mpa.getName().getValue(forLocale);
|
||||
}
|
||||
|
||||
@Transactional(Transactional.TxType.REQUIRED)
|
||||
public String getTitle(
|
||||
final MultiPartArticle fromMpa, final Locale forLocale
|
||||
) {
|
||||
Objects.requireNonNull(fromMpa);
|
||||
Objects.requireNonNull(forLocale);
|
||||
final MultiPartArticle mpa = itemRepo
|
||||
.findById(fromMpa.getObjectId(), MultiPartArticle.class)
|
||||
.orElseThrow(
|
||||
() -> new IllegalArgumentException(
|
||||
String.format(
|
||||
"No MultiPartArticle with ID %d available",
|
||||
fromMpa.getObjectId()
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
return mpa.getTitle().getValue(forLocale);
|
||||
}
|
||||
|
||||
@Transactional(Transactional.TxType.REQUIRED)
|
||||
public String getSummary(
|
||||
final MultiPartArticle fromMpa, final Locale forLocale
|
||||
) {
|
||||
Objects.requireNonNull(fromMpa);
|
||||
Objects.requireNonNull(forLocale);
|
||||
final MultiPartArticle mpa = itemRepo
|
||||
.findById(fromMpa.getObjectId(), MultiPartArticle.class)
|
||||
.orElseThrow(
|
||||
() -> new IllegalArgumentException(
|
||||
String.format(
|
||||
"No MultiPartArticle with ID %d available",
|
||||
fromMpa.getObjectId()
|
||||
)
|
||||
)
|
||||
);
|
||||
return mpa.getSummary().getValue(forLocale);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -25,6 +25,8 @@ import org.librecms.contenttypes.MultiPartArticleSectionManager;
|
|||
import org.librecms.contenttypes.MultiPartArticleSectionRepository;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import javax.enterprise.context.RequestScoped;
|
||||
|
|
@ -138,4 +140,70 @@ class MultiPartArticleSectionStepController {
|
|||
sectionManager.moveSectionAfter(theArticle, section, after);
|
||||
}
|
||||
|
||||
@Transactional(Transactional.TxType.REQUIRED)
|
||||
public String getSectionTitle(
|
||||
final MultiPartArticleSection ofSection, final Locale forLocale
|
||||
) {
|
||||
Objects.requireNonNull(ofSection);
|
||||
Objects.requireNonNull(forLocale);
|
||||
|
||||
final MultiPartArticleSection section = sectionRepo
|
||||
.findById(ofSection.getSectionId())
|
||||
.orElseThrow(
|
||||
() -> new IllegalArgumentException(
|
||||
String.format(
|
||||
"No section with ID %d available.", ofSection
|
||||
.getSectionId()
|
||||
)
|
||||
)
|
||||
);
|
||||
return section.getTitle().getValue(forLocale);
|
||||
}
|
||||
|
||||
@Transactional(Transactional.TxType.REQUIRED)
|
||||
public String getSectionText(
|
||||
final MultiPartArticleSection ofSection, final Locale forLocale
|
||||
) {
|
||||
Objects.requireNonNull(ofSection);
|
||||
Objects.requireNonNull(forLocale);
|
||||
|
||||
final MultiPartArticleSection section = sectionRepo
|
||||
.findById(ofSection.getSectionId())
|
||||
.orElseThrow(
|
||||
() -> new IllegalArgumentException(
|
||||
String.format(
|
||||
"No section with ID %d available.", ofSection
|
||||
.getSectionId()
|
||||
)
|
||||
)
|
||||
);
|
||||
return section.getText().getValue(forLocale);
|
||||
}
|
||||
|
||||
@Transactional(Transactional.TxType.REQUIRED)
|
||||
public void updateSection(
|
||||
final MultiPartArticleSection section,
|
||||
final String title,
|
||||
final String text,
|
||||
final boolean pageBreak,
|
||||
final Locale locale
|
||||
) {
|
||||
Objects.requireNonNull(section);
|
||||
Objects.requireNonNull(locale);
|
||||
|
||||
final MultiPartArticleSection update = sectionRepo
|
||||
.findById(section.getSectionId())
|
||||
.orElseThrow(
|
||||
() -> new IllegalArgumentException(
|
||||
String.format(
|
||||
"No section with ID %d available.",
|
||||
section.getSectionId()
|
||||
)
|
||||
)
|
||||
);
|
||||
update.getTitle().addValue(locale, title);
|
||||
update.getText().addValue(locale, title);
|
||||
update.setPageBreak(pageBreak);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -158,11 +158,16 @@ public class MultiPartArticleSectionsStep extends ResettableContainer {
|
|||
final Locale selectedLocale = SelectedLanguageUtil
|
||||
.selectedLocale(state, selectedLanguageParam);
|
||||
|
||||
final MultiPartArticleSectionStepController controller = CdiUtil
|
||||
.createCdiUtil()
|
||||
.findBean(MultiPartArticleSectionStepController.class);
|
||||
|
||||
final Object[] parameterObj = {
|
||||
controller.getSectionTitle(
|
||||
moveSectionModel
|
||||
.getSelectedSection(state)
|
||||
.getTitle()
|
||||
.getValue(selectedLocale)
|
||||
.getSelectedSection(state),
|
||||
selectedLocale
|
||||
)
|
||||
};
|
||||
|
||||
target.setLabel(new GlobalizedMessage(
|
||||
|
|
|
|||
|
|
@ -35,7 +35,6 @@ import com.arsdigita.globalization.GlobalizedMessage;
|
|||
|
||||
import org.librecms.contenttypes.MultiPartArticle;
|
||||
|
||||
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.libreccm.cdi.utils.CdiUtil;
|
||||
|
|
@ -110,9 +109,14 @@ public class SectionDeleteForm extends Form
|
|||
final Locale selectedLocale = SelectedLanguageUtil
|
||||
.selectedLocale(state, selectedLanguageParam);
|
||||
|
||||
final MultiPartArticleSectionStepController controller = CdiUtil
|
||||
.createCdiUtil()
|
||||
.findBean(MultiPartArticleSectionStepController.class);
|
||||
|
||||
sectionNameLabel.setLabel(
|
||||
section.getTitle().getValue(selectedLocale),
|
||||
state);
|
||||
controller.getSectionTitle(section, selectedLocale),
|
||||
state
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -198,12 +198,19 @@ public class SectionEditForm extends Form {
|
|||
|
||||
final Locale selectedLocale = SelectedLanguageUtil
|
||||
.selectedLocale(state, selectedLanguageParam);
|
||||
final MultiPartArticleSectionStepController controller = CdiUtil
|
||||
.createCdiUtil()
|
||||
.findBean(MultiPartArticleSectionStepController.class);
|
||||
|
||||
final MultiPartArticleSection section = selectedSectionModel
|
||||
.getSelectedSection(state);
|
||||
|
||||
data.put(TITLE, section.getTitle().getValue(selectedLocale));
|
||||
data.put(TEXT, section.getText().getValue(selectedLocale));
|
||||
data.put(
|
||||
TITLE, controller.getSectionTitle(section, selectedLocale)
|
||||
);
|
||||
data.put(
|
||||
TEXT, controller.getSectionText(section, selectedLocale)
|
||||
);
|
||||
|
||||
if (section.isPageBreak()) {
|
||||
data.put(PAGE_BREAK, new Object[]{"true"});
|
||||
|
|
@ -281,9 +288,8 @@ public class SectionEditForm extends Form {
|
|||
section = selectedSectionModel.getSelectedSection(state);
|
||||
}
|
||||
|
||||
section.getTitle().addValue(selectedLocale,
|
||||
(String) data.get(TITLE));
|
||||
|
||||
// section.getTitle().addValue(selectedLocale,
|
||||
// (String) data.get(TITLE));
|
||||
final Object[] pageBreakVal = (Object[]) data.get(PAGE_BREAK);
|
||||
final boolean pageBreak;
|
||||
if (pageBreakVal == null
|
||||
|
|
@ -293,7 +299,7 @@ public class SectionEditForm extends Form {
|
|||
} else {
|
||||
pageBreak = true;
|
||||
}
|
||||
section.setPageBreak(pageBreak);
|
||||
// section.setPageBreak(pageBreak);
|
||||
|
||||
final String text;
|
||||
if (data.get(TEXT) == null) {
|
||||
|
|
@ -301,12 +307,24 @@ public class SectionEditForm extends Form {
|
|||
} else {
|
||||
text = (String) data.get(TEXT);
|
||||
}
|
||||
section.getText().addValue(selectedLocale, text);
|
||||
|
||||
sectionRepo.save(section);
|
||||
// section.getText().addValue(selectedLocale, text);
|
||||
|
||||
// sectionRepo.save(section);
|
||||
if (selectedSectionModel.getSelectedKey(state) == null) {
|
||||
section.getTitle().addValue(selectedLocale,
|
||||
(String) data.get(TITLE));
|
||||
section.setPageBreak(pageBreak);
|
||||
section.getText().addValue(selectedLocale, text);
|
||||
|
||||
controller.addSection(article, section);
|
||||
} else {
|
||||
controller.updateSection(
|
||||
section,
|
||||
(String) data.get(TITLE),
|
||||
text,
|
||||
pageBreak,
|
||||
selectedLocale
|
||||
);
|
||||
}
|
||||
|
||||
if (sectionsStep != null) {
|
||||
|
|
|
|||
|
|
@ -34,6 +34,7 @@ import org.librecms.contenttypes.MultiPartArticleSection;
|
|||
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
|
||||
class SectionTableModel implements TableModel {
|
||||
|
||||
|
|
@ -110,12 +111,19 @@ class SectionTableModel implements TableModel {
|
|||
return null;
|
||||
}
|
||||
|
||||
final MultiPartArticleSectionStepController controller = CdiUtil
|
||||
.createCdiUtil()
|
||||
.findBean(MultiPartArticleSectionStepController.class);
|
||||
|
||||
switch (columnIndex) {
|
||||
case SectionTable.COL_INDEX_TITLE:
|
||||
return currentSection
|
||||
.getTitle()
|
||||
.getValue(SelectedLanguageUtil
|
||||
.selectedLocale(pageState, selectedLanguageParam));
|
||||
return controller.getSectionTitle(
|
||||
currentSection,
|
||||
SelectedLanguageUtil.selectedLocale(
|
||||
pageState, selectedLanguageParam
|
||||
)
|
||||
)
|
||||
;
|
||||
case SectionTable.COL_PAGE_BREAK:
|
||||
if (currentSection.isPageBreak()) {
|
||||
return new Label(
|
||||
|
|
|
|||
|
|
@ -18,8 +18,11 @@
|
|||
*/
|
||||
package com.arsdigita.cms.ui.authoring.news;
|
||||
|
||||
import org.libreccm.l10n.GlobalizationHelper;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import org.librecms.contentsection.ContentSection;
|
||||
import org.librecms.contentsection.ContentSectionRepository;
|
||||
|
||||
|
|
@ -32,13 +35,18 @@ import javax.inject.Inject;
|
|||
import javax.persistence.EntityManager;
|
||||
import javax.persistence.TypedQuery;
|
||||
import javax.transaction.Transactional;
|
||||
|
||||
import org.libreccm.security.PermissionChecker;
|
||||
import org.libreccm.security.Role;
|
||||
import org.libreccm.security.RoleRepository;
|
||||
import org.libreccm.security.Shiro;
|
||||
import org.libreccm.security.User;
|
||||
import org.librecms.contentsection.ContentItemRepository;
|
||||
import org.librecms.contentsection.ContentType;
|
||||
import org.librecms.contentsection.ContentTypeRepository;
|
||||
import org.librecms.contenttypes.News;
|
||||
|
||||
import java.util.Locale;
|
||||
|
||||
/**
|
||||
* Controller class for the {@link NewItemForm}.
|
||||
|
|
@ -76,11 +84,11 @@ class NewItemFormController {
|
|||
}
|
||||
|
||||
final List<Role> roles = user.get().getRoleMemberships().stream()
|
||||
.map(membership -> membership.getRole())
|
||||
.collect(Collectors.toList());
|
||||
.map(membership -> membership.getRole())
|
||||
.collect(Collectors.toList());
|
||||
|
||||
final TypedQuery<Boolean> query = entityManager.createNamedQuery(
|
||||
"ContentSection.hasUsableContentTypes", Boolean.class);
|
||||
"ContentSection.hasUsableContentTypes", Boolean.class);
|
||||
query.setParameter("section", section);
|
||||
query.setParameter("roles", roles);
|
||||
query.setParameter("isSysAdmin", permissionChecker.isPermitted("*"));
|
||||
|
|
@ -98,12 +106,12 @@ class NewItemFormController {
|
|||
}
|
||||
|
||||
final List<Role> roles = user.get().getRoleMemberships().stream()
|
||||
.map(membership -> membership.getRole())
|
||||
.collect(Collectors.toList());
|
||||
.map(membership -> membership.getRole())
|
||||
.collect(Collectors.toList());
|
||||
|
||||
final TypedQuery<ContentType> query = entityManager.createNamedQuery(
|
||||
"ContentSection.findUsableContentTypes",
|
||||
ContentType.class);
|
||||
"ContentSection.findUsableContentTypes",
|
||||
ContentType.class);
|
||||
query.setParameter("section", section);
|
||||
query.setParameter("roles", roles);
|
||||
query.setParameter("isSysAdmin", permissionChecker.isPermitted("*"));
|
||||
|
|
@ -111,4 +119,6 @@ class NewItemFormController {
|
|||
return query.getResultList();
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,108 @@
|
|||
/*
|
||||
* To change this license header, choose License Headers in Project Properties.
|
||||
* To change this template file, choose Tools | Templates
|
||||
* and open the template in the editor.
|
||||
*/
|
||||
package com.arsdigita.cms.ui.authoring.news;
|
||||
|
||||
import org.librecms.contentsection.ContentItemRepository;
|
||||
import org.librecms.contenttypes.News;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.Locale;
|
||||
import java.util.Objects;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import javax.transaction.Transactional;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||
*/
|
||||
public class NewsController {
|
||||
|
||||
@Inject
|
||||
private ContentItemRepository itemRepo;
|
||||
|
||||
@Transactional
|
||||
protected String getDescription(
|
||||
final News fromNews, final Locale forLocale
|
||||
) {
|
||||
Objects.requireNonNull(fromNews);
|
||||
final News news = itemRepo
|
||||
.findById(fromNews.getObjectId(), News.class)
|
||||
.orElseThrow(
|
||||
() -> new IllegalArgumentException(
|
||||
String.format(
|
||||
"No News with ID %d available.", fromNews.getObjectId()
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
return news.getDescription().getValue(forLocale);
|
||||
}
|
||||
|
||||
@Transactional
|
||||
protected String getText(final News fromNews, final Locale forLocale) {
|
||||
Objects.requireNonNull(fromNews);
|
||||
final News news = itemRepo
|
||||
.findById(fromNews.getObjectId(), News.class)
|
||||
.orElseThrow(
|
||||
() -> new IllegalArgumentException(
|
||||
String.format(
|
||||
"No News with ID %d available",
|
||||
fromNews.getObjectId()
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
return news.getText().getValue(forLocale);
|
||||
}
|
||||
|
||||
@Transactional
|
||||
protected void updateText(
|
||||
final News ofNews,
|
||||
final Locale forLocale,
|
||||
final String text
|
||||
) {
|
||||
Objects.requireNonNull(ofNews);
|
||||
final News news = itemRepo
|
||||
.findById(ofNews.getObjectId(), News.class)
|
||||
.orElseThrow(
|
||||
() -> new IllegalArgumentException(
|
||||
String.format(
|
||||
"No News with ID %d available",
|
||||
ofNews.getObjectId()
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
news.getText().addValue(forLocale, text);
|
||||
itemRepo.save(news);
|
||||
}
|
||||
|
||||
@Transactional
|
||||
protected void update(
|
||||
final News news,
|
||||
final Date releaseDate,
|
||||
final Locale locale,
|
||||
final String description
|
||||
) {
|
||||
Objects.requireNonNull(news);
|
||||
final News update = itemRepo
|
||||
.findById(news.getObjectId(), News.class)
|
||||
.orElseThrow(
|
||||
() -> new IllegalArgumentException(
|
||||
String.format(
|
||||
"No News with ID %d available",
|
||||
news.getObjectId()
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
update.setReleaseDate(releaseDate);
|
||||
update.getDescription().addValue(locale, description);
|
||||
itemRepo.save(update);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -36,7 +36,6 @@ import org.librecms.contenttypes.News;
|
|||
import com.arsdigita.cms.ui.authoring.BasicPageForm;
|
||||
import com.arsdigita.cms.ui.authoring.SelectedLanguageUtil;
|
||||
import com.arsdigita.globalization.GlobalizedMessage;
|
||||
import com.arsdigita.kernel.KernelConfig;
|
||||
|
||||
import org.libreccm.cdi.utils.CdiUtil;
|
||||
import org.libreccm.configuration.ConfigurationManager;
|
||||
|
|
@ -45,6 +44,7 @@ import org.librecms.contentsection.ContentItemRepository;
|
|||
import org.librecms.contenttypes.NewsConfig;
|
||||
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
import java.util.GregorianCalendar;
|
||||
import java.util.Locale;
|
||||
import java.util.Objects;
|
||||
|
|
@ -181,7 +181,10 @@ public class NewsPropertyForm extends BasicPageForm
|
|||
|
||||
releaseDateSelector.addYear(releaseDate);
|
||||
data.put(NEWS_DATE, releaseDate);
|
||||
data.put(LEAD, item.getDescription().getValue(selectedLocale));
|
||||
final NewsController controller = CdiUtil
|
||||
.createCdiUtil()
|
||||
.findBean(NewsController.class);
|
||||
data.put(LEAD, controller.getDescription(item, selectedLocale));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -218,21 +221,15 @@ public class NewsPropertyForm extends BasicPageForm
|
|||
.getSaveButton()
|
||||
.isSelected(event.getPageState())) {
|
||||
|
||||
final NewsController controller = CdiUtil
|
||||
.createCdiUtil()
|
||||
.findBean(NewsController.class);
|
||||
|
||||
final Date releaseDate = (java.util.Date) data.get(NEWS_DATE);
|
||||
final String description = (String) data.get(LEAD);
|
||||
final Locale selectedLocale = SelectedLanguageUtil
|
||||
.selectedLocale(state, selectedLanguageParam);
|
||||
|
||||
item.setReleaseDate((java.util.Date) data.get(NEWS_DATE));
|
||||
item
|
||||
.getDescription()
|
||||
.addValue(
|
||||
selectedLocale,
|
||||
(String) data.get(LEAD));
|
||||
|
||||
final ContentItemRepository itemRepo = CdiUtil
|
||||
.createCdiUtil()
|
||||
.findBean(ContentItemRepository.class);
|
||||
|
||||
itemRepo.save(item);
|
||||
controller.update(item, releaseDate, selectedLocale, description);
|
||||
}
|
||||
if (propertiesStep != null) {
|
||||
propertiesStep.maybeForwardToNextStep(event.getPageState());
|
||||
|
|
|
|||
|
|
@ -83,10 +83,13 @@ public class NewsTextBody extends TextBody {
|
|||
|
||||
final News news = getSelectedNews(state);
|
||||
|
||||
return news
|
||||
.getText()
|
||||
.getValue(SelectedLanguageUtil
|
||||
.selectedLocale(state, selectedLanguageParam));
|
||||
final NewsController controller = CdiUtil
|
||||
.createCdiUtil()
|
||||
.findBean(NewsController.class);
|
||||
return controller.getText(
|
||||
news,
|
||||
SelectedLanguageUtil.selectedLocale(state, selectedLanguageParam)
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -97,11 +100,10 @@ public class NewsTextBody extends TextBody {
|
|||
final Locale selectedLocale = SelectedLanguageUtil
|
||||
.selectedLocale(state, selectedLanguageParam);
|
||||
|
||||
news.getText().addValue(selectedLocale, text);
|
||||
final ContentItemRepository itemRepo = CdiUtil
|
||||
final NewsController controller = CdiUtil
|
||||
.createCdiUtil()
|
||||
.findBean(ContentItemRepository.class);
|
||||
itemRepo.save(news);
|
||||
.findBean(NewsController.class);
|
||||
controller.updateText(news, selectedLocale, text);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -35,12 +35,12 @@ class FolderEditForm extends FolderBaseForm {
|
|||
|
||||
private static Logger LOGGER = LogManager.getLogger(FolderEditForm.class);
|
||||
|
||||
private final FolderRequestLocal m_folder;
|
||||
private final FolderRequestLocal folderRequestLocal;
|
||||
|
||||
public FolderEditForm(final FolderRequestLocal folder) {
|
||||
super("folder-edit");
|
||||
|
||||
m_folder = folder;
|
||||
folderRequestLocal = folder;
|
||||
|
||||
// XXX need to do name uniqueness valdation on m_fragment here
|
||||
// as well.
|
||||
|
|
@ -68,7 +68,7 @@ class FolderEditForm extends FolderBaseForm {
|
|||
public final void init(final FormSectionEvent e) {
|
||||
final PageState state = e.getPageState();
|
||||
|
||||
final Category folder = m_folder.getFolder(state);
|
||||
final Category folder = folderRequestLocal.getFolder(state);
|
||||
|
||||
m_title.setValue(state, folder.getDisplayName());
|
||||
m_fragment.setValue(state, folder.getName());
|
||||
|
|
@ -80,7 +80,7 @@ class FolderEditForm extends FolderBaseForm {
|
|||
throws FormProcessException {
|
||||
final PageState state = e.getPageState();
|
||||
|
||||
final Category folder = m_folder.getFolder(state);
|
||||
final Category folder = folderRequestLocal.getFolder(state);
|
||||
|
||||
folder.setDisplayName((String) m_title.getValue(state));
|
||||
folder.setName((String) m_fragment.getValue(state));
|
||||
|
|
|
|||
|
|
@ -63,12 +63,10 @@ public class FolderEditorForm extends FolderForm {
|
|||
final Folder folder = getCurrentFolder(state);
|
||||
data.put(NAME, folder.getName());
|
||||
final CdiUtil cdiUtil = CdiUtil.createCdiUtil();
|
||||
final ConfigurationManager confManager = cdiUtil.findBean(
|
||||
ConfigurationManager.class);
|
||||
final KernelConfig kernelConfig = confManager.findConfiguration(
|
||||
KernelConfig.class);
|
||||
data.put(TITLE,
|
||||
folder.getTitle().getValue(kernelConfig.getDefaultLocale()));
|
||||
final FolderEditorFormController controller = cdiUtil.findBean(
|
||||
FolderEditorFormController.class
|
||||
);
|
||||
data.put(TITLE, controller.getFolderTitle(folder));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -0,0 +1,50 @@
|
|||
/*
|
||||
* To change this license header, choose License Headers in Project Properties.
|
||||
* To change this template file, choose Tools | Templates
|
||||
* and open the template in the editor.
|
||||
*/
|
||||
package com.arsdigita.cms.ui.folder;
|
||||
|
||||
import com.arsdigita.kernel.KernelConfig;
|
||||
|
||||
import org.libreccm.configuration.ConfigurationManager;
|
||||
import org.librecms.contentsection.Folder;
|
||||
import org.librecms.contentsection.FolderRepository;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
import javax.enterprise.context.RequestScoped;
|
||||
import javax.inject.Inject;
|
||||
import javax.transaction.Transactional;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||
*/
|
||||
@RequestScoped
|
||||
public class FolderEditorFormController {
|
||||
|
||||
@Inject
|
||||
private ConfigurationManager confManager;
|
||||
|
||||
@Inject
|
||||
private FolderRepository folderRepository;
|
||||
|
||||
@Transactional(Transactional.TxType.REQUIRED)
|
||||
public String getFolderTitle(final Folder ofFolder) {
|
||||
final Folder folder = folderRepository
|
||||
.findById(Objects.requireNonNull(ofFolder).getObjectId())
|
||||
.orElseThrow(
|
||||
() -> new IllegalArgumentException(
|
||||
String.format("No folder with ID %d available.",
|
||||
ofFolder.getObjectId())
|
||||
)
|
||||
);
|
||||
|
||||
final KernelConfig kernelConfig = confManager.findConfiguration(
|
||||
KernelConfig.class
|
||||
);
|
||||
return folder.getTitle().getValue(kernelConfig.getDefaultLocale());
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -18,9 +18,12 @@
|
|||
*/
|
||||
package com.arsdigita.cms.ui.lifecycle;
|
||||
|
||||
import com.arsdigita.globalization.GlobalizedMessage;
|
||||
import com.arsdigita.kernel.KernelConfig;
|
||||
import com.arsdigita.toolbox.ui.Property;
|
||||
|
||||
import org.libreccm.configuration.ConfigurationManager;
|
||||
import org.librecms.CmsConstants;
|
||||
import org.librecms.contentsection.ContentSection;
|
||||
import org.librecms.contentsection.ContentSectionManager;
|
||||
import org.librecms.contentsection.ContentSectionRepository;
|
||||
|
|
@ -30,9 +33,12 @@ import org.librecms.lifecycle.PhaseDefinition;
|
|||
import org.librecms.lifecycle.PhaseDefinititionRepository;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import javax.enterprise.context.RequestScoped;
|
||||
import javax.inject.Inject;
|
||||
|
|
@ -72,7 +78,73 @@ class LifecycleAdminPaneController {
|
|||
section.getObjectId())));
|
||||
|
||||
return new ArrayList<>(contentSection.getLifecycleDefinitions());
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public List<Map<String, String>> listLifecyclesForContentSection(
|
||||
final ContentSection section
|
||||
) {
|
||||
return getLifecyclesForContentSection(section)
|
||||
.stream()
|
||||
.map(this::buildLifecycleListItem)
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
private Map<String, String> buildLifecycleListItem(
|
||||
final LifecycleDefinition lifecycleDefinition) {
|
||||
final Map<String, String> item = new HashMap<>();
|
||||
item.put(
|
||||
LifecycleListModelBuilder.LIFECYCLE_DEF_ID,
|
||||
Long.toString(lifecycleDefinition.getDefinitionId())
|
||||
);
|
||||
item.put(
|
||||
LifecycleListModelBuilder.LIFECYCLE_DEF_LABEL,
|
||||
lifecycleDefinition
|
||||
.getLabel()
|
||||
.getValue(KernelConfig.getConfig().getDefaultLocale())
|
||||
);
|
||||
return item;
|
||||
}
|
||||
|
||||
@Transactional(Transactional.TxType.REQUIRED)
|
||||
public List<Property> getLifecycleProperties(
|
||||
final LifecycleDefinition ofLifecycleDefinition
|
||||
) {
|
||||
final LifecycleDefinition definition = lifecycleDefRepo
|
||||
.findById(ofLifecycleDefinition.getDefinitionId())
|
||||
.orElseThrow(
|
||||
() -> new IllegalArgumentException(
|
||||
String.format(
|
||||
"No LifecycleDefinition with ID %d found.",
|
||||
ofLifecycleDefinition.getDefinitionId()
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
final KernelConfig kernelConfig = confManager
|
||||
.findConfiguration(KernelConfig.class);
|
||||
final Locale defaultLocale = kernelConfig.getDefaultLocale();
|
||||
|
||||
final List<Property> properties = new ArrayList<>();
|
||||
properties.add(
|
||||
new Property(
|
||||
new GlobalizedMessage(
|
||||
"cms.ui.lifecycle.name",
|
||||
CmsConstants.CMS_BUNDLE
|
||||
),
|
||||
definition.getLabel().getValue(defaultLocale)
|
||||
)
|
||||
);
|
||||
properties.add(
|
||||
new Property(
|
||||
new GlobalizedMessage(
|
||||
"cms.ui.lifecycle.description",
|
||||
CmsConstants.CMS_BUNDLE
|
||||
),
|
||||
definition.getDescription().getValue(defaultLocale)
|
||||
)
|
||||
);
|
||||
return properties;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -178,7 +250,7 @@ class LifecycleAdminPaneController {
|
|||
.orElseThrow(() -> new IllegalArgumentException(String.format(
|
||||
"No ContentSection with ID %d in the database. "
|
||||
+ "Where did that ID come from?",
|
||||
section.getObjectId())));
|
||||
section.getObjectId())));
|
||||
|
||||
sectionManager.removeLifecycleDefinitionFromContentSection(
|
||||
lifecycleDefinition,
|
||||
|
|
@ -290,7 +362,46 @@ class LifecycleAdminPaneController {
|
|||
phaseDefinition.setDefaultDuration(duration);
|
||||
|
||||
phaseDefRepo.save(phaseDefinition);
|
||||
}
|
||||
|
||||
@Transactional(Transactional.TxType.REQUIRED)
|
||||
public String getLifecycleDefinitionName(
|
||||
final LifecycleDefinition ofCycle
|
||||
) {
|
||||
final LifecycleDefinition cycle = lifecycleDefRepo.findById(
|
||||
Objects.requireNonNull(ofCycle).getDefinitionId()
|
||||
).orElseThrow(
|
||||
() -> new IllegalArgumentException(
|
||||
String.format(
|
||||
"No LifecycleDefinition with ID %d available",
|
||||
ofCycle.getDefinitionId()
|
||||
)
|
||||
)
|
||||
);
|
||||
final KernelConfig kernelConfig = confManager.findConfiguration(
|
||||
KernelConfig.class
|
||||
);
|
||||
return cycle.getLabel().getValue(kernelConfig.getDefaultLocale());
|
||||
}
|
||||
|
||||
@Transactional(Transactional.TxType.REQUIRED)
|
||||
public String getLifecycleDefinitionDescription(
|
||||
final LifecycleDefinition ofCycle
|
||||
) {
|
||||
final LifecycleDefinition cycle = lifecycleDefRepo.findById(
|
||||
Objects.requireNonNull(ofCycle).getDefinitionId()
|
||||
).orElseThrow(
|
||||
() -> new IllegalArgumentException(
|
||||
String.format(
|
||||
"No LifecycleDefinition with ID %d available",
|
||||
ofCycle.getDefinitionId()
|
||||
)
|
||||
)
|
||||
);
|
||||
final KernelConfig kernelConfig = confManager.findConfiguration(
|
||||
KernelConfig.class
|
||||
);
|
||||
return cycle.getDescription().getValue(kernelConfig.getDefaultLocale());
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -59,8 +59,17 @@ class LifecycleEditForm extends BaseLifecycleForm {
|
|||
final LifecycleDefinition cycle = selectedDefinition
|
||||
.getLifecycleDefinition(state);
|
||||
|
||||
getLifecycleName().setValue(state, cycle.getLabel());
|
||||
getLifecycleDescription().setValue(state, cycle.getDescription());
|
||||
final CdiUtil cdiUtil = CdiUtil.createCdiUtil();
|
||||
final LifecycleAdminPaneController controller = cdiUtil.findBean(
|
||||
LifecycleAdminPaneController.class
|
||||
);
|
||||
|
||||
getLifecycleName().setValue(
|
||||
state, controller.getLifecycleDefinitionName(cycle)
|
||||
);
|
||||
getLifecycleDescription().setValue(
|
||||
state, controller.getLifecycleDefinitionDescription(cycle)
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -61,9 +61,11 @@ import java.util.Locale;
|
|||
class LifecycleItemPane extends BaseItemPane {
|
||||
|
||||
private final LifecycleDefinitionRequestLocal selectedLifecycle;
|
||||
|
||||
private final PhaseRequestLocal selectedPhase;
|
||||
|
||||
private final Container detailPane;
|
||||
|
||||
private final Table phasesTable;
|
||||
|
||||
public LifecycleItemPane(
|
||||
|
|
@ -144,23 +146,27 @@ class LifecycleItemPane extends BaseItemPane {
|
|||
final PageState state) {
|
||||
|
||||
final CdiUtil cdiUtil = CdiUtil.createCdiUtil();
|
||||
final ConfigurationManager confManager = cdiUtil.findBean(
|
||||
ConfigurationManager.class);
|
||||
final KernelConfig kernelConfig = confManager.findConfiguration(
|
||||
KernelConfig.class);
|
||||
final Locale defaultLocale = kernelConfig.getDefaultLocale();
|
||||
// final ConfigurationManager confManager = cdiUtil.findBean(
|
||||
// ConfigurationManager.class);
|
||||
// final KernelConfig kernelConfig = confManager.findConfiguration(
|
||||
// KernelConfig.class);
|
||||
// final Locale defaultLocale = kernelConfig.getDefaultLocale();
|
||||
|
||||
final LifecycleAdminPaneController controller = cdiUtil
|
||||
.findBean(LifecycleAdminPaneController.class);
|
||||
|
||||
final java.util.List<Property> props = super.properties(state);
|
||||
final LifecycleDefinition cycle = selectedLifecycle
|
||||
.getLifecycleDefinition(state);
|
||||
|
||||
props.add(new Property(
|
||||
gz("cms.ui.lifecycle.name"),
|
||||
cycle.getLabel().getValue(defaultLocale)));
|
||||
props.add(new Property(
|
||||
gz("cms.ui.lifecycle.description"),
|
||||
cycle.getDescription().getValue(defaultLocale)));
|
||||
props.addAll(controller.getLifecycleProperties(cycle));
|
||||
|
||||
// props.add(new Property(
|
||||
// gz("cms.ui.lifecycle.name"),
|
||||
// cycle.getLabel().getValue(defaultLocale)));
|
||||
// props.add(new Property(
|
||||
// gz("cms.ui.lifecycle.description"),
|
||||
// cycle.getDescription().getValue(defaultLocale)));
|
||||
return props;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -38,6 +38,7 @@ import org.librecms.lifecycle.LifecycleDefinition;
|
|||
|
||||
import java.util.Iterator;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* Loads all the current lifecycles from the database so that they may be
|
||||
|
|
@ -50,6 +51,10 @@ import java.util.Locale;
|
|||
public final class LifecycleListModelBuilder extends LockableImpl
|
||||
implements ListModelBuilder {
|
||||
|
||||
protected static final String LIFECYCLE_DEF_ID = "lifecycleDefId";
|
||||
|
||||
protected static final String LIFECYCLE_DEF_LABEL = "lifecycleDefLabel";
|
||||
|
||||
@Override
|
||||
public final ListModel makeModel(final com.arsdigita.bebop.List list,
|
||||
final PageState state) {
|
||||
|
|
@ -57,20 +62,20 @@ public final class LifecycleListModelBuilder extends LockableImpl
|
|||
final LifecycleAdminPaneController controller = cdiUtil
|
||||
.findBean(LifecycleAdminPaneController.class);
|
||||
final ContentSection section = CMS.getContext().getContentSection();
|
||||
return new Model(controller.getLifecyclesForContentSection(section));
|
||||
return new Model(controller.listLifecyclesForContentSection(section));
|
||||
}
|
||||
|
||||
private class Model implements ListModel {
|
||||
|
||||
private final Iterator<LifecycleDefinition> iterator;
|
||||
private LifecycleDefinition currentLifecycleDef;
|
||||
private final Locale defaultLocale;
|
||||
private final Iterator<Map<String, String>> iterator;
|
||||
|
||||
public Model(final List<LifecycleDefinition> lifecycles) {
|
||||
private Map<String, String> currentLifecycleDef;
|
||||
|
||||
public Model(final List<Map<String, String>> lifecycles) {
|
||||
iterator = lifecycles.iterator();
|
||||
defaultLocale = KernelConfig.getConfig().getDefaultLocale();
|
||||
}
|
||||
@Override
|
||||
|
||||
@Override
|
||||
public boolean next() throws NoSuchElementException {
|
||||
if (iterator.hasNext()) {
|
||||
currentLifecycleDef = iterator.next();
|
||||
|
|
@ -82,12 +87,12 @@ public final class LifecycleListModelBuilder extends LockableImpl
|
|||
|
||||
@Override
|
||||
public Object getElement() {
|
||||
return currentLifecycleDef.getLabel().getValue(defaultLocale);
|
||||
return currentLifecycleDef.get(LIFECYCLE_DEF_LABEL);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getKey() {
|
||||
return Long.toString(currentLifecycleDef.getDefinitionId());
|
||||
return currentLifecycleDef.get(LIFECYCLE_DEF_ID);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,54 @@
|
|||
/*
|
||||
* To change this license header, choose License Headers in Project Properties.
|
||||
* To change this template file, choose Tools | Templates
|
||||
* and open the template in the editor.
|
||||
*/
|
||||
package com.arsdigita.cms.ui.pages;
|
||||
|
||||
import org.libreccm.l10n.GlobalizationHelper;
|
||||
import org.libreccm.pagemodel.PageModel;
|
||||
import org.libreccm.pagemodel.PageModelRepository;
|
||||
import org.librecms.pages.Pages;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import javax.enterprise.context.RequestScoped;
|
||||
import javax.inject.Inject;
|
||||
import javax.transaction.Transactional;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||
*/
|
||||
@RequestScoped
|
||||
class PageModelAdminPageController {
|
||||
|
||||
@Inject
|
||||
private GlobalizationHelper globalizationHelper;
|
||||
|
||||
@Inject
|
||||
private PageModelRepository pageModelRepository;
|
||||
|
||||
@Transactional(Transactional.TxType.REQUIRED)
|
||||
protected List<PageModelData> findDraftPageModelsByApplication(
|
||||
final Pages pages
|
||||
) {
|
||||
final List<PageModel> pageModels = pageModelRepository
|
||||
.findDraftByApplication(pages);
|
||||
return pageModels.stream().map(this::buildPageModelData).collect(
|
||||
Collectors.toList()
|
||||
);
|
||||
}
|
||||
|
||||
private PageModelData buildPageModelData(final PageModel fromPageModel) {
|
||||
final PageModelData result = new PageModelData();
|
||||
result.setPageModelId(fromPageModel.getPageModelId());
|
||||
result.setTitle(globalizationHelper.getValueFromLocalizedString(
|
||||
fromPageModel.getTitle()));
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
/*
|
||||
* To change this license header, choose License Headers in Project Properties.
|
||||
* To change this template file, choose Tools | Templates
|
||||
* and open the template in the editor.
|
||||
*/
|
||||
package com.arsdigita.cms.ui.pages;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||
*/
|
||||
class PageModelData {
|
||||
|
||||
private long pageModelId;
|
||||
|
||||
private String title;
|
||||
|
||||
public long getPageModelId() {
|
||||
return pageModelId;
|
||||
}
|
||||
|
||||
public void setPageModelId(long pageModelId) {
|
||||
this.pageModelId = pageModelId;
|
||||
}
|
||||
|
||||
public String getTitle() {
|
||||
return title;
|
||||
}
|
||||
|
||||
public void setTitle(String title) {
|
||||
this.title = title;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -50,7 +50,6 @@ import org.libreccm.categorization.Category;
|
|||
import org.libreccm.categorization.CategoryRepository;
|
||||
import org.libreccm.cdi.utils.CdiUtil;
|
||||
import org.libreccm.core.UnexpectedErrorException;
|
||||
import org.libreccm.l10n.GlobalizationHelper;
|
||||
import org.libreccm.pagemodel.PageModel;
|
||||
import org.libreccm.pagemodel.PageModelRepository;
|
||||
import org.librecms.CmsConstants;
|
||||
|
|
@ -62,6 +61,7 @@ import java.util.List;
|
|||
import java.util.Optional;
|
||||
import java.util.TooManyListenersException;
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||
|
|
@ -69,19 +69,27 @@ import java.util.TooManyListenersException;
|
|||
public class PagesAdminPage extends CMSApplicationPage {
|
||||
|
||||
private static final String INDEX_PAGE_MODEL_SELECT = "indexPageModelSelect";
|
||||
|
||||
private static final String ITEM_PAGE_MODEL_SELECT = "itemPageModelSelect";
|
||||
|
||||
private static final String INHERIT_PAGEMODEL = "--inherit--";
|
||||
|
||||
private final ParameterSingleSelectionModel<String> selectedCategory;
|
||||
|
||||
private final Tree categoryTree;
|
||||
|
||||
private final Label nothingSelectedLabel;
|
||||
|
||||
private final Form pageModelForm;
|
||||
|
||||
private final SingleSelect indexPageModelSelect;
|
||||
|
||||
private final SingleSelect itemPageModelSelect;
|
||||
|
||||
private final SaveCancelSection saveCancelSection;
|
||||
|
||||
private Pages pagesInstance;
|
||||
|
||||
private PagesContextBar pagesContextBar;
|
||||
|
||||
public PagesAdminPage() {
|
||||
|
|
@ -261,22 +269,38 @@ public class PagesAdminPage extends CMSApplicationPage {
|
|||
"cms.ui.pages.assigned_page_model.inherit",
|
||||
CmsConstants.CMS_BUNDLE))));
|
||||
|
||||
final CdiUtil cdiUtil = CdiUtil.createCdiUtil();
|
||||
final PageModelRepository pageModelRepo = cdiUtil
|
||||
.findBean(PageModelRepository.class);
|
||||
final List<PageModel> pageModels = pageModelRepo
|
||||
.findDraftByApplication(pagesInstance);
|
||||
final GlobalizationHelper globalizationHelper = cdiUtil
|
||||
.findBean(GlobalizationHelper.class);
|
||||
|
||||
for (final PageModel pageModel : pageModels) {
|
||||
target.addOption(new Option(
|
||||
Long.toString(pageModel.getPageModelId()),
|
||||
new Text(globalizationHelper.getValueFromLocalizedString(
|
||||
pageModel
|
||||
.getTitle()))));
|
||||
// final CdiUtil cdiUtil = CdiUtil.createCdiUtil();
|
||||
// final PageModelRepository pageModelRepo = cdiUtil.findBean(
|
||||
// PageModelRepository.class
|
||||
// );
|
||||
// final List<PageModel> pageModels = pageModelRepo
|
||||
// .findDraftByApplication(pagesInstance);
|
||||
// final GlobalizationHelper globalizationHelper = cdiUtil
|
||||
// .findBean(GlobalizationHelper.class);
|
||||
// for (final PageModel pageModel : pageModels) {
|
||||
// target.addOption(
|
||||
// new Option(
|
||||
// Long.toString(pageModel.getPageModelId()),
|
||||
// new Text(
|
||||
// globalizationHelper.getValueFromLocalizedString(
|
||||
// pageModel.getTitle()
|
||||
// )
|
||||
// )
|
||||
// )
|
||||
// );
|
||||
// }
|
||||
final PageModelAdminPageController controller = CdiUtil.createCdiUtil()
|
||||
.findBean(PageModelAdminPageController.class);
|
||||
final List<PageModelData> pageModels = controller
|
||||
.findDraftPageModelsByApplication(pagesInstance);
|
||||
for (final PageModelData pageModel : pageModels) {
|
||||
target.addOption(
|
||||
new Option(
|
||||
Long.toString(pageModel.getPageModelId()),
|
||||
new Text(pageModel.getTitle())
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void categoryTreeStateChanged(final ChangeEvent event) {
|
||||
|
|
|
|||
|
|
@ -35,16 +35,12 @@ import com.arsdigita.cms.ui.BaseItemPane;
|
|||
import com.arsdigita.cms.ui.PartySearchForm;
|
||||
import com.arsdigita.cms.ui.VisibilityComponent;
|
||||
import com.arsdigita.globalization.GlobalizedMessage;
|
||||
import com.arsdigita.kernel.KernelConfig;
|
||||
import com.arsdigita.toolbox.ui.ActionGroup;
|
||||
import com.arsdigita.toolbox.ui.Property;
|
||||
import com.arsdigita.toolbox.ui.PropertyList;
|
||||
import com.arsdigita.toolbox.ui.Section;
|
||||
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.libreccm.cdi.utils.CdiUtil;
|
||||
import org.libreccm.configuration.ConfigurationManager;
|
||||
import org.libreccm.security.Party;
|
||||
import org.libreccm.security.PartyRepository;
|
||||
import org.libreccm.security.PermissionChecker;
|
||||
|
|
@ -129,40 +125,53 @@ class BaseRoleItemPane extends BaseItemPane {
|
|||
|
||||
@Override
|
||||
protected final java.util.List<Property> properties(
|
||||
final PageState state) {
|
||||
final PageState state
|
||||
) {
|
||||
|
||||
final java.util.List<Property> properties = super.properties(
|
||||
state);
|
||||
state
|
||||
);
|
||||
|
||||
final CdiUtil cdiUtil = CdiUtil.createCdiUtil();
|
||||
final ConfigurationManager manager = cdiUtil.findBean(
|
||||
ConfigurationManager.class);
|
||||
final KernelConfig config = manager.findConfiguration(
|
||||
KernelConfig.class);
|
||||
final RoleAdminPaneController controller = cdiUtil
|
||||
.findBean(RoleAdminPaneController.class);
|
||||
|
||||
final Role role = roleRequestLocal.getRole(state);
|
||||
|
||||
properties.add(new Property(lz("cms.ui.role.name"),
|
||||
role.getName()));
|
||||
// Right now just loads the default locale description.
|
||||
properties.add(new Property(
|
||||
lz("cms.ui.role.description"),
|
||||
role.getDescription().getValue(config.getDefaultLocale())));
|
||||
properties.add(
|
||||
new Property(lz("cms.ui.role.name"), role.getName())
|
||||
);
|
||||
|
||||
// Since Permissions don't seem to have a "pretty" form, the granted privilege is used.
|
||||
final RoleAdminPaneController controller = cdiUtil.findBean(
|
||||
RoleAdminPaneController.class);
|
||||
// Right now just loads the default locale description.
|
||||
properties.add(
|
||||
new Property(
|
||||
lz("cms.ui.role.description"),
|
||||
controller.getRoleDescription(role)
|
||||
)
|
||||
);
|
||||
|
||||
// Since Permissions don't seem to have a "pretty" form, the
|
||||
// granted privilege is used.
|
||||
final String permissions = controller
|
||||
.generateGrantedPermissionsString(
|
||||
role,
|
||||
CMS.getContext().getContentSection());
|
||||
CMS.getContext().getContentSection()
|
||||
);
|
||||
|
||||
if (permissions.length() > 0) {
|
||||
properties.add(new Property(lz("cms.ui.role.privileges"),
|
||||
permissions));
|
||||
properties.add(
|
||||
new Property(
|
||||
lz("cms.ui.role.privileges"),
|
||||
permissions
|
||||
)
|
||||
);
|
||||
} else {
|
||||
properties.add(new Property(lz("cms.ui.role.privileges"),
|
||||
lz("cms.ui.role.privilege.none")));
|
||||
properties.add(
|
||||
new Property(
|
||||
lz("cms.ui.role.privileges"),
|
||||
lz("cms.ui.role.privilege.none")
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
return properties;
|
||||
|
|
@ -192,7 +201,9 @@ class BaseRoleItemPane extends BaseItemPane {
|
|||
private class MemberTable extends Table {
|
||||
|
||||
private static final int COL_NAME = 0;
|
||||
|
||||
private static final int COL_EMAIL = 1;
|
||||
|
||||
private static final int COL_REMOVE = 2;
|
||||
|
||||
MemberTable() {
|
||||
|
|
|
|||
|
|
@ -88,6 +88,22 @@ class RoleAdminPaneController {
|
|||
return new ArrayList<>(contentSection.getRoles());
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public String getRoleDescription(final Role ofRole) {
|
||||
final Role role = roleRepo
|
||||
.findById(ofRole.getRoleId())
|
||||
.orElseThrow(
|
||||
() -> new IllegalArgumentException(
|
||||
String.format(
|
||||
"No role with ID %d found.", ofRole.getRoleId()
|
||||
)
|
||||
)
|
||||
);
|
||||
final KernelConfig config = confManager
|
||||
.findConfiguration(KernelConfig.class);
|
||||
return role.getDescription().getValue(config.getDefaultLocale());
|
||||
}
|
||||
|
||||
public String[] getGrantedPrivileges(final Role role,
|
||||
final ContentSection section) {
|
||||
final List<Permission> sectionPermissions = permissionManager
|
||||
|
|
@ -217,10 +233,10 @@ class RoleAdminPaneController {
|
|||
KernelConfig.class);
|
||||
final Locale defaultLocale = kernelConfig.getDefaultLocale();
|
||||
|
||||
role.setName(roleName);
|
||||
role.getDescription().addValue(defaultLocale, roleDescription);
|
||||
roleToSave.setName(roleName);
|
||||
roleToSave.getDescription().addValue(defaultLocale, roleDescription);
|
||||
|
||||
roleRepo.save(role);
|
||||
roleRepo.save(roleToSave);
|
||||
|
||||
final ContentSection contentSection = sectionRepo.findById(
|
||||
CMS.getContext().getContentSection().getObjectId())
|
||||
|
|
@ -241,28 +257,28 @@ class RoleAdminPaneController {
|
|||
final Folder rootAssetsFolder = contentSection.getRootAssetsFolder();
|
||||
|
||||
final List<Permission> currentPermissionsSection = permissionManager
|
||||
.findPermissionsForRoleAndObject(role, contentSection);
|
||||
.findPermissionsForRoleAndObject(roleToSave, contentSection);
|
||||
final List<Permission> currentPermissionsDocuments = permissionManager
|
||||
.findPermissionsForRoleAndObject(role, rootDocumentsFolder);
|
||||
.findPermissionsForRoleAndObject(roleToSave, rootDocumentsFolder);
|
||||
final List<Permission> currentPermissionsAssets = permissionManager
|
||||
.findPermissionsForRoleAndObject(role, rootAssetsFolder);
|
||||
.findPermissionsForRoleAndObject(roleToSave, rootAssetsFolder);
|
||||
|
||||
//Revoke permissions not in selectedPermissions
|
||||
revokeNotSelectedPrivileges(selectedPermissions,
|
||||
role,
|
||||
roleToSave,
|
||||
currentPermissionsSection);
|
||||
revokeNotSelectedPrivileges(selectedPermissions,
|
||||
role,
|
||||
roleToSave,
|
||||
currentPermissionsDocuments);
|
||||
revokeNotSelectedPrivileges(selectedPermissions,
|
||||
role,
|
||||
roleToSave,
|
||||
currentPermissionsAssets);
|
||||
|
||||
// Grant selected privileges
|
||||
for (final String privilege : adminPrivileges) {
|
||||
if (isPrivilegeSelected(selectedPermissions, privilege)) {
|
||||
permissionManager.grantPrivilege(privilege,
|
||||
role,
|
||||
roleToSave,
|
||||
contentSection);
|
||||
}
|
||||
}
|
||||
|
|
@ -270,7 +286,7 @@ class RoleAdminPaneController {
|
|||
for (final String privilege : itemPrivileges) {
|
||||
if (isPrivilegeSelected(selectedPermissions, privilege)) {
|
||||
permissionManager.grantPrivilege(privilege,
|
||||
role,
|
||||
roleToSave,
|
||||
rootDocumentsFolder);
|
||||
}
|
||||
}
|
||||
|
|
@ -278,7 +294,7 @@ class RoleAdminPaneController {
|
|||
for (final String privilege : assetPrivileges) {
|
||||
if (isPrivilegeSelected(selectedPermissions, privilege)) {
|
||||
permissionManager.grantPrivilege(privilege,
|
||||
role,
|
||||
roleToSave,
|
||||
rootAssetsFolder);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -24,20 +24,10 @@ import com.arsdigita.bebop.event.FormInitListener;
|
|||
import com.arsdigita.bebop.event.FormProcessListener;
|
||||
import com.arsdigita.bebop.event.FormSectionEvent;
|
||||
import com.arsdigita.cms.CMS;
|
||||
import com.arsdigita.kernel.KernelConfig;
|
||||
|
||||
import org.libreccm.cdi.utils.CdiUtil;
|
||||
import org.libreccm.configuration.ConfigurationManager;
|
||||
import org.libreccm.l10n.LocalizedString;
|
||||
import org.libreccm.security.Permission;
|
||||
import org.libreccm.security.PermissionManager;
|
||||
import org.libreccm.security.Role;
|
||||
import org.libreccm.security.RoleRepository;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
|
||||
/**
|
||||
* Represents a {@link com.arsdigita.bebop.Form Form} to edit
|
||||
|
|
@ -76,17 +66,15 @@ final class RoleEditForm extends BaseRoleForm {
|
|||
final PageState state = event.getPageState();
|
||||
final Role role = roleRequestLocal.getRole(state);
|
||||
|
||||
final KernelConfig kernelConfig = KernelConfig.getConfig();
|
||||
final Locale defaultLocale = kernelConfig.getDefaultLocale();
|
||||
final CdiUtil cdiUtil = CdiUtil.createCdiUtil();
|
||||
final RoleAdminPaneController controller = cdiUtil.findBean(
|
||||
RoleAdminPaneController.class);
|
||||
|
||||
getRoleName().setValue(state, role.getName());
|
||||
getRoleDescription().setValue(
|
||||
state,
|
||||
role.getDescription().getValue(defaultLocale));
|
||||
|
||||
final CdiUtil cdiUtil = CdiUtil.createCdiUtil();
|
||||
final RoleAdminPaneController controller = cdiUtil.findBean(
|
||||
RoleAdminPaneController.class);
|
||||
controller.getRoleDescription(role)
|
||||
);
|
||||
|
||||
final String[] permissions = controller.getGrantedPrivileges(
|
||||
role, CMS.getContext().getContentSection());
|
||||
|
|
|
|||
|
|
@ -20,8 +20,10 @@ package com.arsdigita.cms.ui.type;
|
|||
|
||||
import org.libreccm.workflow.Workflow;
|
||||
import org.librecms.contentsection.ContentSection;
|
||||
import org.librecms.contentsection.ContentSectionManager;
|
||||
import org.librecms.contentsection.ContentSectionRepository;
|
||||
import org.librecms.contentsection.ContentType;
|
||||
import org.librecms.contentsection.ContentTypeManager;
|
||||
import org.librecms.contentsection.ContentTypeRepository;
|
||||
import org.librecms.contenttypes.ContentTypeInfo;
|
||||
import org.librecms.contenttypes.ContentTypesManager;
|
||||
|
|
@ -39,11 +41,6 @@ import java.util.stream.Collectors;
|
|||
import javax.enterprise.context.RequestScoped;
|
||||
import javax.inject.Inject;
|
||||
import javax.persistence.EntityManager;
|
||||
import javax.persistence.TypedQuery;
|
||||
import javax.persistence.criteria.CriteriaBuilder;
|
||||
import javax.persistence.criteria.CriteriaQuery;
|
||||
import javax.persistence.criteria.JoinType;
|
||||
import javax.persistence.criteria.Root;
|
||||
import javax.transaction.Transactional;
|
||||
|
||||
/**
|
||||
|
|
@ -63,9 +60,15 @@ class ContentTypeAdminPaneController {
|
|||
@Inject
|
||||
private ContentSectionRepository sectionRepo;
|
||||
|
||||
@Inject
|
||||
private ContentSectionManager sectionManager;
|
||||
|
||||
@Inject
|
||||
private ContentTypeRepository typeRepo;
|
||||
|
||||
@Inject
|
||||
private ContentTypeManager typeManager;
|
||||
|
||||
@Inject
|
||||
private ContentTypesManager typesManager;
|
||||
|
||||
|
|
@ -78,6 +81,27 @@ class ContentTypeAdminPaneController {
|
|||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
@Transactional
|
||||
protected List<String> getContentItemClassesList(
|
||||
final ContentSection ofSection
|
||||
) {
|
||||
final ContentSection section = sectionRepo.findById(
|
||||
ofSection.getObjectId()
|
||||
)
|
||||
.orElseThrow(
|
||||
() -> new IllegalArgumentException(
|
||||
String.format(
|
||||
"No ContentSection with ID %d found.",
|
||||
ofSection.getObjectId()
|
||||
)
|
||||
)
|
||||
);
|
||||
return section.getContentTypes()
|
||||
.stream()
|
||||
.map(type -> type.getContentItemClass())
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
private String[] generateListEntry(final ContentType type) {
|
||||
final String[] entry = new String[2];
|
||||
|
||||
|
|
@ -126,8 +150,9 @@ class ContentTypeAdminPaneController {
|
|||
}
|
||||
|
||||
@Transactional(Transactional.TxType.REQUIRED)
|
||||
protected Optional<String> getLifecycleDefinitionLabel(final ContentType type,
|
||||
final Locale locale) {
|
||||
protected Optional<String> getLifecycleDefinitionLabel(
|
||||
final ContentType type,
|
||||
final Locale locale) {
|
||||
|
||||
final LifecycleDefinition lifecycleDefinition = getLifecycleDefinition(
|
||||
type);
|
||||
|
|
@ -154,7 +179,7 @@ class ContentTypeAdminPaneController {
|
|||
|
||||
@Transactional(Transactional.TxType.REQUIRED)
|
||||
protected Optional<String> getWorkflowTemplateName(final ContentType type,
|
||||
final Locale locale) {
|
||||
final Locale locale) {
|
||||
|
||||
final Workflow workflowTemplate = getWorkflowTemplate(type);
|
||||
|
||||
|
|
@ -193,4 +218,30 @@ class ContentTypeAdminPaneController {
|
|||
return new ArrayList<>(contentSection.getWorkflowTemplates());
|
||||
}
|
||||
|
||||
@Transactional(Transactional.TxType.REQUIRED)
|
||||
protected void addContentTypeToContentSection(
|
||||
final String type, final ContentSection toSection
|
||||
) {
|
||||
Objects.requireNonNull(type);
|
||||
Objects.requireNonNull(toSection);
|
||||
|
||||
final ContentSection section = sectionRepo
|
||||
.findById(toSection.getObjectId())
|
||||
.orElseThrow(
|
||||
() -> new IllegalArgumentException(
|
||||
String.format(
|
||||
"No ContentSection identified by ID %d found.",
|
||||
toSection.getObjectId()
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
sectionManager.addContentTypeToSection(
|
||||
typeManager.classNameToClass(type),
|
||||
section,
|
||||
section.getLifecycleDefinitions().get(0),
|
||||
section.getWorkflowTemplates().get(0)
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -101,6 +101,7 @@ public class SelectType extends CMSForm implements PrintListener,
|
|||
/**
|
||||
* Generate a checkbox list of all content type not associated with the
|
||||
* current content section
|
||||
* @param event
|
||||
*/
|
||||
@Override
|
||||
public void prepare(final PrintEvent event) {
|
||||
|
|
@ -111,18 +112,22 @@ public class SelectType extends CMSForm implements PrintListener,
|
|||
final ContentSection section = CMS.getContext().getContentSection();
|
||||
|
||||
final CdiUtil cdiUtil = CdiUtil.createCdiUtil();
|
||||
final ContentTypeAdminPaneController controller = cdiUtil
|
||||
.findBean(ContentTypeAdminPaneController.class);
|
||||
final ContentTypesManager typesManager = cdiUtil.findBean(
|
||||
ContentTypesManager.class);
|
||||
|
||||
final List<ContentTypeInfo> availableTypes = typesManager
|
||||
.getAvailableContentTypes();
|
||||
final List<String> assignedTypes = section.getContentTypes()
|
||||
.stream()
|
||||
.map(contentType -> contentType.getContentItemClass())
|
||||
.collect(Collectors.toList());
|
||||
final List<String> assignedTypes = controller
|
||||
.getContentItemClassesList(section);
|
||||
// = section.getContentTypes()
|
||||
// .stream()
|
||||
// .map(contentType -> contentType.getContentItemClass())
|
||||
// .collect(Collectors.toList());
|
||||
|
||||
final List<ContentTypeInfo> notAssignedTypes = availableTypes.stream()
|
||||
.filter(type -> assignedTypes.contains(type.getContentItemClass()
|
||||
.filter(type -> !assignedTypes.contains(type.getContentItemClass()
|
||||
.getName()))
|
||||
.collect(Collectors.toList());
|
||||
|
||||
|
|
@ -184,18 +189,21 @@ public class SelectType extends CMSForm implements PrintListener,
|
|||
final String[] types = (String[]) data.get(TYPES);
|
||||
|
||||
final CdiUtil cdiUtil = CdiUtil.createCdiUtil();
|
||||
final ContentTypeManager typeManager = cdiUtil.findBean(
|
||||
ContentTypeManager.class);
|
||||
final ContentSectionManager sectionManager = cdiUtil.findBean(
|
||||
ContentSectionManager.class);
|
||||
// final ContentTypeManager typeManager = cdiUtil.findBean(
|
||||
// ContentTypeManager.class);
|
||||
// final ContentSectionManager sectionManager = cdiUtil.findBean(
|
||||
// ContentSectionManager.class);
|
||||
final ContentTypeAdminPaneController controller = cdiUtil
|
||||
.findBean(ContentTypeAdminPaneController.class);
|
||||
|
||||
if (types != null) {
|
||||
for (String type : types) {
|
||||
sectionManager.addContentTypeToSection(
|
||||
typeManager.classNameToClass(type),
|
||||
section,
|
||||
section.getLifecycleDefinitions().get(0),
|
||||
section.getWorkflowTemplates().get(0));
|
||||
// sectionManager.addContentTypeToSection(
|
||||
// typeManager.classNameToClass(type),
|
||||
// section,
|
||||
// section.getLifecycleDefinitions().get(0),
|
||||
// section.getWorkflowTemplates().get(0));
|
||||
controller.addContentTypeToContentSection(type, section);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -255,22 +255,28 @@ abstract class BaseWorkflowItemPane extends BaseItemPane {
|
|||
= ((Optional<Workflow>) workflowRequestLocal
|
||||
.get(state)).get();
|
||||
|
||||
final KernelConfig kernelConfig = KernelConfig.getConfig();
|
||||
final Locale defaultLocale = kernelConfig.getDefaultLocale();
|
||||
// final KernelConfig kernelConfig = KernelConfig.getConfig();
|
||||
// final Locale defaultLocale = kernelConfig.getDefaultLocale();
|
||||
|
||||
final WorkflowAdminPaneController controller = CdiUtil
|
||||
.createCdiUtil()
|
||||
.findBean(WorkflowAdminPaneController.class);
|
||||
|
||||
props.addAll(controller.getWorkflowProperties(workflow));
|
||||
// props.add(new Property(gz("cms.ui.workflow.name"),
|
||||
// workflow.getName()
|
||||
// .getValue(defaultLocale)));
|
||||
// props.add(new Property(
|
||||
// gz("cms.ui.workflow.description"),
|
||||
// workflow.getDescription().getValue(defaultLocale)));
|
||||
// if (workflow.getState() == null) {
|
||||
// props.add(new Property(gz("cms.ui.workflow.current_state"),
|
||||
// gz("cms.ui.workflow.current_state.none")));
|
||||
// } else {
|
||||
// props.add(new Property(gz("cms.ui.workflow.current_state"),
|
||||
// workflow.getState().toString()));
|
||||
// }
|
||||
|
||||
props.add(new Property(gz("cms.ui.workflow.name"),
|
||||
workflow.getName()
|
||||
.getValue(defaultLocale)));
|
||||
props.add(new Property(
|
||||
gz("cms.ui.workflow.description"),
|
||||
workflow.getDescription().getValue(defaultLocale)));
|
||||
if (workflow.getState() == null) {
|
||||
props.add(new Property(gz("cms.ui.workflow.current_state"),
|
||||
gz("cms.ui.workflow.current_state.none")));
|
||||
} else {
|
||||
props.add(new Property(gz("cms.ui.workflow.current_state"),
|
||||
workflow.getState().toString()));
|
||||
}
|
||||
return props;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -18,7 +18,9 @@
|
|||
*/
|
||||
package com.arsdigita.cms.ui.workflow;
|
||||
|
||||
import com.arsdigita.globalization.GlobalizedMessage;
|
||||
import com.arsdigita.kernel.KernelConfig;
|
||||
import com.arsdigita.toolbox.ui.Property;
|
||||
import com.arsdigita.util.GraphSet;
|
||||
import com.arsdigita.util.Graphs;
|
||||
import com.arsdigita.util.UncheckedWrapperException;
|
||||
|
|
@ -36,6 +38,7 @@ import org.libreccm.workflow.TaskManager;
|
|||
import org.libreccm.workflow.TaskRepository;
|
||||
import org.libreccm.workflow.Workflow;
|
||||
import org.libreccm.workflow.WorkflowRepository;
|
||||
import org.librecms.CmsConstants;
|
||||
import org.librecms.contentsection.ContentSection;
|
||||
import org.librecms.contentsection.ContentSectionManager;
|
||||
import org.librecms.contentsection.ContentSectionRepository;
|
||||
|
|
@ -102,6 +105,97 @@ public class WorkflowAdminPaneController {
|
|||
return new ArrayList<>(contentSection.getWorkflowTemplates());
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public List<Map<String, String>> listWorkflowTemplates(
|
||||
final ContentSection section
|
||||
) {
|
||||
final List<Workflow> templates = retrieveWorkflows(section);
|
||||
return templates
|
||||
.stream()
|
||||
.map(this::buildWorkflowTemplateListItem)
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
private Map<String, String> buildWorkflowTemplateListItem(
|
||||
final Workflow workflow
|
||||
) {
|
||||
final Map<String, String> item = new HashMap<>();
|
||||
item.put(
|
||||
WorkflowListModelBuilder.WORKFLOW_TEMPLATE_ID,
|
||||
Long.toString(workflow.getWorkflowId())
|
||||
);
|
||||
item.put(
|
||||
WorkflowListModelBuilder.WORKFLOW_TEMPLATE_NAME,
|
||||
workflow
|
||||
.getName()
|
||||
.getValue(KernelConfig.getConfig().getDefaultLocale()
|
||||
)
|
||||
);
|
||||
return item;
|
||||
}
|
||||
|
||||
@Transactional(Transactional.TxType.REQUIRED)
|
||||
public List<Property> getWorkflowProperties(final Workflow ofWorkflow) {
|
||||
final Workflow workflow = workflowRepo
|
||||
.findById(ofWorkflow.getWorkflowId())
|
||||
.orElseThrow(
|
||||
() -> new IllegalArgumentException(
|
||||
String.format(
|
||||
"No Workflow with ID %d available.",
|
||||
ofWorkflow.getWorkflowId()
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
final KernelConfig kernelConfig = confManager
|
||||
.findConfiguration(KernelConfig.class);
|
||||
final Locale defaultLocale = kernelConfig.getDefaultLocale();
|
||||
|
||||
final List<Property> properties = new ArrayList<>();
|
||||
properties.add(
|
||||
new Property(
|
||||
new GlobalizedMessage(
|
||||
"cms.ui.workflow.name", CmsConstants.CMS_BUNDLE
|
||||
),
|
||||
workflow.getName().getValue(defaultLocale)
|
||||
)
|
||||
);
|
||||
properties.add(
|
||||
new Property(
|
||||
new GlobalizedMessage(
|
||||
"cms.ui.workflow.description",
|
||||
CmsConstants.CMS_BUNDLE
|
||||
),
|
||||
workflow.getDescription().getValue(defaultLocale)
|
||||
)
|
||||
);
|
||||
if (workflow.getState() == null) {
|
||||
properties.add(
|
||||
new Property(
|
||||
new GlobalizedMessage(
|
||||
"cms.ui.workflow.current_state",
|
||||
CmsConstants.CMS_BUNDLE
|
||||
),
|
||||
new GlobalizedMessage(
|
||||
"cms.ui.workflow.current_state.none",
|
||||
CmsConstants.CMS_BUNDLE
|
||||
)
|
||||
)
|
||||
);
|
||||
} else {
|
||||
properties.add(
|
||||
new Property(
|
||||
new GlobalizedMessage(
|
||||
"cms.ui.workflow.current_state",
|
||||
CmsConstants.CMS_BUNDLE
|
||||
),
|
||||
workflow.getState().toString()
|
||||
)
|
||||
);
|
||||
}
|
||||
return properties;
|
||||
}
|
||||
|
||||
@Transactional(Transactional.TxType.REQUIRED)
|
||||
public Workflow createWorkflow(final ContentSection section,
|
||||
final String name,
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@ import org.libreccm.workflow.Workflow;
|
|||
|
||||
import java.util.Iterator;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* Builds a list of workflow templates registered to the current content
|
||||
|
|
@ -41,6 +42,11 @@ import java.util.Locale;
|
|||
*/
|
||||
class WorkflowListModelBuilder extends AbstractListModelBuilder {
|
||||
|
||||
protected static final String WORKFLOW_TEMPLATE_ID = "workflowTemplateId";
|
||||
|
||||
protected static final String WORKFLOW_TEMPLATE_NAME
|
||||
= "workflowTemplateName";
|
||||
|
||||
@Override
|
||||
public final ListModel makeModel(final List list, final PageState state) {
|
||||
return new Model();
|
||||
|
|
@ -48,8 +54,9 @@ class WorkflowListModelBuilder extends AbstractListModelBuilder {
|
|||
|
||||
private class Model implements ListModel {
|
||||
|
||||
private final Iterator<Workflow> templates;
|
||||
private Workflow currentTemplate;
|
||||
private final Iterator<Map<String, String>> templates;
|
||||
|
||||
private Map<String, String> currentTemplate;
|
||||
|
||||
public Model() {
|
||||
final CdiUtil cdiUtil = CdiUtil.createCdiUtil();
|
||||
|
|
@ -57,7 +64,7 @@ class WorkflowListModelBuilder extends AbstractListModelBuilder {
|
|||
WorkflowAdminPaneController.class);
|
||||
|
||||
templates = controller
|
||||
.retrieveWorkflows(CMS.getContext().getContentSection())
|
||||
.listWorkflowTemplates(CMS.getContext().getContentSection())
|
||||
.iterator();
|
||||
}
|
||||
|
||||
|
|
@ -73,14 +80,12 @@ class WorkflowListModelBuilder extends AbstractListModelBuilder {
|
|||
|
||||
@Override
|
||||
public Object getElement() {
|
||||
final KernelConfig kernelConfig = KernelConfig.getConfig();
|
||||
final Locale defaultLocale = kernelConfig.getDefaultLocale();
|
||||
return currentTemplate.getName().getValue(defaultLocale);
|
||||
return currentTemplate.get(WORKFLOW_TEMPLATE_NAME);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getKey() {
|
||||
return Long.toString(currentTemplate.getWorkflowId());
|
||||
return currentTemplate.get(WORKFLOW_TEMPLATE_ID);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,150 @@
|
|||
package db.migrations.org.librecms.ccm_cms;
|
||||
|
||||
import org.flywaydb.core.api.migration.BaseJavaMigration;
|
||||
import org.flywaydb.core.api.migration.Context;
|
||||
|
||||
import java.sql.Connection;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||
*/
|
||||
public class V7_0_0_24__add_lifecycle_uuid extends BaseJavaMigration {
|
||||
|
||||
@Override
|
||||
public void migrate(final Context context) throws Exception {
|
||||
|
||||
final Connection connection = context.getConnection();
|
||||
|
||||
final List<Long> lifecycleIds = retrieveLifecycleIds(connection);
|
||||
final List<Long> definitionIds = retrieveDefinitionIds(
|
||||
connection
|
||||
);
|
||||
|
||||
addLifecycleUuidCol(connection);
|
||||
addDefinitionLifecycleCol(connection);
|
||||
|
||||
setLifecycleUuid(connection, lifecycleIds);
|
||||
setDefinitionUuid(connection, definitionIds);
|
||||
|
||||
addLifecycleUniqueConstraint(connection);
|
||||
addDefinitionUniqueConstraint(connection);
|
||||
|
||||
}
|
||||
|
||||
private List<Long> retrieveLifecycleIds(final Connection connection)
|
||||
throws Exception {
|
||||
final List<Long> result = new ArrayList<>();
|
||||
try (PreparedStatement stmt = connection
|
||||
.prepareStatement("select LIFECYCLE_ID from LIFECYCLES");
|
||||
ResultSet resultSet = stmt.executeQuery()) {
|
||||
|
||||
while (resultSet.next()) {
|
||||
result.add(resultSet.getLong("LIFECYCLE_ID"));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
private List<Long> retrieveDefinitionIds(final Connection connection)
|
||||
throws Exception {
|
||||
final List<Long> result = new ArrayList<>();
|
||||
try (PreparedStatement stmt = connection
|
||||
.prepareStatement(
|
||||
"select LIFECYCLE_DEFINITION_ID "
|
||||
+ "from LIFECYLE_DEFINITIONS"
|
||||
);
|
||||
ResultSet resultSet = stmt.executeQuery()) {
|
||||
|
||||
while (resultSet.next()) {
|
||||
result.add(resultSet.getLong("LIFECYCLE_ID"));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
private void addLifecycleUuidCol(final Connection connection)
|
||||
throws Exception {
|
||||
try (PreparedStatement stmt = connection.prepareStatement(
|
||||
"alter table LIFECYCLES add column UUID varchar(255)"
|
||||
)) {
|
||||
stmt.execute();
|
||||
}
|
||||
}
|
||||
|
||||
private void addDefinitionLifecycleCol(final Connection connection)
|
||||
throws Exception {
|
||||
try (PreparedStatement stmt = connection.prepareStatement(
|
||||
"alter table lifecyle_definitions "
|
||||
+ "add column UUID varchar(255)"
|
||||
)) {
|
||||
stmt.execute();
|
||||
}
|
||||
}
|
||||
|
||||
private void setLifecycleUuid(
|
||||
final Connection connection, final List<Long> lifecycleIds
|
||||
) throws Exception {
|
||||
try (PreparedStatement stmt = connection.prepareStatement(
|
||||
"update LIFECYCLES set UUID = ? where LIFECYCLE_ID = ?"
|
||||
)) {
|
||||
for (final Long lifecycleId : lifecycleIds) {
|
||||
stmt.setString(1, UUID.randomUUID().toString());
|
||||
stmt.setLong(2, lifecycleId);
|
||||
stmt.executeUpdate();
|
||||
stmt.clearParameters();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void setDefinitionUuid(
|
||||
final Connection connection, final List<Long> definitionIds
|
||||
) throws Exception {
|
||||
try (PreparedStatement stmt = connection.prepareStatement(
|
||||
"update LIFECYLE_DEFINITIONS set UUID = ? "
|
||||
+ "where LIFECYCLE_DEFINITION_ID = ?"
|
||||
)) {
|
||||
for (final Long lifecycleId : definitionIds) {
|
||||
stmt.setString(1, UUID.randomUUID().toString());
|
||||
stmt.setLong(2, lifecycleId);
|
||||
stmt.executeUpdate();
|
||||
stmt.clearParameters();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void addLifecycleUniqueConstraint(
|
||||
final Connection connection
|
||||
) throws Exception {
|
||||
try (PreparedStatement stmt = connection.prepareStatement(
|
||||
"alter table LIFECYCLES "
|
||||
+ "add constraint UK_40o4njo54m8c4xlwq6ctnsimd "
|
||||
+ "unique (UUID)"
|
||||
)) {
|
||||
stmt.execute();
|
||||
}
|
||||
}
|
||||
|
||||
private void addDefinitionUniqueConstraint(
|
||||
final Connection connection
|
||||
) throws Exception {
|
||||
try (PreparedStatement stmt = connection.prepareStatement(
|
||||
"alter table LIFECYLE_DEFINITIONS "
|
||||
+ "add constraint UK_n6ki3s5im2k2nccpocuctqqe3 "
|
||||
+ "unique (UUID)"
|
||||
)) {
|
||||
stmt.execute();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
/*
|
||||
* To change this license header, choose License Headers in Project Properties.
|
||||
* To change this template file, choose Tools | Templates
|
||||
* and open the template in the editor.
|
||||
*/
|
||||
package db.migrations.org.librecms.ccm_cms.h2;
|
||||
|
||||
import org.flywaydb.core.api.migration.Context;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||
*/
|
||||
public class V7_0_0_24__add_lifecycle_uuid
|
||||
extends db.migrations.org.librecms.ccm_cms.V7_0_0_24__add_lifecycle_uuid {
|
||||
|
||||
@Override
|
||||
public void migrate(final Context context) throws Exception {
|
||||
super.migrate(context);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
/*
|
||||
* To change this license header, choose License Headers in Project Properties.
|
||||
* To change this template file, choose Tools | Templates
|
||||
* and open the template in the editor.
|
||||
*/
|
||||
package db.migrations.org.librecms.ccm_cms.pgsql;
|
||||
|
||||
import org.flywaydb.core.api.migration.Context;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||
*/
|
||||
public class V7_0_0_24__add_lifecycle_uuid
|
||||
extends db.migrations.org.librecms.ccm_cms.V7_0_0_24__add_lifecycle_uuid {
|
||||
|
||||
@Override
|
||||
public void migrate(final Context context) throws Exception {
|
||||
super.migrate(context);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
/*
|
||||
* To change this license header, choose License Headers in Project Properties.
|
||||
* To change this template file, choose Tools | Templates
|
||||
* and open the template in the editor.
|
||||
*/
|
||||
package org.librecms.contentsection;
|
||||
|
||||
import org.libreccm.categorization.Category;
|
||||
import org.libreccm.imexport.AbstractEntityImExporter;
|
||||
import org.libreccm.imexport.Exportable;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import javax.transaction.Transactional;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||
* @param <T>
|
||||
*/
|
||||
public abstract class AbstractContentItemImExporter<T extends ContentItem>
|
||||
extends AbstractEntityImExporter<T> {
|
||||
|
||||
@Inject
|
||||
private ContentItemRepository itemRepository;
|
||||
|
||||
@Override
|
||||
protected Set<Class<? extends Exportable>> getRequiredEntities() {
|
||||
|
||||
final Set<Class<? extends Exportable>> entities = new HashSet<>();
|
||||
entities.add(Category.class);
|
||||
entities.add(ContentSection.class);
|
||||
|
||||
return entities;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(Transactional.TxType.REQUIRED)
|
||||
public void saveImportedEntity(final T entity) {
|
||||
itemRepository.save(entity);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -313,7 +313,7 @@ import static org.librecms.CmsConstants.*;
|
|||
+ " '" + AssetPrivileges.VIEW + "' "
|
||||
+ " ) "
|
||||
+ " OR true = :isSystemUser OR true = :isAdmin"
|
||||
+ ")")
|
||||
+ ") ORDER BY a.displayName")
|
||||
,
|
||||
@NamedQuery(
|
||||
name = "Asset.countFilterByFolderAndTitle",
|
||||
|
|
|
|||
|
|
@ -18,6 +18,8 @@
|
|||
*/
|
||||
package org.librecms.contentsection;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
|
||||
import static org.librecms.CmsConstants.*;
|
||||
|
||||
import org.hibernate.envers.Audited;
|
||||
|
|
@ -56,9 +58,12 @@ import org.hibernate.search.annotations.IndexedEmbedded;
|
|||
import javax.persistence.FetchType;
|
||||
|
||||
import org.hibernate.envers.NotAudited;
|
||||
import org.libreccm.imexport.Exportable;
|
||||
import org.librecms.contentsection.privileges.ItemPrivileges;
|
||||
|
||||
import javax.persistence.OrderBy;
|
||||
import javax.xml.bind.annotation.XmlElement;
|
||||
import javax.xml.bind.annotation.XmlElementWrapper;
|
||||
|
||||
|
||||
/**
|
||||
|
|
@ -594,12 +599,13 @@ import javax.persistence.OrderBy;
|
|||
+ " )"
|
||||
)
|
||||
})
|
||||
public class ContentItem extends CcmObject implements Serializable {
|
||||
public class ContentItem extends CcmObject implements Serializable, Exportable {
|
||||
|
||||
private static final long serialVersionUID = 5897287630227129653L;
|
||||
|
||||
@Column(name = "ITEM_UUID", nullable = false)
|
||||
@Field
|
||||
@XmlElement(name = "item-uuid", namespace = CMS_XML_NS)
|
||||
private String itemUuid;
|
||||
|
||||
/**
|
||||
|
|
@ -619,6 +625,7 @@ public class ContentItem extends CcmObject implements Serializable {
|
|||
)
|
||||
)
|
||||
// @Field
|
||||
@XmlElement(name = "name", namespace = CMS_XML_NS)
|
||||
private LocalizedString name;
|
||||
|
||||
/**
|
||||
|
|
@ -628,6 +635,7 @@ public class ContentItem extends CcmObject implements Serializable {
|
|||
@JoinColumn(name = "CONTENT_TYPE_ID")
|
||||
@Audited(targetAuditMode = RelationTargetAuditMode.NOT_AUDITED)
|
||||
// @Field
|
||||
@XmlElement(name = "content-type", namespace = CMS_XML_NS)
|
||||
private ContentType contentType;
|
||||
|
||||
/**
|
||||
|
|
@ -644,6 +652,7 @@ public class ContentItem extends CcmObject implements Serializable {
|
|||
)
|
||||
)
|
||||
@IndexedEmbedded
|
||||
@XmlElement(name = "title", namespace = CMS_XML_NS)
|
||||
private LocalizedString title;
|
||||
|
||||
/**
|
||||
|
|
@ -658,6 +667,7 @@ public class ContentItem extends CcmObject implements Serializable {
|
|||
@JoinColumn(name = "OBJECT_ID")}
|
||||
))
|
||||
@IndexedEmbedded
|
||||
@XmlElement(name = "description", namespace = CMS_XML_NS)
|
||||
private LocalizedString description;
|
||||
|
||||
/**
|
||||
|
|
@ -666,6 +676,7 @@ public class ContentItem extends CcmObject implements Serializable {
|
|||
@Column(name = "VERSION")
|
||||
@Enumerated(EnumType.STRING)
|
||||
@Field
|
||||
@XmlElement(name = "version", namespace = CMS_XML_NS)
|
||||
private ContentItemVersion version;
|
||||
|
||||
/**
|
||||
|
|
@ -673,6 +684,7 @@ public class ContentItem extends CcmObject implements Serializable {
|
|||
*/
|
||||
@Column(name = "LAUNCH_DATE")
|
||||
@Temporal(TemporalType.DATE)
|
||||
@XmlElement(name = "launch-date", namespace = CMS_XML_NS)
|
||||
private Date launchDate;
|
||||
|
||||
/**
|
||||
|
|
@ -684,16 +696,20 @@ public class ContentItem extends CcmObject implements Serializable {
|
|||
|
||||
@OneToMany(mappedBy = "item", fetch = FetchType.LAZY)
|
||||
@OrderBy("order ASC")
|
||||
@XmlElementWrapper(name = "attachments", namespace = CMS_XML_NS)
|
||||
@JsonIgnore
|
||||
private List<AttachmentList> attachments;
|
||||
|
||||
@OneToOne()
|
||||
@JoinColumn(name = "LIFECYCLE_ID")
|
||||
@Audited(targetAuditMode = RelationTargetAuditMode.NOT_AUDITED)
|
||||
@XmlElement(name = "lifecycle", namespace = CMS_XML_NS)
|
||||
private Lifecycle lifecycle;
|
||||
|
||||
@OneToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "WORKFLOW_ID")
|
||||
@Audited(targetAuditMode = RelationTargetAuditMode.NOT_AUDITED)
|
||||
@XmlElement(name = "workflow", namespace = CMS_XML_NS)
|
||||
private Workflow workflow;
|
||||
|
||||
/**
|
||||
|
|
@ -706,6 +722,7 @@ public class ContentItem extends CcmObject implements Serializable {
|
|||
@Column(name = "CREATION_DATE")
|
||||
@Temporal(TemporalType.TIMESTAMP)
|
||||
@NotAudited
|
||||
@XmlElement(name = "creation-date", namespace = CMS_XML_NS)
|
||||
private Date creationDate;
|
||||
|
||||
/**
|
||||
|
|
@ -718,6 +735,7 @@ public class ContentItem extends CcmObject implements Serializable {
|
|||
@Column(name = "LAST_MODIFIED")
|
||||
@Temporal(TemporalType.TIMESTAMP)
|
||||
@NotAudited
|
||||
@XmlElement(name = "last-modified", namespace = CMS_XML_NS)
|
||||
private Date lastModified;
|
||||
|
||||
/**
|
||||
|
|
@ -732,6 +750,7 @@ public class ContentItem extends CcmObject implements Serializable {
|
|||
*/
|
||||
@Column(name = "CREATION_USER_NAME")
|
||||
@NotAudited
|
||||
@XmlElement(name = "creation-username", namespace = CMS_XML_NS)
|
||||
private String creationUserName;
|
||||
|
||||
/**
|
||||
|
|
@ -746,6 +765,7 @@ public class ContentItem extends CcmObject implements Serializable {
|
|||
*/
|
||||
@Column(name = "LAST_MODIFYING_USER_NAME")
|
||||
@NotAudited
|
||||
@XmlElement(name = "last-modifying-username", namespace = CMS_XML_NS)
|
||||
private String lastModifyingUserName;
|
||||
|
||||
public ContentItem() {
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@
|
|||
*/
|
||||
package org.librecms.contentsection;
|
||||
|
||||
import org.libreccm.imexport.Exportable;
|
||||
import org.libreccm.security.RecursivePermissions;
|
||||
import org.libreccm.security.Role;
|
||||
import org.libreccm.web.CcmApplication;
|
||||
|
|
@ -116,7 +117,9 @@ import static org.librecms.CmsConstants.*;
|
|||
// creator = ContentSectionCreator.class,
|
||||
// servlet = ContentSectionServlet.class,
|
||||
// instanceForm = ApplicationInstanceForm.class)
|
||||
public class ContentSection extends CcmApplication implements Serializable {
|
||||
public class ContentSection
|
||||
extends CcmApplication
|
||||
implements Serializable, Exportable {
|
||||
|
||||
private static final long serialVersionUID = -671718122153931727L;
|
||||
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue