mvc-theme-integration #8

Merged
jensp merged 981 commits from mvc-theme-integration into master 2021-01-09 16:16:08 +01:00
825 changed files with 48192 additions and 11066 deletions

10
.gitignore vendored
View File

@ -1,4 +1,14 @@
it-pgsql-datasources.properties
nb-configuration.xml
node
node_modules
runtime
target
.cache
.classpath
.factorypath
.project
.settings
.tscache
*.vscode
/ccm-core/nbproject/

85
INSTALL.md 100644
View File

@ -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

20
Jenkinsfile vendored
View File

@ -7,13 +7,7 @@ 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 package verify -Prun-its-with-wildfly-h2mem -Dwildfly.propertiesFile=/srv/libreccm-wildfly.properties'
}
}
}
@ -24,6 +18,15 @@ pipeline {
}
}
}
stage("Deploy") {
steps {
dir('') {
configFileProvider([configFile(fileId: 'libreccm-packages-deploy', variable: 'MAVEN_SETTINGS')]) {
sh 'mvn -U -s "$MAVEN_SETTINGS" -e package deploy'
}
}
}
}
}
post {
success {
@ -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
View File

@ -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

View File

@ -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

View File

@ -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>

View File

@ -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>

View File

@ -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)

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -1 +0,0 @@
import "ccm-cms-pagemodelseditor";

View File

@ -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.

View File

@ -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>

View File

@ -0,0 +1,2 @@
datasource.properties
wildfly.properties

View File

@ -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

View File

@ -0,0 +1,3 @@
libreccm.datasource.connectionUrl=jdbc:postgresql://localhost:5432/ccm-devel-beta
libreccm.datasource.username=ccm
libreccm.datasource.password=ccm

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scene Scope="Project" version="2">
<Scope Scope="Faces Configuration Only"/>
<Scope Scope="Project"/>
<Scope Scope="All Faces Configurations"/>
</Scene>

View File

@ -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": {

View File

@ -3,200 +3,401 @@
<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>
<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>
</plugins>
</build>
<plugin>
<groupId>com.github.eirslett</groupId>
<artifactId>frontend-maven-plugin</artifactId>
<!-- Profiles for running the bundle in a development environment -->
<profiles>
<configuration>
<installDirectory>../node</installDirectory>
</configuration>
<!-- 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>
<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-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>WEB-INF/</include>
</includes>
</overlay>
<overlay>
<groupId>org.libreccm</groupId>
<artifactId>ccm-shortcuts</artifactId>
<type>jar</type>
<includes>
<include>WEB-INF/</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>WEB-INF/</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>
<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>
<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>
</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.
-->
<profiles>
<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>

View File

@ -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>
<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-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-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>
</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>
<skip>true</skip>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>

View File

@ -101,5 +101,11 @@
<Logger name="com.arsdigita.web.DefaultApplicationFileResolver"
level="debug">
</Logger>
<Logger name = "org.libreccm.ui.admin.AdminApplication"
level="debug">
</Logger>
<Logger name="org.libreccm.ui.admin.applications.ApplicationsPage"
level="debug">
</Logger>
</Loggers>
</Configuration>

View File

@ -0,0 +1 @@
import "@librecms/ccm-cms-pagemodelseditor";

View File

@ -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.mvc.facelets.CcmViewResourceHandler</resource-handler>
</application>
</faces-config>

View File

@ -0,0 +1,5 @@
<?xml version="1.0" ?>
<jboss-web>
<context-root>/libreccm</context-root>
<default-encoding>UTF-8</default-encoding>
</jboss-web>

View File

@ -15,6 +15,10 @@
<param-name>ccm.distribution</param-name>
<param-value>libreccm</param-value>
</context-param>
<context-param>
<param-name>resteasy.resources</param-name>
<param-value>org.jboss.resteasy.plugins.stats.RegistryStatsResource</param-value>
</context-param>
<!-- No JSESSIONID!!! -->
<session-config>
@ -65,8 +69,12 @@
<param-name>javax.faces.FACELETS_SKIP_COMMENTS</param-name>
<param-value>true</param-value>
</context-param>
<context-param>
<param-name>PARAMETER_ENCODING</param-name>
<param-value>UTF-8</param-value>
</context-param>
<!-- <servlet>
<!-- <servlet>
<servlet-name>vaadin-servlet</servlet-name>
<servlet-class>com.vaadin.cdi.server.VaadinCDIServlet</servlet-class>
</servlet>

View File

@ -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.

View File

@ -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>

View File

@ -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

View File

@ -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>

View File

@ -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>

View File

@ -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",

View File

@ -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>

View File

@ -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",

View File

@ -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"
},

View File

@ -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>

View File

@ -14,7 +14,7 @@ import {
ComponentModelEditorProps,
EditorComponents,
PageModelEditor,
} from "ccm-pagemodelseditor";
} from "@libreccm/ccm-pagemodelseditor";
class CategoryTreeComponentPropertiesList
extends React.Component<

View File

@ -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>

View File

