feature: remove naked objects implementation (#2336)

This commit is contained in:
Robert Volkmann
2022-11-21 17:59:09 +01:00
committed by GitHub
parent cc6ac612f0
commit 10fb952d85
66 changed files with 1 additions and 5244 deletions
-51
View File
@@ -1,51 +0,0 @@
#
#
# 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
View File
@@ -1,42 +0,0 @@
*~
*.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
+1 -4
View File
@@ -11,9 +11,6 @@ The Naked Objects architectural pattern is well suited for rapid
prototyping. Using the pattern, you only need to write the domain objects,
everything else is autogenerated by the framework.
## Class diagram
![alt text](./etc/naked-objects.png "Naked Objects")
## Applicability
Use the Naked Objects pattern when
@@ -23,7 +20,7 @@ Use the Naked Objects pattern when
## Real world examples
* [Apache Isis](https://isis.apache.org/)
* [Apache Isis](https://isis.apache.org/docs/2.0.0-M9/starters/simpleapp.html)
## Credits
@@ -1,2 +0,0 @@
@startuml
@enduml
-204
View File
@@ -1,204 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
This project is licensed under the MIT license. Module model-view-viewmodel is using ZK framework licensed under LGPL (see lgpl-3.0.txt).
The MIT License
Copyright © 2014-2022 Ilkka Seppälä
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
-->
<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.26.0-SNAPSHOT</version>
</parent>
<artifactId>naked-objects-dom</artifactId>
<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>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>8</source>
<target>8</target>
</configuration>
</plugin>
</plugins>
</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>
<dependency>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</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>5.2.1</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 />
</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>
<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 />
<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>
@@ -1,30 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
This project is licensed under the MIT license. Module model-view-viewmodel is using ZK framework licensed under LGPL (see lgpl-3.0.txt).
The MIT License
Copyright © 2014-2022 Ilkka Seppälä
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
-->
<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>
@@ -1,59 +0,0 @@
/*
* This project is licensed under the MIT license. Module model-view-viewmodel is using ZK framework licensed under LGPL (see lgpl-3.0.txt).
*
* The MIT License
* Copyright © 2014-2022 Ilkka Seppälä
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
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;
/**
* HomePage Domain Service.
*
* @see HomePageViewModel linked view to HomePage
*/
@DomainService(nature = NatureOfService.VIEW_CONTRIBUTIONS_ONLY)
public class HomePageService {
// endregion
// region > injected services
@javax.inject.Inject
DomainObjectContainer container;
// endregion
// region > homePage (action)
@Action(semantics = SemanticsOf.SAFE)
@HomePage
public HomePageViewModel homePage() {
return container.injectServicesInto(new HomePageViewModel());
}
}
@@ -1,62 +0,0 @@
/*
* This project is licensed under the MIT license. Module model-view-viewmodel is using ZK framework licensed under LGPL (see lgpl-3.0.txt).
*
* The MIT License
* Copyright © 2014-2022 Ilkka Seppälä
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
package domainapp.dom.app.homepage;
import domainapp.dom.modules.simple.SimpleObject;
import domainapp.dom.modules.simple.SimpleObjects;
import java.util.List;
import org.apache.isis.applib.annotation.ViewModel;
/**
* Model linked to the HomePage The underlying layout is specified by json.
*
* @see HomePageService - Service Linked to the HomePage
*/
@ViewModel
public class HomePageViewModel {
// endregion
// region > injected services
@javax.inject.Inject
SimpleObjects simpleObjects;
// endregion
// 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();
}
}
@@ -1,27 +0,0 @@
{
"columns": [
{
"span": 0,
"memberGroups": {}
},
{
"span": 0,
"memberGroups": {}
},
{
"span": 0,
"memberGroups": {}
},
{
"span": 12,
"collections": {
"objects": {
"collectionLayout": {
"render": "EAGERLY"
}
}
}
}
],
"actions": {}
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 456 B

@@ -1,141 +0,0 @@
/*
* This project is licensed under the MIT license. Module model-view-viewmodel is using ZK framework licensed under LGPL (see lgpl-3.0.txt).
*
* The MIT License
* Copyright © 2014-2022 Ilkka Seppälä
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
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;
/**
* Definition of a Simple Object.
*/
@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", value = "SELECT "
+ "FROM domainapp.dom.modules.simple.SimpleObject "),
@javax.jdo.annotations.Query(name = "findByName", 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> {
// endregion
// region > name (property)
private String name;
// region > identificatiom
public TranslatableString title() {
return TranslatableString.tr("Object: {name}", "name", getName());
}
@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)
/**
* Event used to update the Name in the Domain.
*/
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
}
@@ -1,40 +0,0 @@
{
"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.

Before

Width:  |  Height:  |  Size: 653 B

@@ -1,107 +0,0 @@
/*
* This project is licensed under the MIT license. Module model-view-viewmodel is using ZK framework licensed under LGPL (see lgpl-3.0.txt).
*
* The MIT License
* Copyright © 2014-2022 Ilkka Seppälä
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
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;
/**
* Domain Service for Simple Objects.
*/
@DomainService(repositoryFor = SimpleObject.class)
@DomainServiceLayout(menuOrder = "10")
public class SimpleObjects {
// endregion
// region > injected services
@javax.inject.Inject
DomainObjectContainer container;
// endregion
// 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
/**
* Create Domain Event on SimpleObjects.
*/
// 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);
}
}
/**
* Create simple object.
*/
@Action(domainEvent = CreateDomainEvent.class)
@MemberOrder(sequence = "3")
public SimpleObject create(@ParameterLayout(named = "Name") final String name) {
final SimpleObject obj = container.newTransientInstance(SimpleObject.class);
obj.setName(name);
container.persistIfNotAlready(obj);
return obj;
}
}
@@ -1,58 +0,0 @@
/*
* This project is licensed under the MIT license. Module model-view-viewmodel is using ZK framework licensed under LGPL (see lgpl-3.0.txt).
*
* The MIT License
* Copyright © 2014-2022 Ilkka Seppälä
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
package domainapp.dom.modules.simple;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
import org.junit.Before;
import org.junit.Test;
/**
* Test for SimpleObject
*/
class SimpleObjectTest {
SimpleObject simpleObject;
@Before
void setUp() {
simpleObject = new SimpleObject();
}
@Test
void testName() {
// given
String name = "Foobar";
assertNull(simpleObject.getName());
// when
simpleObject.setName(name);
// then
assertEquals(name, simpleObject.getName());
}
}
@@ -1,107 +0,0 @@
/*
* This project is licensed under the MIT license. Module model-view-viewmodel is using ZK framework licensed under LGPL (see lgpl-3.0.txt).
*
* The MIT License
* Copyright © 2014-2022 Ilkka Seppälä
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
package domainapp.dom.modules.simple;
import static org.junit.Assert.assertEquals;
import com.google.common.collect.Lists;
import java.util.List;
import org.apache.isis.applib.DomainObjectContainer;
import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
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;
/**
* Test for SimpleObjects
*/
class SimpleObjectsTest {
@Rule
public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(Mode.INTERFACES_AND_CLASSES);
@Mock
DomainObjectContainer mockContainer;
SimpleObjects simpleObjects;
@Before
void setUp() {
simpleObjects = new SimpleObjects();
simpleObjects.container = mockContainer;
}
@Test
void testCreate() {
// 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
String objectName = "Foobar";
final SimpleObject obj = simpleObjects.create(objectName);
// then
assertEquals(simpleObject, obj);
assertEquals(objectName, obj.getName());
}
@Test
void testListAll() {
// 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
assertEquals(all, list);
}
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 73 KiB

-162
View File
@@ -1,162 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<class-diagram version="1.1.8" icons="true" automaticImage="PNG" always-add-relationships="false" generalizations="true"
realizations="true" associations="true" dependencies="false" nesting-relationships="true">
<class id="1" language="java" name="domainapp.dom.app.homepage.HomePageService" project="naked-objects-dom"
file="/naked-objects-dom/src/main/java/domainapp/dom/app/homepage/HomePageService.java" binary="false"
corner="BOTTOM_RIGHT">
<position height="-1" width="-1" x="594" y="117"/>
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true"
sort-features="false" accessors="true" visibility="true">
<attributes public="true" package="true" protected="true" private="true" static="true"/>
<operations public="true" package="true" protected="true" private="true" static="true"/>
</display>
</class>
<class id="2" language="java" name="domainapp.dom.app.homepage.HomePageViewModel" project="naked-objects-dom"
file="/naked-objects-dom/src/main/java/domainapp/dom/app/homepage/HomePageViewModel.java" binary="false"
corner="BOTTOM_RIGHT">
<position height="-1" width="-1" x="1272" y="543"/>
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true"
sort-features="false" accessors="true" visibility="true">
<attributes public="true" package="true" protected="true" private="true" static="true"/>
<operations public="true" package="true" protected="true" private="true" static="true"/>
</display>
</class>
<class id="3" language="java" name="domainapp.dom.modules.simple.SimpleObjects.CreateDomainEvent"
project="naked-objects-dom" file="/naked-objects-dom/src/main/java/domainapp/dom/modules/simple/SimpleObjects.java"
binary="false" corner="BOTTOM_RIGHT">
<position height="-1" width="-1" x="950" y="305"/>
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true"
sort-features="false" accessors="true" visibility="true">
<attributes public="true" package="true" protected="true" private="true" static="true"/>
<operations public="true" package="true" protected="true" private="true" static="true"/>
</display>
</class>
<class id="4" language="java" name="domainapp.dom.modules.simple.SimpleObject" project="naked-objects-dom"
file="/naked-objects-dom/src/main/java/domainapp/dom/modules/simple/SimpleObject.java" binary="false"
corner="BOTTOM_RIGHT">
<position height="-1" width="-1" x="202" y="398"/>
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true"
sort-features="false" accessors="true" visibility="true">
<attributes public="true" package="true" protected="true" private="true" static="true"/>
<operations public="true" package="true" protected="true" private="true" static="true"/>
</display>
</class>
<class id="5" language="java" name="domainapp.dom.modules.simple.SimpleObject.UpdateNameDomainEvent"
project="naked-objects-dom" file="/naked-objects-dom/src/main/java/domainapp/dom/modules/simple/SimpleObject.java"
binary="false" corner="BOTTOM_RIGHT">
<position height="-1" width="-1" x="202" y="687"/>
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true"
sort-features="false" accessors="true" visibility="true">
<attributes public="true" package="true" protected="true" private="true" static="true"/>
<operations public="true" package="true" protected="true" private="true" static="true"/>
</display>
</class>
<class id="6" language="java" name="domainapp.dom.modules.simple.SimpleObjects" project="naked-objects-dom"
file="/naked-objects-dom/src/main/java/domainapp/dom/modules/simple/SimpleObjects.java" binary="false"
corner="BOTTOM_RIGHT">
<position height="-1" width="-1" x="950" y="543"/>
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true"
sort-features="false" accessors="true" visibility="true">
<attributes public="true" package="true" protected="true" private="true" static="true"/>
<operations public="true" package="true" protected="true" private="true" static="true"/>
</display>
</class>
<class id="7" language="java" name="domainapp.fixture.scenarios.RecreateSimpleObjects" project="naked-objects-fixture"
file="/naked-objects-fixture/src/main/java/domainapp/fixture/scenarios/RecreateSimpleObjects.java" binary="false"
corner="BOTTOM_RIGHT">
<position height="-1" width="-1" x="612" y="630"/>
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true"
sort-features="false" accessors="true" visibility="true">
<attributes public="true" package="true" protected="true" private="true" static="true"/>
<operations public="true" package="true" protected="true" private="true" static="true"/>
</display>
</class>
<class id="8" language="java" name="domainapp.fixture.modules.simple.SimpleObjectCreate"
project="naked-objects-fixture"
file="/naked-objects-fixture/src/main/java/domainapp/fixture/modules/simple/SimpleObjectCreate.java" binary="false"
corner="BOTTOM_RIGHT">
<position height="-1" width="-1" x="586" y="398"/>
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true"
sort-features="false" accessors="true" visibility="true">
<attributes public="true" package="true" protected="true" private="true" static="true"/>
<operations public="true" package="true" protected="true" private="true" static="true"/>
</display>
</class>
<class id="9" language="java" name="domainapp.fixture.DomainAppFixturesService" project="naked-objects-fixture"
file="/naked-objects-fixture/src/main/java/domainapp/fixture/DomainAppFixturesService.java" binary="false"
corner="BOTTOM_RIGHT">
<position height="-1" width="-1" x="897" y="125"/>
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true"
sort-features="false" accessors="true" visibility="true">
<attributes public="true" package="true" protected="true" private="true" static="true"/>
<operations public="true" package="true" protected="true" private="true" static="true"/>
</display>
</class>
<class id="10" language="java" name="domainapp.fixture.modules.simple.SimpleObjectsTearDown"
project="naked-objects-fixture"
file="/naked-objects-fixture/src/main/java/domainapp/fixture/modules/simple/SimpleObjectsTearDown.java"
binary="false" corner="BOTTOM_RIGHT">
<position height="-1" width="-1" x="1189" y="119"/>
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true"
sort-features="false" accessors="true" visibility="true">
<attributes public="true" package="true" protected="true" private="true" static="true"/>
<operations public="true" package="true" protected="true" private="true" static="true"/>
</display>
</class>
<class id="11" language="java" name="domainapp.webapp.SimpleApplication" project="naked-objects-webapp"
file="/naked-objects-webapp/src/main/java/domainapp/webapp/SimpleApplication.java" binary="false"
corner="BOTTOM_RIGHT">
<position height="-1" width="-1" x="233" y="126"/>
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true"
sort-features="false" accessors="true" visibility="true">
<attributes public="true" package="true" protected="true" private="true" static="true"/>
<operations public="true" package="true" protected="true" private="true" static="true"/>
</display>
</class>
<association id="12">
<end type="SOURCE" refId="2" navigable="false">
<attribute id="13" name="simpleObjects"/>
<multiplicity id="14" minimum="0" maximum="1"/>
</end>
<end type="TARGET" refId="6" navigable="true"/>
<display labels="true" multiplicity="true"/>
</association>
<nesting id="15">
<end type="SOURCE" refId="4"/>
<end type="TARGET" refId="5"/>
</nesting>
<nesting id="16">
<end type="SOURCE" refId="6"/>
<end type="TARGET" refId="3"/>
</nesting>
<association id="17">
<end type="SOURCE" refId="8" navigable="false">
<attribute id="18" name="simpleObjects"/>
<multiplicity id="19" minimum="0" maximum="1"/>
</end>
<end type="TARGET" refId="6" navigable="true"/>
<display labels="true" multiplicity="true"/>
</association>
<association id="20">
<end type="SOURCE" refId="7" navigable="false">
<attribute id="21" name="simpleObjects"/>
<multiplicity id="22" minimum="0" maximum="2147483647"/>
</end>
<end type="TARGET" refId="4" navigable="true"/>
<display labels="true" multiplicity="true"/>
</association>
<association id="23">
<end type="SOURCE" refId="8" navigable="false">
<attribute id="24" name="simpleObject"/>
<multiplicity id="25" minimum="0" maximum="1"/>
</end>
<end type="TARGET" refId="4" navigable="true"/>
<display labels="true" multiplicity="true"/>
</association>
<classifier-display autosize="true" stereotype="true" package="true" initial-value="false" signature="true"
sort-features="false" accessors="true" visibility="true">
<attributes public="true" package="true" protected="true" private="true" static="true"/>
<operations public="true" package="true" protected="true" private="true" static="true"/>
</classifier-display>
<association-display labels="true" multiplicity="true"/>
</class-diagram>
-2
View File
@@ -1,2 +0,0 @@
@startuml
@enduml
@@ -1,2 +0,0 @@
@startuml
@enduml
-42
View File
@@ -1,42 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
This project is licensed under the MIT license. Module model-view-viewmodel is using ZK framework licensed under LGPL (see lgpl-3.0.txt).
The MIT License
Copyright © 2014-2022 Ilkka Seppälä
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
-->
<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.26.0-SNAPSHOT</version>
</parent>
<artifactId>naked-objects-fixture</artifactId>
<dependencies>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>naked-objects-dom</artifactId>
</dependency>
</dependencies>
</project>
@@ -1,47 +0,0 @@
/*
* This project is licensed under the MIT license. Module model-view-viewmodel is using ZK framework licensed under LGPL (see lgpl-3.0.txt).
*
* The MIT License
* Copyright © 2014-2022 Ilkka Seppälä
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
package domainapp.fixture;
import domainapp.fixture.scenarios.RecreateSimpleObjects;
import org.apache.isis.applib.annotation.DomainService;
import org.apache.isis.applib.annotation.NatureOfService;
import org.apache.isis.applib.fixturescripts.FixtureScripts;
import org.apache.isis.applib.services.fixturespec.FixtureScriptsSpecification;
import org.apache.isis.applib.services.fixturespec.FixtureScriptsSpecificationProvider;
/**
* Specifies where to find fixtures, and other settings.
*/
@DomainService(nature = NatureOfService.DOMAIN)
public class DomainAppFixturesProvider implements FixtureScriptsSpecificationProvider {
@Override
public FixtureScriptsSpecification getSpecification() {
return FixtureScriptsSpecification.builder(DomainAppFixturesProvider.class)
.with(FixtureScripts.MultipleExecutionStrategy.EXECUTE)
.withRunScriptDefault(RecreateSimpleObjects.class)
.withRunScriptDropDown(FixtureScriptsSpecification.DropDownPolicy.CHOICES)
.withRecreate(RecreateSimpleObjects.class).build();
}
}
@@ -1,79 +0,0 @@
/*
* This project is licensed under the MIT license. Module model-view-viewmodel is using ZK framework licensed under LGPL (see lgpl-3.0.txt).
*
* The MIT License
* Copyright © 2014-2022 Ilkka Seppälä
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
package domainapp.fixture.modules.simple;
import domainapp.dom.modules.simple.SimpleObject;
import domainapp.dom.modules.simple.SimpleObjects;
import org.apache.isis.applib.fixturescripts.FixtureScript;
/**
* Fixture to create a simple object.
*/
public class SimpleObjectCreate extends FixtureScript {
// endregion
// region > simpleObject (output)
private SimpleObject simpleObject;
@javax.inject.Inject
private SimpleObjects simpleObjects;
// 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;
}
/**
* The created simple object (output).
*/
public SimpleObject getSimpleObject() {
return simpleObject;
}
// endregion
@Override
protected void execute(final ExecutionContext ec) {
var paramName = checkParam("name", ec, String.class);
this.simpleObject = wrap(simpleObjects).create(paramName);
// also make available to UI
ec.addResult(this, simpleObject);
}
}
@@ -1,43 +0,0 @@
/*
* This project is licensed under the MIT license. Module model-view-viewmodel is using ZK framework licensed under LGPL (see lgpl-3.0.txt).
*
* The MIT License
* Copyright © 2014-2022 Ilkka Seppälä
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
package domainapp.fixture.modules.simple;
import org.apache.isis.applib.fixturescripts.FixtureScript;
import org.apache.isis.applib.services.jdosupport.IsisJdoSupport;
/**
* TearDown/Cleanup for SimpleObjects.
*/
public class SimpleObjectsTearDown extends FixtureScript {
@javax.inject.Inject
private IsisJdoSupport isisJdoSupport;
@Override
protected void execute(ExecutionContext executionContext) {
isisJdoSupport.executeUpdate("delete from \"simple\".\"SimpleObject\"");
}
}
@@ -1,109 +0,0 @@
/*
* This project is licensed under the MIT license. Module model-view-viewmodel is using ZK framework licensed under LGPL (see lgpl-3.0.txt).
*
* The MIT License
* Copyright © 2014-2022 Ilkka Seppälä
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
package domainapp.fixture.scenarios;
import com.google.common.collect.Lists;
import domainapp.dom.modules.simple.SimpleObject;
import domainapp.fixture.modules.simple.SimpleObjectCreate;
import domainapp.fixture.modules.simple.SimpleObjectsTearDown;
import java.util.List;
import org.apache.isis.applib.fixturescripts.FixtureScript;
/**
* Create a bunch of simple Objects.
*/
public class RecreateSimpleObjects extends FixtureScript {
public final List<String> names = List.of(
"Foo",
"Bar",
"Baz",
"Frodo",
"Froyo",
"Fizz",
"Bip",
"Bop",
"Bang",
"Boo"
);
// region > number (optional input)
private Integer number;
// endregion
// region > simpleObjects (output)
private final List<SimpleObject> simpleObjects = Lists.newArrayList();
public RecreateSimpleObjects() {
withDiscoverability(Discoverability.DISCOVERABLE);
}
/**
* 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;
}
/**
* The simpleobjects created by this fixture (output).
*/
public List<SimpleObject> getSimpleObjects() {
return simpleObjects;
}
// endregion
@Override
protected void execute(final ExecutionContext ec) {
// defaults
final var paramNumber = defaultParam("number", ec, 3);
// validate
if (paramNumber < 0 || paramNumber > names.size()) {
throw new IllegalArgumentException(String.format("number must be in range [0,%d)",
names.size()));
}
//
// execute
//
ec.executeChild(this, new SimpleObjectsTearDown());
for (var i = 0; i < paramNumber; i++) {
final var fs = new SimpleObjectCreate().setName(names.get(i));
ec.executeChild(this, fs.getName(), fs);
simpleObjects.add(fs.getSimpleObject());
}
}
}
-1
View File
@@ -1 +0,0 @@
/translations.pot
@@ -1,2 +0,0 @@
@startuml
@enduml
-131
View File
@@ -1,131 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
This project is licensed under the MIT license. Module model-view-viewmodel is using ZK framework licensed under LGPL (see lgpl-3.0.txt).
The MIT License
Copyright © 2014-2022 Ilkka Seppälä
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
-->
<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.26.0-SNAPSHOT</version>
</parent>
<artifactId>naked-objects-integtests</artifactId>
<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.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.hsqldb</groupId>
<artifactId>hsqldb</artifactId>
</dependency>
<dependency>
<groupId>javax.annotation</groupId>
<artifactId>javax.annotation-api</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>
@@ -1,68 +0,0 @@
/*
* This project is licensed under the MIT license. Module model-view-viewmodel is using ZK framework licensed under LGPL (see lgpl-3.0.txt).
*
* The MIT License
* Copyright © 2014-2022 Ilkka Seppälä
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
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;
/**
* Initializer for the Simple App
*/
public final class SimpleAppSystemInitializer {
private SimpleAppSystemInitializer() {
}
/**
* Init test system
*/
public static void initIsft() {
var isft = IsisSystemForTest.getElseNull();
if (isft == null) {
isft = new SimpleAppSystemBuilder().build().setUpSystem();
IsisSystemForTest.set(isft);
}
}
private static class SimpleAppSystemBuilder extends IsisSystemForTest.Builder {
public SimpleAppSystemBuilder() {
with(testConfiguration());
with(new DataNucleusPersistenceMechanismInstaller());
// services annotated with @DomainService
withServicesIn("domainapp");
}
private static IsisConfiguration testConfiguration() {
final var testConfiguration = new IsisConfigurationForJdoIntegTests();
testConfiguration.addRegisterEntitiesPackagePrefix("domainapp.dom.modules");
return testConfiguration;
}
}
}
@@ -1,51 +0,0 @@
/*
* This project is licensed under the MIT license. Module model-view-viewmodel is using ZK framework licensed under LGPL (see lgpl-3.0.txt).
*
* The MIT License
* Copyright © 2014-2022 Ilkka Seppälä
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
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;
/**
* BootStrapping IntegrationTesting Before and After Steps
*/
public class BootstrappingGlue extends CukeGlueAbstract {
@Before(value = {"@integration"}, order = 100)
public void beforeScenarioIntegrationScope() {
SimpleAppSystemInitializer.initIsft();
before(ScenarioExecutionScope.INTEGRATION);
}
@After
public void afterScenario(cucumber.api.Scenario sc) {
assertMocksSatisfied();
after(sc);
}
}
@@ -1,40 +0,0 @@
/*
* This project is licensed under the MIT license. Module model-view-viewmodel is using ZK framework licensed under LGPL (see lgpl-3.0.txt).
*
* The MIT License
* Copyright © 2014-2022 Ilkka Seppälä
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
package domainapp.integtests.specglue;
import cucumber.api.java.Before;
import domainapp.fixture.scenarios.RecreateSimpleObjects;
import org.apache.isis.core.specsupport.specs.CukeGlueAbstract;
/**
* Test Execution to append a fixture of SimpleObjects
*/
public class CatalogOfFixturesGlue extends CukeGlueAbstract {
@Before(value = {"@integration", "@SimpleObjectsFixture"}, order = 20000)
public void integrationFixtures() {
scenarioExecution().install(new RecreateSimpleObjects());
}
}
@@ -1,58 +0,0 @@
/*
* This project is licensed under the MIT license. Module model-view-viewmodel is using ZK framework licensed under LGPL (see lgpl-3.0.txt).
*
* The MIT License
* Copyright © 2014-2022 Ilkka Seppälä
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
package domainapp.integtests.specglue.modules.simple;
import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertThat;
import cucumber.api.java.en.Given;
import cucumber.api.java.en.When;
import domainapp.dom.modules.simple.SimpleObjects;
import java.util.UUID;
import org.apache.isis.core.specsupport.specs.CukeGlueAbstract;
/**
* Test Simple Object Operations
*/
public class SimpleObjectGlue extends CukeGlueAbstract {
@Given("^there are.* (\\d+) simple objects$")
public void thereAreNumSimpleObjects(int n) {
try {
final var 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 createNewSimpleObject() {
service(SimpleObjects.class).create(UUID.randomUUID().toString());
}
}
@@ -1,42 +0,0 @@
/*
* This project is licensed under the MIT license. Module model-view-viewmodel is using ZK framework licensed under LGPL (see lgpl-3.0.txt).
*
* The MIT License
* Copyright © 2014-2022 Ilkka Seppälä
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
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
}
@@ -1,26 +0,0 @@
#
# 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
@@ -1,46 +0,0 @@
/*
* This project is licensed under the MIT license. Module model-view-viewmodel is using ZK framework licensed under LGPL (see lgpl-3.0.txt).
*
* The MIT License
* Copyright © 2014-2022 Ilkka Seppälä
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
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;
/**
* SimpleApp Integration Tests will implement this Abstract Class.
*/
public abstract class SimpleAppIntegTest extends IntegrationTestAbstract {
@BeforeClass
public static void initClass() {
SimpleAppSystemInitializer.initIsft();
// instantiating will install onto ThreadLocal
new ScenarioExecutionForIntegration();
}
}
@@ -1,120 +0,0 @@
/*
* This project is licensed under the MIT license. Module model-view-viewmodel is using ZK framework licensed under LGPL (see lgpl-3.0.txt).
*
* The MIT License
* Copyright © 2014-2022 Ilkka Seppälä
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
package domainapp.integtests.tests.modules.simple;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import domainapp.dom.modules.simple.SimpleObject;
import domainapp.fixture.scenarios.RecreateSimpleObjects;
import domainapp.integtests.tests.SimpleAppIntegTest;
import javax.inject.Inject;
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 org.junit.Before;
import org.junit.Test;
/**
* Test Fixtures with Simple Objects
*/
public class SimpleObjectIntegTest extends SimpleAppIntegTest {
@Inject
FixtureScripts fixtureScripts;
@Inject
DomainObjectContainer container;
RecreateSimpleObjects fs;
SimpleObject simpleObjectPojo;
SimpleObject simpleObjectWrapped;
private static final String NEW_NAME = "new name";
@Before
public void setUp() {
// given
fs = new RecreateSimpleObjects().setNumber(1);
fixtureScripts.runFixtureScript(fs, null);
simpleObjectPojo = fs.getSimpleObjects().get(0);
assertNotNull(simpleObjectPojo);
simpleObjectWrapped = wrap(simpleObjectPojo);
}
@Test
public void testNameAccessible() {
/* when */
final var name = simpleObjectWrapped.getName();
// then
assertEquals(fs.names.get(0), name);
}
@Test
public void testNameCannotBeUpdatedDirectly() {
// expect
expectedExceptions.expect(DisabledException.class);
// when
simpleObjectWrapped.setName(NEW_NAME);
}
@Test
public void testUpdateName() {
// when
simpleObjectWrapped.updateName(NEW_NAME);
// then
assertEquals(NEW_NAME, simpleObjectWrapped.getName());
}
@Test
public void testUpdateNameFailsValidation() {
// expect
expectedExceptions.expect(InvalidException.class);
expectedExceptions.expectMessage("Exclamation mark is not allowed");
// when
simpleObjectWrapped.updateName(NEW_NAME + "!");
}
@Test
public void testInterpolatesName() {
// given
final var name = simpleObjectWrapped.getName();
// when
final var title = container.titleOf(simpleObjectWrapped);
// then
assertEquals("Object: " + name, title);
}
}
@@ -1,138 +0,0 @@
/*
* This project is licensed under the MIT license. Module model-view-viewmodel is using ZK framework licensed under LGPL (see lgpl-3.0.txt).
*
* The MIT License
* Copyright © 2014-2022 Ilkka Seppälä
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
package domainapp.integtests.tests.modules.simple;
import static org.junit.Assert.assertEquals;
import com.google.common.base.Throwables;
import domainapp.dom.modules.simple.SimpleObjects;
import domainapp.fixture.modules.simple.SimpleObjectsTearDown;
import domainapp.fixture.scenarios.RecreateSimpleObjects;
import domainapp.integtests.tests.SimpleAppIntegTest;
import java.sql.SQLIntegrityConstraintViolationException;
import javax.inject.Inject;
import org.apache.isis.applib.fixturescripts.FixtureScript;
import org.apache.isis.applib.fixturescripts.FixtureScripts;
import org.hamcrest.Description;
import org.hamcrest.Matcher;
import org.hamcrest.TypeSafeMatcher;
import org.junit.Test;
/**
* Fixture Pattern Integration Test
*/
public class SimpleObjectsIntegTest extends SimpleAppIntegTest {
@Inject
FixtureScripts fixtureScripts;
@Inject
SimpleObjects simpleObjects;
@Test
public void testListAll() {
// given
var fs = new RecreateSimpleObjects();
fixtureScripts.runFixtureScript(fs, null);
nextTransaction();
// when
final var all = wrap(simpleObjects).listAll();
// then
assertEquals(fs.getSimpleObjects().size(), all.size());
var simpleObject = wrap(all.get(0));
assertEquals(fs.getSimpleObjects().get(0).getName(), simpleObject.getName());
}
@Test
public void testListAllWhenNone() {
// given
FixtureScript fs = new SimpleObjectsTearDown();
fixtureScripts.runFixtureScript(fs, null);
nextTransaction();
// when
final var all = wrap(simpleObjects).listAll();
// then
assertEquals(0, all.size());
}
@Test
public void testCreate() {
// given
FixtureScript fs = new SimpleObjectsTearDown();
fixtureScripts.runFixtureScript(fs, null);
nextTransaction();
// when
wrap(simpleObjects).create("Faz");
// then
final var all = wrap(simpleObjects).listAll();
assertEquals(1, all.size());
}
@Test
public void testCreateWhenAlreadyExists() {
// 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();
}
@SuppressWarnings("SameParameterValue")
private static Matcher<? extends Throwable> causalChainContains(final Class<?> cls) {
return new TypeSafeMatcher<>() {
@Override
@SuppressWarnings("UnstableApiUsage")
protected boolean matchesSafely(Throwable item) {
final var causalChain = Throwables.getCausalChain(item);
return causalChain.stream().map(Throwable::getClass).anyMatch(cls::isAssignableFrom);
}
@Override
public void describeTo(Description description) {
description.appendText("exception with causal chain containing " + cls.getSimpleName());
}
};
}
}
-352
View File
@@ -1,352 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
This project is licensed under the MIT license. Module model-view-viewmodel is using ZK framework licensed under LGPL (see lgpl-3.0.txt).
The MIT License
Copyright © 2014-2022 Ilkka Seppälä
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
-->
<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.26.0-SNAPSHOT</version>
</parent>
<artifactId>naked-objects</artifactId>
<packaging>pom</packaging>
<properties>
<isis.version>1.9.0</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 />
</repository>
<repository>
<id>Cloudbees snapshots</id>
<url>https://repository-estatio.forge.cloudbees.com/snapshot/</url>
<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-surefire-plugin</artifactId>
<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>3.3.2</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.26.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>naked-objects-fixture</artifactId>
<version>1.26.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>naked-objects-webapp</artifactId>
<version>1.26.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>
@@ -1,2 +0,0 @@
@startuml
@enduml
@@ -1,4 +0,0 @@
/SimpleApp-PROTOTYPE-jrebel.launch
/SimpleApp-PROTOTYPE-no-fixtures.launch
/SimpleApp-PROTOTYPE-with-fixtures.launch
/SimpleApp-SERVER-no-fixtures.launch
@@ -1,27 +0,0 @@
====
This project is licensed under the MIT license. Module model-view-viewmodel is using ZK framework licensed under LGPL (see lgpl-3.0.txt).
The MIT License
Copyright © 2014-2022 Ilkka Seppälä
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
====
Copy into workspace\.idea\runConfigurations directory, and adjust file paths for Maven tasks.
@@ -1,55 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
This project is licensed under the MIT license. Module model-view-viewmodel is using ZK framework licensed under LGPL (see lgpl-3.0.txt).
The MIT License
Copyright © 2014-2022 Ilkka Seppälä
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
-->
<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>
@@ -1,50 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
This project is licensed under the MIT license. Module model-view-viewmodel is using ZK framework licensed under LGPL (see lgpl-3.0.txt).
The MIT License
Copyright © 2014-2022 Ilkka Seppälä
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
-->
<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
View File
@@ -1,5 +0,0 @@
#
# explicitly ignoring Microsoft JDBC4 jar
# (cannot redistribute, licensing)
#
sqljdbc4.jar
-299
View File
@@ -1,299 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
This project is licensed under the MIT license. Module model-view-viewmodel is using ZK framework licensed under LGPL (see lgpl-3.0.txt).
The MIT License
Copyright © 2014-2022 Ilkka Seppälä
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
-->
<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.26.0-SNAPSHOT</version>
</parent>
<artifactId>naked-objects-webapp</artifactId>
<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 />
</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>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
<scope>test</scope>
</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>
@@ -1,155 +0,0 @@
/*
* This project is licensed under the MIT license. Module model-view-viewmodel is using ZK framework licensed under LGPL (see lgpl-3.0.txt).
*
* The MIT License
* Copyright © 2014-2022 Ilkka Seppälä
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
package domainapp.webapp;
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 de.agilecoders.wicket.core.Bootstrap;
import de.agilecoders.wicket.themes.markup.html.bootswatch.BootswatchTheme;
import de.agilecoders.wicket.themes.markup.html.bootswatch.BootswatchThemeProvider;
import java.io.IOException;
import java.io.InputStream;
import java.nio.charset.Charset;
import javax.servlet.http.HttpServletRequest;
import lombok.extern.slf4j.Slf4j;
import org.apache.isis.viewer.wicket.viewer.IsisWicketApplication;
import org.apache.isis.viewer.wicket.viewer.integration.wicket.AuthenticatedWebSessionForIsis;
import org.apache.wicket.Session;
import org.apache.wicket.request.Request;
import org.apache.wicket.request.Response;
import org.apache.wicket.request.http.WebRequest;
/**
* As specified in <tt>web.xml</tt>.
*
* <p>See:
*
* <pre>
* &lt;filter&gt;
* &lt;filter-name&gt;wicket&lt;/filter-name&gt;
* &lt;filter-class&gt;org.apache.wicket.protocol.http.WicketFilter&lt;/filter-class&gt;
* &lt;init-param&gt;
* &lt;param-name&gt;applicationClassName&lt;/param-name&gt;
* &lt;param-value&gt;webapp.SimpleApplication&lt;/param-value&gt;
* &lt;/init-param&gt;
* &lt;/filter&gt;
* </pre>
*/
@Slf4j
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>{@code ?user=sven&pass=pass}</tt>
*
* <p>for demos only, obvious.
*/
private static final boolean DEMO_MODE_USING_CREDENTIALS_AS_QUERYARGS = false;
@Override
protected void init() {
super.init();
var 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 var s = (AuthenticatedWebSessionForIsis) super.newSession(request, response);
var requestParameters = request.getRequestParameters();
final var user = requestParameters.getParameterValue("user");
final var 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 {
var uname = servletRequest.getParameter("user");
if (uname != null) {
servletRequest.getSession().invalidate();
}
} catch (Exception e) {
LOGGER.error(e.getMessage());
}
return super.newWebRequest(servletRequest, filterPath);
}
@Override
protected Module newIsisWicketModule() {
final var 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);
}
@SuppressWarnings({"UnstableApiUsage", "SameParameterValue"})
private static String readLines(final Class<?> contextClass, final String resourceName) {
try {
var resource = Resources.getResource(contextClass, resourceName);
var readLines = Resources.readLines(resource, Charset.defaultCharset());
return Joiner.on("\n").join(readLines);
} catch (IOException e) {
return "This is a simple app";
}
}
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

@@ -1,41 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
The MIT License
Copyright © 2014-2021 Ilkka Seppälä
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
-->
<p class="intro">
<a href="http://isis.apache.org" target="_blank">Apache Isis</a>&trade; 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>
@@ -1,308 +0,0 @@
#
# This project is licensed under the MIT license. Module model-view-viewmodel is using ZK framework licensed under LGPL (see lgpl-3.0.txt).
#
# The MIT License
# Copyright © 2014-2022 Ilkka Seppälä
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.
#
#################################################################################
#
# 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
@@ -1,136 +0,0 @@
#
# This project is licensed under the MIT license. Module model-view-viewmodel is using ZK framework licensed under LGPL (see lgpl-3.0.txt).
#
# The MIT License
# Copyright © 2014-2022 Ilkka Seppälä
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.
#
#################################################################################
#
# 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
@@ -1,101 +0,0 @@
#
# This project is licensed under the MIT license. Module model-view-viewmodel is using ZK framework licensed under LGPL (see lgpl-3.0.txt).
#
# The MIT License
# Copyright © 2014-2022 Ilkka Seppälä
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.
#
#
# 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
#
#
@@ -1,93 +0,0 @@
#
# 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 = *
@@ -1,213 +0,0 @@
##############################################################################
#
# .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
##############################################################################
@@ -1,208 +0,0 @@
##############################################################################
#
# .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
##############################################################################
@@ -1,208 +0,0 @@
##############################################################################
#
# .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
##############################################################################
@@ -1,213 +0,0 @@
##############################################################################
#
# .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
##############################################################################
@@ -1,74 +0,0 @@
#
# This project is licensed under the MIT license. Module model-view-viewmodel is using ZK framework licensed under LGPL (see lgpl-3.0.txt).
#
# The MIT License
# Copyright © 2014-2022 Ilkka Seppälä
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.
#
#
# 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
###############################################################################
@@ -1,99 +0,0 @@
#
# This project is licensed under the MIT license. Module model-view-viewmodel is using ZK framework licensed under LGPL (see lgpl-3.0.txt).
#
# The MIT License
# Copyright © 2014-2022 Ilkka Seppälä
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.
#
#
# 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
@@ -1,278 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
This project is licensed under the MIT license. Module model-view-viewmodel is using ZK framework licensed under LGPL (see lgpl-3.0.txt).
The MIT License
Copyright © 2014-2022 Ilkka Seppälä
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
-->
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="WebApp_ID" version="2.4" 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>
Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

@@ -1,128 +0,0 @@
<!--
This project is licensed under the MIT license. Module model-view-viewmodel is using ZK framework licensed under LGPL (see lgpl-3.0.txt).
The MIT License
Copyright © 2014-2022 Ilkka Seppälä
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
-->
<!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&trade; 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" rel="noopener noreferrer">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" rel="noopener noreferrer"><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" rel="noopener noreferrer"><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" rel="noopener noreferrer">Wicket Viewer</a>.
As its name suggests, this viewer is built on top of <a href="http://wicket.apache.org" target="_blank" rel="noopener noreferrer">Apache Wicket</a>&trade;.
</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. 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" rel="noopener noreferrer">shiro.ini</a> file).
</p>
</div>
</body>
</html>
@@ -1,24 +0,0 @@
/**
* This project is licensed under the MIT license. Module model-view-viewmodel is using ZK framework licensed under LGPL (see lgpl-3.0.txt).
*
* The MIT License
* Copyright © 2014-2022 Ilkka Seppälä
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.1 KiB

@@ -1,27 +0,0 @@
/*
* This project is licensed under the MIT license. Module model-view-viewmodel is using ZK framework licensed under LGPL (see lgpl-3.0.txt).
*
* The MIT License
* Copyright © 2014-2022 Ilkka Seppälä
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
$(document).ready(function() {
/// here...
});
-1
View File
@@ -119,7 +119,6 @@
<module>private-class-data</module>
<module>object-pool</module>
<module>dependency-injection</module>
<module>naked-objects</module>
<module>front-controller</module>
<module>repository</module>
<module>async-method-invocation</module>