#189 Updated Naked Objects example with the code generated by the latest Apache Isis snapshot

This commit is contained in:
Ilkka Seppala 2015-08-06 20:17:26 +03:00
parent 8e5b7a2ad7
commit 185f296a5b
8 changed files with 127 additions and 150 deletions

View File

@ -72,7 +72,7 @@
<activeByDefault>true</activeByDefault> <activeByDefault>true</activeByDefault>
</activation> </activation>
<properties> <properties>
<datanucleus-maven-plugin.version>4.0.0-release</datanucleus-maven-plugin.version> <datanucleus-maven-plugin.version>4.0.1</datanucleus-maven-plugin.version>
</properties> </properties>
<build> <build>
<pluginManagement> <pluginManagement>

View File

@ -70,7 +70,7 @@ public class SimpleObjects {
final String name final String name
) { ) {
return container.allMatches( return container.allMatches(
new QueryDefault<SimpleObject>( new QueryDefault<>(
SimpleObject.class, SimpleObject.class,
"findByName", "findByName",
"name", name)); "name", name));

View File

@ -0,0 +1,44 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package domainapp.fixture;
import 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;
import domainapp.fixture.scenarios.RecreateSimpleObjects;
/**
* 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();
}
}

View File

@ -1,76 +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.
*/
package domainapp.fixture;
import java.util.List;
import org.apache.isis.applib.annotation.Action;
import org.apache.isis.applib.annotation.ActionLayout;
import org.apache.isis.applib.annotation.DomainService;
import org.apache.isis.applib.annotation.DomainServiceLayout;
import org.apache.isis.applib.annotation.MemberOrder;
import org.apache.isis.applib.annotation.RestrictTo;
import org.apache.isis.applib.fixturescripts.FixtureResult;
import org.apache.isis.applib.fixturescripts.FixtureScript;
import org.apache.isis.applib.fixturescripts.FixtureScripts;
import domainapp.fixture.scenarios.RecreateSimpleObjects;
/**
* Enables fixtures to be installed from the application.
*/
@DomainService
@DomainServiceLayout(
named="Prototyping",
menuBar = DomainServiceLayout.MenuBar.SECONDARY,
menuOrder = "500"
)
public class DomainAppFixturesService extends FixtureScripts {
public DomainAppFixturesService() {
super(DomainAppFixturesService.class.getPackage().getName(), MultipleExecutionStrategy.EXECUTE);
}
@Override
public FixtureScript default0RunFixtureScript() {
return findFixtureScriptFor(RecreateSimpleObjects.class);
}
@Override
public List<FixtureScript> choices0RunFixtureScript() {
return super.choices0RunFixtureScript();
}
// //////////////////////////////////////
@Action(
restrictTo = RestrictTo.PROTOTYPING
)
@ActionLayout(
cssClassFa="fa fa-refresh"
)
@MemberOrder(sequence="20")
public Object recreateObjectsAndReturnFirst() {
final List<FixtureResult> run = findFixtureScriptFor(RecreateSimpleObjects.class).run(null);
return run.get(0).getObject();
}
}

View File

@ -26,7 +26,7 @@ public class SimpleObjectsTearDown extends FixtureScript {
@Override @Override
protected void execute(ExecutionContext executionContext) { protected void execute(ExecutionContext executionContext) {
isisJdoSupport.executeUpdate("delete from simple.\"SimpleObject\""); isisJdoSupport.executeUpdate("delete from \"simple\".\"SimpleObject\"");
} }

View File

@ -84,17 +84,38 @@
<artifactId>hsqldb</artifactId> <artifactId>hsqldb</artifactId>
</dependency> </dependency>
<!-- uncomment to enable enhanced cucumber-jvm reporting http://www.masterthought.net/section/cucumber-reporting <!--
<dependency> <groupId>com.googlecode.totallylazy</groupId> <artifactId>totallylazy</artifactId> uncomment to enable enhanced cucumber-jvm reporting
<version>991</version> </dependency> <dependency> <groupId>net.masterthought</groupId> http://www.masterthought.net/section/cucumber-reporting
<artifactId>cucumber-reporting</artifactId> <version>0.0.21</version> </dependency> <dependency>
<dependency> <groupId>net.masterthought</groupId> <artifactId>maven-cucumber-reporting</artifactId> <groupId>com.googlecode.totallylazy</groupId>
<version>0.0.4</version> </dependency> --> <artifactId>totallylazy</artifactId>
</dependencies> <version>991</version>
</dependency>
<!-- uncomment for enhanced cucumber-jvm reporting http://www.masterthought.net/section/cucumber-reporting <dependency>
<repositories> <repository> <id>repo.bodar.com</id> <url>http://repo.bodar.com</url> <groupId>net.masterthought</groupId>
</repository> </repositories> --> <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> </project>

View File

@ -240,61 +240,52 @@
<exclude>**/translations*.po</exclude> <exclude>**/translations*.po</exclude>
</excludes> </excludes>
<licenses> <licenses>
<license <license implementation="org.apache.rat.analysis.license.SimplePatternBasedLicense">
implementation="org.apache.rat.analysis.license.SimplePatternBasedLicense"> <licenseFamilyCategory>AL2</licenseFamilyCategory>
<licenseFamilyCategory>AL2</licenseFamilyCategory> <licenseFamilyName>Apache License 2.0</licenseFamilyName>
<licenseFamilyName>Apache License 2.0</licenseFamilyName> <notes/>
<notes /> <patterns>
<patterns> <pattern>Licensed to the Apache Software Foundation (ASF) under one</pattern>
<pattern>Licensed to the Apache Software Foundation (ASF) under </patterns>
one</pattern> </license>
</patterns> <license implementation="org.apache.rat.analysis.license.SimplePatternBasedLicense">
</license> <licenseFamilyCategory>JQRY</licenseFamilyCategory>
<license <licenseFamilyName>MIT</licenseFamilyName>
implementation="org.apache.rat.analysis.license.SimplePatternBasedLicense"> <notes/>
<licenseFamilyCategory>JQRY</licenseFamilyCategory> <patterns>
<licenseFamilyName>MIT</licenseFamilyName> <pattern>Dual licensed under the MIT or GPL Version 2 licenses.</pattern>
<notes /> </patterns>
<patterns> </license>
<pattern>Dual licensed under the MIT or GPL Version 2 licenses.</pattern> <license implementation="org.apache.rat.analysis.license.SimplePatternBasedLicense">
</patterns> <licenseFamilyCategory>JMOCK</licenseFamilyCategory>
</license> <licenseFamilyName>JMock</licenseFamilyName>
<license <notes/>
implementation="org.apache.rat.analysis.license.SimplePatternBasedLicense"> <patterns>
<licenseFamilyCategory>JMOCK</licenseFamilyCategory> <pattern>Copyright (c) 2000-2007, jMock.org</pattern>
<licenseFamilyName>JMock</licenseFamilyName> </patterns>
<notes /> </license>
<patterns> <license implementation="org.apache.rat.analysis.license.SimplePatternBasedLicense">
<pattern>Copyright (c) 2000-2007, jMock.org</pattern> <licenseFamilyCategory>DOCBK</licenseFamilyCategory>
</patterns> <licenseFamilyName>DocBook 4.5</licenseFamilyName>
</license> <notes/>
<license <patterns>
implementation="org.apache.rat.analysis.license.SimplePatternBasedLicense"> <pattern>Permission to copy in any form is granted for use</pattern>
<licenseFamilyCategory>DOCBK</licenseFamilyCategory> <pattern>Permission to use, copy, modify and distribute the DocBook DTD</pattern>
<licenseFamilyName>DocBook 4.5</licenseFamilyName> <pattern>is hereby granted in perpetuity, provided that the above copyright</pattern>
<notes /> <pattern>This is the catalog data file for DocBook XML V4.5. It is provided as</pattern>
<patterns> <pattern>XML Catalog data for DocBook XML V4.5</pattern>
<pattern>Permission to copy in any form is granted for use</pattern> <pattern>DocBook additional general entities V4.5</pattern>
<pattern>Permission to use, copy, modify and distribute the <pattern>XML EXCHANGE TABLE MODEL DECLARATION MODULE</pattern>
DocBook DTD</pattern> </patterns>
<pattern>is hereby granted in perpetuity, provided that the </license>
above copyright</pattern> <license implementation="org.apache.rat.analysis.license.SimplePatternBasedLicense">
<pattern>This is the catalog data file for DocBook XML V4.5. It <licenseFamilyCategory>W3C</licenseFamilyCategory>
is provided as</pattern> <licenseFamilyName>XHTML</licenseFamilyName>
<pattern>XML Catalog data for DocBook XML V4.5</pattern> <notes/>
<pattern>DocBook additional general entities V4.5</pattern> <patterns>
<pattern>XML EXCHANGE TABLE MODEL DECLARATION MODULE</pattern> <pattern>Copyright (c) 1998-2002 W3C (MIT, INRIA, Keio),</pattern>
</patterns> </patterns>
</license> </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> </licenses>
<licenseFamilies> <licenseFamilies>
<licenseFamily implementation="org.apache.rat.license.SimpleLicenseFamily"> <licenseFamily implementation="org.apache.rat.license.SimpleLicenseFamily">

View File

@ -236,8 +236,7 @@
<tasks> <tasks>
<exec executable="java" failonerror="true"> <exec executable="java" failonerror="true">
<arg value="-jar" /> <arg value="-jar" />
<arg <arg value="${project.build.directory}/${project.build.finalName}-jetty-console.jar" />
value="${project.build.directory}/${project.build.finalName}-jetty-console.jar" />
</exec> </exec>
</tasks> </tasks>
</configuration> </configuration>
@ -303,10 +302,8 @@
<arg value="-Dtarget.dir=${target.dir}" /> <arg value="-Dtarget.dir=${target.dir}" />
<arg value="-Drebel.plugins=${isis_jrebel_plugin.jar}" /> <arg value="-Drebel.plugins=${isis_jrebel_plugin.jar}" />
<arg <arg value="-Disis-jrebel-plugin.packagePrefix=${isis-jrebel-plugin.packagePrefix}" />
value="-Disis-jrebel-plugin.packagePrefix=${isis-jrebel-plugin.packagePrefix}" /> <arg value="-Disis-jrebel-plugin.loggingLevel=${isis-jrebel-plugin.loggingLevel}" />
<arg
value="-Disis-jrebel-plugin.loggingLevel=${isis-jrebel-plugin.loggingLevel}" />
<arg value="-XX:MaxPermSize=128m" /> <arg value="-XX:MaxPermSize=128m" />
<arg value="-classpath" /> <arg value="-classpath" />
<arg value="${runtime_classpath}" /> <arg value="${runtime_classpath}" />