@ -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": {

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>
@ -71,6 +71,22 @@
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.mvc</groupId>
<artifactId>javax.mvc-api</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.eclipse.krazo</groupId>
<artifactId>krazo-core</artifactId>
<!--<scope>provided</scope>-->
</dependency>
<dependency>
<groupId>org.eclipse.krazo.ext</groupId>
<artifactId>krazo-freemarker</artifactId>
<!--<scope>provided</scope>-->
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.jaxrs</groupId>
<artifactId>jackson-jaxrs-json-provider</artifactId>
@ -250,13 +266,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 +278,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 +297,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 +356,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 +376,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 +409,115 @@
</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>
<javaOpts>-Xms64m -Xmx2048M -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=2048m</javaOpts>
<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 +526,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 +558,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 +841,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>

View File

@ -23,7 +23,7 @@ import com.arsdigita.bebop.parameters.ParameterModel;
import com.arsdigita.bebop.parameters.StringParameter;
import com.arsdigita.cms.CMS;
import org.arsdigita.cms.CMSConfig;
import org.librecms.CMSConfig;
import org.libreccm.cdi.utils.CdiUtil;
import org.libreccm.l10n.GlobalizationHelper;
import org.librecms.contentsection.ContentSection;

View File

@ -60,7 +60,7 @@ import com.arsdigita.xml.Element;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.arsdigita.cms.CMSConfig;
import org.librecms.CMSConfig;
import org.libreccm.cdi.utils.CdiUtil;
import org.librecms.CmsConstants;
import org.librecms.contentsection.ContentItem;

View File

@ -50,7 +50,7 @@ import com.arsdigita.util.Assert;
import javax.servlet.http.HttpServletRequest;
import org.arsdigita.cms.CMSConfig;
import org.librecms.CMSConfig;
import org.libreccm.cdi.utils.CdiUtil;
import org.libreccm.security.PermissionChecker;
import org.librecms.CmsConstants;

View File

@ -85,7 +85,7 @@ import org.librecms.contentsection.Folder;
import java.util.List;
import org.arsdigita.cms.CMSConfig;
import org.librecms.CMSConfig;
import org.libreccm.categorization.CategoryManager;
import org.libreccm.core.CcmObject;
import org.libreccm.core.UnexpectedErrorException;

View File

@ -62,7 +62,7 @@ import java.util.Objects;
import java.util.ResourceBundle;
import org.apache.logging.log4j.LogManager;
import org.arsdigita.cms.CMSConfig;
import org.librecms.CMSConfig;
import org.libreccm.cdi.utils.CdiUtil;
import org.libreccm.configuration.ConfigurationManager;
import org.libreccm.core.UnexpectedErrorException;

View File

@ -39,7 +39,7 @@ import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.globalization.GlobalizedMessage;
import com.arsdigita.util.Assert;
import org.arsdigita.cms.CMSConfig;
import org.librecms.CMSConfig;
import org.libreccm.cdi.utils.CdiUtil;
import org.libreccm.workflow.Workflow;
import org.librecms.CmsConstants;

View File

@ -32,7 +32,7 @@ import org.libreccm.categorization.Category;
import com.arsdigita.cms.CMS;
import com.arsdigita.kernel.KernelConfig;
import org.arsdigita.cms.CMSConfig;
import org.librecms.CMSConfig;
import org.libreccm.categorization.CategoryRepository;
import org.libreccm.cdi.utils.CdiUtil;
import org.librecms.contentsection.ContentSection;

View File

@ -34,7 +34,7 @@ import com.arsdigita.cms.CMS;
import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.util.Classes;
import org.arsdigita.cms.CMSConfig;
import org.librecms.CMSConfig;
import org.libreccm.core.UnexpectedErrorException;
import org.librecms.CmsConstants;
import org.librecms.ui.authoring.ContentItemAuthoringStep;

View File

@ -20,7 +20,7 @@ import com.arsdigita.bebop.form.TextArea;
import com.arsdigita.cms.ui.CMSDHTMLEditor;
import com.arsdigita.globalization.GlobalizedMessage;
import org.arsdigita.cms.CMSConfig;
import org.librecms.CMSConfig;
import org.libreccm.l10n.LocalizedString;
import org.librecms.CmsConstants;

View File

@ -33,7 +33,7 @@ import com.arsdigita.cms.ui.SecurityPropertyEditor;
import com.arsdigita.globalization.GlobalizedMessage;
import com.arsdigita.toolbox.ui.DomainObjectPropertySheet;
import org.arsdigita.cms.CMSConfig;
import org.librecms.CMSConfig;
import org.libreccm.l10n.LocalizedString;
import org.librecms.CmsConstants;

View File

@ -36,7 +36,7 @@ import com.arsdigita.cms.ui.authoring.SelectedLanguageUtil;
import com.arsdigita.globalization.GlobalizedMessage;
import com.arsdigita.kernel.KernelConfig;
import org.arsdigita.cms.CMSConfig;
import org.librecms.CMSConfig;
import org.libreccm.cdi.utils.CdiUtil;
import org.librecms.CmsConstants;
import org.librecms.contentsection.ContentItemRepository;

