#91 Added skeleton for naked-objects example using Apache Isis SimpleApp archetype
This commit is contained in:
parent
aa491b2458
commit
5337ecdc35
2
.gitignore
vendored
2
.gitignore
vendored
@ -11,4 +11,4 @@ target
|
||||
.idea
|
||||
*.iml
|
||||
*.swp
|
||||
|
||||
datanucleus.log
|
51
naked-objects/.gitattributes
vendored
Normal file
51
naked-objects/.gitattributes
vendored
Normal file
@ -0,0 +1,51 @@
|
||||
#
|
||||
#
|
||||
# text files are normalized (convert crlf => lf)
|
||||
# binary files are not normalized (binary is a macro for -text -diff)
|
||||
#
|
||||
#
|
||||
|
||||
|
||||
# Unless otherwise stated, assume text
|
||||
|
||||
* text=auto
|
||||
|
||||
|
||||
*.java text diff=java
|
||||
*.html text diff=html
|
||||
*.xhtml text diff=html
|
||||
*.xml text
|
||||
*.txt text
|
||||
|
||||
|
||||
*.jar binary
|
||||
*.so binary
|
||||
*.dll binary
|
||||
|
||||
# images
|
||||
*.jpg binary
|
||||
*.jpeg binary
|
||||
*.png binary
|
||||
*.pdn binary
|
||||
*.pdn binary
|
||||
|
||||
|
||||
*.cs text diff=csharp
|
||||
|
||||
*.sln merge=union
|
||||
*.csproj merge=union
|
||||
*.vbproj merge=union
|
||||
*.fsproj merge=union
|
||||
*.dbproj merge=union
|
||||
|
||||
*.doc diff=astextplain
|
||||
*.DOC diff=astextplain
|
||||
*.docx diff=astextplain
|
||||
*.DOCX diff=astextplain
|
||||
*.dot diff=astextplain
|
||||
*.DOT diff=astextplain
|
||||
*.pdf diff=astextplain
|
||||
*.PDF diff=astextplain
|
||||
*.rtf diff=astextplain
|
||||
*.RTF diff=astextplain
|
||||
|
42
naked-objects/.gitignore
vendored
Normal file
42
naked-objects/.gitignore
vendored
Normal file
@ -0,0 +1,42 @@
|
||||
*~
|
||||
*.swp
|
||||
*.class
|
||||
bin/
|
||||
target/
|
||||
target-ide/
|
||||
logs/
|
||||
.settings/
|
||||
.project
|
||||
.classpath
|
||||
.idea
|
||||
*.iml
|
||||
|
||||
JArchitectOut/
|
||||
*.jdproj
|
||||
|
||||
neo4j_DB/
|
||||
|
||||
# log files
|
||||
datanucleus.log
|
||||
isis.log
|
||||
i18n-po.log
|
||||
hs_err_pid*.log
|
||||
|
||||
# Package Files #
|
||||
*.jar
|
||||
*.war
|
||||
*.ear
|
||||
|
||||
dependency-reduced-pom.xml
|
||||
pom.xml.tag
|
||||
pom.xml.next
|
||||
pom.xml.releaseBackup
|
||||
pom.xml.versionsBackup
|
||||
|
||||
.clover/
|
||||
*.jdproj
|
||||
JArchitectOut/
|
||||
|
||||
|
||||
rebel.xml
|
||||
/translations.pot
|
41
naked-objects/dom/log4j.properties
Normal file
41
naked-objects/dom/log4j.properties
Normal file
@ -0,0 +1,41 @@
|
||||
# Licensed to the Apache Software Foundation (ASF) under one
|
||||
# or more contributor license agreements. See the NOTICE file
|
||||
# distributed with this work for additional information
|
||||
# regarding copyright ownership. The ASF licenses this file
|
||||
# to you under the Apache License, Version 2.0 (the
|
||||
# "License"); you may not use this file except in compliance
|
||||
# with the License. You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing,
|
||||
# software distributed under the License is distributed on an
|
||||
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
# KIND, either express or implied. See the License for the
|
||||
# specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
# LOG4J Configuration
|
||||
# ===================
|
||||
|
||||
# Basic logging goes to "datanucleus.log"
|
||||
log4j.appender.A1=org.apache.log4j.FileAppender
|
||||
log4j.appender.A1.File=datanucleus.log
|
||||
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
|
||||
log4j.appender.A1.layout.ConversionPattern=%d{HH:mm:ss,SSS} (%t) %-5p [%c] - %m%n
|
||||
#log4j.appender.A1.Threshold=INFO
|
||||
|
||||
# Categories
|
||||
# Each category can be set to a "level", and to direct to an appender
|
||||
|
||||
# Default to DEBUG level for all DataNucleus categories
|
||||
log4j.logger.DataNucleus = DEBUG, A1
|
||||
|
||||
log4j.category.com.mchange.v2.c3p0=INFO, A1
|
||||
log4j.category.com.mchange.v2.resourcepool=INFO, A1
|
||||
log4j.category.org.logicalcobwebs.proxool=INFO,A1
|
||||
|
||||
|
||||
# Hbase libs logging
|
||||
log4j.category.org.apache.hadoop=INFO,A1
|
||||
log4j.category.org.apache.zookeeper=INFO,A1
|
194
naked-objects/dom/pom.xml
Normal file
194
naked-objects/dom/pom.xml
Normal file
@ -0,0 +1,194 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one
|
||||
or more contributor license agreements. See the NOTICE file
|
||||
distributed with this work for additional information
|
||||
regarding copyright ownership. The ASF licenses this file
|
||||
to you under the Apache License, Version 2.0 (the
|
||||
"License"); you may not use this file except in compliance
|
||||
with the License. You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing,
|
||||
software distributed under the License is distributed on an
|
||||
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
KIND, either express or implied. See the License for the
|
||||
specific language governing permissions and limitations
|
||||
under the License.
|
||||
--><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/maven-v4_0_0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<parent>
|
||||
<groupId>com.iluwatar</groupId>
|
||||
<artifactId>naked-objects</artifactId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>naked-objects-dom</artifactId>
|
||||
<name>Simple App DOM</name>
|
||||
|
||||
<build>
|
||||
<resources>
|
||||
<resource>
|
||||
<directory>src/main/resources</directory>
|
||||
</resource>
|
||||
<resource>
|
||||
<directory>src/main/java</directory>
|
||||
<includes>
|
||||
<include>**</include>
|
||||
</includes>
|
||||
<excludes>
|
||||
<exclude>**/*.java</exclude>
|
||||
</excludes>
|
||||
</resource>
|
||||
</resources>
|
||||
</build>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.apache.isis.core</groupId>
|
||||
<artifactId>isis-core-applib</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.apache.isis.core</groupId>
|
||||
<artifactId>isis-core-unittestsupport</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
<!-- Bytecode libraries (for mocking) -->
|
||||
<dependency>
|
||||
<groupId>org.objenesis</groupId>
|
||||
<artifactId>objenesis</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.assertj</groupId>
|
||||
<artifactId>assertj-core</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
<profiles>
|
||||
<profile>
|
||||
<id>enhance</id>
|
||||
<activation>
|
||||
<activeByDefault>true</activeByDefault>
|
||||
</activation>
|
||||
<properties>
|
||||
<datanucleus-maven-plugin.version>4.0.0-release</datanucleus-maven-plugin.version>
|
||||
</properties>
|
||||
<build>
|
||||
<pluginManagement>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
|
||||
<groupId>org.eclipse.m2e</groupId>
|
||||
<artifactId>lifecycle-mapping</artifactId>
|
||||
<version>1.0.0</version>
|
||||
<configuration>
|
||||
<lifecycleMappingMetadata>
|
||||
<pluginExecutions>
|
||||
<pluginExecution>
|
||||
<pluginExecutionFilter>
|
||||
<groupId>org.datanucleus</groupId>
|
||||
<artifactId>datanucleus-maven-plugin</artifactId>
|
||||
<versionRange>[${datanucleus-maven-plugin.version},)</versionRange>
|
||||
<goals>
|
||||
<goal>enhance</goal>
|
||||
</goals>
|
||||
</pluginExecutionFilter>
|
||||
<action>
|
||||
<ignore></ignore>
|
||||
</action>
|
||||
</pluginExecution>
|
||||
</pluginExecutions>
|
||||
</lifecycleMappingMetadata>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</pluginManagement>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.datanucleus</groupId>
|
||||
<artifactId>datanucleus-maven-plugin</artifactId>
|
||||
<version>${datanucleus-maven-plugin.version}</version>
|
||||
<configuration>
|
||||
<fork>false</fork>
|
||||
<log4jConfiguration>${basedir}/log4j.properties</log4jConfiguration>
|
||||
<verbose>true</verbose>
|
||||
<props>${basedir}/datanucleus.properties</props>
|
||||
</configuration>
|
||||
<executions>
|
||||
<execution>
|
||||
<phase>process-classes</phase>
|
||||
<goals>
|
||||
<goal>enhance</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.datanucleus</groupId>
|
||||
<artifactId>datanucleus-core</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.datanucleus</groupId>
|
||||
<artifactId>datanucleus-jodatime</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.datanucleus</groupId>
|
||||
<artifactId>datanucleus-api-jdo</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</profile>
|
||||
<profile>
|
||||
<id>isis-validate</id>
|
||||
<activation>
|
||||
</activation>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.isis.tool</groupId>
|
||||
<artifactId>isis-maven-plugin</artifactId>
|
||||
<version>1.9.0-SNAPSHOT</version>
|
||||
<configuration>
|
||||
<isisConfigDir>../webapp/src/main/webapp/WEB-INF</isisConfigDir>
|
||||
</configuration>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.apache.isis.example.application</groupId>
|
||||
<artifactId>simpleapp-dom</artifactId>
|
||||
<version>1.9.0-SNAPSHOT</version>
|
||||
</dependency>
|
||||
<!--
|
||||
... workaround to avoid conflict with plexus-default
|
||||
(not sure why exclusions in the isis-maven-plugin aren't sufficient, though ...
|
||||
-->
|
||||
<dependency>
|
||||
<groupId>com.google.guava</groupId>
|
||||
<artifactId>guava</artifactId>
|
||||
<version>16.0.1</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<executions>
|
||||
<execution>
|
||||
<phase>test</phase>
|
||||
<goals>
|
||||
<goal>validate</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</profile>
|
||||
</profiles>
|
||||
|
||||
</project>
|
26
naked-objects/dom/src/main/java/META-INF/persistence.xml
Normal file
26
naked-objects/dom/src/main/java/META-INF/persistence.xml
Normal file
@ -0,0 +1,26 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one
|
||||
or more contributor license agreements. See the NOTICE file
|
||||
distributed with this work for additional information
|
||||
regarding copyright ownership. The ASF licenses this file
|
||||
to you under the Apache License, Version 2.0 (the
|
||||
"License"); you may not use this file except in compliance
|
||||
with the License. You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing,
|
||||
software distributed under the License is distributed on an
|
||||
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
KIND, either express or implied. See the License for the
|
||||
specific language governing permissions and limitations
|
||||
under the License.
|
||||
-->
|
||||
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" version="1.0">
|
||||
|
||||
<persistence-unit name="simple">
|
||||
</persistence-unit>
|
||||
</persistence>
|
@ -0,0 +1,51 @@
|
||||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
package domainapp.dom.app.homepage;
|
||||
|
||||
import org.apache.isis.applib.DomainObjectContainer;
|
||||
import org.apache.isis.applib.annotation.Action;
|
||||
import org.apache.isis.applib.annotation.DomainService;
|
||||
import org.apache.isis.applib.annotation.HomePage;
|
||||
import org.apache.isis.applib.annotation.NatureOfService;
|
||||
import org.apache.isis.applib.annotation.SemanticsOf;
|
||||
|
||||
@DomainService(
|
||||
nature = NatureOfService.VIEW_CONTRIBUTIONS_ONLY // trick to suppress the actions from the top-level menu
|
||||
)
|
||||
public class HomePageService {
|
||||
|
||||
//region > homePage (action)
|
||||
|
||||
@Action(
|
||||
semantics = SemanticsOf.SAFE
|
||||
)
|
||||
@HomePage
|
||||
public HomePageViewModel homePage() {
|
||||
return container.injectServicesInto(new HomePageViewModel());
|
||||
}
|
||||
|
||||
//endregion
|
||||
|
||||
//region > injected services
|
||||
|
||||
@javax.inject.Inject
|
||||
DomainObjectContainer container;
|
||||
|
||||
//endregion
|
||||
}
|
@ -0,0 +1,50 @@
|
||||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
package domainapp.dom.app.homepage;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.isis.applib.annotation.ViewModel;
|
||||
|
||||
import domainapp.dom.modules.simple.SimpleObject;
|
||||
import domainapp.dom.modules.simple.SimpleObjects;
|
||||
|
||||
@ViewModel
|
||||
public class HomePageViewModel {
|
||||
|
||||
//region > title
|
||||
public String title() {
|
||||
return getObjects().size() + " objects";
|
||||
}
|
||||
//endregion
|
||||
|
||||
//region > object (collection)
|
||||
@org.apache.isis.applib.annotation.HomePage
|
||||
public List<SimpleObject> getObjects() {
|
||||
return simpleObjects.listAll();
|
||||
}
|
||||
//endregion
|
||||
|
||||
//region > injected services
|
||||
|
||||
@javax.inject.Inject
|
||||
SimpleObjects simpleObjects;
|
||||
|
||||
//endregion
|
||||
}
|
@ -0,0 +1,43 @@
|
||||
/**
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
* this work for additional information regarding copyright ownership.
|
||||
* The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
* (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
{
|
||||
"columns": [
|
||||
{
|
||||
"span": 0,
|
||||
"memberGroups": {}
|
||||
},
|
||||
{
|
||||
"span": 0,
|
||||
"memberGroups": {}
|
||||
},
|
||||
{
|
||||
"span": 0,
|
||||
"memberGroups": {}
|
||||
},
|
||||
{
|
||||
"span": 12,
|
||||
"collections": {
|
||||
"objects": {
|
||||
"collectionLayout": {
|
||||
"render": "EAGERLY"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"actions": {}
|
||||
}
|
Binary file not shown.
After Width: | Height: | Size: 456 B |
@ -0,0 +1,149 @@
|
||||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
package domainapp.dom.modules.simple;
|
||||
|
||||
import javax.jdo.JDOHelper;
|
||||
import javax.jdo.annotations.IdentityType;
|
||||
import javax.jdo.annotations.VersionStrategy;
|
||||
|
||||
import org.apache.isis.applib.DomainObjectContainer;
|
||||
import org.apache.isis.applib.Identifier;
|
||||
import org.apache.isis.applib.annotation.Action;
|
||||
import org.apache.isis.applib.annotation.BookmarkPolicy;
|
||||
import org.apache.isis.applib.annotation.DomainObject;
|
||||
import org.apache.isis.applib.annotation.DomainObjectLayout;
|
||||
import org.apache.isis.applib.annotation.Editing;
|
||||
import org.apache.isis.applib.annotation.Parameter;
|
||||
import org.apache.isis.applib.annotation.ParameterLayout;
|
||||
import org.apache.isis.applib.annotation.Property;
|
||||
import org.apache.isis.applib.annotation.Title;
|
||||
import org.apache.isis.applib.services.eventbus.ActionDomainEvent;
|
||||
import org.apache.isis.applib.services.i18n.TranslatableString;
|
||||
import org.apache.isis.applib.util.ObjectContracts;
|
||||
|
||||
@javax.jdo.annotations.PersistenceCapable(
|
||||
identityType=IdentityType.DATASTORE,
|
||||
schema = "simple",
|
||||
table = "SimpleObject"
|
||||
)
|
||||
@javax.jdo.annotations.DatastoreIdentity(
|
||||
strategy=javax.jdo.annotations.IdGeneratorStrategy.IDENTITY,
|
||||
column="id")
|
||||
@javax.jdo.annotations.Version(
|
||||
strategy=VersionStrategy.VERSION_NUMBER,
|
||||
column="version")
|
||||
@javax.jdo.annotations.Queries({
|
||||
@javax.jdo.annotations.Query(
|
||||
name = "find", language = "JDOQL",
|
||||
value = "SELECT "
|
||||
+ "FROM domainapp.dom.modules.simple.SimpleObject "),
|
||||
@javax.jdo.annotations.Query(
|
||||
name = "findByName", language = "JDOQL",
|
||||
value = "SELECT "
|
||||
+ "FROM domainapp.dom.modules.simple.SimpleObject "
|
||||
+ "WHERE name.indexOf(:name) >= 0 ")
|
||||
})
|
||||
@javax.jdo.annotations.Unique(name="SimpleObject_name_UNQ", members = {"name"})
|
||||
@DomainObject
|
||||
@DomainObjectLayout(
|
||||
bookmarking = BookmarkPolicy.AS_ROOT,
|
||||
cssClassFa = "fa-flag"
|
||||
)
|
||||
public class SimpleObject implements Comparable<SimpleObject> {
|
||||
|
||||
|
||||
//region > identificatiom
|
||||
public TranslatableString title() {
|
||||
return TranslatableString.tr("Object: {name}", "name", getName());
|
||||
}
|
||||
//endregion
|
||||
|
||||
//region > name (property)
|
||||
|
||||
private String name;
|
||||
|
||||
@javax.jdo.annotations.Column(allowsNull="false", length = 40)
|
||||
@Title(sequence="1")
|
||||
@Property(
|
||||
editing = Editing.DISABLED
|
||||
)
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(final String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
// endregion
|
||||
|
||||
//region > updateName (action)
|
||||
|
||||
public static class UpdateNameDomainEvent extends ActionDomainEvent<SimpleObject> {
|
||||
public UpdateNameDomainEvent(final SimpleObject source, final Identifier identifier, final Object... arguments) {
|
||||
super(source, identifier, arguments);
|
||||
}
|
||||
}
|
||||
|
||||
@Action(
|
||||
domainEvent = UpdateNameDomainEvent.class
|
||||
)
|
||||
public SimpleObject updateName(
|
||||
@Parameter(maxLength = 40)
|
||||
@ParameterLayout(named = "New name")
|
||||
final String name) {
|
||||
setName(name);
|
||||
return this;
|
||||
}
|
||||
|
||||
public String default0UpdateName() {
|
||||
return getName();
|
||||
}
|
||||
|
||||
public TranslatableString validateUpdateName(final String name) {
|
||||
return name.contains("!")? TranslatableString.tr("Exclamation mark is not allowed"): null;
|
||||
}
|
||||
|
||||
//endregion
|
||||
|
||||
//region > version (derived property)
|
||||
public Long getVersionSequence() {
|
||||
return (Long) JDOHelper.getVersion(this);
|
||||
}
|
||||
//endregion
|
||||
|
||||
//region > compareTo
|
||||
|
||||
@Override
|
||||
public int compareTo(final SimpleObject other) {
|
||||
return ObjectContracts.compare(this, other, "name");
|
||||
}
|
||||
|
||||
//endregion
|
||||
|
||||
//region > injected services
|
||||
|
||||
@javax.inject.Inject
|
||||
@SuppressWarnings("unused")
|
||||
private DomainObjectContainer container;
|
||||
|
||||
//endregion
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,56 @@
|
||||
/**
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
* this work for additional information regarding copyright ownership.
|
||||
* The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
* (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
{
|
||||
"columns": [
|
||||
{
|
||||
"span": 6,
|
||||
"memberGroups": {
|
||||
"General": {
|
||||
"members": {
|
||||
"name": {
|
||||
"actions": {
|
||||
"updateName": {
|
||||
"actionLayout": {
|
||||
"position": "BOTTOM"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"versionSequence": {
|
||||
"propertyLayout": {
|
||||
"name": "version"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"span": 0,
|
||||
"memberGroups": {}
|
||||
},
|
||||
{
|
||||
"span": 0,
|
||||
"memberGroups": {}
|
||||
},
|
||||
{
|
||||
"span": 6,
|
||||
"collections": {}
|
||||
}
|
||||
],
|
||||
"actions": {}
|
||||
}
|
Binary file not shown.
After Width: | Height: | Size: 653 B |
@ -0,0 +1,107 @@
|
||||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
package domainapp.dom.modules.simple;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.isis.applib.DomainObjectContainer;
|
||||
import org.apache.isis.applib.Identifier;
|
||||
import org.apache.isis.applib.annotation.Action;
|
||||
import org.apache.isis.applib.annotation.ActionLayout;
|
||||
import org.apache.isis.applib.annotation.BookmarkPolicy;
|
||||
import org.apache.isis.applib.annotation.DomainService;
|
||||
import org.apache.isis.applib.annotation.DomainServiceLayout;
|
||||
import org.apache.isis.applib.annotation.MemberOrder;
|
||||
import org.apache.isis.applib.annotation.ParameterLayout;
|
||||
import org.apache.isis.applib.annotation.SemanticsOf;
|
||||
import org.apache.isis.applib.query.QueryDefault;
|
||||
import org.apache.isis.applib.services.eventbus.ActionDomainEvent;
|
||||
import org.apache.isis.applib.services.i18n.TranslatableString;
|
||||
|
||||
@DomainService(repositoryFor = SimpleObject.class)
|
||||
@DomainServiceLayout(menuOrder = "10")
|
||||
public class SimpleObjects {
|
||||
|
||||
//region > title
|
||||
public TranslatableString title() {
|
||||
return TranslatableString.tr("Simple Objects");
|
||||
}
|
||||
//endregion
|
||||
|
||||
//region > listAll (action)
|
||||
@Action(
|
||||
semantics = SemanticsOf.SAFE
|
||||
)
|
||||
@ActionLayout(
|
||||
bookmarking = BookmarkPolicy.AS_ROOT
|
||||
)
|
||||
@MemberOrder(sequence = "1")
|
||||
public List<SimpleObject> listAll() {
|
||||
return container.allInstances(SimpleObject.class);
|
||||
}
|
||||
//endregion
|
||||
|
||||
//region > findByName (action)
|
||||
@Action(
|
||||
semantics = SemanticsOf.SAFE
|
||||
)
|
||||
@ActionLayout(
|
||||
bookmarking = BookmarkPolicy.AS_ROOT
|
||||
)
|
||||
@MemberOrder(sequence = "2")
|
||||
public List<SimpleObject> findByName(
|
||||
@ParameterLayout(named="Name")
|
||||
final String name
|
||||
) {
|
||||
return container.allMatches(
|
||||
new QueryDefault<>(
|
||||
SimpleObject.class,
|
||||
"findByName",
|
||||
"name", name));
|
||||
}
|
||||
//endregion
|
||||
|
||||
//region > create (action)
|
||||
public static class CreateDomainEvent extends ActionDomainEvent<SimpleObjects> {
|
||||
public CreateDomainEvent(final SimpleObjects source, final Identifier identifier, final Object... arguments) {
|
||||
super(source, identifier, arguments);
|
||||
}
|
||||
}
|
||||
|
||||
@Action(
|
||||
domainEvent = CreateDomainEvent.class
|
||||
)
|
||||
@MemberOrder(sequence = "3")
|
||||
public SimpleObject create(
|
||||
final @ParameterLayout(named="Name") String name) {
|
||||
final SimpleObject obj = container.newTransientInstance(SimpleObject.class);
|
||||
obj.setName(name);
|
||||
container.persistIfNotAlready(obj);
|
||||
return obj;
|
||||
}
|
||||
|
||||
//endregion
|
||||
|
||||
//region > injected services
|
||||
|
||||
@javax.inject.Inject
|
||||
DomainObjectContainer container;
|
||||
|
||||
//endregion
|
||||
}
|
@ -0,0 +1,49 @@
|
||||
/**
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
* this work for additional information regarding copyright ownership.
|
||||
* The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
* (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package domainapp.dom.modules.simple;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
public class SimpleObjectTest {
|
||||
|
||||
SimpleObject simpleObject;
|
||||
|
||||
@Before
|
||||
public void setUp() throws Exception {
|
||||
simpleObject = new SimpleObject();
|
||||
}
|
||||
|
||||
public static class Name extends SimpleObjectTest {
|
||||
|
||||
@Test
|
||||
public void happyCase() throws Exception {
|
||||
// given
|
||||
String name = "Foobar";
|
||||
assertThat(simpleObject.getName()).isNull();
|
||||
|
||||
// when
|
||||
simpleObject.setName(name);
|
||||
|
||||
// then
|
||||
assertThat(simpleObject.getName()).isEqualTo(name);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,104 @@
|
||||
/**
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
* this work for additional information regarding copyright ownership.
|
||||
* The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
* (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package domainapp.dom.modules.simple;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.google.common.collect.Lists;
|
||||
|
||||
import org.jmock.Expectations;
|
||||
import org.jmock.Sequence;
|
||||
import org.jmock.auto.Mock;
|
||||
import org.junit.Before;
|
||||
import org.junit.Rule;
|
||||
import org.junit.Test;
|
||||
|
||||
import org.apache.isis.applib.DomainObjectContainer;
|
||||
import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
|
||||
import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
public class SimpleObjectsTest {
|
||||
|
||||
@Rule
|
||||
public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(Mode.INTERFACES_AND_CLASSES);
|
||||
|
||||
@Mock
|
||||
DomainObjectContainer mockContainer;
|
||||
|
||||
SimpleObjects simpleObjects;
|
||||
|
||||
@Before
|
||||
public void setUp() throws Exception {
|
||||
simpleObjects = new SimpleObjects();
|
||||
simpleObjects.container = mockContainer;
|
||||
}
|
||||
|
||||
public static class Create extends SimpleObjectsTest {
|
||||
|
||||
@Test
|
||||
public void happyCase() throws Exception {
|
||||
|
||||
// given
|
||||
final SimpleObject simpleObject = new SimpleObject();
|
||||
|
||||
final Sequence seq = context.sequence("create");
|
||||
context.checking(new Expectations() {
|
||||
{
|
||||
oneOf(mockContainer).newTransientInstance(SimpleObject.class);
|
||||
inSequence(seq);
|
||||
will(returnValue(simpleObject));
|
||||
|
||||
oneOf(mockContainer).persistIfNotAlready(simpleObject);
|
||||
inSequence(seq);
|
||||
}
|
||||
});
|
||||
|
||||
// when
|
||||
final SimpleObject obj = simpleObjects.create("Foobar");
|
||||
|
||||
// then
|
||||
assertThat(obj).isEqualTo(simpleObject);
|
||||
assertThat(obj.getName()).isEqualTo("Foobar");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public static class ListAll extends SimpleObjectsTest {
|
||||
|
||||
@Test
|
||||
public void happyCase() throws Exception {
|
||||
|
||||
// given
|
||||
final List<SimpleObject> all = Lists.newArrayList();
|
||||
|
||||
context.checking(new Expectations() {
|
||||
{
|
||||
oneOf(mockContainer).allInstances(SimpleObject.class);
|
||||
will(returnValue(all));
|
||||
}
|
||||
});
|
||||
|
||||
// when
|
||||
final List<SimpleObject> list = simpleObjects.listAll();
|
||||
|
||||
// then
|
||||
assertThat(list).isEqualTo(all);
|
||||
}
|
||||
}
|
||||
}
|
38
naked-objects/fixture/pom.xml
Normal file
38
naked-objects/fixture/pom.xml
Normal file
@ -0,0 +1,38 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one
|
||||
or more contributor license agreements. See the NOTICE file
|
||||
distributed with this work for additional information
|
||||
regarding copyright ownership. The ASF licenses this file
|
||||
to you under the Apache License, Version 2.0 (the
|
||||
"License"); you may not use this file except in compliance
|
||||
with the License. You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing,
|
||||
software distributed under the License is distributed on an
|
||||
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
KIND, either express or implied. See the License for the
|
||||
specific language governing permissions and limitations
|
||||
under the License.
|
||||
--><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/maven-v4_0_0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<parent>
|
||||
<groupId>com.iluwatar</groupId>
|
||||
<artifactId>naked-objects</artifactId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>naked-objects-fixture</artifactId>
|
||||
<name>Simple App Fixtures</name>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>${project.groupId}</groupId>
|
||||
<artifactId>naked-objects-dom</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
</project>
|
@ -0,0 +1,76 @@
|
||||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
package domainapp.fixture;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.isis.applib.annotation.Action;
|
||||
import org.apache.isis.applib.annotation.ActionLayout;
|
||||
import org.apache.isis.applib.annotation.DomainService;
|
||||
import org.apache.isis.applib.annotation.DomainServiceLayout;
|
||||
import org.apache.isis.applib.annotation.MemberOrder;
|
||||
import org.apache.isis.applib.annotation.RestrictTo;
|
||||
import org.apache.isis.applib.fixturescripts.FixtureResult;
|
||||
import org.apache.isis.applib.fixturescripts.FixtureScript;
|
||||
import org.apache.isis.applib.fixturescripts.FixtureScripts;
|
||||
|
||||
import domainapp.fixture.scenarios.RecreateSimpleObjects;
|
||||
|
||||
/**
|
||||
* Enables fixtures to be installed from the application.
|
||||
*/
|
||||
@DomainService
|
||||
@DomainServiceLayout(
|
||||
named="Prototyping",
|
||||
menuBar = DomainServiceLayout.MenuBar.SECONDARY,
|
||||
menuOrder = "500"
|
||||
)
|
||||
public class DomainAppFixturesService extends FixtureScripts {
|
||||
|
||||
public DomainAppFixturesService() {
|
||||
super(DomainAppFixturesService.class.getPackage().getName(), MultipleExecutionStrategy.EXECUTE);
|
||||
}
|
||||
|
||||
@Override
|
||||
public FixtureScript default0RunFixtureScript() {
|
||||
return findFixtureScriptFor(RecreateSimpleObjects.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<FixtureScript> choices0RunFixtureScript() {
|
||||
return super.choices0RunFixtureScript();
|
||||
}
|
||||
|
||||
|
||||
// //////////////////////////////////////
|
||||
|
||||
@Action(
|
||||
restrictTo = RestrictTo.PROTOTYPING
|
||||
)
|
||||
@ActionLayout(
|
||||
cssClassFa="fa fa-refresh"
|
||||
)
|
||||
@MemberOrder(sequence="20")
|
||||
public Object recreateObjectsAndReturnFirst() {
|
||||
final List<FixtureResult> run = findFixtureScriptFor(RecreateSimpleObjects.class).run(null);
|
||||
return run.get(0).getObject();
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,71 @@
|
||||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
package domainapp.fixture.modules.simple;
|
||||
|
||||
import org.apache.isis.applib.fixturescripts.FixtureScript;
|
||||
|
||||
import domainapp.dom.modules.simple.SimpleObject;
|
||||
import domainapp.dom.modules.simple.SimpleObjects;
|
||||
|
||||
public class SimpleObjectCreate extends FixtureScript {
|
||||
|
||||
//region > name (input)
|
||||
private String name;
|
||||
/**
|
||||
* Name of the object (required)
|
||||
*/
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public SimpleObjectCreate setName(final String name) {
|
||||
this.name = name;
|
||||
return this;
|
||||
}
|
||||
//endregion
|
||||
|
||||
|
||||
//region > simpleObject (output)
|
||||
private SimpleObject simpleObject;
|
||||
|
||||
/**
|
||||
* The created simple object (output).
|
||||
* @return
|
||||
*/
|
||||
public SimpleObject getSimpleObject() {
|
||||
return simpleObject;
|
||||
}
|
||||
//endregion
|
||||
|
||||
@Override
|
||||
protected void execute(final ExecutionContext ec) {
|
||||
|
||||
String name = checkParam("name", ec, String.class);
|
||||
|
||||
this.simpleObject = wrap(simpleObjects).create(name);
|
||||
|
||||
// also make available to UI
|
||||
ec.addResult(this, simpleObject);
|
||||
}
|
||||
|
||||
@javax.inject.Inject
|
||||
private SimpleObjects simpleObjects;
|
||||
|
||||
}
|
@ -0,0 +1,36 @@
|
||||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
package domainapp.fixture.modules.simple;
|
||||
|
||||
import org.apache.isis.applib.fixturescripts.FixtureScript;
|
||||
import org.apache.isis.applib.services.jdosupport.IsisJdoSupport;
|
||||
|
||||
public class SimpleObjectsTearDown extends FixtureScript {
|
||||
|
||||
@Override
|
||||
protected void execute(ExecutionContext executionContext) {
|
||||
isisJdoSupport.executeUpdate("delete from simple.\"SimpleObject\"");
|
||||
}
|
||||
|
||||
|
||||
@javax.inject.Inject
|
||||
private IsisJdoSupport isisJdoSupport;
|
||||
|
||||
}
|
@ -0,0 +1,92 @@
|
||||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
package domainapp.fixture.scenarios;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import com.google.common.collect.Lists;
|
||||
|
||||
import org.apache.isis.applib.fixturescripts.FixtureScript;
|
||||
|
||||
import domainapp.dom.modules.simple.SimpleObject;
|
||||
import domainapp.fixture.modules.simple.SimpleObjectCreate;
|
||||
import domainapp.fixture.modules.simple.SimpleObjectsTearDown;
|
||||
|
||||
public class RecreateSimpleObjects extends FixtureScript {
|
||||
|
||||
public final List<String> NAMES = Collections.unmodifiableList(Arrays.asList(
|
||||
"Foo", "Bar", "Baz", "Frodo", "Froyo", "Fizz", "Bip", "Bop", "Bang", "Boo"));
|
||||
|
||||
public RecreateSimpleObjects() {
|
||||
withDiscoverability(Discoverability.DISCOVERABLE);
|
||||
}
|
||||
|
||||
//region > number (optional input)
|
||||
private Integer number;
|
||||
|
||||
/**
|
||||
* The number of objects to create, up to 10; optional, defaults to 3.
|
||||
*/
|
||||
public Integer getNumber() {
|
||||
return number;
|
||||
}
|
||||
|
||||
public RecreateSimpleObjects setNumber(final Integer number) {
|
||||
this.number = number;
|
||||
return this;
|
||||
}
|
||||
//endregion
|
||||
|
||||
//region > simpleObjects (output)
|
||||
private final List<SimpleObject> simpleObjects = Lists.newArrayList();
|
||||
|
||||
/**
|
||||
* The simpleobjects created by this fixture (output).
|
||||
*/
|
||||
public List<SimpleObject> getSimpleObjects() {
|
||||
return simpleObjects;
|
||||
}
|
||||
//endregion
|
||||
|
||||
@Override
|
||||
protected void execute(final ExecutionContext ec) {
|
||||
|
||||
// defaults
|
||||
final int number = defaultParam("number", ec, 3);
|
||||
|
||||
// validate
|
||||
if(number < 0 || number > NAMES.size()) {
|
||||
throw new IllegalArgumentException(String.format("number must be in range [0,%d)", NAMES.size()));
|
||||
}
|
||||
|
||||
//
|
||||
// execute
|
||||
//
|
||||
ec.executeChild(this, new SimpleObjectsTearDown());
|
||||
|
||||
for (int i = 0; i < number; i++) {
|
||||
final SimpleObjectCreate fs = new SimpleObjectCreate().setName(NAMES.get(i));
|
||||
ec.executeChild(this, fs.getName(), fs);
|
||||
simpleObjects.add(fs.getSimpleObject());
|
||||
}
|
||||
}
|
||||
}
|
1
naked-objects/integtests/.gitignore
vendored
Normal file
1
naked-objects/integtests/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
/translations.pot
|
111
naked-objects/integtests/logging.properties
Normal file
111
naked-objects/integtests/logging.properties
Normal file
@ -0,0 +1,111 @@
|
||||
# Licensed to the Apache Software Foundation (ASF) under one
|
||||
# or more contributor license agreements. See the NOTICE file
|
||||
# distributed with this work for additional information
|
||||
# regarding copyright ownership. The ASF licenses this file
|
||||
# to you under the Apache License, Version 2.0 (the
|
||||
# "License"); you may not use this file except in compliance
|
||||
# with the License. You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing,
|
||||
# software distributed under the License is distributed on an
|
||||
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
# KIND, either express or implied. See the License for the
|
||||
# specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
|
||||
#
|
||||
# Isis uses log4j is used to provide system logging
|
||||
#
|
||||
log4j.rootCategory=INFO, Console
|
||||
|
||||
# The console appender
|
||||
log4j.appender.Console=org.apache.log4j.ConsoleAppender
|
||||
log4j.appender.Console.target=System.out
|
||||
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
|
||||
log4j.appender.Console.layout.ConversionPattern=%d{ABSOLUTE} [%-20c{1} %-10t %-5p] %m%n
|
||||
|
||||
log4j.appender.File=org.apache.log4j.RollingFileAppender
|
||||
log4j.appender.File.file=isis.log
|
||||
log4j.appender.File.append=false
|
||||
log4j.appender.File.layout=org.apache.log4j.PatternLayout
|
||||
log4j.appender.File.layout.ConversionPattern=%d [%-20c{1} %-10t %-5p] %m%n
|
||||
|
||||
log4j.appender.translations-po=org.apache.log4j.FileAppender
|
||||
log4j.appender.translations-po.File=./translations.pot
|
||||
log4j.appender.translations-po.Append=false
|
||||
log4j.appender.translations-po.layout=org.apache.log4j.PatternLayout
|
||||
log4j.appender.translations-po.layout.ConversionPattern=%m%n
|
||||
|
||||
! turn on the internal log4j debugging flag so we can see what it is doing
|
||||
#log4j.debug=true
|
||||
|
||||
|
||||
# DataNucleus
|
||||
# the first two log the DML and DDL (if set to DEBUG)
|
||||
log4j.logger.DataNucleus.Datastore.Native=WARN, Console
|
||||
log4j.logger.DataNucleus.Datastore.Schema=DEBUG, Console
|
||||
# the remainder can probably be left to WARN
|
||||
log4j.logger.DataNucleus.Persistence=WARN, Console
|
||||
log4j.logger.DataNucleus.Transaction=WARN, Console
|
||||
log4j.logger.DataNucleus.Connection=WARN, Console
|
||||
log4j.logger.DataNucleus.Query=WARN, Console
|
||||
log4j.logger.DataNucleus.Cache=WARN, Console
|
||||
log4j.logger.DataNucleus.MetaData=WARN, Console
|
||||
log4j.logger.DataNucleus.Datastore=WARN, Console
|
||||
log4j.logger.DataNucleus.Datastore.Persist=WARN, Console
|
||||
log4j.logger.DataNucleus.Datastore.Retrieve=WARN, Console
|
||||
log4j.logger.DataNucleus.General=WARN, Console
|
||||
log4j.logger.DataNucleus.Lifecycle=WARN, Console
|
||||
log4j.logger.DataNucleus.ValueGeneration=WARN, Console
|
||||
log4j.logger.DataNucleus.Enhancer=WARN, Console
|
||||
log4j.logger.DataNucleus.SchemaTool=ERROR, Console
|
||||
log4j.logger.DataNucleus.JDO=WARN, Console
|
||||
log4j.logger.DataNucleus.JPA=ERROR, Console
|
||||
log4j.logger.DataNucleus.JCA=WARN, Console
|
||||
log4j.logger.DataNucleus.IDE=ERROR, Console
|
||||
|
||||
log4j.additivity.DataNucleus.Datastore.Native=false
|
||||
log4j.additivity.DataNucleus.Datastore.Schema=false
|
||||
log4j.additivity.DataNucleus.Datastore.Persistence=false
|
||||
log4j.additivity.DataNucleus.Datastore.Transaction=false
|
||||
log4j.additivity.DataNucleus.Datastore.Connection=false
|
||||
log4j.additivity.DataNucleus.Datastore.Query=false
|
||||
log4j.additivity.DataNucleus.Datastore.Cache=false
|
||||
log4j.additivity.DataNucleus.Datastore.MetaData=false
|
||||
log4j.additivity.DataNucleus.Datastore.Datastore=false
|
||||
log4j.additivity.DataNucleus.Datastore.Datastore.Persist=false
|
||||
log4j.additivity.DataNucleus.Datastore.Datastore.Retrieve=false
|
||||
log4j.additivity.DataNucleus.Datastore.General=false
|
||||
log4j.additivity.DataNucleus.Datastore.Lifecycle=false
|
||||
log4j.additivity.DataNucleus.Datastore.ValueGeneration=false
|
||||
log4j.additivity.DataNucleus.Datastore.Enhancer=false
|
||||
log4j.additivity.DataNucleus.Datastore.SchemaTool=false
|
||||
log4j.additivity.DataNucleus.Datastore.JDO=false
|
||||
log4j.additivity.DataNucleus.Datastore.JPA=false
|
||||
log4j.additivity.DataNucleus.Datastore.JCA=false
|
||||
log4j.additivity.DataNucleus.Datastore.IDE=false
|
||||
|
||||
|
||||
|
||||
|
||||
# if using log4jdbc-remix as JDBC driver
|
||||
#log4j.logger.jdbc.sqlonly=DEBUG, sql, Console
|
||||
#log4j.additivity.jdbc.sqlonly=false
|
||||
#log4j.logger.jdbc.resultsettable=DEBUG, jdbc, Console
|
||||
#log4j.additivity.jdbc.resultsettable=false
|
||||
|
||||
#log4j.logger.jdbc.audit=WARN,jdbc, Console
|
||||
#log4j.additivity.jdbc.audit=false
|
||||
#log4j.logger.jdbc.resultset=WARN,jdbc
|
||||
#log4j.additivity.jdbc.resultset=false
|
||||
#log4j.logger.jdbc.sqltiming=WARN,sqltiming
|
||||
#log4j.additivity.jdbc.sqltiming=false
|
||||
#log4j.logger.jdbc.connection=FATAL,connection
|
||||
#log4j.additivity.jdbc.connection=false
|
||||
|
||||
|
||||
log4j.logger.org.apache.isis.core.runtime.services.i18n.po.PoWriter=INFO,translations-po
|
||||
log4j.additivity.org.apache.isis.core.runtime.services.i18n.po.PotWriter=false
|
128
naked-objects/integtests/pom.xml
Normal file
128
naked-objects/integtests/pom.xml
Normal file
@ -0,0 +1,128 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one
|
||||
or more contributor license agreements. See the NOTICE file
|
||||
distributed with this work for additional information
|
||||
regarding copyright ownership. The ASF licenses this file
|
||||
to you under the Apache License, Version 2.0 (the
|
||||
"License"); you may not use this file except in compliance
|
||||
with the License. You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing,
|
||||
software distributed under the License is distributed on an
|
||||
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
KIND, either express or implied. See the License for the
|
||||
specific language governing permissions and limitations
|
||||
under the License.
|
||||
--><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/maven-v4_0_0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<parent>
|
||||
<groupId>com.iluwatar</groupId>
|
||||
<artifactId>naked-objects</artifactId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>naked-objects-integtests</artifactId>
|
||||
<name>Simple App Integration Tests</name>
|
||||
|
||||
<build>
|
||||
<testResources>
|
||||
<testResource>
|
||||
<directory>src/test/resources</directory>
|
||||
</testResource>
|
||||
<testResource>
|
||||
<directory>src/test/java</directory>
|
||||
<includes>
|
||||
<include>**</include>
|
||||
</includes>
|
||||
<excludes>
|
||||
<exclude>**/*.java</exclude>
|
||||
</excludes>
|
||||
</testResource>
|
||||
</testResources>
|
||||
</build>
|
||||
<dependencies>
|
||||
|
||||
<!-- other modules in this project -->
|
||||
<dependency>
|
||||
<groupId>${project.groupId}</groupId>
|
||||
<artifactId>naked-objects-fixture</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.apache.isis.core</groupId>
|
||||
<artifactId>isis-core-unittestsupport</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.apache.isis.core</groupId>
|
||||
<artifactId>isis-core-integtestsupport</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.isis.core</groupId>
|
||||
<artifactId>isis-core-specsupport</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.hamcrest</groupId>
|
||||
<artifactId>hamcrest-library</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.apache.isis.core</groupId>
|
||||
<artifactId>isis-core-wrapper</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.isis.core</groupId>
|
||||
<artifactId>isis-core-runtime</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.assertj</groupId>
|
||||
<artifactId>assertj-core</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.hsqldb</groupId>
|
||||
<artifactId>hsqldb</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!--
|
||||
uncomment to enable enhanced cucumber-jvm reporting
|
||||
http://www.masterthought.net/section/cucumber-reporting
|
||||
<dependency>
|
||||
<groupId>com.googlecode.totallylazy</groupId>
|
||||
<artifactId>totallylazy</artifactId>
|
||||
<version>991</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>net.masterthought</groupId>
|
||||
<artifactId>cucumber-reporting</artifactId>
|
||||
<version>0.0.21</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.masterthought</groupId>
|
||||
<artifactId>maven-cucumber-reporting</artifactId>
|
||||
<version>0.0.4</version>
|
||||
</dependency>
|
||||
-->
|
||||
</dependencies>
|
||||
|
||||
<!--
|
||||
uncomment for enhanced cucumber-jvm reporting
|
||||
http://www.masterthought.net/section/cucumber-reporting
|
||||
<repositories>
|
||||
<repository>
|
||||
<id>repo.bodar.com</id>
|
||||
<url>http://repo.bodar.com</url>
|
||||
</repository>
|
||||
</repositories>
|
||||
-->
|
||||
|
||||
|
||||
</project>
|
@ -0,0 +1,54 @@
|
||||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
package domainapp.integtests.bootstrap;
|
||||
|
||||
import org.apache.isis.core.commons.config.IsisConfiguration;
|
||||
import org.apache.isis.core.integtestsupport.IsisSystemForTest;
|
||||
import org.apache.isis.objectstore.jdo.datanucleus.DataNucleusPersistenceMechanismInstaller;
|
||||
import org.apache.isis.objectstore.jdo.datanucleus.IsisConfigurationForJdoIntegTests;
|
||||
|
||||
public class SimpleAppSystemInitializer {
|
||||
|
||||
public static void initIsft() {
|
||||
IsisSystemForTest isft = IsisSystemForTest.getElseNull();
|
||||
if(isft == null) {
|
||||
isft = new SimpleAppSystemBuilder().build().setUpSystem();
|
||||
IsisSystemForTest.set(isft);
|
||||
}
|
||||
}
|
||||
|
||||
private static class SimpleAppSystemBuilder extends IsisSystemForTest.Builder {
|
||||
|
||||
public SimpleAppSystemBuilder() {
|
||||
withLoggingAt(org.apache.log4j.Level.INFO);
|
||||
with(testConfiguration());
|
||||
with(new DataNucleusPersistenceMechanismInstaller());
|
||||
|
||||
// services annotated with @DomainService
|
||||
withServicesIn( "domainapp" );
|
||||
}
|
||||
|
||||
private static IsisConfiguration testConfiguration() {
|
||||
final IsisConfigurationForJdoIntegTests testConfiguration = new IsisConfigurationForJdoIntegTests();
|
||||
|
||||
testConfiguration.addRegisterEntitiesPackagePrefix("domainapp.dom.modules");
|
||||
return testConfiguration;
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,41 @@
|
||||
/**
|
||||
O * Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
* this work for additional information regarding copyright ownership.
|
||||
* The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
* (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package domainapp.integtests.specglue;
|
||||
|
||||
import org.apache.isis.core.specsupport.scenarios.ScenarioExecutionScope;
|
||||
import org.apache.isis.core.specsupport.specs.CukeGlueAbstract;
|
||||
|
||||
import cucumber.api.java.After;
|
||||
import cucumber.api.java.Before;
|
||||
import domainapp.integtests.bootstrap.SimpleAppSystemInitializer;
|
||||
|
||||
public class BootstrappingGlue extends CukeGlueAbstract {
|
||||
|
||||
@Before(value={"@integration"}, order=100)
|
||||
public void beforeScenarioIntegrationScope() {
|
||||
org.apache.log4j.PropertyConfigurator.configure("logging.properties");
|
||||
SimpleAppSystemInitializer.initIsft();
|
||||
|
||||
before(ScenarioExecutionScope.INTEGRATION);
|
||||
}
|
||||
|
||||
@After
|
||||
public void afterScenario(cucumber.api.Scenario sc) {
|
||||
assertMocksSatisfied();
|
||||
after(sc);
|
||||
}
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
/**
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
* this work for additional information regarding copyright ownership.
|
||||
* The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
* (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package domainapp.integtests.specglue;
|
||||
|
||||
import org.apache.isis.core.specsupport.specs.CukeGlueAbstract;
|
||||
|
||||
import cucumber.api.java.Before;
|
||||
import domainapp.fixture.scenarios.RecreateSimpleObjects;
|
||||
|
||||
public class CatalogOfFixturesGlue extends CukeGlueAbstract {
|
||||
|
||||
@Before(value={"@integration", "@SimpleObjectsFixture"}, order=20000)
|
||||
public void integrationFixtures() throws Throwable {
|
||||
scenarioExecution().install(new RecreateSimpleObjects());
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,50 @@
|
||||
/**
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
* this work for additional information regarding copyright ownership.
|
||||
* The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
* (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package domainapp.integtests.specglue.modules.simple;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.apache.isis.core.specsupport.specs.CukeGlueAbstract;
|
||||
|
||||
import cucumber.api.java.en.Given;
|
||||
import cucumber.api.java.en.When;
|
||||
import domainapp.dom.modules.simple.SimpleObject;
|
||||
import domainapp.dom.modules.simple.SimpleObjects;
|
||||
import static org.hamcrest.CoreMatchers.is;
|
||||
import static org.junit.Assert.assertThat;
|
||||
|
||||
public class SimpleObjectGlue extends CukeGlueAbstract {
|
||||
|
||||
@Given("^there are.* (\\d+) simple objects$")
|
||||
public void there_are_N_simple_objects(int n) throws Throwable {
|
||||
try {
|
||||
final List<SimpleObject> findAll = service(SimpleObjects.class).listAll();
|
||||
assertThat(findAll.size(), is(n));
|
||||
putVar("list", "all", findAll);
|
||||
|
||||
} finally {
|
||||
assertMocksSatisfied();
|
||||
}
|
||||
}
|
||||
|
||||
@When("^I create a new simple object$")
|
||||
public void I_create_a_new_simple_object() throws Throwable {
|
||||
service(SimpleObjects.class).create(UUID.randomUUID().toString());
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,39 @@
|
||||
/**
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
* this work for additional information regarding copyright ownership.
|
||||
* The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
* (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package domainapp.integtests.specs;
|
||||
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
import cucumber.api.CucumberOptions;
|
||||
import cucumber.api.junit.Cucumber;
|
||||
|
||||
|
||||
/**
|
||||
* Runs scenarios in all <tt>.feature</tt> files (this package and any subpackages).
|
||||
*/
|
||||
@RunWith(Cucumber.class)
|
||||
@CucumberOptions(
|
||||
format = {
|
||||
"html:target/cucumber-html-report"
|
||||
,"json:target/cucumber.json"
|
||||
},
|
||||
glue={"classpath:domainapp.integtests.specglue"},
|
||||
strict = true,
|
||||
tags = { "~@backlog", "~@ignore" })
|
||||
public class RunSpecs {
|
||||
// intentionally empty
|
||||
}
|
@ -0,0 +1,26 @@
|
||||
#
|
||||
# Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
# contributor license agreements. See the NOTICE file distributed with
|
||||
# this work for additional information regarding copyright ownership.
|
||||
# The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
# (the "License"); you may not use this file except in compliance with
|
||||
# the License. You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
@SimpleObjectsFixture
|
||||
Feature: List and Create New Simple Objects
|
||||
|
||||
@integration
|
||||
Scenario: Existing simple objects can be listed and new ones created
|
||||
Given there are initially 3 simple objects
|
||||
When I create a new simple object
|
||||
Then there are 4 simple objects
|
||||
|
||||
|
@ -0,0 +1,39 @@
|
||||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
package domainapp.integtests.tests;
|
||||
|
||||
import org.junit.BeforeClass;
|
||||
|
||||
import org.apache.isis.core.integtestsupport.IntegrationTestAbstract;
|
||||
import org.apache.isis.core.integtestsupport.scenarios.ScenarioExecutionForIntegration;
|
||||
|
||||
import domainapp.integtests.bootstrap.SimpleAppSystemInitializer;
|
||||
|
||||
public abstract class SimpleAppIntegTest extends IntegrationTestAbstract {
|
||||
|
||||
@BeforeClass
|
||||
public static void initClass() {
|
||||
org.apache.log4j.PropertyConfigurator.configure("logging.properties");
|
||||
SimpleAppSystemInitializer.initIsft();
|
||||
|
||||
// instantiating will install onto ThreadLocal
|
||||
new ScenarioExecutionForIntegration();
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,121 @@
|
||||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
package domainapp.integtests.tests.modules.simple;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
||||
import org.apache.isis.applib.DomainObjectContainer;
|
||||
import org.apache.isis.applib.fixturescripts.FixtureScripts;
|
||||
import org.apache.isis.applib.services.wrapper.DisabledException;
|
||||
import org.apache.isis.applib.services.wrapper.InvalidException;
|
||||
|
||||
import domainapp.dom.modules.simple.SimpleObject;
|
||||
import domainapp.fixture.scenarios.RecreateSimpleObjects;
|
||||
import domainapp.integtests.tests.SimpleAppIntegTest;
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
public class SimpleObjectIntegTest extends SimpleAppIntegTest {
|
||||
|
||||
@Inject
|
||||
FixtureScripts fixtureScripts;
|
||||
|
||||
RecreateSimpleObjects fs;
|
||||
SimpleObject simpleObjectPojo;
|
||||
SimpleObject simpleObjectWrapped;
|
||||
|
||||
@Before
|
||||
public void setUp() throws Exception {
|
||||
// given
|
||||
fs = new RecreateSimpleObjects().setNumber(1);
|
||||
fixtureScripts.runFixtureScript(fs, null);
|
||||
|
||||
simpleObjectPojo = fs.getSimpleObjects().get(0);
|
||||
|
||||
assertThat(simpleObjectPojo).isNotNull();
|
||||
simpleObjectWrapped = wrap(simpleObjectPojo);
|
||||
}
|
||||
|
||||
public static class Name extends SimpleObjectIntegTest {
|
||||
|
||||
@Test
|
||||
public void accessible() throws Exception {
|
||||
// when
|
||||
final String name = simpleObjectWrapped.getName();
|
||||
// then
|
||||
assertThat(name).isEqualTo(fs.NAMES.get(0));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void cannotBeUpdatedDirectly() throws Exception {
|
||||
|
||||
// expect
|
||||
expectedExceptions.expect(DisabledException.class);
|
||||
|
||||
// when
|
||||
simpleObjectWrapped.setName("new name");
|
||||
}
|
||||
}
|
||||
|
||||
public static class UpdateName extends SimpleObjectIntegTest {
|
||||
|
||||
@Test
|
||||
public void happyCase() throws Exception {
|
||||
|
||||
// when
|
||||
simpleObjectWrapped.updateName("new name");
|
||||
|
||||
// then
|
||||
assertThat(simpleObjectWrapped.getName()).isEqualTo("new name");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void failsValidation() throws Exception {
|
||||
|
||||
// expect
|
||||
expectedExceptions.expect(InvalidException.class);
|
||||
expectedExceptions.expectMessage("Exclamation mark is not allowed");
|
||||
|
||||
// when
|
||||
simpleObjectWrapped.updateName("new name!");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public static class Title extends SimpleObjectIntegTest {
|
||||
|
||||
@Inject
|
||||
DomainObjectContainer container;
|
||||
|
||||
@Test
|
||||
public void interpolatesName() throws Exception {
|
||||
|
||||
// given
|
||||
final String name = simpleObjectWrapped.getName();
|
||||
|
||||
// when
|
||||
final String title = container.titleOf(simpleObjectWrapped);
|
||||
|
||||
// then
|
||||
assertThat(title).isEqualTo("Object: " + name);
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,143 @@
|
||||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
package domainapp.integtests.tests.modules.simple;
|
||||
|
||||
import java.sql.SQLIntegrityConstraintViolationException;
|
||||
import java.util.List;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
import com.google.common.base.Throwables;
|
||||
|
||||
import org.hamcrest.Description;
|
||||
import org.hamcrest.Matcher;
|
||||
import org.hamcrest.TypeSafeMatcher;
|
||||
import org.junit.Test;
|
||||
|
||||
import org.apache.isis.applib.fixturescripts.FixtureScript;
|
||||
import org.apache.isis.applib.fixturescripts.FixtureScripts;
|
||||
|
||||
import domainapp.dom.modules.simple.SimpleObject;
|
||||
import domainapp.dom.modules.simple.SimpleObjects;
|
||||
import domainapp.fixture.modules.simple.SimpleObjectsTearDown;
|
||||
import domainapp.fixture.scenarios.RecreateSimpleObjects;
|
||||
import domainapp.integtests.tests.SimpleAppIntegTest;
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
public class SimpleObjectsIntegTest extends SimpleAppIntegTest {
|
||||
|
||||
@Inject
|
||||
FixtureScripts fixtureScripts;
|
||||
@Inject
|
||||
SimpleObjects simpleObjects;
|
||||
|
||||
public static class ListAll extends SimpleObjectsIntegTest {
|
||||
|
||||
@Test
|
||||
public void happyCase() throws Exception {
|
||||
|
||||
// given
|
||||
RecreateSimpleObjects fs = new RecreateSimpleObjects();
|
||||
fixtureScripts.runFixtureScript(fs, null);
|
||||
nextTransaction();
|
||||
|
||||
// when
|
||||
final List<SimpleObject> all = wrap(simpleObjects).listAll();
|
||||
|
||||
// then
|
||||
assertThat(all).hasSize(fs.getSimpleObjects().size());
|
||||
|
||||
SimpleObject simpleObject = wrap(all.get(0));
|
||||
assertThat(simpleObject.getName()).isEqualTo(fs.getSimpleObjects().get(0).getName());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void whenNone() throws Exception {
|
||||
|
||||
// given
|
||||
FixtureScript fs = new SimpleObjectsTearDown();
|
||||
fixtureScripts.runFixtureScript(fs, null);
|
||||
nextTransaction();
|
||||
|
||||
// when
|
||||
final List<SimpleObject> all = wrap(simpleObjects).listAll();
|
||||
|
||||
// then
|
||||
assertThat(all).hasSize(0);
|
||||
}
|
||||
}
|
||||
|
||||
public static class Create extends SimpleObjectsIntegTest {
|
||||
|
||||
@Test
|
||||
public void happyCase() throws Exception {
|
||||
|
||||
// given
|
||||
FixtureScript fs = new SimpleObjectsTearDown();
|
||||
fixtureScripts.runFixtureScript(fs, null);
|
||||
nextTransaction();
|
||||
|
||||
// when
|
||||
wrap(simpleObjects).create("Faz");
|
||||
|
||||
// then
|
||||
final List<SimpleObject> all = wrap(simpleObjects).listAll();
|
||||
assertThat(all).hasSize(1);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void whenAlreadyExists() throws Exception {
|
||||
|
||||
// given
|
||||
FixtureScript fs = new SimpleObjectsTearDown();
|
||||
fixtureScripts.runFixtureScript(fs, null);
|
||||
nextTransaction();
|
||||
wrap(simpleObjects).create("Faz");
|
||||
nextTransaction();
|
||||
|
||||
// then
|
||||
expectedExceptions.expectCause(causalChainContains(SQLIntegrityConstraintViolationException.class));
|
||||
|
||||
// when
|
||||
wrap(simpleObjects).create("Faz");
|
||||
nextTransaction();
|
||||
}
|
||||
|
||||
private static Matcher<? extends Throwable> causalChainContains(final Class<?> cls) {
|
||||
return new TypeSafeMatcher<Throwable>() {
|
||||
@Override
|
||||
protected boolean matchesSafely(Throwable item) {
|
||||
final List<Throwable> causalChain = Throwables.getCausalChain(item);
|
||||
for (Throwable throwable : causalChain) {
|
||||
if(cls.isAssignableFrom(throwable.getClass())){
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void describeTo(Description description) {
|
||||
description.appendText("exception with causal chain containing " + cls.getSimpleName());
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
}
|
400
naked-objects/pom.xml
Normal file
400
naked-objects/pom.xml
Normal file
@ -0,0 +1,400 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one
|
||||
or more contributor license agreements. See the NOTICE file
|
||||
distributed with this work for additional information
|
||||
regarding copyright ownership. The ASF licenses this file
|
||||
to you under the Apache License, Version 2.0 (the
|
||||
"License"); you may not use this file except in compliance
|
||||
with the License. You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing,
|
||||
software distributed under the License is distributed on an
|
||||
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
KIND, either express or implied. See the License for the
|
||||
specific language governing permissions and limitations
|
||||
under the License.
|
||||
--><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/maven-v4_0_0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<artifactId>java-design-patterns</artifactId>
|
||||
<groupId>com.iluwatar</groupId>
|
||||
<version>1.1.0</version>
|
||||
</parent>
|
||||
|
||||
<groupId>com.iluwatar</groupId>
|
||||
<artifactId>naked-objects</artifactId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
|
||||
<name>Simple App</name>
|
||||
|
||||
<packaging>pom</packaging>
|
||||
|
||||
<prerequisites>
|
||||
<maven>3.0.4</maven>
|
||||
</prerequisites>
|
||||
|
||||
<properties>
|
||||
<isis.version>1.9.0-SNAPSHOT</isis.version>
|
||||
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
|
||||
<assertj-core.version>2.0.0</assertj-core.version>
|
||||
</properties>
|
||||
|
||||
<repositories>
|
||||
<repository>
|
||||
<id>apache.snapshots</id>
|
||||
<name>Apache Snapshots</name>
|
||||
<url>https://repository.apache.org/content/repositories/snapshots/</url>
|
||||
<releases>
|
||||
<enabled>false</enabled>
|
||||
</releases>
|
||||
<snapshots>
|
||||
</snapshots>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>Cloudbees snapshots</id>
|
||||
<url>http://repository-estatio.forge.cloudbees.com/snapshot/</url>
|
||||
<snapshots>
|
||||
</snapshots>
|
||||
<releases>
|
||||
<enabled>false</enabled>
|
||||
</releases>
|
||||
</repository>
|
||||
</repositories>
|
||||
|
||||
<build>
|
||||
<pluginManagement>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-enforcer-plugin</artifactId>
|
||||
<version>1.3.1</version>
|
||||
<configuration>
|
||||
<rules>
|
||||
<requireMavenVersion>
|
||||
<version>[3.2.1,)</version>
|
||||
</requireMavenVersion>
|
||||
<requireJavaVersion>
|
||||
<version>[1.8.0,)</version>
|
||||
</requireJavaVersion>
|
||||
<requirePluginVersions>
|
||||
<message>All plugin versions must be
|
||||
defined!</message>
|
||||
<banLatest>true</banLatest>
|
||||
<banRelease>true</banRelease>
|
||||
</requirePluginVersions>
|
||||
<DependencyConvergence/>
|
||||
</rules>
|
||||
</configuration>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>validate-enforce</id>
|
||||
<phase>validate</phase>
|
||||
<goals>
|
||||
<goal>enforce</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<version>3.1</version>
|
||||
<configuration>
|
||||
<source>1.8</source>
|
||||
<target>1.8</target>
|
||||
<compilerArgument>-parameters</compilerArgument>
|
||||
</configuration>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>source</id>
|
||||
<phase>compile</phase>
|
||||
</execution>
|
||||
<execution>
|
||||
<id>test</id>
|
||||
<phase>test-compile</phase>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-surefire-plugin</artifactId>
|
||||
<version>2.16</version>
|
||||
<configuration>
|
||||
<includes>
|
||||
<include>**/*Test.java</include>
|
||||
<include>**/*Test$*.java</include>
|
||||
<include>**/*Test_*.java</include>
|
||||
<include>**/*Spec*.java</include>
|
||||
</includes>
|
||||
<excludes>
|
||||
<exclude>**/Test*.java</exclude>
|
||||
<exclude>**/*ForTesting.java</exclude>
|
||||
<exclude>**/*Abstract*.java</exclude>
|
||||
</excludes>
|
||||
<useFile>true</useFile>
|
||||
<printSummary>true</printSummary>
|
||||
<reportsDirectory>${project.build.directory}/surefire-reports</reportsDirectory>
|
||||
</configuration>
|
||||
</plugin>
|
||||
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-surefire-report-plugin</artifactId>
|
||||
<version>2.16</version>
|
||||
<configuration>
|
||||
<showSuccess>false</showSuccess>
|
||||
</configuration>
|
||||
<executions>
|
||||
<execution>
|
||||
<phase>test</phase>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
|
||||
<plugin>
|
||||
<artifactId>maven-clean-plugin</artifactId>
|
||||
<version>2.5</version>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<artifactId>maven-resources-plugin</artifactId>
|
||||
<version>2.6</version>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<artifactId>maven-jar-plugin</artifactId>
|
||||
<version>2.4</version>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<artifactId>maven-install-plugin</artifactId>
|
||||
<version>2.5.1</version>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<artifactId>maven-deploy-plugin</artifactId>
|
||||
<version>2.8.1</version>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<artifactId>maven-site-plugin</artifactId>
|
||||
<version>3.3</version>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<artifactId>maven-war-plugin</artifactId>
|
||||
<version>2.4</version>
|
||||
</plugin>
|
||||
|
||||
<plugin>
|
||||
<groupId>org.mortbay.jetty</groupId>
|
||||
<artifactId>maven-jetty-plugin</artifactId>
|
||||
<version>6.1.26</version>
|
||||
</plugin>
|
||||
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-shade-plugin</artifactId>
|
||||
<version>2.2</version>
|
||||
</plugin>
|
||||
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-antrun-plugin</artifactId>
|
||||
<version>1.7</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>run</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<!-- http://simplericity.com/2009/11/10/1257880778509.html -->
|
||||
<plugin>
|
||||
<groupId>org.simplericity.jettyconsole</groupId>
|
||||
<artifactId>jetty-console-maven-plugin</artifactId>
|
||||
<version>1.56</version>
|
||||
</plugin>
|
||||
|
||||
<!-- Apache Release Audit Tool -->
|
||||
<plugin>
|
||||
<groupId>org.apache.rat</groupId>
|
||||
<artifactId>apache-rat-plugin</artifactId>
|
||||
<version>0.10</version>
|
||||
<configuration>
|
||||
<addDefaultLicenseMatchers>true</addDefaultLicenseMatchers>
|
||||
<excludeSubProjects>true</excludeSubProjects>
|
||||
<excludes>
|
||||
<exclude>**/target/**</exclude>
|
||||
<exclude>**/target-ide/**</exclude>
|
||||
|
||||
<exclude>**/*.project</exclude>
|
||||
<exclude>**/.classpath</exclude>
|
||||
<exclude>**/.settings/**</exclude>
|
||||
<exclude>**/*.launch</exclude>
|
||||
<exclude>**/ide/eclipse/launch/**</exclude>
|
||||
<exclude>**/ide/intellij/launch/**</exclude>
|
||||
<exclude>src/site/resources/ide/eclipse/**</exclude>
|
||||
|
||||
<exclude>**/rebel.xml</exclude>
|
||||
<exclude>**/*.gitignore</exclude>
|
||||
<exclude>**/*.log</exclude>
|
||||
<exclude>**/*.pdn</exclude>
|
||||
<exclude>**/*.svg</exclude>
|
||||
<exclude>**/*.json</exclude>
|
||||
<exclude>**/*.min.js</exclude>
|
||||
<exclude>**/*.js</exclude>
|
||||
|
||||
<exclude>**/translations.pot</exclude>
|
||||
<exclude>**/translations*.po</exclude>
|
||||
</excludes>
|
||||
<licenses>
|
||||
<license implementation="org.apache.rat.analysis.license.SimplePatternBasedLicense">
|
||||
<licenseFamilyCategory>AL2</licenseFamilyCategory>
|
||||
<licenseFamilyName>Apache License 2.0</licenseFamilyName>
|
||||
<notes/>
|
||||
<patterns>
|
||||
<pattern>Licensed to the Apache Software Foundation (ASF) under one</pattern>
|
||||
</patterns>
|
||||
</license>
|
||||
<license implementation="org.apache.rat.analysis.license.SimplePatternBasedLicense">
|
||||
<licenseFamilyCategory>JQRY</licenseFamilyCategory>
|
||||
<licenseFamilyName>MIT</licenseFamilyName>
|
||||
<notes/>
|
||||
<patterns>
|
||||
<pattern>Dual licensed under the MIT or GPL Version 2 licenses.</pattern>
|
||||
</patterns>
|
||||
</license>
|
||||
<license implementation="org.apache.rat.analysis.license.SimplePatternBasedLicense">
|
||||
<licenseFamilyCategory>JMOCK</licenseFamilyCategory>
|
||||
<licenseFamilyName>JMock</licenseFamilyName>
|
||||
<notes/>
|
||||
<patterns>
|
||||
<pattern>Copyright (c) 2000-2007, jMock.org</pattern>
|
||||
</patterns>
|
||||
</license>
|
||||
<license implementation="org.apache.rat.analysis.license.SimplePatternBasedLicense">
|
||||
<licenseFamilyCategory>DOCBK</licenseFamilyCategory>
|
||||
<licenseFamilyName>DocBook 4.5</licenseFamilyName>
|
||||
<notes/>
|
||||
<patterns>
|
||||
<pattern>Permission to copy in any form is granted for use</pattern>
|
||||
<pattern>Permission to use, copy, modify and distribute the DocBook DTD</pattern>
|
||||
<pattern>is hereby granted in perpetuity, provided that the above copyright</pattern>
|
||||
<pattern>This is the catalog data file for DocBook XML V4.5. It is provided as</pattern>
|
||||
<pattern>XML Catalog data for DocBook XML V4.5</pattern>
|
||||
<pattern>DocBook additional general entities V4.5</pattern>
|
||||
<pattern>XML EXCHANGE TABLE MODEL DECLARATION MODULE</pattern>
|
||||
</patterns>
|
||||
</license>
|
||||
<license implementation="org.apache.rat.analysis.license.SimplePatternBasedLicense">
|
||||
<licenseFamilyCategory>W3C</licenseFamilyCategory>
|
||||
<licenseFamilyName>XHTML</licenseFamilyName>
|
||||
<notes/>
|
||||
<patterns>
|
||||
<pattern>Copyright (c) 1998-2002 W3C (MIT, INRIA, Keio),</pattern>
|
||||
</patterns>
|
||||
</license>
|
||||
</licenses>
|
||||
<licenseFamilies>
|
||||
<licenseFamily implementation="org.apache.rat.license.SimpleLicenseFamily">
|
||||
<familyName>Apache License 2.0</familyName>
|
||||
</licenseFamily>
|
||||
<licenseFamily implementation="org.apache.rat.license.SimpleLicenseFamily">
|
||||
<familyName>MIT</familyName>
|
||||
</licenseFamily>
|
||||
<licenseFamily implementation="org.apache.rat.license.SimpleLicenseFamily">
|
||||
<familyName>JMock</familyName>
|
||||
</licenseFamily>
|
||||
<licenseFamily implementation="org.apache.rat.license.SimpleLicenseFamily">
|
||||
<familyName>DocBook 4.5</familyName>
|
||||
</licenseFamily>
|
||||
<licenseFamily implementation="org.apache.rat.license.SimpleLicenseFamily">
|
||||
<familyName>XHTML</familyName>
|
||||
</licenseFamily>
|
||||
</licenseFamilies>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</pluginManagement>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-surefire-report-plugin</artifactId>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
<dependencyManagement>
|
||||
<dependencies>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.apache.isis.core</groupId>
|
||||
<artifactId>isis</artifactId>
|
||||
<version>${isis.version}</version>
|
||||
<type>pom</type>
|
||||
<scope>import</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.apache.isis.viewer</groupId>
|
||||
<artifactId>isis-viewer-wicket</artifactId>
|
||||
<version>${isis.version}</version>
|
||||
<type>pom</type>
|
||||
<scope>import</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.assertj</groupId>
|
||||
<artifactId>assertj-core</artifactId>
|
||||
<version>${assertj-core.version}</version>
|
||||
</dependency>
|
||||
|
||||
|
||||
<!-- this project's own modules -->
|
||||
<dependency>
|
||||
<groupId>${project.groupId}</groupId>
|
||||
<artifactId>naked-objects-dom</artifactId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>${project.groupId}</groupId>
|
||||
<artifactId>naked-objects-fixture</artifactId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>${project.groupId}</groupId>
|
||||
<artifactId>naked-objects-webapp</artifactId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
</dependencyManagement>
|
||||
|
||||
|
||||
<profiles>
|
||||
<profile>
|
||||
<id>m2e</id>
|
||||
<activation>
|
||||
<property>
|
||||
<name>m2e.version</name>
|
||||
</property>
|
||||
</activation>
|
||||
<build>
|
||||
<directory>target-ide</directory>
|
||||
</build>
|
||||
</profile>
|
||||
</profiles>
|
||||
|
||||
<modules>
|
||||
<module>dom</module>
|
||||
<module>fixture</module>
|
||||
<module>integtests</module>
|
||||
<module>webapp</module>
|
||||
</modules>
|
||||
</project>
|
8
naked-objects/webapp/ide/eclipse/launch/.gitignore
vendored
Normal file
8
naked-objects/webapp/ide/eclipse/launch/.gitignore
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
/SimpleApp-PROTOTYPE-jrebel.launch
|
||||
/SimpleApp-PROTOTYPE-no-fixtures.launch
|
||||
/SimpleApp-PROTOTYPE-with-fixtures.launch
|
||||
/SimpleApp-SERVER-no-fixtures.launch
|
||||
/SimpleApp-PROTOTYPE-jrebel.launch
|
||||
/SimpleApp-PROTOTYPE-no-fixtures.launch
|
||||
/SimpleApp-PROTOTYPE-with-fixtures.launch
|
||||
/SimpleApp-SERVER-no-fixtures.launch
|
2
naked-objects/webapp/ide/intellij/launch/README.txt
Normal file
2
naked-objects/webapp/ide/intellij/launch/README.txt
Normal file
@ -0,0 +1,2 @@
|
||||
Copy into workspace\.idea\runConfigurations directory, and adjust file paths for Maven tasks.
|
||||
|
@ -0,0 +1,28 @@
|
||||
<component name="ProjectRunConfigurationManager">
|
||||
<configuration default="false" name="SimpleApp-PROTOTYPE" type="Application" factoryName="Application" singleton="true">
|
||||
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
|
||||
<option name="MAIN_CLASS_NAME" value="org.apache.isis.WebServer" />
|
||||
<option name="VM_PARAMETERS" value="" />
|
||||
<option name="PROGRAM_PARAMETERS" value="--type SERVER_PROTOTYPE --port 8080" />
|
||||
<option name="WORKING_DIRECTORY" value="file://$MODULE_DIR$" />
|
||||
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
|
||||
<option name="ALTERNATIVE_JRE_PATH" value="" />
|
||||
<option name="ENABLE_SWING_INSPECTOR" value="false" />
|
||||
<option name="ENV_VARIABLES" />
|
||||
<option name="PASS_PARENT_ENVS" value="true" />
|
||||
<module name="naked-objects-webapp" />
|
||||
<envs />
|
||||
<RunnerSettings RunnerId="Debug">
|
||||
<option name="DEBUG_PORT" value="" />
|
||||
<option name="TRANSPORT" value="0" />
|
||||
<option name="LOCAL" value="true" />
|
||||
</RunnerSettings>
|
||||
<RunnerSettings RunnerId="Run" />
|
||||
<ConfigurationWrapper RunnerId="Debug" />
|
||||
<ConfigurationWrapper RunnerId="Run" />
|
||||
<method>
|
||||
<option name="Make" enabled="false" />
|
||||
<option name="Maven.BeforeRunTask" enabled="true" file="C:/Apache/Isis/example/application/naked-objects/dom/pom.xml" goal="datanucleus:enhance -o" />
|
||||
</method>
|
||||
</configuration>
|
||||
</component>
|
@ -0,0 +1,22 @@
|
||||
<component name="ProjectRunConfigurationManager">
|
||||
s <configuration default="false" name="SimpleApp (enhance only)" type="Application" factoryName="Application">
|
||||
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
|
||||
<option name="MAIN_CLASS_NAME" value="org.apache.isis.Dummy" />
|
||||
<option name="VM_PARAMETERS" value="" />
|
||||
<option name="PROGRAM_PARAMETERS" value="" />
|
||||
<option name="WORKING_DIRECTORY" value="file://$MODULE_DIR$" />
|
||||
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
|
||||
<option name="ALTERNATIVE_JRE_PATH" value="" />
|
||||
<option name="ENABLE_SWING_INSPECTOR" value="false" />
|
||||
<option name="ENV_VARIABLES" />
|
||||
<option name="PASS_PARENT_ENVS" value="true" />
|
||||
<module name="naked-objects-webapp" />
|
||||
<envs />
|
||||
<RunnerSettings RunnerId="Run" />
|
||||
<ConfigurationWrapper RunnerId="Run" />
|
||||
<method>
|
||||
<option name="Make" enabled="false" />
|
||||
<option name="Maven.BeforeRunTask" enabled="true" file="C:/Apache/Isis/example/application/naked-objects/dom/pom.xml" goal="datanucleus:enhance -o" />
|
||||
</method>
|
||||
</configuration>
|
||||
</component>
|
5
naked-objects/webapp/lib/.gitignore
vendored
Normal file
5
naked-objects/webapp/lib/.gitignore
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
#
|
||||
# explicitly ignoring Microsoft JDBC4 jar
|
||||
# (cannot redistribute, licensing)
|
||||
#
|
||||
sqljdbc4.jar
|
352
naked-objects/webapp/pom.xml
Normal file
352
naked-objects/webapp/pom.xml
Normal file
@ -0,0 +1,352 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one
|
||||
or more contributor license agreements. See the NOTICE file
|
||||
distributed with this work for additional information
|
||||
regarding copyright ownership. The ASF licenses this file
|
||||
to you under the Apache License, Version 2.0 (the
|
||||
"License"); you may not use this file except in compliance
|
||||
with the License. You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing,
|
||||
software distributed under the License is distributed on an
|
||||
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
KIND, either express or implied. See the License for the
|
||||
specific language governing permissions and limitations
|
||||
under the License.
|
||||
--><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/maven-v4_0_0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<parent>
|
||||
<groupId>com.iluwatar</groupId>
|
||||
<artifactId>naked-objects</artifactId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>naked-objects-webapp</artifactId>
|
||||
<name>Simple App Webapp</name>
|
||||
|
||||
<description>This module runs both the Wicket viewer and the Restfulobjects viewer in a single webapp configured to run using the datanucleus object store.</description>
|
||||
|
||||
<packaging>war</packaging>
|
||||
|
||||
<properties>
|
||||
<siteBaseDir>..</siteBaseDir>
|
||||
</properties>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.mortbay.jetty</groupId>
|
||||
<artifactId>maven-jetty-plugin</artifactId>
|
||||
</plugin>
|
||||
|
||||
<!-- mvn package -->
|
||||
<plugin>
|
||||
<groupId>org.simplericity.jettyconsole</groupId>
|
||||
<artifactId>jetty-console-maven-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>createconsole</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<backgroundImage>${basedir}/src/main/jettyconsole/isis-banner.png</backgroundImage>
|
||||
<destinationFile>${project.build.directory}/${project.build.finalName}-jetty-console.jar</destinationFile>
|
||||
</configuration>
|
||||
<phase>package</phase>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
|
||||
<plugin>
|
||||
<groupId>org.codehaus.mojo</groupId>
|
||||
<artifactId>build-helper-maven-plugin</artifactId>
|
||||
<version>1.8</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<phase>validate</phase>
|
||||
<goals>
|
||||
<goal>maven-version</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
|
||||
<plugin>
|
||||
<artifactId>maven-war-plugin</artifactId>
|
||||
<configuration>
|
||||
<warName>simpleapp</warName>
|
||||
<archive>
|
||||
<manifest>
|
||||
<addClasspath>false</addClasspath>
|
||||
</manifest>
|
||||
<manifestEntries>
|
||||
<Build-Time>${maven.build.timestamp}</Build-Time>
|
||||
<Build-Host>${agent.name}</Build-Host>
|
||||
<Build-User>${user.name}</Build-User>
|
||||
<Build-Maven>Maven ${maven.version}</Build-Maven>
|
||||
<Build-Java>${java.version}</Build-Java>
|
||||
<Build-OS>${os.name}</Build-OS>
|
||||
<Build-Label>${project.version}</Build-Label>
|
||||
</manifestEntries>
|
||||
</archive>
|
||||
<packagingExcludes>WEB-INF/lib/isis-core-webserver*.jar,
|
||||
WEB-INF/lib/javax.servlet-api-*.jar,
|
||||
WEB-INF/lib/javax.websocket-api-*.jar,
|
||||
WEB-INF/lib/jetty-all-*.jar</packagingExcludes>
|
||||
</configuration>
|
||||
</plugin>
|
||||
|
||||
</plugins>
|
||||
<pluginManagement>
|
||||
<plugins>
|
||||
<!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
|
||||
<plugin>
|
||||
<groupId>org.eclipse.m2e</groupId>
|
||||
<artifactId>lifecycle-mapping</artifactId>
|
||||
<version>1.0.0</version>
|
||||
<configuration>
|
||||
<lifecycleMappingMetadata>
|
||||
<pluginExecutions>
|
||||
<pluginExecution>
|
||||
<pluginExecutionFilter>
|
||||
<groupId>org.codehaus.mojo</groupId>
|
||||
<artifactId>build-helper-maven-plugin</artifactId>
|
||||
<versionRange>[1.5,)</versionRange>
|
||||
<goals>
|
||||
<goal>maven-version</goal>
|
||||
</goals>
|
||||
</pluginExecutionFilter>
|
||||
<action>
|
||||
<ignore></ignore>
|
||||
</action>
|
||||
</pluginExecution>
|
||||
</pluginExecutions>
|
||||
</lifecycleMappingMetadata>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</pluginManagement>
|
||||
</build>
|
||||
|
||||
<dependencies>
|
||||
|
||||
<!-- other modules in this project -->
|
||||
<dependency>
|
||||
<groupId>${project.groupId}</groupId>
|
||||
<artifactId>naked-objects-dom</artifactId>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<!-- so don't pick up transitive dependency to asm 4.0.0 -->
|
||||
<groupId>org.datanucleus</groupId>
|
||||
<artifactId>datanucleus-enhancer</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>${project.groupId}</groupId>
|
||||
<artifactId>naked-objects-fixture</artifactId>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<!-- so don't pick up transitive dependency to asm 4.0.0 -->
|
||||
<groupId>org.datanucleus</groupId>
|
||||
<artifactId>datanucleus-enhancer</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
|
||||
<!-- other isis components -->
|
||||
<dependency>
|
||||
<groupId>org.apache.isis.viewer</groupId>
|
||||
<artifactId>isis-viewer-wicket-impl</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.isis.core</groupId>
|
||||
<artifactId>isis-core-viewer-restfulobjects-server</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.isis.core</groupId>
|
||||
<artifactId>isis-core-security-shiro</artifactId>
|
||||
</dependency>
|
||||
|
||||
|
||||
<!-- isis core -->
|
||||
<dependency>
|
||||
<groupId>org.apache.isis.core</groupId>
|
||||
<artifactId>isis-core-runtime</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.isis.core</groupId>
|
||||
<artifactId>isis-core-wrapper</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.isis.core</groupId>
|
||||
<artifactId>isis-core-security</artifactId>
|
||||
</dependency>
|
||||
|
||||
|
||||
<!-- to run using WebServer (optional) -->
|
||||
<dependency>
|
||||
<groupId>org.apache.isis.core</groupId>
|
||||
<artifactId>isis-core-webserver</artifactId>
|
||||
<scope>runtime</scope>
|
||||
<optional>true</optional>
|
||||
</dependency>
|
||||
|
||||
|
||||
<dependency>
|
||||
<groupId>org.apache.geronimo.specs</groupId>
|
||||
<artifactId>geronimo-servlet_3.0_spec</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!--
|
||||
JDBC drivers
|
||||
(for jdo objectstore)
|
||||
-->
|
||||
<dependency>
|
||||
<groupId>org.hsqldb</groupId>
|
||||
<artifactId>hsqldb</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!--
|
||||
<dependency>
|
||||
<groupId>postgresql</groupId>
|
||||
<artifactId>postgresql</artifactId>
|
||||
<version>9.1-901.jdbc4</version>
|
||||
</dependency>
|
||||
-->
|
||||
|
||||
<!--
|
||||
mvn install:install-file -Dfile=sqljdbc4.jar \
|
||||
-DgroupId=com.microsoft.sqlserver \
|
||||
-DartifactId=jdbc \
|
||||
-Dversion=4.0 \
|
||||
-Dpackaging=jar
|
||||
-->
|
||||
<!--
|
||||
<dependency>
|
||||
<groupId>com.microsoft.sqlserver</groupId>
|
||||
<artifactId>sqljdbc4</artifactId>
|
||||
<version>4.0</version>
|
||||
</dependency>
|
||||
-->
|
||||
|
||||
<dependency>
|
||||
<groupId>org.lazyluke</groupId>
|
||||
<artifactId>log4jdbc-remix</artifactId>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>slf4j-api</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
<profiles>
|
||||
<profile>
|
||||
<id>self-host</id>
|
||||
<build>
|
||||
<plugins>
|
||||
<!--
|
||||
mvn -P self-host antrun:run
|
||||
-->
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-antrun-plugin</artifactId>
|
||||
<configuration>
|
||||
<tasks>
|
||||
<exec executable="java" failonerror="true">
|
||||
<arg value="-jar" />
|
||||
<arg value="${project.build.directory}/${project.build.finalName}-jetty-console.jar" />
|
||||
</exec>
|
||||
</tasks>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</profile>
|
||||
<profile>
|
||||
<id>intellij</id>
|
||||
<activation>
|
||||
<property>
|
||||
<name>idea.version</name>
|
||||
</property>
|
||||
</activation>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.apache.geronimo.specs</groupId>
|
||||
<artifactId>geronimo-servlet_3.0_spec</artifactId>
|
||||
<!--
|
||||
Use 'compile' so can run o.a.i.WebServer from within IntelliJ;
|
||||
can rely on servlet container to ignore this in war file
|
||||
-->
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</profile>
|
||||
<profile>
|
||||
<id>jrebel</id>
|
||||
<properties>
|
||||
<!-- as used in the rebel.xml in the dom project -->
|
||||
<target.dir>target</target.dir>
|
||||
<isis-jrebel-plugin.packagePrefix>dom.simple,org.apache.isis.objectstore.jdo.applib</isis-jrebel-plugin.packagePrefix>
|
||||
<isis-jrebel-plugin.loggingLevel>warn</isis-jrebel-plugin.loggingLevel>
|
||||
</properties>
|
||||
<build>
|
||||
<plugins>
|
||||
<!--
|
||||
mvn -P jrebel antrun:run \
|
||||
-Djrebel.jar="C:/Users/Dan/.IdeaIC13/config/plugins/jr-ide-idea/lib/jrebel/jrebel.jar" \
|
||||
-Disis_jrebel_plugin.jar="C:/github/danhaywood/isis-jrebel-plugin/target/danhaywood-isis-jrebel-plugin-1.0.0-SNAPSHOT.jar"
|
||||
-->
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-antrun-plugin</artifactId>
|
||||
<configuration>
|
||||
<target>
|
||||
<property name="compile_classpath" refid="maven.compile.classpath" />
|
||||
<property name="runtime_classpath" refid="maven.runtime.classpath" />
|
||||
<property name="test_classpath" refid="maven.test.classpath" />
|
||||
<property name="plugin_classpath" refid="maven.plugin.classpath" />
|
||||
|
||||
<echo message="" />
|
||||
<echo message="" />
|
||||
<echo message="jrebel.jar = ${jrebel.jar}" />
|
||||
<echo message="isis_jrebel_plugin.jar = ${isis_jrebel_plugin.jar}" />
|
||||
<echo message="target.dir = ${target.dir}" />
|
||||
<echo message="" />
|
||||
<echo message="" />
|
||||
|
||||
<exec executable="java" failonerror="true">
|
||||
<arg value="-javaagent:${jrebel.jar}" />
|
||||
<arg value="-Drebel.log=false" />
|
||||
<arg value="-Drebel.check_class_hash=true" />
|
||||
<arg value="-Drebel.packages_exclude=org.apache.isis" />
|
||||
|
||||
<!-- as used in the rebel.xml in the dom project -->
|
||||
<arg value="-Dproject.root=${project.basedir}/.." />
|
||||
<arg value="-Dtarget.dir=${target.dir}" />
|
||||
|
||||
<arg value="-Drebel.plugins=${isis_jrebel_plugin.jar}" />
|
||||
<arg value="-Disis-jrebel-plugin.packagePrefix=${isis-jrebel-plugin.packagePrefix}" />
|
||||
<arg value="-Disis-jrebel-plugin.loggingLevel=${isis-jrebel-plugin.loggingLevel}" />
|
||||
<arg value="-XX:MaxPermSize=128m" />
|
||||
<arg value="-classpath" />
|
||||
<arg value="${runtime_classpath}" />
|
||||
<arg value="org.apache.isis.WebServer" />
|
||||
</exec>
|
||||
</target>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</profile>
|
||||
</profiles>
|
||||
|
||||
|
||||
</project>
|
@ -0,0 +1,153 @@
|
||||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
package domainapp.webapp;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.nio.charset.Charset;
|
||||
import java.util.List;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import com.google.common.base.Joiner;
|
||||
import com.google.common.io.Resources;
|
||||
import com.google.inject.AbstractModule;
|
||||
import com.google.inject.Module;
|
||||
import com.google.inject.name.Names;
|
||||
import com.google.inject.util.Modules;
|
||||
import com.google.inject.util.Providers;
|
||||
|
||||
import org.apache.wicket.Session;
|
||||
import org.apache.wicket.request.IRequestParameters;
|
||||
import org.apache.wicket.request.Request;
|
||||
import org.apache.wicket.request.Response;
|
||||
import org.apache.wicket.request.http.WebRequest;
|
||||
|
||||
import org.apache.isis.viewer.wicket.viewer.IsisWicketApplication;
|
||||
import org.apache.isis.viewer.wicket.viewer.integration.wicket.AuthenticatedWebSessionForIsis;
|
||||
|
||||
import de.agilecoders.wicket.core.Bootstrap;
|
||||
import de.agilecoders.wicket.core.settings.IBootstrapSettings;
|
||||
import de.agilecoders.wicket.themes.markup.html.bootswatch.BootswatchTheme;
|
||||
import de.agilecoders.wicket.themes.markup.html.bootswatch.BootswatchThemeProvider;
|
||||
|
||||
|
||||
/**
|
||||
* As specified in <tt>web.xml</tt>.
|
||||
*
|
||||
* <p>
|
||||
* See:
|
||||
* <pre>
|
||||
* <filter>
|
||||
* <filter-name>wicket</filter-name>
|
||||
* <filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class>
|
||||
* <init-param>
|
||||
* <param-name>applicationClassName</param-name>
|
||||
* <param-value>webapp.SimpleApplication</param-value>
|
||||
* </init-param>
|
||||
* </filter>
|
||||
* </pre>
|
||||
*
|
||||
*/
|
||||
public class SimpleApplication extends IsisWicketApplication {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* uncomment for a (slightly hacky) way of allowing logins using query args, eg:
|
||||
*
|
||||
* <tt>?user=sven&pass=pass</tt>
|
||||
*
|
||||
* <p>
|
||||
* for demos only, obvious.
|
||||
*/
|
||||
private final static boolean DEMO_MODE_USING_CREDENTIALS_AS_QUERYARGS = false;
|
||||
|
||||
|
||||
@Override
|
||||
protected void init() {
|
||||
super.init();
|
||||
|
||||
IBootstrapSettings settings = Bootstrap.getSettings();
|
||||
settings.setThemeProvider(new BootswatchThemeProvider(BootswatchTheme.Flatly));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Session newSession(final Request request, final Response response) {
|
||||
if(!DEMO_MODE_USING_CREDENTIALS_AS_QUERYARGS) {
|
||||
return super.newSession(request, response);
|
||||
}
|
||||
|
||||
// else demo mode
|
||||
final AuthenticatedWebSessionForIsis s = (AuthenticatedWebSessionForIsis) super.newSession(request, response);
|
||||
IRequestParameters requestParameters = request.getRequestParameters();
|
||||
final org.apache.wicket.util.string.StringValue user = requestParameters.getParameterValue("user");
|
||||
final org.apache.wicket.util.string.StringValue password = requestParameters.getParameterValue("pass");
|
||||
s.signIn(user.toString(), password.toString());
|
||||
return s;
|
||||
}
|
||||
|
||||
@Override
|
||||
public WebRequest newWebRequest(HttpServletRequest servletRequest, String filterPath) {
|
||||
if(!DEMO_MODE_USING_CREDENTIALS_AS_QUERYARGS) {
|
||||
return super.newWebRequest(servletRequest, filterPath);
|
||||
}
|
||||
|
||||
// else demo mode
|
||||
try {
|
||||
String uname = servletRequest.getParameter("user");
|
||||
if (uname != null) {
|
||||
servletRequest.getSession().invalidate();
|
||||
}
|
||||
} catch (Exception e) {
|
||||
}
|
||||
WebRequest request = super.newWebRequest(servletRequest, filterPath);
|
||||
return request;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Module newIsisWicketModule() {
|
||||
final Module isisDefaults = super.newIsisWicketModule();
|
||||
|
||||
final Module overrides = new AbstractModule() {
|
||||
@Override
|
||||
protected void configure() {
|
||||
bind(String.class).annotatedWith(Names.named("applicationName")).toInstance("Simple App");
|
||||
bind(String.class).annotatedWith(Names.named("applicationCss")).toInstance("css/application.css");
|
||||
bind(String.class).annotatedWith(Names.named("applicationJs")).toInstance("scripts/application.js");
|
||||
bind(String.class).annotatedWith(Names.named("welcomeMessage")).toInstance(readLines(getClass(), "welcome.html"));
|
||||
bind(String.class).annotatedWith(Names.named("aboutMessage")).toInstance("Simple App");
|
||||
bind(InputStream.class).annotatedWith(Names.named("metaInfManifest")).toProvider(Providers.of(getServletContext().getResourceAsStream("/META-INF/MANIFEST.MF")));
|
||||
}
|
||||
};
|
||||
|
||||
return Modules.override(isisDefaults).with(overrides);
|
||||
}
|
||||
|
||||
private static String readLines(final Class<?> contextClass, final String resourceName) {
|
||||
try {
|
||||
List<String> readLines = Resources.readLines(Resources.getResource(contextClass, resourceName), Charset.defaultCharset());
|
||||
final String aboutText = Joiner.on("\n").join(readLines);
|
||||
return aboutText;
|
||||
} catch (IOException e) {
|
||||
return "This is a simple app";
|
||||
}
|
||||
}
|
||||
|
||||
}
|
BIN
naked-objects/webapp/src/main/jettyconsole/isis-banner.pdn
Normal file
BIN
naked-objects/webapp/src/main/jettyconsole/isis-banner.pdn
Normal file
Binary file not shown.
BIN
naked-objects/webapp/src/main/jettyconsole/isis-banner.png
Normal file
BIN
naked-objects/webapp/src/main/jettyconsole/isis-banner.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 30 KiB |
@ -0,0 +1,35 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one
|
||||
or more contributor license agreements. See the NOTICE file
|
||||
distributed with this work for additional information
|
||||
regarding copyright ownership. The ASF licenses this file
|
||||
to you under the Apache License, Version 2.0 (the
|
||||
"License"); you may not use this file except in compliance
|
||||
with the License. You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing,
|
||||
software distributed under the License is distributed on an
|
||||
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
KIND, either express or implied. See the License for the
|
||||
specific language governing permissions and limitations
|
||||
under the License.
|
||||
-->
|
||||
<p class="intro">
|
||||
<a href="http://isis.apache.org" target="_blank">Apache Isis</a>™ is a platform to let you rapidly develop
|
||||
domain-driven apps in Java.
|
||||
<br/>
|
||||
<br/>
|
||||
This app has been generated using Apache Isis'
|
||||
<a href="http://isis.apache.org/intro/getting-started/simple%61pp-archetype.html" target="_blank">SimpleApp</a> archetype,
|
||||
to create a purposefully minimal application that nevertheless includes fixture data, integration tests and BDD specs.
|
||||
<br/>
|
||||
<br/>
|
||||
The app itself consists of a single domain class, <a href="https://github.com/apache/isis/blob/master/example/application/simple%61pp/dom/src/main/java/dom/simple/SimpleObject.java" target="_blank"><tt>SimpleObject</tt></a>,
|
||||
along with an equally simple (factory/repository) domain service, <a href="https://github.com/apache/isis/blob/master/example/application/simple%61pp/dom/src/main/java/dom/simple/SimpleObjects.java" target="_blank"><tt>SimpleObjects</tt></a>.
|
||||
<br/>
|
||||
<br/>
|
||||
For more details, see the <a href="http://isis.apache.org/documentation.html" target="_blank">Apache Isis website</a>.
|
||||
</p>
|
300
naked-objects/webapp/src/main/webapp/WEB-INF/isis.properties
Normal file
300
naked-objects/webapp/src/main/webapp/WEB-INF/isis.properties
Normal file
@ -0,0 +1,300 @@
|
||||
# Licensed to the Apache Software Foundation (ASF) under one
|
||||
# or more contributor license agreements. See the NOTICE file
|
||||
# distributed with this work for additional information
|
||||
# regarding copyright ownership. The ASF licenses this file
|
||||
# to you under the Apache License, Version 2.0 (the
|
||||
# "License"); you may not use this file except in compliance
|
||||
# with the License. You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing,
|
||||
# software distributed under the License is distributed on an
|
||||
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
# KIND, either express or implied. See the License for the
|
||||
# specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
|
||||
#################################################################################
|
||||
#
|
||||
# specify system components.
|
||||
#
|
||||
# The values correspond to the named components in the installer-registry.properties file
|
||||
# in the org.apache.isis.core:isis-core-runtime JAR (in the org.apache.isis.core.runtime package)
|
||||
#
|
||||
# Although all configuration could reside in isis.properties, the recommendation is
|
||||
# to split out into component specific files:
|
||||
#
|
||||
# xxx_yyy.properties files
|
||||
#
|
||||
# where
|
||||
# * xxx is the component type, and
|
||||
# * yyy is the component name.
|
||||
#
|
||||
# For example, viewer_wicket.properties holds configuration information specific to the Wicket viewer.
|
||||
#
|
||||
#################################################################################
|
||||
|
||||
|
||||
#
|
||||
# configure the persistor (object store) to use
|
||||
#
|
||||
|
||||
# JDO/DataNucleus objectstore
|
||||
isis.persistor=datanucleus
|
||||
|
||||
|
||||
|
||||
#
|
||||
# configure authentication mechanism to use (to logon to the system)
|
||||
#
|
||||
|
||||
#isis.authentication=bypass
|
||||
isis.authentication=shiro
|
||||
|
||||
|
||||
#
|
||||
# configure authorization mechanism to use
|
||||
#
|
||||
|
||||
#isis.authorization=bypass
|
||||
isis.authorization=shiro
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#################################################################################
|
||||
#
|
||||
# MetaModel
|
||||
#
|
||||
# The metamodel typically does not require additional configuration, although
|
||||
# the system components (defined above) may refine the metamodel for their needs.
|
||||
#
|
||||
#################################################################################
|
||||
|
||||
|
||||
#
|
||||
# Additional programming model facet factories, or remove standard facet factories.
|
||||
# Comma separated list of fully qualified class names.
|
||||
#
|
||||
#isis.reflector.facets.include=
|
||||
#isis.reflector.facets.exclude=
|
||||
|
||||
|
||||
#
|
||||
# Metamodel validation (in addition to that automatically performed by the programming model facet factories)
|
||||
# Default implementation does nothing.
|
||||
#
|
||||
# Use a custom implementation to enforce additional constraints specific to your app/project/company.
|
||||
#
|
||||
#isis.reflector.validator=org.apache.isis.core.metamodel.metamodelvalidator.dflt.MetaModelValidatorDefault
|
||||
|
||||
|
||||
|
||||
#
|
||||
# Whether to allow deprecated annotations/method prefixes (otherwise raise metamodel validation errors).
|
||||
# If not specified, default is to allow.
|
||||
#
|
||||
isis.reflector.validator.allowDeprecated=false
|
||||
|
||||
|
||||
|
||||
#
|
||||
# Implementation to use for reading dynamic layout. Default implementation reads Xxx.layout.json files from classpath.
|
||||
#
|
||||
#isis.reflector.layoutMetadataReaders=org.apache.isis.core.metamodel.layoutmetadata.json.LayoutMetadataReaderFromJson
|
||||
|
||||
|
||||
|
||||
#
|
||||
# patterns for applying CssClassFa facet (font-awesome icons), matching on action names
|
||||
#
|
||||
isis.reflector.facet.cssClassFa.patterns=\
|
||||
new.*:fa-plus,\
|
||||
add.*:fa-plus-square,\
|
||||
create.*:fa-plus,\
|
||||
update.*:fa-edit,\
|
||||
change.*:fa-edit,\
|
||||
remove.*:fa-minus-square,\
|
||||
move.*:fa-exchange,\
|
||||
first.*:fa-star,\
|
||||
find.*:fa-search,\
|
||||
lookup.*:fa-search,\
|
||||
clear.*:fa-remove,\
|
||||
previous.*:fa-step-backward,\
|
||||
next.*:fa-step-forward,\
|
||||
list.*:fa-list, \
|
||||
all.*:fa-list, \
|
||||
download.*:fa-download, \
|
||||
upload.*:fa-upload, \
|
||||
execute.*:fa-bolt, \
|
||||
run.*:fa-bolt, \
|
||||
calculate.*:fa-calculator, \
|
||||
verify.*:fa-check-circle, \
|
||||
refresh.*:fa-refresh, \
|
||||
install.*:fa-wrench
|
||||
|
||||
|
||||
#
|
||||
# patterns for applying CssClass facet (CSS styles), matching on member names
|
||||
#
|
||||
isis.reflector.facet.cssClass.patterns=\
|
||||
delete.*:btn-warning
|
||||
|
||||
|
||||
#################################################################################
|
||||
#
|
||||
# Value facet defaults
|
||||
#
|
||||
# (see also viewer-specific config files, eg viewer_wicket.properties)
|
||||
#
|
||||
#################################################################################
|
||||
|
||||
# as used by @Title of a date
|
||||
isis.value.format.date=dd-MM-yyyy
|
||||
|
||||
|
||||
|
||||
#################################################################################
|
||||
#
|
||||
# Application Services and fixtures
|
||||
#
|
||||
#################################################################################
|
||||
|
||||
#
|
||||
# Specify the domain services.
|
||||
#
|
||||
# These are the most important configuration properties in the system, as they define
|
||||
# the set of the classes for Isis to instantiate as domain service singletons.
|
||||
# From these domain service instances the rest of the metamodel is discovered, while the
|
||||
# end-user gains access to other domain objects by invoking the actions of the domain services.
|
||||
#
|
||||
isis.services-installer=configuration-and-annotation
|
||||
isis.services.ServicesInstallerFromAnnotation.packagePrefix=domainapp
|
||||
|
||||
# additional services/overriding default (@DomainService) implementations
|
||||
isis.services =
|
||||
|
||||
|
||||
|
||||
# Specify the (optional) test fixtures
|
||||
#
|
||||
# Fixtures are used to seed the object store with an initial set of data. For the
|
||||
# in-memory object store, the fixtures are installed on every run. For other
|
||||
# object stores, they are used only when the object store is first initialized.
|
||||
#
|
||||
isis.fixtures=domainapp.fixture.scenarios.RecreateSimpleObjects
|
||||
|
||||
|
||||
#
|
||||
# required by EmailServiceDefault
|
||||
#
|
||||
#isis.service.email.sender.address=some.valid@email.address
|
||||
#isis.service.email.sender.password=the.password.for-isis.notification.email.sender.address
|
||||
|
||||
|
||||
|
||||
#
|
||||
# whether ExceptionRecognizers should also log any recognized exceptions
|
||||
# (default false; enable for diagnostics/debugging)
|
||||
#
|
||||
#isis.services.exceprecog.logRecognizedExceptions=true
|
||||
|
||||
|
||||
#
|
||||
# disable to (automatically registered) ExceptionRecognizerCompositeForJdoObjectStore service
|
||||
# almost all of this service should be registered. Since all exception recognizer implementations
|
||||
# are consulted in the event of an exception, it's not sufficient to override the implementation
|
||||
# (in isis.services); instead this configuration property disables this particular implementation.
|
||||
#
|
||||
#isis.services.ExceptionRecognizerCompositeForJdoObjectStore.disable=true
|
||||
|
||||
|
||||
################################################################################
|
||||
#
|
||||
# Auditing, Publishing, Command
|
||||
#
|
||||
################################################################################
|
||||
|
||||
#
|
||||
# Whether changes to objects should be audited; if not set, defaults to "none"
|
||||
# - if not set or set to "none", can explicitly enable using @DomainObject(auditing=Auditing.ENABLED)
|
||||
# - if set to "all", can explicitly disable using @Object(auditing=Auditing.DISABLED)
|
||||
#
|
||||
#isis.services.audit.objects=all|none
|
||||
|
||||
#
|
||||
# Whether changes to objects should be published; if not set, defaults to "none"
|
||||
# - if not set or set to "none", can explicitly enable using @DomainObject(publishing=Publishing.ENABLED)
|
||||
# - if set to "all", can explicitly disable using @Object(publishing=Publishing.DISABLED)
|
||||
#
|
||||
#isis.services.publish.objects=all|none
|
||||
|
||||
#
|
||||
# Whether all (or all non-query only) actions should be published; if not set, defaults to "none"
|
||||
# - if not set or set to "none", can explicitly enable using @Action(publishing=Publishing.ENABLED)
|
||||
# - if set to "all", can explicitly disable using @Action(publishing=Publishing.DISABLED)
|
||||
#
|
||||
#isis.services.publish.actions=all|none|ignoreQueryOnly
|
||||
|
||||
|
||||
#
|
||||
# Whether all (or all non-query only) actions should be reified as commands; if not set, defaults to "none"
|
||||
# - if not set or set to "none", can explicitly enable using @Action(command=CommandReification.ENABLED)
|
||||
# - if set to "all", can explicitly disable using @Action(command=CommandReification.DISABLED)
|
||||
#
|
||||
#isis.services.command.actions=all|none|ignoreQueryOnly
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
################################################################################
|
||||
#
|
||||
# Policies
|
||||
#
|
||||
#################################################################################
|
||||
|
||||
#
|
||||
# Whether editing of object properties is allowed; if not set, defaults to "true"
|
||||
# - if not set or set to "true", can explicitly disable using @DomainObject(editing=Editing.DISABLED)
|
||||
# - if set to "false", can explicitly enable using @DomainObject(editing=Editing.ENABLED)
|
||||
#
|
||||
#isis.objects.editing=true|false
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
################################################################################
|
||||
#
|
||||
# i18n
|
||||
#
|
||||
#################################################################################
|
||||
|
||||
#
|
||||
# force read translations, even if running in prototype mode
|
||||
#
|
||||
#isis.services.translation.po.mode=read
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
################################################################################
|
||||
#
|
||||
# Viewer defaults
|
||||
#
|
||||
#################################################################################
|
||||
|
||||
#
|
||||
# Specify viewer defaults
|
||||
#
|
||||
#isis.viewers.paged.standalone=30
|
||||
#isis.viewers.paged.parented=10
|
||||
|
||||
|
||||
#isis.viewers.propertyLayout.labelPosition=LEFT
|
||||
#isis.viewers.parameterLayout.labelPosition=LEFT
|
187
naked-objects/webapp/src/main/webapp/WEB-INF/logging.properties
Normal file
187
naked-objects/webapp/src/main/webapp/WEB-INF/logging.properties
Normal file
@ -0,0 +1,187 @@
|
||||
# Licensed to the Apache Software Foundation (ASF) under one
|
||||
# or more contributor license agreements. See the NOTICE file
|
||||
# distributed with this work for additional information
|
||||
# regarding copyright ownership. The ASF licenses this file
|
||||
# to you under the Apache License, Version 2.0 (the
|
||||
# "License"); you may not use this file except in compliance
|
||||
# with the License. You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing,
|
||||
# software distributed under the License is distributed on an
|
||||
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
# KIND, either express or implied. See the License for the
|
||||
# specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
|
||||
#
|
||||
# Isis uses log4j is used to provide system logging
|
||||
#
|
||||
log4j.rootCategory=INFO, Console
|
||||
#log4j.rootCategory=DEBUG, Console
|
||||
|
||||
|
||||
# The console appender
|
||||
log4j.appender.Console=org.apache.log4j.ConsoleAppender
|
||||
log4j.appender.Console.target=System.out
|
||||
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
|
||||
log4j.appender.Console.layout.ConversionPattern=%d{ABSOLUTE} [%-20c{1} %-10t %-5p] %m%n
|
||||
|
||||
|
||||
# The stderr appender
|
||||
log4j.appender.Stderr=org.apache.log4j.ConsoleAppender
|
||||
log4j.appender.Stderr.target=System.err
|
||||
log4j.appender.Stderr.layout=org.apache.log4j.PatternLayout
|
||||
log4j.appender.Stderr.layout.ConversionPattern=%d{ABSOLUTE} [%-20c{1} %-10t %-5p] %m%n
|
||||
|
||||
|
||||
# other appenders
|
||||
log4j.appender.File=org.apache.log4j.RollingFileAppender
|
||||
log4j.appender.File.file=isis.log
|
||||
log4j.appender.File.append=false
|
||||
log4j.appender.File.layout=org.apache.log4j.PatternLayout
|
||||
log4j.appender.File.layout.ConversionPattern=%d [%-20c{1} %-10t %-5p] %m%n
|
||||
|
||||
log4j.appender.sql=org.apache.log4j.FileAppender
|
||||
log4j.appender.sql.File=./logs/sql.log
|
||||
log4j.appender.sql.Append=false
|
||||
log4j.appender.sql.layout=org.apache.log4j.PatternLayout
|
||||
log4j.appender.sql.layout.ConversionPattern=-----> %d{yyyy-MM-dd HH:mm:ss.SSS} %m%n%n
|
||||
|
||||
log4j.appender.sqltiming=org.apache.log4j.FileAppender
|
||||
log4j.appender.sqltiming.File=./logs/sqltiming.log
|
||||
log4j.appender.sqltiming.Append=false
|
||||
log4j.appender.sqltiming.layout=org.apache.log4j.PatternLayout
|
||||
log4j.appender.sqltiming.layout.ConversionPattern=-----> %d{yyyy-MM-dd HH:mm:ss.SSS} %m%n%n
|
||||
|
||||
log4j.appender.jdbc=org.apache.log4j.FileAppender
|
||||
log4j.appender.jdbc.File=./logs/jdbc.log
|
||||
log4j.appender.jdbc.Append=false
|
||||
log4j.appender.jdbc.layout=org.apache.log4j.PatternLayout
|
||||
log4j.appender.jdbc.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS} %m%n
|
||||
|
||||
log4j.appender.connection=org.apache.log4j.FileAppender
|
||||
log4j.appender.connection.File=./logs/connection.log
|
||||
log4j.appender.connection.Append=false
|
||||
log4j.appender.connection.layout=org.apache.log4j.PatternLayout
|
||||
log4j.appender.connection.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS} %m%n
|
||||
|
||||
|
||||
|
||||
|
||||
! turn on the internal log4j debugging flag so we can see what it is doing
|
||||
#log4j.debug=true
|
||||
|
||||
|
||||
# DataNucleus
|
||||
# the first two log the DML and DDL (if set to DEBUG)
|
||||
log4j.logger.DataNucleus.Datastore.Native=WARN, Console
|
||||
log4j.logger.DataNucleus.Datastore.Schema=DEBUG, Console
|
||||
# the remainder can probably be left to WARN
|
||||
log4j.logger.DataNucleus.Persistence=WARN, Console
|
||||
log4j.logger.DataNucleus.Transaction=WARN, Console
|
||||
log4j.logger.DataNucleus.Connection=WARN, Console
|
||||
log4j.logger.DataNucleus.Query=WARN, Console
|
||||
log4j.logger.DataNucleus.Cache=WARN, Console
|
||||
log4j.logger.DataNucleus.MetaData=WARN, Console
|
||||
log4j.logger.DataNucleus.Datastore=WARN, Console
|
||||
log4j.logger.DataNucleus.Datastore.Persist=WARN, Console
|
||||
log4j.logger.DataNucleus.Datastore.Retrieve=WARN, Console
|
||||
log4j.logger.DataNucleus.General=WARN, Console
|
||||
log4j.logger.DataNucleus.Lifecycle=WARN, Console
|
||||
log4j.logger.DataNucleus.ValueGeneration=WARN, Console
|
||||
log4j.logger.DataNucleus.Enhancer=WARN, Console
|
||||
log4j.logger.DataNucleus.SchemaTool=ERROR, Console
|
||||
log4j.logger.DataNucleus.JDO=WARN, Console
|
||||
log4j.logger.DataNucleus.JPA=ERROR, Console
|
||||
log4j.logger.DataNucleus.JCA=WARN, Console
|
||||
log4j.logger.DataNucleus.IDE=ERROR, Console
|
||||
|
||||
log4j.additivity.DataNucleus.Datastore.Native=false
|
||||
log4j.additivity.DataNucleus.Datastore.Schema=false
|
||||
log4j.additivity.DataNucleus.Datastore.Persistence=false
|
||||
log4j.additivity.DataNucleus.Datastore.Transaction=false
|
||||
log4j.additivity.DataNucleus.Datastore.Connection=false
|
||||
log4j.additivity.DataNucleus.Datastore.Query=false
|
||||
log4j.additivity.DataNucleus.Datastore.Cache=false
|
||||
log4j.additivity.DataNucleus.Datastore.MetaData=false
|
||||
log4j.additivity.DataNucleus.Datastore.Datastore=false
|
||||
log4j.additivity.DataNucleus.Datastore.Datastore.Persist=false
|
||||
log4j.additivity.DataNucleus.Datastore.Datastore.Retrieve=false
|
||||
log4j.additivity.DataNucleus.Datastore.General=false
|
||||
log4j.additivity.DataNucleus.Datastore.Lifecycle=false
|
||||
log4j.additivity.DataNucleus.Datastore.ValueGeneration=false
|
||||
log4j.additivity.DataNucleus.Datastore.Enhancer=false
|
||||
log4j.additivity.DataNucleus.Datastore.SchemaTool=false
|
||||
log4j.additivity.DataNucleus.Datastore.JDO=false
|
||||
log4j.additivity.DataNucleus.Datastore.JPA=false
|
||||
log4j.additivity.DataNucleus.Datastore.JCA=false
|
||||
log4j.additivity.DataNucleus.Datastore.IDE=false
|
||||
|
||||
|
||||
# if using log4jdbc-remix as JDBC driver
|
||||
#log4j.logger.jdbc.sqlonly=DEBUG, sql, Console
|
||||
#log4j.additivity.jdbc.sqlonly=false
|
||||
#log4j.logger.jdbc.resultsettable=DEBUG, jdbc, Console
|
||||
#log4j.additivity.jdbc.resultsettable=false
|
||||
|
||||
#log4j.logger.jdbc.audit=WARN,jdbc, Console
|
||||
#log4j.additivity.jdbc.audit=false
|
||||
#log4j.logger.jdbc.resultset=WARN,jdbc
|
||||
#log4j.additivity.jdbc.resultset=false
|
||||
#log4j.logger.jdbc.sqltiming=WARN,sqltiming
|
||||
#log4j.additivity.jdbc.sqltiming=false
|
||||
#log4j.logger.jdbc.connection=FATAL,connection
|
||||
#log4j.additivity.jdbc.connection=false
|
||||
|
||||
|
||||
|
||||
# track Isis/JDO lifecycle integration
|
||||
|
||||
#log4j.logger.org.apache.isis.runtimes.dflt.objectstores.jdo.datanucleus.persistence.FrameworkSynchronizer=DEBUG, Console
|
||||
#log4j.additivity.org.apache.isis.runtimes.dflt.objectstores.jdo.datanucleus.persistence.FrameworkSynchronizer=false
|
||||
|
||||
#log4j.logger.org.apache.isis.objectstore.jdo.datanucleus.persistence.IsisLifecycleListener=DEBUG,Console
|
||||
#log4j.additivity.org.apache.isis.objectstore.jdo.datanucleus.persistence.IsisLifecycleListener=false
|
||||
|
||||
|
||||
|
||||
|
||||
# track Isis/Wicket lifecycle integration
|
||||
|
||||
#log4j.logger.org.apache.isis.viewer.wicket.viewer.integration.wicket.WebRequestCycleForIsis=DEBUG, Console
|
||||
#log4j.additivity.org.apache.isis.viewer.wicket.viewer.integration.wicket.WebRequestCycleForIsis=false
|
||||
|
||||
#log4j.logger.org.apache.isis.viewer.wicket.viewer.integration.isis.IsisContextForWicket=INFO,Console
|
||||
#log4j.additivity.org.apache.isis.viewer.wicket.viewer.integration.isis.IsisContextForWicket=false
|
||||
|
||||
|
||||
|
||||
|
||||
# quieten some of the noisier classes in Isis' bootstrapping
|
||||
log4j.logger.org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBuilder=WARN,Console
|
||||
log4j.additivity.org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBuilder=false
|
||||
|
||||
log4j.logger.org.apache.isis.core.metamodel.specloader.ServiceInitializer=WARN,Console
|
||||
log4j.additivity.org.apache.isis.core.metamodel.specloader.ServiceInitializer=false
|
||||
|
||||
log4j.logger.org.apache.isis.core.runtime.services.ServicesInstallerFromConfiguration=WARN,Console
|
||||
log4j.additivity.org.apache.isis.core.runtime.services.ServicesInstallerFromConfiguration=false
|
||||
|
||||
log4j.logger.org.apache.isis.core.commons.config.IsisConfigurationDefault=WARN,Console
|
||||
log4j.additivity.org.apache.isis.core.commons.config.IsisConfigurationDefault=false
|
||||
|
||||
log4j.logger.org.apache.isis.core.runtime.installers.InstallerLookupDefault=WARN,Console
|
||||
log4j.additivity.org.apache.isis.core.runtime.installers.InstallerLookupDefault=false
|
||||
|
||||
|
||||
# quieten Shiro
|
||||
log4j.logger.org.apache.shiro.realm.AuthorizingRealm=WARN,Console
|
||||
log4j.additivity.log4j.logger.org.apache.shiro.realm.AuthorizingRealm=false
|
||||
|
||||
|
||||
# Application-specific logging
|
||||
log4j.logger.dom.simple.SimpleObject=DEBUG, Stderr
|
||||
log4j.additivity.dom.simple.SimpleObject=false
|
@ -0,0 +1,128 @@
|
||||
# Licensed to the Apache Software Foundation (ASF) under one
|
||||
# or more contributor license agreements. See the NOTICE file
|
||||
# distributed with this work for additional information
|
||||
# regarding copyright ownership. The ASF licenses this file
|
||||
# to you under the Apache License, Version 2.0 (the
|
||||
# "License"); you may not use this file except in compliance
|
||||
# with the License. You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing,
|
||||
# software distributed under the License is distributed on an
|
||||
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
# KIND, either express or implied. See the License for the
|
||||
# specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
|
||||
|
||||
#################################################################################
|
||||
#
|
||||
# Persistor
|
||||
#
|
||||
#################################################################################
|
||||
|
||||
|
||||
|
||||
# generally speaking this should not be enabled
|
||||
isis.persistor.disableConcurrencyChecking=false
|
||||
|
||||
|
||||
|
||||
|
||||
#################################################################################
|
||||
#
|
||||
# JDBC configuration
|
||||
#
|
||||
#################################################################################
|
||||
|
||||
#
|
||||
# configuration file holding the JDO objectstore's JDBC configuration
|
||||
# (this is a bit of a hack... just exploiting fact that Isis also loads this file)
|
||||
#
|
||||
|
||||
|
||||
#
|
||||
# JDBC connection details
|
||||
# (also update the pom.xml to reference the appropriate JDBC driver)
|
||||
#
|
||||
|
||||
#
|
||||
# HSQLDB in-memory
|
||||
#
|
||||
isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionDriverName=org.hsqldb.jdbcDriver
|
||||
isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL=jdbc:hsqldb:mem:test
|
||||
isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionUserName=sa
|
||||
isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword=
|
||||
|
||||
#
|
||||
# HSQLDB in-memory (using log4jdbc-remix)
|
||||
#
|
||||
#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionDriverName=net.sf.log4jdbc.DriverSpy
|
||||
#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL=jdbc:log4jdbc:hsqldb:mem:test
|
||||
#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionUserName=sa
|
||||
#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword=
|
||||
|
||||
|
||||
|
||||
#
|
||||
# HSQLDB to file
|
||||
#
|
||||
#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionDriverName=org.hsqldb.jdbcDriver
|
||||
#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL=jdbc:hsqldb:file:/tmp/isis-simple-app/hsql-db;hsqldb.write_delay=false;shutdown=true
|
||||
#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionUserName=sa
|
||||
#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword=
|
||||
|
||||
#
|
||||
# HSQLDB to file (using log4jdbc-remix)
|
||||
#
|
||||
#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionDriverName=net.sf.log4jdbc.DriverSpy
|
||||
#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL=jdbc:log4jdbc:hsqldb:file:/tmp/isis-simple-app/hsql-db;hsqldb.write_delay=false;shutdown=true
|
||||
#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionUserName=sa
|
||||
#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword=
|
||||
|
||||
|
||||
|
||||
#
|
||||
# PostgreSQL Server
|
||||
#
|
||||
#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionDriverName=org.postgresql.Driver
|
||||
#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL=jdbc:postgresql://localhost:5432/isis
|
||||
#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionUserName=isis
|
||||
#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword=isis
|
||||
|
||||
#
|
||||
# PostgreSQL Server (using log4jdbc-remix)
|
||||
#
|
||||
#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionDriverName=net.sf.log4jdbc.DriverSpy
|
||||
#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL=jdbc:log4jdbc:postgresql://localhost:5432/isis
|
||||
#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionUserName=isis
|
||||
#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword=isis
|
||||
|
||||
|
||||
|
||||
#
|
||||
# MS SQL Server
|
||||
#
|
||||
#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionDriverName=com.microsoft.sqlserver.jdbc.SQLServerDriver
|
||||
#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL=jdbc:sqlserver://127.0.0.1:1433;instance=.;databaseName=simple
|
||||
#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionUserName=sa
|
||||
#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword=p4ssword
|
||||
|
||||
#
|
||||
# MS SQL Server (using log4jdbc-remix)
|
||||
#
|
||||
#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionDriverName=net.sf.log4jdbc.DriverSpy
|
||||
#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL=jdbc:log4jdbc:sqlserver://127.0.0.1:1433;instance=SQLEXPRESS;databaseName=jdo
|
||||
#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionUserName=jdo
|
||||
#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword=jdopass
|
||||
|
||||
|
||||
|
||||
#
|
||||
# neo4j
|
||||
# (experimental; run with -P neo4j profile in webapp project)
|
||||
#
|
||||
#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL=neo4j:neo4j_DB
|
||||
|
@ -0,0 +1,93 @@
|
||||
# Licensed to the Apache Software Foundation (ASF) under one
|
||||
# or more contributor license agreements. See the NOTICE file
|
||||
# distributed with this work for additional information
|
||||
# regarding copyright ownership. The ASF licenses this file
|
||||
# to you under the Apache License, Version 2.0 (the
|
||||
# "License"); you may not use this file except in compliance
|
||||
# with the License. You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing,
|
||||
# software distributed under the License is distributed on an
|
||||
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
# KIND, either express or implied. See the License for the
|
||||
# specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
#
|
||||
# configuration file for the JDO/DataNucleus objectstore
|
||||
#
|
||||
|
||||
# identifies @PersistenceCapable entities to be eagerly registered
|
||||
# if move class to other package (eg com.mycompany.myapp.dom) then update
|
||||
isis.persistor.datanucleus.RegisterEntities.packagePrefix=domainapp.dom.modules
|
||||
|
||||
#
|
||||
# hook to perform additional initialization when JDO class metadata is loaded
|
||||
# default implementation will attempt to run 'create schema' for the specified schema.
|
||||
#
|
||||
#isis.persistor.datanucleus.classMetadataLoadedListener=org.apache.isis.objectstore.jdo.datanucleus.CreateSchemaFromClassMetadata
|
||||
|
||||
|
||||
# whether to persist the event data as a "clob" or as a "zipped" byte[]
|
||||
# default is "zipped"
|
||||
#isis.persistor.datanucleus.PublishingService.serializedForm=zipped
|
||||
|
||||
|
||||
#####################################################################
|
||||
#
|
||||
# DataNucleus' configuration
|
||||
#
|
||||
# The 'isis.persistor.datanucleus.impl' prefix is stripped off,
|
||||
# remainder is passed through to DataNucleus
|
||||
#
|
||||
#####################################################################
|
||||
|
||||
isis.persistor.datanucleus.impl.datanucleus.schema.autoCreateAll=true
|
||||
isis.persistor.datanucleus.impl.datanucleus.schema.validateTables=true
|
||||
isis.persistor.datanucleus.impl.datanucleus.schema.validateConstraints=true
|
||||
|
||||
|
||||
#
|
||||
# Require explicit persistence (since entities are Comparable and using ObjectContracts#compareTo).
|
||||
# see http://www.datanucleus.org/products/accessplatform_3_0/jdo/transaction_types.html
|
||||
#
|
||||
isis.persistor.datanucleus.impl.datanucleus.persistenceByReachabilityAtCommit=false
|
||||
|
||||
|
||||
#
|
||||
# How column names are identified
|
||||
# (http://www.datanucleus.org/products/datanucleus/jdo/orm/datastore_identifiers.html)
|
||||
#
|
||||
isis.persistor.datanucleus.impl.datanucleus.identifier.case=MixedCase
|
||||
|
||||
#
|
||||
# L2 cache
|
||||
# off except if explicitly marked as cacheable
|
||||
# http://www.datanucleus.org/products/datanucleus/jdo/cache.html
|
||||
#
|
||||
isis.persistor.datanucleus.impl.datanucleus.cache.level2.type=none
|
||||
isis.persistor.datanucleus.impl.datanucleus.cache.level2.mode=ENABLE_SELECTIVE
|
||||
|
||||
|
||||
|
||||
#
|
||||
# uncomment to use JNDI rather than direct JDBC
|
||||
#
|
||||
#isis.persistor.datanucleus.impl.datanucleus.ConnectionFactoryName=java:comp/env/jdbc/quickstart
|
||||
|
||||
#
|
||||
# uncomment to use JTA resource
|
||||
#
|
||||
#isis.persistor.datanucleus.impl.datanucleus.ConnectionFactory2Name=java:comp/env/jdbc/quickstart-nontx
|
||||
#isis.persistor.datanucleus.impl.javax.jdo.option.TransactionType=JTA
|
||||
|
||||
|
||||
|
||||
#
|
||||
#
|
||||
# JDBC connection details
|
||||
# ... are in persistor.properties
|
||||
#
|
||||
#
|
93
naked-objects/webapp/src/main/webapp/WEB-INF/shiro.ini
Normal file
93
naked-objects/webapp/src/main/webapp/WEB-INF/shiro.ini
Normal file
@ -0,0 +1,93 @@
|
||||
#
|
||||
# Licensed to the Apache Software Foundation (ASF) under one
|
||||
# or more contributor license agreements. See the NOTICE file
|
||||
# distributed with this work for additional information
|
||||
# regarding copyright ownership. The ASF licenses this file
|
||||
# to you under the Apache License, Version 2.0 (the
|
||||
# "License"); you may not use this file except in compliance
|
||||
# with the License. You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing,
|
||||
# software distributed under the License is distributed on an
|
||||
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
# KIND, either express or implied. See the License for the
|
||||
# specific language governing permissions and limitations
|
||||
# under the License.
|
||||
#
|
||||
|
||||
[main]
|
||||
|
||||
contextFactory = org.apache.isis.security.shiro.IsisLdapContextFactory
|
||||
contextFactory.url = ldap://localhost:10389
|
||||
contextFactory.authenticationMechanism = CRAM-MD5
|
||||
contextFactory.systemAuthenticationMechanism = simple
|
||||
contextFactory.systemUsername = uid=admin,ou=system
|
||||
contextFactory.systemPassword = secret
|
||||
|
||||
ldapRealm = org.apache.isis.security.shiro.IsisLdapRealm
|
||||
ldapRealm.contextFactory = $contextFactory
|
||||
|
||||
ldapRealm.searchBase = ou=groups,o=mojo
|
||||
ldapRealm.groupObjectClass = groupOfUniqueNames
|
||||
ldapRealm.uniqueMemberAttribute = uniqueMember
|
||||
ldapRealm.uniqueMemberAttributeValueTemplate = uid={0}
|
||||
|
||||
# optional mapping from physical groups to logical application roles
|
||||
#ldapRealm.rolesByGroup = \
|
||||
# LDN_USERS: user_role,\
|
||||
# NYK_USERS: user_role,\
|
||||
# HKG_USERS: user_role,\
|
||||
# GLOBAL_ADMIN: admin_role,\
|
||||
# DEMOS: self-install_role
|
||||
|
||||
ldapRealm.permissionsByRole=\
|
||||
user_role = *:ToDoItemsJdo:*:*,\
|
||||
*:ToDoItem:*:*; \
|
||||
self-install_role = *:ToDoItemsFixturesService:install:* ; \
|
||||
admin_role = *
|
||||
|
||||
# to use ldap...
|
||||
# (see docs for details of how to setup users/groups in Apache Directory Studio).
|
||||
#securityManager.realms = $ldapRealm
|
||||
|
||||
# to use .ini file
|
||||
securityManager.realms = $iniRealm
|
||||
|
||||
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Users and their assigned roles
|
||||
#
|
||||
# Each line conforms to the format defined in the
|
||||
# org.apache.shiro.realm.text.TextConfigurationRealm#setUserDefinitions JavaDoc
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
[users]
|
||||
# user = password, role1, role2, role3, ...
|
||||
|
||||
|
||||
sven = pass, admin_role
|
||||
dick = pass, user_role, self-install_role
|
||||
bob = pass, user_role, self-install_role
|
||||
joe = pass, user_role, self-install_role
|
||||
guest = guest, user_role
|
||||
|
||||
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Roles with assigned permissions
|
||||
#
|
||||
# Each line conforms to the format defined in the
|
||||
# org.apache.shiro.realm.text.TextConfigurationRealm#setRoleDefinitions JavaDoc
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
[roles]
|
||||
# role = perm1, perm2, perm3, ...
|
||||
# perm in format: packageName:className:memberName:r,w
|
||||
|
||||
user_role = *:SimpleObjects:*:*,\
|
||||
*:SimpleObject:*:*
|
||||
self-install_role = *:DomainAppFixtureService:*:*
|
||||
admin_role = *
|
213
naked-objects/webapp/src/main/webapp/WEB-INF/translations-en.po
Normal file
213
naked-objects/webapp/src/main/webapp/WEB-INF/translations-en.po
Normal file
@ -0,0 +1,213 @@
|
||||
##############################################################################
|
||||
#
|
||||
# .pot file
|
||||
#
|
||||
# Translate this file to each required language and place in WEB-INF, eg:
|
||||
#
|
||||
# /WEB-INF/translations-en_US.po
|
||||
# /WEB-INF/translations-en.po
|
||||
# /WEB-INF/translations-fr_FR.po
|
||||
# /WEB-INF/translations-fr.po
|
||||
# /WEB-INF/translations.po
|
||||
#
|
||||
# If the app uses TranslatableString (eg for internationalized validation
|
||||
# messages), or if the app calls the TranslationService directly, then ensure
|
||||
# that all text to be translated has been captured by running a full
|
||||
# integration test suite that exercises all relevant behaviour
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#downloadTranslations(java.lang.String)
|
||||
msgid ".pot file name"
|
||||
msgstr ".pot file name"
|
||||
|
||||
|
||||
#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#resetTranslationCache()
|
||||
msgid "Clear translation cache"
|
||||
msgstr "Clear translation cache"
|
||||
|
||||
|
||||
#: domainapp.dom.modules.simple.SimpleObjects#create()
|
||||
msgid "Create"
|
||||
msgstr "Create"
|
||||
|
||||
|
||||
#: org.apache.isis.applib.fixturescripts.FixtureScript#discoverable
|
||||
msgid "Discoverable"
|
||||
msgstr "Discoverable"
|
||||
|
||||
|
||||
#: org.apache.isis.applib.fixtures.FixtureType#DOMAIN_OBJECTS
|
||||
msgid "Domain Objects"
|
||||
msgstr "Domain Objects"
|
||||
|
||||
|
||||
#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#downloadTranslations()
|
||||
msgid "Download Translations"
|
||||
msgstr "Download Translations"
|
||||
|
||||
|
||||
#: domainapp.dom.modules.simple.SimpleObject#updateName()
|
||||
msgid "Exclamation mark is not allowed"
|
||||
msgstr "Exclamation mark is not allowed"
|
||||
|
||||
|
||||
#: domainapp.dom.modules.simple.SimpleObjects#findByName()
|
||||
msgid "Find By Name"
|
||||
msgstr "Find By Name"
|
||||
|
||||
|
||||
#: org.apache.isis.applib.fixturescripts.FixtureResult#fixtureScriptClassName
|
||||
msgid "Fixture script"
|
||||
msgstr "Fixture script"
|
||||
|
||||
|
||||
#: org.apache.isis.applib.fixturescripts.FixtureScript#friendlyName
|
||||
msgid "Friendly Name"
|
||||
msgstr "Friendly Name"
|
||||
|
||||
|
||||
#: domainapp.dom.modules.simple.SimpleObject
|
||||
msgid "General"
|
||||
msgstr "General"
|
||||
|
||||
|
||||
#: domainapp.dom.app.homepage.HomePageService#homePage()
|
||||
msgid "Home Page"
|
||||
msgstr "Home Page"
|
||||
|
||||
|
||||
#: domainapp.dom.modules.simple.SimpleObjects#listAll()
|
||||
msgid "List All"
|
||||
msgstr "List All"
|
||||
|
||||
|
||||
#: org.apache.isis.applib.fixturescripts.FixtureScript#localName
|
||||
msgid "Local Name"
|
||||
msgstr "Local Name"
|
||||
|
||||
|
||||
#: org.apache.isis.applib.fixturescripts.FixtureScript#lookup()
|
||||
#: org.apache.isis.applib.services.bookmark.BookmarkHolderActionContributions#lookup()
|
||||
msgid "Lookup"
|
||||
msgstr "Lookup"
|
||||
|
||||
|
||||
#: domainapp.dom.modules.simple.SimpleObject#name
|
||||
#: domainapp.dom.modules.simple.SimpleObjects#create(java.lang.String)
|
||||
#: domainapp.dom.modules.simple.SimpleObjects#findByName(java.lang.String)
|
||||
msgid "Name"
|
||||
msgstr "Name"
|
||||
|
||||
|
||||
#: domainapp.dom.modules.simple.SimpleObject#updateName(java.lang.String)
|
||||
msgid "New name"
|
||||
msgstr "New name"
|
||||
|
||||
|
||||
#: org.apache.isis.applib.services.bookmark.BookmarkHolderAssociationContributions#object()
|
||||
msgid "Object"
|
||||
msgstr "Object"
|
||||
|
||||
|
||||
#: domainapp.dom.modules.simple.SimpleObject#title()
|
||||
msgid "Object: {name}"
|
||||
msgstr "Object: {name}"
|
||||
|
||||
|
||||
#: domainapp.dom.app.homepage.HomePageViewModel#objects
|
||||
msgid "Objects"
|
||||
msgstr "Objects"
|
||||
|
||||
|
||||
#: org.apache.isis.applib.fixtures.FixtureType#OTHER
|
||||
msgid "Other"
|
||||
msgstr "Other"
|
||||
|
||||
|
||||
#: domainapp.fixture.DomainAppFixturesService#runFixtureScript(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
|
||||
#: org.apache.isis.applib.fixturescripts.FixtureScripts#runFixtureScript(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
|
||||
msgid "Parameters"
|
||||
msgstr "Parameters"
|
||||
|
||||
|
||||
#: domainapp.fixture.DomainAppFixturesService
|
||||
#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu
|
||||
msgid "Prototyping"
|
||||
msgstr "Prototyping"
|
||||
|
||||
|
||||
#: domainapp.fixture.DomainAppFixturesService#recreateObjectsAndReturnFirst()
|
||||
msgid "Recreate Objects And Return First"
|
||||
msgstr "Recreate Objects And Return First"
|
||||
|
||||
|
||||
#: org.apache.isis.applib.fixturescripts.FixtureResult#object
|
||||
msgid "Result"
|
||||
msgstr "Result"
|
||||
|
||||
|
||||
#: org.apache.isis.applib.fixturescripts.FixtureResult#className
|
||||
msgid "Result class"
|
||||
msgstr "Result class"
|
||||
|
||||
|
||||
#: org.apache.isis.applib.fixturescripts.FixtureResult#key
|
||||
msgid "Result key"
|
||||
msgstr "Result key"
|
||||
|
||||
|
||||
#: domainapp.fixture.DomainAppFixturesService#runFixtureScript()
|
||||
#: org.apache.isis.applib.fixturescripts.FixtureScripts#runFixtureScript()
|
||||
msgid "Run Fixture Script"
|
||||
msgstr "Run Fixture Script"
|
||||
|
||||
|
||||
#: org.apache.isis.applib.fixturescripts.FixtureScript
|
||||
msgid "Script"
|
||||
msgstr "Script"
|
||||
|
||||
|
||||
#: domainapp.fixture.DomainAppFixturesService#runFixtureScript(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
|
||||
#: org.apache.isis.applib.fixturescripts.FixtureScripts#runFixtureScript(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
|
||||
msgid "Script-specific parameters (if any). The format depends on the script implementation (eg key=value, CSV, JSON, XML etc)"
|
||||
msgstr "Script-specific parameters (if any). The format depends on the script implementation (eg key=value, CSV, JSON, XML etc)"
|
||||
|
||||
|
||||
#: domainapp.dom.modules.simple.SimpleObjects#title()
|
||||
msgid "Simple Objects"
|
||||
msgstr "Simple Objects"
|
||||
|
||||
|
||||
#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#switchToReadingTranslations()
|
||||
msgid "Switch To Reading Translations"
|
||||
msgstr "Switch To Reading Translations"
|
||||
|
||||
|
||||
#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#switchToWritingTranslations()
|
||||
msgid "Switch To Writing Translations"
|
||||
msgstr "Switch To Writing Translations"
|
||||
|
||||
|
||||
#: org.apache.isis.applib.fixturescripts.FixtureScript#type
|
||||
msgid "Type"
|
||||
msgstr "Type"
|
||||
|
||||
|
||||
#: domainapp.dom.modules.simple.SimpleObject#updateName()
|
||||
msgid "Update Name"
|
||||
msgstr "Update Name"
|
||||
|
||||
|
||||
#: domainapp.dom.modules.simple.SimpleObject
|
||||
msgid "name"
|
||||
msgstr ""
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
##############################################################################
|
||||
# end of .pot file
|
||||
##############################################################################
|
||||
|
208
naked-objects/webapp/src/main/webapp/WEB-INF/translations-es.po
Normal file
208
naked-objects/webapp/src/main/webapp/WEB-INF/translations-es.po
Normal file
@ -0,0 +1,208 @@
|
||||
##############################################################################
|
||||
#
|
||||
# .pot file
|
||||
#
|
||||
# Translate this file to each required language and place in WEB-INF, eg:
|
||||
#
|
||||
# /WEB-INF/translations-en_US.po
|
||||
# /WEB-INF/translations-en.po
|
||||
# /WEB-INF/translations-fr_FR.po
|
||||
# /WEB-INF/translations-fr.po
|
||||
# /WEB-INF/translations.po
|
||||
#
|
||||
# If the app uses TranslatableString (eg for internationalized validation
|
||||
# messages), or if the app calls the TranslationService directly, then ensure
|
||||
# that all text to be translated has been captured by running a full
|
||||
# integration test suite that exercises all relevant behaviour
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#downloadTranslations(java.lang.String)
|
||||
msgid ".pot file name"
|
||||
msgstr "fichero .pot"
|
||||
|
||||
|
||||
#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#resetTranslationCache()
|
||||
msgid "Clear translation cache"
|
||||
msgstr "Limpiar la caché de traducciones"
|
||||
|
||||
|
||||
#: domainapp.dom.modules.simple.SimpleObjects#create()
|
||||
msgid "Create"
|
||||
msgstr "Crear"
|
||||
|
||||
|
||||
#: org.apache.isis.applib.fixturescripts.FixtureScript#discoverable
|
||||
msgid "Discoverable"
|
||||
msgstr "Descubrible"
|
||||
|
||||
|
||||
#: org.apache.isis.applib.fixtures.FixtureType#DOMAIN_OBJECTS
|
||||
msgid "Domain Objects"
|
||||
msgstr "Domain Objects"
|
||||
|
||||
|
||||
#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#downloadTranslations()
|
||||
msgid "Download Translations"
|
||||
msgstr "Descargar traducciones"
|
||||
|
||||
|
||||
#: domainapp.dom.modules.simple.SimpleObject#updateName()
|
||||
msgid "Exclamation mark is not allowed"
|
||||
msgstr "No se admite el signo de exclamación"
|
||||
|
||||
|
||||
#: domainapp.dom.modules.simple.SimpleObjects#findByName()
|
||||
msgid "Find By Name"
|
||||
msgstr "Buscar por Nombre"
|
||||
|
||||
|
||||
#: org.apache.isis.applib.fixturescripts.FixtureResult#fixtureScriptClassName
|
||||
msgid "Fixture script"
|
||||
msgstr "Script de Instalación"
|
||||
|
||||
|
||||
#: org.apache.isis.applib.fixturescripts.FixtureScript#friendlyName
|
||||
msgid "Friendly Name"
|
||||
msgstr "Nombre común"
|
||||
|
||||
|
||||
#: domainapp.dom.app.homepage.HomePageService#homePage()
|
||||
msgid "Home Page"
|
||||
msgstr "Página de Inicio"
|
||||
|
||||
|
||||
#: domainapp.dom.modules.simple.SimpleObjects#listAll()
|
||||
msgid "List All"
|
||||
msgstr "Listar Todos"
|
||||
|
||||
|
||||
#: org.apache.isis.applib.fixturescripts.FixtureScript#localName
|
||||
msgid "Local Name"
|
||||
msgstr "Nombre Local"
|
||||
|
||||
|
||||
#: org.apache.isis.applib.fixturescripts.FixtureScript#lookup()
|
||||
#: org.apache.isis.applib.services.bookmark.BookmarkHolderActionContributions#lookup()
|
||||
msgid "Lookup"
|
||||
msgstr "Buscar"
|
||||
|
||||
|
||||
#: domainapp.dom.modules.simple.SimpleObject#name
|
||||
#: domainapp.dom.modules.simple.SimpleObjects#create(java.lang.String)
|
||||
#: domainapp.dom.modules.simple.SimpleObjects#findByName(java.lang.String)
|
||||
msgid "Name"
|
||||
msgstr "Nombre"
|
||||
|
||||
|
||||
#: domainapp.dom.modules.simple.SimpleObject#updateName(java.lang.String)
|
||||
msgid "New name"
|
||||
msgstr "Nuevo nombre"
|
||||
|
||||
|
||||
#: org.apache.isis.applib.services.bookmark.BookmarkHolderAssociationContributions#object()
|
||||
msgid "Object"
|
||||
msgstr "Objeto"
|
||||
|
||||
|
||||
#: domainapp.dom.modules.simple.SimpleObject#title()
|
||||
msgid "Object: {name}"
|
||||
msgstr "Objeto: {name}"
|
||||
|
||||
|
||||
#: domainapp.dom.app.homepage.HomePageViewModel#objects
|
||||
msgid "Objects"
|
||||
msgstr "Objetos"
|
||||
|
||||
|
||||
#: org.apache.isis.applib.fixtures.FixtureType#OTHER
|
||||
msgid "Other"
|
||||
msgstr "Other"
|
||||
|
||||
|
||||
#: domainapp.fixture.DomainAppFixturesService#runFixtureScript(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
|
||||
#: org.apache.isis.applib.fixturescripts.FixtureScripts#runFixtureScript(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
|
||||
msgid "Parameters"
|
||||
msgstr "Parámetros"
|
||||
|
||||
|
||||
#: domainapp.fixture.DomainAppFixturesService
|
||||
#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu
|
||||
msgid "Prototyping"
|
||||
msgstr "Prototipo"
|
||||
|
||||
|
||||
#: domainapp.fixture.DomainAppFixturesService#recreateObjectsAndReturnFirst()
|
||||
msgid "Recreate Objects And Return First"
|
||||
msgstr "Recrear Objetos y Devolver el Primero"
|
||||
|
||||
|
||||
#: org.apache.isis.applib.fixturescripts.FixtureResult#object
|
||||
msgid "Result"
|
||||
msgstr "Resultado"
|
||||
|
||||
|
||||
#: org.apache.isis.applib.fixturescripts.FixtureResult#className
|
||||
msgid "Result class"
|
||||
msgstr "Clase del resultado"
|
||||
|
||||
|
||||
#: org.apache.isis.applib.fixturescripts.FixtureResult#key
|
||||
msgid "Result key"
|
||||
msgstr "Clave del Resultado"
|
||||
|
||||
|
||||
#: domainapp.fixture.DomainAppFixturesService#runFixtureScript()
|
||||
#: org.apache.isis.applib.fixturescripts.FixtureScripts#runFixtureScript()
|
||||
msgid "Run Fixture Script"
|
||||
msgstr "Ejecutar Script de Instalación"
|
||||
|
||||
|
||||
#: org.apache.isis.applib.fixturescripts.FixtureScript
|
||||
msgid "Script"
|
||||
msgstr "Script"
|
||||
|
||||
|
||||
#: domainapp.fixture.DomainAppFixturesService#runFixtureScript(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
|
||||
#: org.apache.isis.applib.fixturescripts.FixtureScripts#runFixtureScript(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
|
||||
msgid "Script-specific parameters (if any). The format depends on the script implementation (eg key=value, CSV, JSON, XML etc)"
|
||||
msgstr "Parámetros específicos del Script (si hay alguno). El formato depende de la implementación del script (por ejemplo, clave=valor, CSV, JSON, XML, etc.)"
|
||||
|
||||
|
||||
#: domainapp.dom.modules.simple.SimpleObjects#title()
|
||||
msgid "Simple Objects"
|
||||
msgstr "Objetos básicos"
|
||||
|
||||
|
||||
#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#switchToReadingTranslations()
|
||||
msgid "Switch To Reading Translations"
|
||||
msgstr "Cambiar a Lectura de Traducciones"
|
||||
|
||||
|
||||
#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#switchToWritingTranslations()
|
||||
msgid "Switch To Writing Translations"
|
||||
msgstr "Cambiar a Escritura de Traducciones"
|
||||
|
||||
|
||||
#: org.apache.isis.applib.fixturescripts.FixtureScript#type
|
||||
msgid "Type"
|
||||
msgstr "Tipo"
|
||||
|
||||
|
||||
#: domainapp.dom.modules.simple.SimpleObject#updateName()
|
||||
msgid "Update Name"
|
||||
msgstr "Nombre de la Actualización"
|
||||
|
||||
|
||||
#: domainapp.dom.modules.simple.SimpleObject
|
||||
msgid "name"
|
||||
msgstr ""
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
##############################################################################
|
||||
# end of .pot file
|
||||
##############################################################################
|
||||
|
208
naked-objects/webapp/src/main/webapp/WEB-INF/translations-nl.po
Normal file
208
naked-objects/webapp/src/main/webapp/WEB-INF/translations-nl.po
Normal file
@ -0,0 +1,208 @@
|
||||
##############################################################################
|
||||
#
|
||||
# .pot file
|
||||
#
|
||||
# Translate this file to each required language and place in WEB-INF, eg:
|
||||
#
|
||||
# /WEB-INF/translations-en_US.po
|
||||
# /WEB-INF/translations-en.po
|
||||
# /WEB-INF/translations-fr_FR.po
|
||||
# /WEB-INF/translations-fr.po
|
||||
# /WEB-INF/translations.po
|
||||
#
|
||||
# If the app uses TranslatableString (eg for internationalized validation
|
||||
# messages), or if the app calls the TranslationService directly, then ensure
|
||||
# that all text to be translated has been captured by running a full
|
||||
# integration test suite that exercises all relevant behaviour
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#downloadTranslations(java.lang.String)
|
||||
msgid ".pot file name"
|
||||
msgstr ""
|
||||
|
||||
|
||||
#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#resetTranslationCache()
|
||||
msgid "Clear translation cache"
|
||||
msgstr ""
|
||||
|
||||
|
||||
#: domainapp.dom.modules.simple.SimpleObjects#create()
|
||||
msgid "Create"
|
||||
msgstr "Creëren"
|
||||
|
||||
|
||||
#: org.apache.isis.applib.fixturescripts.FixtureScript#discoverable
|
||||
msgid "Discoverable"
|
||||
msgstr "Discoverable"
|
||||
|
||||
|
||||
#: org.apache.isis.applib.fixtures.FixtureType#DOMAIN_OBJECTS
|
||||
msgid "Domain Objects"
|
||||
msgstr "Domain Objects"
|
||||
|
||||
|
||||
#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#downloadTranslations()
|
||||
msgid "Download Translations"
|
||||
msgstr ""
|
||||
|
||||
|
||||
#: domainapp.dom.modules.simple.SimpleObject#updateName()
|
||||
msgid "Exclamation mark is not allowed"
|
||||
msgstr ""
|
||||
|
||||
|
||||
#: domainapp.dom.modules.simple.SimpleObjects#findByName()
|
||||
msgid "Find By Name"
|
||||
msgstr "Zoek op Naam"
|
||||
|
||||
|
||||
#: org.apache.isis.applib.fixturescripts.FixtureResult#fixtureScriptClassName
|
||||
msgid "Fixture script"
|
||||
msgstr ""
|
||||
|
||||
|
||||
#: org.apache.isis.applib.fixturescripts.FixtureScript#friendlyName
|
||||
msgid "Friendly Name"
|
||||
msgstr ""
|
||||
|
||||
|
||||
#: domainapp.dom.app.homepage.HomePageService#homePage()
|
||||
msgid "Home Page"
|
||||
msgstr ""
|
||||
|
||||
|
||||
#: domainapp.dom.modules.simple.SimpleObjects#listAll()
|
||||
msgid "List All"
|
||||
msgstr "Lijst Alle"
|
||||
|
||||
|
||||
#: org.apache.isis.applib.fixturescripts.FixtureScript#localName
|
||||
msgid "Local Name"
|
||||
msgstr ""
|
||||
|
||||
|
||||
#: org.apache.isis.applib.fixturescripts.FixtureScript#lookup()
|
||||
#: org.apache.isis.applib.services.bookmark.BookmarkHolderActionContributions#lookup()
|
||||
msgid "Lookup"
|
||||
msgstr ""
|
||||
|
||||
|
||||
#: domainapp.dom.modules.simple.SimpleObject#name
|
||||
#: domainapp.dom.modules.simple.SimpleObjects#create(java.lang.String)
|
||||
#: domainapp.dom.modules.simple.SimpleObjects#findByName(java.lang.String)
|
||||
msgid "Name"
|
||||
msgstr "Naam"
|
||||
|
||||
|
||||
#: domainapp.dom.modules.simple.SimpleObject#updateName(java.lang.String)
|
||||
msgid "New name"
|
||||
msgstr "Nieuwe naam"
|
||||
|
||||
|
||||
#: org.apache.isis.applib.services.bookmark.BookmarkHolderAssociationContributions#object()
|
||||
msgid "Object"
|
||||
msgstr ""
|
||||
|
||||
|
||||
#: domainapp.dom.modules.simple.SimpleObject#title()
|
||||
msgid "Object: {name}"
|
||||
msgstr ""
|
||||
|
||||
|
||||
#: domainapp.dom.app.homepage.HomePageViewModel#objects
|
||||
msgid "Objects"
|
||||
msgstr "Objects"
|
||||
|
||||
|
||||
#: org.apache.isis.applib.fixtures.FixtureType#OTHER
|
||||
msgid "Other"
|
||||
msgstr "Other"
|
||||
|
||||
|
||||
#: domainapp.fixture.DomainAppFixturesService#runFixtureScript(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
|
||||
#: org.apache.isis.applib.fixturescripts.FixtureScripts#runFixtureScript(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
|
||||
msgid "Parameters"
|
||||
msgstr ""
|
||||
|
||||
|
||||
#: domainapp.fixture.DomainAppFixturesService
|
||||
#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu
|
||||
msgid "Prototyping"
|
||||
msgstr ""
|
||||
|
||||
|
||||
#: domainapp.fixture.DomainAppFixturesService#recreateObjectsAndReturnFirst()
|
||||
msgid "Recreate Objects And Return First"
|
||||
msgstr ""
|
||||
|
||||
|
||||
#: org.apache.isis.applib.fixturescripts.FixtureResult#object
|
||||
msgid "Result"
|
||||
msgstr ""
|
||||
|
||||
|
||||
#: org.apache.isis.applib.fixturescripts.FixtureResult#className
|
||||
msgid "Result class"
|
||||
msgstr ""
|
||||
|
||||
|
||||
#: org.apache.isis.applib.fixturescripts.FixtureResult#key
|
||||
msgid "Result key"
|
||||
msgstr ""
|
||||
|
||||
|
||||
#: domainapp.fixture.DomainAppFixturesService#runFixtureScript()
|
||||
#: org.apache.isis.applib.fixturescripts.FixtureScripts#runFixtureScript()
|
||||
msgid "Run Fixture Script"
|
||||
msgstr ""
|
||||
|
||||
|
||||
#: org.apache.isis.applib.fixturescripts.FixtureScript
|
||||
msgid "Script"
|
||||
msgstr ""
|
||||
|
||||
|
||||
#: domainapp.fixture.DomainAppFixturesService#runFixtureScript(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
|
||||
#: org.apache.isis.applib.fixturescripts.FixtureScripts#runFixtureScript(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
|
||||
msgid "Script-specific parameters (if any). The format depends on the script implementation (eg key=value, CSV, JSON, XML etc)"
|
||||
msgstr ""
|
||||
|
||||
|
||||
#: domainapp.dom.modules.simple.SimpleObjects#title()
|
||||
msgid "Simple Objects"
|
||||
msgstr "Eenvoudige Objecten"
|
||||
|
||||
|
||||
#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#switchToReadingTranslations()
|
||||
msgid "Switch To Reading Translations"
|
||||
msgstr ""
|
||||
|
||||
|
||||
#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#switchToWritingTranslations()
|
||||
msgid "Switch To Writing Translations"
|
||||
msgstr ""
|
||||
|
||||
|
||||
#: org.apache.isis.applib.fixturescripts.FixtureScript#type
|
||||
msgid "Type"
|
||||
msgstr ""
|
||||
|
||||
|
||||
#: domainapp.dom.modules.simple.SimpleObject#updateName()
|
||||
msgid "Update Name"
|
||||
msgstr "Updaten Naam"
|
||||
|
||||
|
||||
#: domainapp.dom.modules.simple.SimpleObject
|
||||
msgid "name"
|
||||
msgstr ""
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
##############################################################################
|
||||
# end of .pot file
|
||||
##############################################################################
|
||||
|
213
naked-objects/webapp/src/main/webapp/WEB-INF/translations.po
Normal file
213
naked-objects/webapp/src/main/webapp/WEB-INF/translations.po
Normal file
@ -0,0 +1,213 @@
|
||||
##############################################################################
|
||||
#
|
||||
# .pot file
|
||||
#
|
||||
# Translate this file to each required language and place in WEB-INF, eg:
|
||||
#
|
||||
# /WEB-INF/translations-en_US.po
|
||||
# /WEB-INF/translations-en.po
|
||||
# /WEB-INF/translations-fr_FR.po
|
||||
# /WEB-INF/translations-fr.po
|
||||
# /WEB-INF/translations.po
|
||||
#
|
||||
# If the app uses TranslatableString (eg for internationalized validation
|
||||
# messages), or if the app calls the TranslationService directly, then ensure
|
||||
# that all text to be translated has been captured by running a full
|
||||
# integration test suite that exercises all relevant behaviour
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#downloadTranslations(java.lang.String)
|
||||
msgid ".pot file name"
|
||||
msgstr ""
|
||||
|
||||
|
||||
#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#resetTranslationCache()
|
||||
msgid "Clear translation cache"
|
||||
msgstr ""
|
||||
|
||||
|
||||
#: domainapp.dom.modules.simple.SimpleObjects#create()
|
||||
msgid "Create"
|
||||
msgstr ""
|
||||
|
||||
|
||||
#: org.apache.isis.applib.fixturescripts.FixtureScript#discoverable
|
||||
msgid "Discoverable"
|
||||
msgstr ""
|
||||
|
||||
|
||||
#: org.apache.isis.applib.fixtures.FixtureType#DOMAIN_OBJECTS
|
||||
msgid "Domain Objects"
|
||||
msgstr ""
|
||||
|
||||
|
||||
#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#downloadTranslations()
|
||||
msgid "Download Translations"
|
||||
msgstr ""
|
||||
|
||||
|
||||
#: domainapp.dom.modules.simple.SimpleObject#updateName()
|
||||
msgid "Exclamation mark is not allowed"
|
||||
msgstr ""
|
||||
|
||||
|
||||
#: domainapp.dom.modules.simple.SimpleObjects#findByName()
|
||||
msgid "Find By Name"
|
||||
msgstr ""
|
||||
|
||||
|
||||
#: org.apache.isis.applib.fixturescripts.FixtureResult#fixtureScriptClassName
|
||||
msgid "Fixture script"
|
||||
msgstr ""
|
||||
|
||||
|
||||
#: org.apache.isis.applib.fixturescripts.FixtureScript#friendlyName
|
||||
msgid "Friendly Name"
|
||||
msgstr ""
|
||||
|
||||
|
||||
#: domainapp.dom.modules.simple.SimpleObject
|
||||
msgid "General"
|
||||
msgstr "Common"
|
||||
|
||||
|
||||
#: domainapp.dom.app.homepage.HomePageService#homePage()
|
||||
msgid "Home Page"
|
||||
msgstr ""
|
||||
|
||||
|
||||
#: domainapp.dom.modules.simple.SimpleObjects#listAll()
|
||||
msgid "List All"
|
||||
msgstr ""
|
||||
|
||||
|
||||
#: org.apache.isis.applib.fixturescripts.FixtureScript#localName
|
||||
msgid "Local Name"
|
||||
msgstr ""
|
||||
|
||||
|
||||
#: org.apache.isis.applib.fixturescripts.FixtureScript#lookup()
|
||||
#: org.apache.isis.applib.services.bookmark.BookmarkHolderActionContributions#lookup()
|
||||
msgid "Lookup"
|
||||
msgstr ""
|
||||
|
||||
|
||||
#: domainapp.dom.modules.simple.SimpleObject#name
|
||||
#: domainapp.dom.modules.simple.SimpleObjects#create(java.lang.String)
|
||||
#: domainapp.dom.modules.simple.SimpleObjects#findByName(java.lang.String)
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
|
||||
#: domainapp.dom.modules.simple.SimpleObject#updateName(java.lang.String)
|
||||
msgid "New name"
|
||||
msgstr ""
|
||||
|
||||
|
||||
#: org.apache.isis.applib.services.bookmark.BookmarkHolderAssociationContributions#object()
|
||||
msgid "Object"
|
||||
msgstr ""
|
||||
|
||||
|
||||
#: domainapp.dom.modules.simple.SimpleObject#title()
|
||||
msgid "Object: {name}"
|
||||
msgstr ""
|
||||
|
||||
|
||||
#: domainapp.dom.app.homepage.HomePageViewModel#objects
|
||||
msgid "Objects"
|
||||
msgstr ""
|
||||
|
||||
|
||||
#: org.apache.isis.applib.fixtures.FixtureType#OTHER
|
||||
msgid "Other"
|
||||
msgstr ""
|
||||
|
||||
|
||||
#: domainapp.fixture.DomainAppFixturesService#runFixtureScript(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
|
||||
#: org.apache.isis.applib.fixturescripts.FixtureScripts#runFixtureScript(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
|
||||
msgid "Parameters"
|
||||
msgstr ""
|
||||
|
||||
|
||||
#: domainapp.fixture.DomainAppFixturesService
|
||||
#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu
|
||||
msgid "Prototyping"
|
||||
msgstr ""
|
||||
|
||||
|
||||
#: domainapp.fixture.DomainAppFixturesService#recreateObjectsAndReturnFirst()
|
||||
msgid "Recreate Objects And Return First"
|
||||
msgstr ""
|
||||
|
||||
|
||||
#: org.apache.isis.applib.fixturescripts.FixtureResult#object
|
||||
msgid "Result"
|
||||
msgstr ""
|
||||
|
||||
|
||||
#: org.apache.isis.applib.fixturescripts.FixtureResult#className
|
||||
msgid "Result class"
|
||||
msgstr ""
|
||||
|
||||
|
||||
#: org.apache.isis.applib.fixturescripts.FixtureResult#key
|
||||
msgid "Result key"
|
||||
msgstr ""
|
||||
|
||||
|
||||
#: domainapp.fixture.DomainAppFixturesService#runFixtureScript()
|
||||
#: org.apache.isis.applib.fixturescripts.FixtureScripts#runFixtureScript()
|
||||
msgid "Run Fixture Script"
|
||||
msgstr ""
|
||||
|
||||
|
||||
#: org.apache.isis.applib.fixturescripts.FixtureScript
|
||||
msgid "Script"
|
||||
msgstr ""
|
||||
|
||||
|
||||
#: domainapp.fixture.DomainAppFixturesService#runFixtureScript(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
|
||||
#: org.apache.isis.applib.fixturescripts.FixtureScripts#runFixtureScript(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
|
||||
msgid "Script-specific parameters (if any). The format depends on the script implementation (eg key=value, CSV, JSON, XML etc)"
|
||||
msgstr ""
|
||||
|
||||
|
||||
#: domainapp.dom.modules.simple.SimpleObjects#title()
|
||||
msgid "Simple Objects"
|
||||
msgstr ""
|
||||
|
||||
|
||||
#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#switchToReadingTranslations()
|
||||
msgid "Switch To Reading Translations"
|
||||
msgstr ""
|
||||
|
||||
|
||||
#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#switchToWritingTranslations()
|
||||
msgid "Switch To Writing Translations"
|
||||
msgstr ""
|
||||
|
||||
|
||||
#: org.apache.isis.applib.fixturescripts.FixtureScript#type
|
||||
msgid "Type"
|
||||
msgstr ""
|
||||
|
||||
|
||||
#: domainapp.dom.modules.simple.SimpleObject#updateName()
|
||||
msgid "Update Name"
|
||||
msgstr ""
|
||||
|
||||
|
||||
#: domainapp.dom.modules.simple.SimpleObject
|
||||
msgid "name"
|
||||
msgstr ""
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
##############################################################################
|
||||
# end of .pot file
|
||||
##############################################################################
|
||||
|
@ -0,0 +1,66 @@
|
||||
# Licensed to the Apache Software Foundation (ASF) under one
|
||||
# or more contributor license agreements. See the NOTICE file
|
||||
# distributed with this work for additional information
|
||||
# regarding copyright ownership. The ASF licenses this file
|
||||
# to you under the Apache License, Version 2.0 (the
|
||||
# "License"); you may not use this file except in compliance
|
||||
# with the License. You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing,
|
||||
# software distributed under the License is distributed on an
|
||||
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
# KIND, either express or implied. See the License for the
|
||||
# specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
#
|
||||
# configuration file for the Restful Objects viewer
|
||||
#
|
||||
|
||||
# the baseUrl for hrefs in the events generated by the RO EventSerializer
|
||||
isis.viewer.restfulobjects.RestfulObjectsSpecEventSerializer.baseUrl=http://localhost:8080/restful/
|
||||
|
||||
# renders param details in the (incorrect) form that they were for GSOC2013 viewers
|
||||
# isis.viewer.restfulobjects.gsoc2013.legacyParamDetails=true
|
||||
|
||||
# whether to honor UI hints, in particular Render(EAGERLY). Defaults to false.
|
||||
#isis.viewer.restfulobjects.honorUiHints=false
|
||||
|
||||
|
||||
|
||||
###############################################################################
|
||||
# Non-standard configuration settings.
|
||||
#
|
||||
# If enabled of the following are enabled then the viewer is deviating from the
|
||||
# RO spec standard; compatibility may be compromised with RO clients.
|
||||
###############################################################################
|
||||
|
||||
# whether to show only object properties for object members
|
||||
# (on the object representation only)
|
||||
# Takes precedence over the other 'suppress' below.
|
||||
#isis.viewer.restfulobjects.objectPropertyValuesOnly=true
|
||||
|
||||
# whether to suppress "describedby" links. Defaults to false.
|
||||
#isis.viewer.restfulobjects.suppressDescribedByLinks=true
|
||||
|
||||
# whether to suppress "update" links. Defaults to false.
|
||||
#isis.viewer.restfulobjects.suppressUpdateLink=true
|
||||
|
||||
# whether to suppress "id" json-prop for object members. Defaults to false.
|
||||
#isis.viewer.restfulobjects.suppressMemberId=true
|
||||
|
||||
# whether to suppress "links" json-prop for object members
|
||||
# (on the object representation only). Defaults to false.
|
||||
#isis.viewer.restfulobjects.suppressMemberLinks=true
|
||||
|
||||
# whether to suppress "extensions" json-prop for object members
|
||||
# (on the object representation only). Defaults to false.
|
||||
#isis.viewer.restfulobjects.suppressMemberExtensions=true
|
||||
|
||||
# whether to suppress "disabledReason" json-prop for object members
|
||||
# (on the object representation only). Defaults to false.
|
||||
#isis.viewer.restfulobjects.suppressMemberDisabledReason=true
|
||||
|
||||
###############################################################################
|
@ -0,0 +1,91 @@
|
||||
# Licensed to the Apache Software Foundation (ASF) under one
|
||||
# or more contributor license agreements. See the NOTICE file
|
||||
# distributed with this work for additional information
|
||||
# regarding copyright ownership. The ASF licenses this file
|
||||
# to you under the Apache License, Version 2.0 (the
|
||||
# "License"); you may not use this file except in compliance
|
||||
# with the License. You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing,
|
||||
# software distributed under the License is distributed on an
|
||||
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
# KIND, either express or implied. See the License for the
|
||||
# specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
#
|
||||
# configuration file for the Wicket viewer
|
||||
#
|
||||
|
||||
#
|
||||
# The maximum length of titles to display in standalone or parented tables.
|
||||
# Titles longer than this length will be truncated with trailing ellipses (...)
|
||||
#
|
||||
# For example, if set to 12, the title
|
||||
# "Buy milk on 15-Feb-13" will be truncated to "Buy milk ..."
|
||||
#
|
||||
# If set to 0, then only the icon will be shown.
|
||||
#
|
||||
isis.viewer.wicket.maxTitleLengthInStandaloneTables=0
|
||||
isis.viewer.wicket.maxTitleLengthInParentedTables=0
|
||||
|
||||
|
||||
#isis.viewer.wicket.datePattern=dd-MM-yyyy
|
||||
#isis.viewer.wicket.dateTimePattern=dd-MM-yyyy HH:mm
|
||||
#isis.viewer.wicket.datePickerPattern=DD-MM-YYYY
|
||||
|
||||
#isis.viewer.wicket.datePattern=dd/MM/yy
|
||||
#isis.viewer.wicket.dateTimePattern=dd/MM/yy HH:mm
|
||||
#isis.viewer.wicket.datePickerPattern=DD/MM/YY
|
||||
|
||||
|
||||
#
|
||||
# whether to strip wicket tags from markup (default is true, as they may break some CSS rules)
|
||||
#
|
||||
#isis.viewer.wicket.stripWicketTags=false
|
||||
|
||||
|
||||
#
|
||||
# whether to suppress the 'rememberMe' checkbox on the login page (default is false)
|
||||
#
|
||||
#isis.viewer.wicket.suppressRememberMe=false
|
||||
|
||||
#
|
||||
# if user attempts to access a protected URL before signing in, then as a convenience the viewer will continue
|
||||
# through to that destination after successful login. If you consider this to be a security risk then this flag
|
||||
# disables that behaviour (default is false).
|
||||
#
|
||||
#isis.viewer.wicket.clearOriginalDestination=true
|
||||
|
||||
|
||||
#
|
||||
# whether to show action dialogs on their own page rather than as a modal dialog (default is false)
|
||||
#
|
||||
#isis.viewer.wicket.disableModalDialogs=false
|
||||
|
||||
|
||||
#
|
||||
# the maximum number of pages to list in bookmark (default is 15)
|
||||
#
|
||||
#isis.viewer.wicket.bookmarkedPages.maxSize=15
|
||||
|
||||
|
||||
#
|
||||
# whether to show the bootstrap theme chooser (defaults false)
|
||||
#
|
||||
#isis.viewer.wicket.themes.showChooser=false
|
||||
isis.viewer.wicket.themes.showChooser=true
|
||||
|
||||
#
|
||||
# comma-separated list of themes to choose from (default is to show all themes from bootswatch.com).
|
||||
#
|
||||
#isis.viewer.wicket.themes.enabled=bootstrap-theme,Cosmo,Flatly,Darkly,Sandstone,United
|
||||
|
||||
|
||||
|
||||
#
|
||||
# whether to automatically select dependent choice when the choice it depends upon changes.
|
||||
#
|
||||
#isis.viewer.wicket.disableDependentChoiceAutoSelection=false
|
309
naked-objects/webapp/src/main/webapp/WEB-INF/web.xml
Normal file
309
naked-objects/webapp/src/main/webapp/WEB-INF/web.xml
Normal file
@ -0,0 +1,309 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one
|
||||
or more contributor license agreements. See the NOTICE file
|
||||
distributed with this work for additional information
|
||||
regarding copyright ownership. The ASF licenses this file
|
||||
to you under the Apache License, Version 2.0 (the
|
||||
"License"); you may not use this file except in compliance
|
||||
with the License. You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing,
|
||||
software distributed under the License is distributed on an
|
||||
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
KIND, either express or implied. See the License for the
|
||||
specific language governing permissions and limitations
|
||||
under the License.
|
||||
-->
|
||||
<web-app id="WebApp_ID" version="2.4"
|
||||
xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
|
||||
|
||||
<display-name>Simple app</display-name>
|
||||
|
||||
<welcome-file-list>
|
||||
<welcome-file>about/index.html</welcome-file>
|
||||
</welcome-file-list>
|
||||
|
||||
<!-- shiro security configuration -->
|
||||
<listener>
|
||||
<listener-class>org.apache.shiro.web.env.EnvironmentLoaderListener</listener-class>
|
||||
</listener>
|
||||
|
||||
<filter>
|
||||
<filter-name>ShiroFilter</filter-name>
|
||||
<filter-class>org.apache.shiro.web.servlet.ShiroFilter</filter-class>
|
||||
</filter>
|
||||
|
||||
<filter-mapping>
|
||||
<filter-name>ShiroFilter</filter-name>
|
||||
<url-pattern>/*</url-pattern>
|
||||
</filter-mapping>
|
||||
|
||||
|
||||
|
||||
<!-- which configuration directory to read overloaded property files from -->
|
||||
<!--
|
||||
Normally configuration like this should be done from outside your web
|
||||
application. Especially if your configuration is not know in advance or
|
||||
if it can change depending on where the application gets deployed.
|
||||
|
||||
For instance to configure this in Tomcat outside the application WAR add
|
||||
the following line to your application context ( For more detail see:
|
||||
http://tomcat.apache.org/tomcat-7.0-doc/config/context.html#Context_Parameters )
|
||||
|
||||
<Parameter name="isis.config.dir" value="/usr/local/tomcat/conf/"
|
||||
override="true"/>
|
||||
|
||||
If your configuration directory is fixed you can enable the following
|
||||
context parameter in here and forget about the outside part.
|
||||
|
||||
<context-param>
|
||||
<param-name>isis.config.dir</param-name>
|
||||
<param-value>location of your config directory if fixed</param-value>
|
||||
</context-param>
|
||||
-->
|
||||
|
||||
|
||||
<!--
|
||||
determines which additional configuration files to search for
|
||||
-->
|
||||
<context-param>
|
||||
<param-name>isis.viewers</param-name>
|
||||
<param-value>wicket,restfulobjects</param-value>
|
||||
</context-param>
|
||||
|
||||
|
||||
|
||||
<!--
|
||||
for diagnostics
|
||||
-->
|
||||
<filter>
|
||||
<filter-name>IsisLogOnExceptionFilter</filter-name>
|
||||
<filter-class>org.apache.isis.core.webapp.diagnostics.IsisLogOnExceptionFilter</filter-class>
|
||||
</filter>
|
||||
<filter-mapping>
|
||||
<filter-name>IsisLogOnExceptionFilter</filter-name>
|
||||
<url-pattern>/wicket/*</url-pattern>
|
||||
</filter-mapping>
|
||||
<filter-mapping>
|
||||
<filter-name>IsisLogOnExceptionFilter</filter-name>
|
||||
<url-pattern>/restful/*</url-pattern>
|
||||
</filter-mapping>
|
||||
|
||||
|
||||
|
||||
<!-- cache static resources for 1 day -->
|
||||
<filter>
|
||||
<filter-name>ResourceCachingFilter</filter-name>
|
||||
<filter-class>org.apache.isis.core.webapp.content.ResourceCachingFilter</filter-class>
|
||||
<init-param>
|
||||
<param-name>CacheTime</param-name>
|
||||
<param-value>86400</param-value>
|
||||
</init-param>
|
||||
</filter>
|
||||
<filter-mapping>
|
||||
<filter-name>ResourceCachingFilter</filter-name>
|
||||
<url-pattern>*.js</url-pattern>
|
||||
</filter-mapping>
|
||||
<filter-mapping>
|
||||
<filter-name>ResourceCachingFilter</filter-name>
|
||||
<url-pattern>*.css</url-pattern>
|
||||
</filter-mapping>
|
||||
<filter-mapping>
|
||||
<filter-name>ResourceCachingFilter</filter-name>
|
||||
<url-pattern>*.png</url-pattern>
|
||||
</filter-mapping>
|
||||
<filter-mapping>
|
||||
<filter-name>ResourceCachingFilter</filter-name>
|
||||
<url-pattern>*.jpg</url-pattern>
|
||||
</filter-mapping>
|
||||
<filter-mapping>
|
||||
<filter-name>ResourceCachingFilter</filter-name>
|
||||
<url-pattern>*.gif</url-pattern>
|
||||
</filter-mapping>
|
||||
<filter-mapping>
|
||||
<filter-name>ResourceCachingFilter</filter-name>
|
||||
<url-pattern>*.html</url-pattern>
|
||||
</filter-mapping>
|
||||
<filter-mapping>
|
||||
<filter-name>ResourceCachingFilter</filter-name>
|
||||
<url-pattern>*.swf</url-pattern>
|
||||
</filter-mapping>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>Resource</servlet-name>
|
||||
<servlet-class>org.apache.isis.core.webapp.content.ResourceServlet</servlet-class>
|
||||
</servlet>
|
||||
<servlet-mapping>
|
||||
<servlet-name>Resource</servlet-name>
|
||||
<url-pattern>*.css</url-pattern>
|
||||
</servlet-mapping>
|
||||
<servlet-mapping>
|
||||
<servlet-name>Resource</servlet-name>
|
||||
<url-pattern>*.png</url-pattern>
|
||||
</servlet-mapping>
|
||||
<servlet-mapping>
|
||||
<servlet-name>Resource</servlet-name>
|
||||
<url-pattern>*.jpg</url-pattern>
|
||||
</servlet-mapping>
|
||||
<servlet-mapping>
|
||||
<servlet-name>Resource</servlet-name>
|
||||
<url-pattern>*.gif</url-pattern>
|
||||
</servlet-mapping>
|
||||
<servlet-mapping>
|
||||
<servlet-name>Resource</servlet-name>
|
||||
<url-pattern>*.js</url-pattern>
|
||||
</servlet-mapping>
|
||||
<servlet-mapping>
|
||||
<servlet-name>Resource</servlet-name>
|
||||
<url-pattern>*.html</url-pattern>
|
||||
</servlet-mapping>
|
||||
<servlet-mapping>
|
||||
<servlet-name>Resource</servlet-name>
|
||||
<url-pattern>*.swf</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
|
||||
|
||||
<!--
|
||||
-
|
||||
- config specific to the wicket-viewer
|
||||
-
|
||||
-->
|
||||
<filter>
|
||||
<filter-name>WicketFilter</filter-name>
|
||||
<filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class>
|
||||
<init-param>
|
||||
<param-name>applicationClassName</param-name>
|
||||
<param-value>domainapp.webapp.SimpleApplication</param-value>
|
||||
</init-param>
|
||||
</filter>
|
||||
<filter-mapping>
|
||||
<filter-name>WicketFilter</filter-name>
|
||||
<url-pattern>/wicket/*</url-pattern>
|
||||
</filter-mapping>
|
||||
|
||||
|
||||
<context-param>
|
||||
<param-name>configuration</param-name>
|
||||
<!--
|
||||
<param-value>deployment</param-value>
|
||||
-->
|
||||
<param-value>development</param-value>
|
||||
</context-param>
|
||||
|
||||
|
||||
<!--
|
||||
-
|
||||
- config specific to the restfulobjects-viewer
|
||||
-
|
||||
-->
|
||||
|
||||
<!--
|
||||
THE FOLLOWING CONFIGURATION IS NOT REQUIRED IF THE WICKET VIEWER IS IN USE.
|
||||
IF THE WICKET VIEWER CONFIGURATION IS REMOVED, THEN UNCOMMENT
|
||||
|
||||
<listener>
|
||||
<listener-class>org.apache.isis.core.webapp.IsisWebAppBootstrapper</listener-class>
|
||||
</listener>
|
||||
|
||||
<context-param>
|
||||
<param-name>deploymentType</param-name>
|
||||
<param-value>SERVER_EXPLORATION</param-value>
|
||||
</context-param>
|
||||
|
||||
<context-param>
|
||||
<param-name>isis.viewers</param-name>
|
||||
<param-value>restfulobjects</param-value>
|
||||
</context-param>
|
||||
-->
|
||||
|
||||
<!-- bootstrap the RestEasy framework -->
|
||||
<listener>
|
||||
<listener-class>org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap</listener-class>
|
||||
</listener>
|
||||
|
||||
<!-- used by RestEasy to determine the JAX-RS resources and other related configuration -->
|
||||
<context-param>
|
||||
<param-name>javax.ws.rs.Application</param-name>
|
||||
<param-value>org.apache.isis.viewer.restfulobjects.server.RestfulObjectsApplication</param-value>
|
||||
</context-param>
|
||||
|
||||
<context-param>
|
||||
<param-name>resteasy.servlet.mapping.prefix</param-name>
|
||||
<param-value>/restful/</param-value>
|
||||
</context-param>
|
||||
|
||||
|
||||
<!-- authenticate user, set up an Isis session -->
|
||||
<filter>
|
||||
<filter-name>IsisSessionFilterForRestfulObjects</filter-name>
|
||||
<filter-class>org.apache.isis.core.webapp.IsisSessionFilter</filter-class>
|
||||
<!-- authentication required for REST -->
|
||||
<init-param>
|
||||
<param-name>authenticationSessionStrategy</param-name>
|
||||
<param-value>org.apache.isis.viewer.restfulobjects.server.authentication.AuthenticationSessionStrategyBasicAuth</param-value>
|
||||
</init-param>
|
||||
<init-param>
|
||||
<!-- what to do if no session was found; we indicate to issue a 401 basic authentication challenge -->
|
||||
<param-name>whenNoSession</param-name>
|
||||
<param-value>basicAuthChallenge</param-value>
|
||||
</init-param>
|
||||
</filter>
|
||||
<filter-mapping>
|
||||
<!-- this is mapped to the entire app; however the IsisSessionFilter will "notice" if the session filter has already been
|
||||
executed for the request pipeline, and if so will do nothing -->
|
||||
<filter-name>IsisSessionFilterForRestfulObjects</filter-name>
|
||||
<servlet-name>RestfulObjectsRestEasyDispatcher</servlet-name>
|
||||
</filter-mapping>
|
||||
|
||||
<filter>
|
||||
<filter-name>IsisTransactionFilterForRestfulObjects</filter-name>
|
||||
<filter-class>org.apache.isis.viewer.restfulobjects.server.webapp.IsisTransactionFilterForRestfulObjects</filter-class>
|
||||
</filter>
|
||||
<filter-mapping>
|
||||
<filter-name>IsisTransactionFilterForRestfulObjects</filter-name>
|
||||
<servlet-name>RestfulObjectsRestEasyDispatcher</servlet-name>
|
||||
</filter-mapping>
|
||||
|
||||
|
||||
<servlet>
|
||||
<servlet-name>RestfulObjectsRestEasyDispatcher</servlet-name>
|
||||
<servlet-class>org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher</servlet-class>
|
||||
</servlet>
|
||||
<servlet-mapping>
|
||||
<servlet-name>RestfulObjectsRestEasyDispatcher</servlet-name>
|
||||
<url-pattern>/restful/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
|
||||
<!--
|
||||
uncomment to use container-managed datasource;
|
||||
for both container-managed (JTA) and non-container-managed transactions
|
||||
-->
|
||||
<!--
|
||||
<resource-ref>
|
||||
<description>db</description>
|
||||
<res-ref-name>jdbc/quickstart</res-ref-name>
|
||||
<res-type>javax.sql.DataSource</res-type>
|
||||
<res-auth>Container</res-auth>
|
||||
</resource-ref>
|
||||
-->
|
||||
|
||||
<!--
|
||||
uncomment to use container-managed datasource
|
||||
with container-managed transactions (JTA).
|
||||
-->
|
||||
<!--
|
||||
<resource-ref>
|
||||
<description>db</description>
|
||||
<res-ref-name>jdbc/quickstart-nontx</res-ref-name>
|
||||
<res-type>javax.sql.DataSource</res-type>
|
||||
<res-auth>Container</res-auth>
|
||||
</resource-ref>
|
||||
-->
|
||||
|
||||
</web-app>
|
BIN
naked-objects/webapp/src/main/webapp/about/images/isis-logo.png
Normal file
BIN
naked-objects/webapp/src/main/webapp/about/images/isis-logo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 14 KiB |
102
naked-objects/webapp/src/main/webapp/about/index.html
Normal file
102
naked-objects/webapp/src/main/webapp/about/index.html
Normal file
@ -0,0 +1,102 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one
|
||||
or more contributor license agreements. See the NOTICE file
|
||||
distributed with this work for additional information
|
||||
regarding copyright ownership. The ASF licenses this file
|
||||
to you under the Apache License, Version 2.0 (the
|
||||
"License"); you may not use this file except in compliance
|
||||
with the License. You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing,
|
||||
software distributed under the License is distributed on an
|
||||
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
KIND, either express or implied. See the License for the
|
||||
specific language governing permissions and limitations
|
||||
under the License.
|
||||
-->
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Apache Isis™ SimpleApp</title>
|
||||
|
||||
<style type="text/css">
|
||||
body {
|
||||
background-color: #1A467B;
|
||||
font-family: Verdana, Helvetica, Arial;
|
||||
font-size: 90%;
|
||||
}
|
||||
|
||||
li {
|
||||
margin-top: 6px;
|
||||
margin-bottom: 6px;
|
||||
}
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
}
|
||||
table, th, td {
|
||||
border: 1px;
|
||||
border-style: solid;
|
||||
border-color: lightgray;
|
||||
}
|
||||
th, td {
|
||||
padding: 10px;
|
||||
}
|
||||
#wrapper {
|
||||
background-color: #ffffff;
|
||||
width: 900px;
|
||||
margin: 8px auto;
|
||||
padding: 12px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="wrapper">
|
||||
<img alt="Isis Logo" src="about/images/isis-logo.png" />
|
||||
|
||||
<p>
|
||||
This app has been generated using Apache Isis'
|
||||
<a href="http://isis.apache.org/intro/getting-started/simple%61pp-archetype.html" target="_blank">SimpleApp</a> archetype,
|
||||
to create a purposefully minimal application that nevertheless includes fixture data, integration tests and BDD specs.
|
||||
<br/>
|
||||
<br/>
|
||||
The app itself consists of a single domain class, <a href="https://github.com/apache/isis/blob/master/example/application/simple%61pp/dom/src/main/java/dom/simple/SimpleObject.java" target="_blank"><tt>SimpleObject</tt></a>,
|
||||
along with an equally simple (factory/repository) domain service, <a href="https://github.com/apache/isis/blob/master/example/application/simple%61pp/dom/src/main/java/dom/simple/SimpleObjects.java" target="_blank"><tt>SimpleObjects</tt></a>.
|
||||
</p>
|
||||
|
||||
<p>To access the app:</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
<b><a href="wicket/">wicket/</a></b>
|
||||
</p>
|
||||
<p>
|
||||
provides accesses to a generic UI for end-users,
|
||||
Isis' <a href="http://isis.apache.org/components/viewers/wicket/about.html" target="_blank">Wicket Viewer</a>.
|
||||
As its name suggests, this viewer is built on top of <a href="http://wicket.apache.org" target="_blank">Apache Wicket</a>™.
|
||||
</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>
|
||||
<b>
|
||||
<a href="restful/">restful/</a>
|
||||
</b>
|
||||
</p>
|
||||
<p>
|
||||
provides access to a RESTful API conformant with the
|
||||
<a href="http://restfulobjects.org">Restful Objects</a> spec</td>. This is part of Apache Isis Core. The
|
||||
implementation technology is JBoss RestEasy.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
The default user/password is <b><i>sven/pass</i></b> (as configured in the
|
||||
<a href="https://github.com/apache/isis/blob/master/example/application/simple%61pp/webapp/src/main/webapp/WEB-INF/shiro.ini" target="_blank">shiro.ini</a> file).
|
||||
</p>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
19
naked-objects/webapp/src/main/webapp/css/application.css
Normal file
19
naked-objects/webapp/src/main/webapp/css/application.css
Normal file
@ -0,0 +1,19 @@
|
||||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
BIN
naked-objects/webapp/src/main/webapp/images/spinning-icon.gif
Normal file
BIN
naked-objects/webapp/src/main/webapp/images/spinning-icon.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 5.1 KiB |
@ -0,0 +1,3 @@
|
||||
$(document).ready(function() {
|
||||
/// here...
|
||||
});
|
6
pom.xml
6
pom.xml
@ -1,6 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<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">
|
||||
<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">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<groupId>com.iluwatar</groupId>
|
||||
@ -66,6 +65,7 @@
|
||||
<module>private-class-data</module>
|
||||
<module>object-pool</module>
|
||||
<module>dependency-injection</module>
|
||||
<module>naked-objects</module>
|
||||
</modules>
|
||||
|
||||
<dependencyManagement>
|
||||
@ -119,7 +119,7 @@
|
||||
</goals>
|
||||
</pluginExecutionFilter>
|
||||
<action>
|
||||
<ignore />
|
||||
<ignore/>
|
||||
</action>
|
||||
</pluginExecution>
|
||||
</pluginExecutions>
|
||||
|
Loading…
x
Reference in New Issue
Block a user