Merge branch 'master' into java9

This commit is contained in:
Ilkka Seppälä
2018-03-24 17:19:59 +02:00
756 changed files with 8862 additions and 8486 deletions

View File

@ -29,4 +29,4 @@ Use the Naked Objects pattern when
## Credits
* [Richard Pawson - Naked Objects](https://isis.apache.org/resources/thesis/Pawson-Naked-Objects-thesis.pdf)
* [Richard Pawson - Naked Objects](http://downloads.nakedobjects.net/resources/Pawson%20thesis.pdf)

View File

@ -16,7 +16,7 @@
<parent>
<groupId>com.iluwatar</groupId>
<artifactId>naked-objects</artifactId>
<version>1.17.0-SNAPSHOT</version>
<version>1.19.0-SNAPSHOT</version>
</parent>
<artifactId>naked-objects-dom</artifactId>
@ -50,6 +50,12 @@
<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>

View File

@ -1,39 +0,0 @@
@startuml
package domainapp.dom.app.homepage {
class HomePageService {
~ container : DomainObjectContainer
+ HomePageService()
+ homePage() : HomePageViewModel
}
class HomePageViewModel {
~ simpleObjects : SimpleObjects
+ HomePageViewModel()
+ getObjects() : List<SimpleObject>
+ title() : String
}
}
package domainapp.dom.modules.simple {
class SimpleObject {
- container : DomainObjectContainer
- name : String
+ SimpleObject()
+ compareTo(other : SimpleObject) : int
+ default0UpdateName() : String
+ getName() : String
+ getVersionSequence() : Long
+ setName(name : String)
+ title() : TranslatableString
+ updateName(name : String) : SimpleObject
+ validateUpdateName(name : String) : TranslatableString
}
class SimpleObjects {
~ container : DomainObjectContainer
+ SimpleObjects()
+ create(name : String) : SimpleObject
+ findByName(name : String) : List<SimpleObject>
+ listAll() : List<SimpleObject>
+ title() : TranslatableString
}
}
HomePageViewModel --> "-simpleObjects" SimpleObjects
@enduml

View File

@ -1,93 +0,0 @@
@startuml
package domainapp.dom.app.homepage {
class HomePageService {
~ container : DomainObjectContainer
+ HomePageService()
+ homePage() : HomePageViewModel
}
class HomePageViewModel {
~ simpleObjects : SimpleObjects
+ HomePageViewModel()
+ getObjects() : List<SimpleObject>
+ title() : String
}
}
package domainapp.dom.modules.simple {
class SimpleObject {
- container : DomainObjectContainer
- dnFieldFlags : byte[] {static}
- dnFieldNames : String[] {static}
- dnFieldTypes : Class[] {static}
# dnFlags : byte
- dnInheritedFieldCount : int {static}
- dnPersistableSuperclass : Class<T> {static}
# dnStateManager : StateManager
- name : String
+ SimpleObject()
+ ___dn$loadClass(className : String) : Class<T> {static}
- __dnFieldFlagsInit() : byte[] {static}
- __dnFieldNamesInit() : String[] {static}
- __dnFieldTypesInit() : Class[] {static}
# __dnGetInheritedFieldCount() : int {static}
- __dnPersistableSuperclassInit() : Class<T> {static}
+ compareTo(other : SimpleObject) : int
+ default0UpdateName() : String
# dnCopyField(obj : SimpleObject, index : int)
+ dnCopyFields(obj : Object, indices : int[])
+ dnCopyKeyFieldsFromObjectId(fc : ObjectIdFieldConsumer, oid : Object)
# dnCopyKeyFieldsFromObjectId(oid : Object)
+ dnCopyKeyFieldsToObjectId(fs : ObjectIdFieldSupplier, oid : Object)
+ dnCopyKeyFieldsToObjectId(oid : Object)
+ dnGetExecutionContext() : ExecutionContextReference
# dnGetManagedFieldCount() : int {static}
+ dnGetObjectId() : Object
+ dnGetTransactionalObjectId() : Object
+ dnGetVersion() : Object
+ dnGetname() : String
+ dnIsDeleted() : boolean
+ dnIsDetached() : boolean
+ dnIsDirty() : boolean
+ dnIsNew() : boolean
+ dnIsPersistent() : boolean
+ dnIsTransactional() : boolean
+ dnMakeDirty(fieldName : String)
+ dnNewInstance(sm : StateManager) : Persistable
+ dnNewInstance(sm : StateManager, obj : Object) : Persistable
+ dnNewObjectIdInstance() : Object
+ dnNewObjectIdInstance(key : Object) : Object
# dnPreSerialize()
+ dnProvideField(index : int)
+ dnProvideFields(indices : int[])
+ dnReplaceField(index : int)
+ dnReplaceFields(indices : int[])
+ dnReplaceFlags()
+ dnReplaceStateManager(sm : StateManager)
+ dnSetname(name : String)
- dnSuperClone() : Object
+ getName() : String
+ getVersionSequence() : Long
+ setName(val : String)
+ title() : TranslatableString
+ updateName(name : String) : SimpleObject
+ validateUpdateName(name : String) : TranslatableString
}
class SimpleObjects {
~ container : DomainObjectContainer
+ SimpleObjects()
+ create(name : String) : SimpleObject
+ findByName(name : String) : List<SimpleObject>
+ listAll() : List<SimpleObject>
+ title() : TranslatableString
}
}
package domainapp.fixture {
class DomainAppFixturesProvider {
+ DomainAppFixturesProvider()
+ getSpecification() : FixtureScriptsSpecification
}
}
Builder ..+ FixtureScriptsSpecification
DropDownPolicy ..+ FixtureScriptsSpecification
MultipleExecutionStrategy ..+ FixtureScripts
HomePageViewModel --> "-simpleObjects" SimpleObjects
@enduml

View File

@ -1,93 +0,0 @@
@startuml
package domainapp.dom.app.homepage {
class HomePageService {
~ container : DomainObjectContainer
+ HomePageService()
+ homePage() : HomePageViewModel
}
class HomePageViewModel {
~ simpleObjects : SimpleObjects
+ HomePageViewModel()
+ getObjects() : List<SimpleObject>
+ title() : String
}
}
package domainapp.dom.modules.simple {
class SimpleObject {
- container : DomainObjectContainer
- dnFieldFlags : byte[] {static}
- dnFieldNames : String[] {static}
- dnFieldTypes : Class[] {static}
# dnFlags : byte
- dnInheritedFieldCount : int {static}
- dnPersistableSuperclass : Class<T> {static}
# dnStateManager : StateManager
- name : String
+ SimpleObject()
+ ___dn$loadClass(className : String) : Class<T> {static}
- __dnFieldFlagsInit() : byte[] {static}
- __dnFieldNamesInit() : String[] {static}
- __dnFieldTypesInit() : Class[] {static}
# __dnGetInheritedFieldCount() : int {static}
- __dnPersistableSuperclassInit() : Class<T> {static}
+ compareTo(other : SimpleObject) : int
+ default0UpdateName() : String
# dnCopyField(obj : SimpleObject, index : int)
+ dnCopyFields(obj : Object, indices : int[])
+ dnCopyKeyFieldsFromObjectId(fc : ObjectIdFieldConsumer, oid : Object)
# dnCopyKeyFieldsFromObjectId(oid : Object)
+ dnCopyKeyFieldsToObjectId(fs : ObjectIdFieldSupplier, oid : Object)
+ dnCopyKeyFieldsToObjectId(oid : Object)
+ dnGetExecutionContext() : ExecutionContextReference
# dnGetManagedFieldCount() : int {static}
+ dnGetObjectId() : Object
+ dnGetTransactionalObjectId() : Object
+ dnGetVersion() : Object
+ dnGetname() : String
+ dnIsDeleted() : boolean
+ dnIsDetached() : boolean
+ dnIsDirty() : boolean
+ dnIsNew() : boolean
+ dnIsPersistent() : boolean
+ dnIsTransactional() : boolean
+ dnMakeDirty(fieldName : String)
+ dnNewInstance(sm : StateManager) : Persistable
+ dnNewInstance(sm : StateManager, obj : Object) : Persistable
+ dnNewObjectIdInstance() : Object
+ dnNewObjectIdInstance(key : Object) : Object
# dnPreSerialize()
+ dnProvideField(index : int)
+ dnProvideFields(indices : int[])
+ dnReplaceField(index : int)
+ dnReplaceFields(indices : int[])
+ dnReplaceFlags()
+ dnReplaceStateManager(sm : StateManager)
+ dnSetname(name : String)
- dnSuperClone() : Object
+ getName() : String
+ getVersionSequence() : Long
+ setName(val : String)
+ title() : TranslatableString
+ updateName(name : String) : SimpleObject
+ validateUpdateName(name : String) : TranslatableString
}
class SimpleObjects {
~ container : DomainObjectContainer
+ SimpleObjects()
+ create(name : String) : SimpleObject
+ findByName(name : String) : List<SimpleObject>
+ listAll() : List<SimpleObject>
+ title() : TranslatableString
}
}
package domainapp.fixture {
class DomainAppFixturesProvider {
+ DomainAppFixturesProvider()
+ getSpecification() : FixtureScriptsSpecification
}
}
Builder ..+ FixtureScriptsSpecification
DropDownPolicy ..+ FixtureScriptsSpecification
MultipleExecutionStrategy ..+ FixtureScripts
HomePageViewModel --> "-simpleObjects" SimpleObjects
@enduml

View File

@ -16,7 +16,7 @@
<parent>
<groupId>com.iluwatar</groupId>
<artifactId>naked-objects</artifactId>
<version>1.17.0-SNAPSHOT</version>
<version>1.19.0-SNAPSHOT</version>
</parent>
<artifactId>naked-objects-fixture</artifactId>

View File

@ -16,7 +16,7 @@
<parent>
<groupId>com.iluwatar</groupId>
<artifactId>naked-objects</artifactId>
<version>1.17.0-SNAPSHOT</version>
<version>1.19.0-SNAPSHOT</version>
</parent>
<artifactId>naked-objects-integtests</artifactId>
@ -79,6 +79,12 @@
<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>

View File

@ -15,7 +15,7 @@
<parent>
<artifactId>java-design-patterns</artifactId>
<groupId>com.iluwatar</groupId>
<version>1.17.0-SNAPSHOT</version>
<version>1.19.0-SNAPSHOT</version>
</parent>
<artifactId>naked-objects</artifactId>
@ -317,23 +317,6 @@
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-report-plugin</artifactId>
</plugin>
<plugin>
<groupId>com.github.markusmo3.urm</groupId>
<artifactId>urm-maven-plugin</artifactId>
<version>${urm.version}</version>
<configuration combine.self="override">
<outputDirectory>${project.basedir}/../etc</outputDirectory>
<packages>
<param>com.iluwatar</param>
<param>domainapp</param>
</packages>
<skipForProjects>
<!-- skip for parent project -->
<param>naked-objects</param>
<param>naked-objects-webapp</param>
</skipForProjects>
</configuration>
</plugin>
</plugins>
</build>
@ -367,17 +350,17 @@
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>naked-objects-dom</artifactId>
<version>1.17.0-SNAPSHOT</version>
<version>1.19.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>naked-objects-fixture</artifactId>
<version>1.17.0-SNAPSHOT</version>
<version>1.19.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>naked-objects-webapp</artifactId>
<version>1.17.0-SNAPSHOT</version>
<version>1.19.0-SNAPSHOT</version>
</dependency>
</dependencies>

View File

@ -16,7 +16,7 @@
<parent>
<groupId>com.iluwatar</groupId>
<artifactId>naked-objects</artifactId>
<version>1.17.0-SNAPSHOT</version>
<version>1.19.0-SNAPSHOT</version>
</parent>
<artifactId>naked-objects-webapp</artifactId>
@ -221,6 +221,18 @@
</exclusions>
</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>

View File

@ -51,14 +51,14 @@ import de.agilecoders.wicket.themes.markup.html.bootswatch.BootswatchThemeProvid
* See:
*
* <pre>
* &lt;filter>
* &lt;filter-name>wicket&lt;/filter-name>
* &lt;filter-class>org.apache.wicket.protocol.http.WicketFilter&lt;/filter-class>
* &lt;init-param>
* &lt;param-name>applicationClassName&lt;/param-name>
* &lt;param-value>webapp.SimpleApplication&lt;/param-value>
* &lt;/init-param>
* &lt;/filter>
* &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>
*
*/
@ -69,7 +69,7 @@ public class SimpleApplication extends IsisWicketApplication {
/**
* uncomment for a (slightly hacky) way of allowing logins using query args, eg:
*
* <tt>?user=sven&pass=pass</tt>
* <tt>{@code ?user=sven&pass=pass}</tt>
*
* <p>
* for demos only, obvious.