View File

@ -31,7 +31,7 @@ import com.arsdigita.cms.ui.authoring.SimpleEditStep;
import com.arsdigita.cms.ui.workflow.WorkflowLockedComponentAccess;
import com.arsdigita.globalization.GlobalizedMessage;
import org.arsdigita.cms.CMSConfig;
import org.librecms.CMSConfig;
import org.librecms.CmsConstants;
import org.librecms.contentsection.ContentItem;

View File

@ -38,7 +38,7 @@ import com.arsdigita.globalization.GlobalizedMessage;
import java.util.Date;
import org.arsdigita.cms.CMSConfig;
import org.librecms.CMSConfig;
import org.libreccm.cdi.utils.CdiUtil;
import org.librecms.CmsConstants;
import org.librecms.contentsection.ContentItemRepository;

View File

@ -31,7 +31,7 @@ import com.arsdigita.cms.ui.authoring.SimpleEditStep;
import com.arsdigita.cms.ui.workflow.WorkflowLockedComponentAccess;
import com.arsdigita.globalization.GlobalizedMessage;
import org.arsdigita.cms.CMSConfig;
import org.librecms.CMSConfig;
import org.libreccm.cdi.utils.CdiUtil;
import org.libreccm.configuration.ConfigurationManager;
import org.librecms.CmsConstants;

View File

@ -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);

View File

@ -49,7 +49,7 @@ import java.util.Locale;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.arsdigita.cms.CMSConfig;
import org.librecms.CMSConfig;
import org.libreccm.cdi.utils.CdiUtil;
import org.librecms.CmsConstants;
import org.librecms.contentsection.ContentItemManager;
@ -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;

View File

@ -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);
}
}

View File

@ -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);
}
}

View File

@ -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(

View File

@ -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
);
}
}

View File

@ -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);
if (selectedSectionModel.getSelectedKey(state) == null) {
section.getTitle().addValue(selectedLocale,
(String) data.get(TITLE));
section.setPageBreak(pageBreak);
section.getText().addValue(selectedLocale, text);
sectionRepo.save(section);
if (selectedSectionModel.getSelectedKey(state) == null) {
controller.addSection(article, section);
} else {
controller.updateSection(
section,
(String) data.get(TITLE),
text,
pageBreak,
selectedLocale
);
}
if (sectionsStep != null) {

View File

@ -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(

View File

@ -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}.
@ -111,4 +119,6 @@ class NewItemFormController {
return query.getResultList();
}
}

View File

@ -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);
}
}

View File

@ -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());

View File

@ -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);
}
}

View File

@ -20,7 +20,7 @@ package com.arsdigita.cms.ui.cse;
import com.arsdigita.bebop.table.RowData;
import org.arsdigita.cms.CMSConfig;
import org.librecms.CMSConfig;
import org.libreccm.auditing.CcmRevision;
import org.libreccm.configuration.ConfigurationManager;
import org.libreccm.l10n.GlobalizationHelper;

View File

@ -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));

View File

@ -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));
}
/**

View File

@ -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());
}
}

View File

@ -69,7 +69,7 @@ import org.apache.logging.log4j.Logger;
import java.util.Arrays;
import java.util.List;
import org.arsdigita.cms.CMSConfig;
import org.librecms.CMSConfig;
import org.libreccm.categorization.Category;
import org.libreccm.categorization.CategoryManager;
import org.libreccm.cdi.utils.CdiUtil;

View File

@ -22,7 +22,7 @@ import com.arsdigita.cms.ui.ContentItemPage;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.arsdigita.cms.CMSConfig;
import org.librecms.CMSConfig;
import org.libreccm.categorization.Categorization;
import org.libreccm.categorization.Category;
import org.libreccm.configuration.ConfigurationManager;

View File

@ -55,7 +55,7 @@ import com.arsdigita.xml.Element;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.arsdigita.cms.CMSConfig;
import org.librecms.CMSConfig;
import org.libreccm.cdi.utils.CdiUtil;
import org.libreccm.l10n.GlobalizationHelper;
import org.libreccm.security.PermissionChecker;

View File

@ -52,7 +52,7 @@ import com.arsdigita.web.URL;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.arsdigita.cms.CMSConfig;
import org.librecms.CMSConfig;
import org.libreccm.cdi.utils.CdiUtil;
import org.libreccm.l10n.GlobalizationHelper;
import org.libreccm.security.Shiro;

View File

@ -21,7 +21,7 @@ package com.arsdigita.cms.ui.lifecycle;
import com.arsdigita.bebop.table.TableModel;
import com.arsdigita.globalization.GlobalizedMessage;
import org.arsdigita.cms.CMSConfig;
import org.librecms.CMSConfig;
import org.libreccm.cdi.utils.CdiUtil;
import org.libreccm.l10n.GlobalizationHelper;
import org.librecms.CmsConstants;

View File

@ -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;
}
/**
@ -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());
}
}

Some files were not shown because too many files have changed in this diff Show More