You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2013/11/21 13:23:00 UTC
[5/5] git commit: ISIS-598: can now use @Inject on field...
ISIS-598: can now use @Inject on field...
... for dependency injection
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/ff4f466c
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/ff4f466c
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/ff4f466c
Branch: refs/heads/master
Commit: ff4f466c2294f5dc2db5b5d3ff74111e3e9808ed
Parents: 96b4b51
Author: Dan Haywood <da...@apache.org>
Authored: Thu Nov 21 12:19:43 2013 +0000
Committer: Dan Haywood <da...@apache.org>
Committed: Thu Nov 21 12:19:43 2013 +0000
----------------------------------------------------------------------
.../RestfulObjectsSpecEventSerializer.java | 15 ++-
core/applib/pom.xml | 4 +
.../isis/applib/fixtures/AbstractFixture.java | 3 +-
.../services/ServicesInjectorDefault.java | 80 ++++++++++---
.../services/ServicesInjectorAbstractTest.java | 97 ----------------
.../services/ServicesInjectorDefaultTest.java | 97 ++++++++++++++++
...ServicesInjectorDefaultTest_usingFields.java | 112 +++++++++++++++++++
core/pom.xml | 7 +-
.../dom/src/main/java/app/ToDoAppDashboard.java | 6 +-
.../main/java/app/ToDoAppDashboardService.java | 13 ++-
.../dom/src/main/java/app/ToDoItemAnalysis.java | 16 ++-
.../java/app/ToDoItemAnalysisContributions.java | 13 +--
.../java/app/ToDoItemsByCategoryViewModel.java | 9 +-
.../java/app/ToDoItemsByDateRangeViewModel.java | 10 +-
.../dom/src/main/java/dom/todo/ToDoItem.java | 19 +---
.../java/dom/todo/ToDoItemContributions.java | 8 +-
.../dom/src/main/java/dom/todo/ToDoItems.java | 11 +-
.../main/java/fixture/LogonAsSvenFixture.java | 30 -----
.../java/fixture/todo/ToDoItemsFixture.java | 15 +--
.../src/main/java/dom/simple/SimpleObject.java | 5 +-
.../src/main/java/dom/simple/SimpleObjects.java | 19 +++-
.../dom/simple/SimpleObjectsTest_create.java | 2 +-
.../dom/simple/SimpleObjectsTest_listAll.java | 12 +-
.../main/java/fixture/LogonAsSvenFixture.java | 30 -----
.../fixture/simple/SimpleObjectsFixture.java | 13 +--
25 files changed, 368 insertions(+), 278 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/ff4f466c/component/viewer/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/eventserializer/RestfulObjectsSpecEventSerializer.java
----------------------------------------------------------------------
diff --git a/component/viewer/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/eventserializer/RestfulObjectsSpecEventSerializer.java b/component/viewer/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/eventserializer/RestfulObjectsSpecEventSerializer.java
index 81edb1a..6bfcde8 100644
--- a/component/viewer/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/eventserializer/RestfulObjectsSpecEventSerializer.java
+++ b/component/viewer/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/eventserializer/RestfulObjectsSpecEventSerializer.java
@@ -27,6 +27,7 @@ import java.util.Map;
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
+import javax.inject.Inject;
import org.codehaus.jackson.JsonGenerationException;
import org.codehaus.jackson.map.JsonMappingException;
@@ -120,16 +121,18 @@ public class RestfulObjectsSpecEventSerializer implements EventSerializer {
// //////////////////////////////////////
+ @Inject
@SuppressWarnings("unused")
private DomainObjectContainer container;
- public void setContainer(DomainObjectContainer container) {
- this.container = container;
- }
+// public void setContainer(DomainObjectContainer container) {
+// this.container = container;
+// }
+ @Inject
@SuppressWarnings("unused")
private BookmarkService bookmarkService;
- public void injectBookmarkService(BookmarkService bookmarkService) {
- this.bookmarkService = bookmarkService;
- }
+// public void injectBookmarkService(BookmarkService bookmarkService) {
+// this.bookmarkService = bookmarkService;
+// }
}
http://git-wip-us.apache.org/repos/asf/isis/blob/ff4f466c/core/applib/pom.xml
----------------------------------------------------------------------
diff --git a/core/applib/pom.xml b/core/applib/pom.xml
index 2a6ce8e..4850dd0 100644
--- a/core/applib/pom.xml
+++ b/core/applib/pom.xml
@@ -87,6 +87,10 @@
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-atinject_1.0_spec</artifactId>
+ </dependency>
<dependency>
<groupId>org.apache.isis.core</groupId>
http://git-wip-us.apache.org/repos/asf/isis/blob/ff4f466c/core/applib/src/main/java/org/apache/isis/applib/fixtures/AbstractFixture.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/fixtures/AbstractFixture.java b/core/applib/src/main/java/org/apache/isis/applib/fixtures/AbstractFixture.java
index 9b49d6d..4db715b 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/fixtures/AbstractFixture.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/fixtures/AbstractFixture.java
@@ -24,6 +24,7 @@ import java.util.Collections;
import java.util.List;
import com.google.common.base.Predicate;
+import com.google.common.collect.Lists;
import org.apache.isis.applib.annotation.Programmatic;
@@ -53,7 +54,7 @@ import org.apache.isis.applib.annotation.Programmatic;
*/
public abstract class AbstractFixture extends BaseFixture implements CompositeFixture {
- private final List<Object> fixtures = new ArrayList<Object>();
+ private final List<Object> fixtures = Lists.newArrayList();
// ///////////////////////////////////////////////////////////////
// Constructor
http://git-wip-us.apache.org/repos/asf/isis/blob/ff4f466c/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/ServicesInjectorDefault.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/ServicesInjectorDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/ServicesInjectorDefault.java
index ffe0564..d5c9730 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/ServicesInjectorDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/ServicesInjectorDefault.java
@@ -24,6 +24,7 @@ import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.CoreMatchers.not;
import static org.hamcrest.CoreMatchers.nullValue;
+import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.Arrays;
@@ -31,6 +32,8 @@ import java.util.Collections;
import java.util.List;
import java.util.Map;
+import javax.inject.Inject;
+
import com.google.common.base.Predicate;
import com.google.common.collect.Iterables;
import com.google.common.collect.Lists;
@@ -59,10 +62,8 @@ public class ServicesInjectorDefault implements ServicesInjectorSpi {
*/
private final Map<Class<?>, List<Object>> servicesByType = Maps.newHashMap();
- private final List<Object> services = Lists.newArrayList();
-
private DomainObjectContainer container;
-
+ private final List<Object> services = Lists.newArrayList();
// /////////////////////////////////////////////////////////
@@ -169,27 +170,67 @@ public class ServicesInjectorDefault implements ServicesInjectorSpi {
private static void injectServices(final Object object, final List<Object> services) {
final Class<?> cls = object.getClass();
+
+ autowireViaFields(object, services, cls);
+ autowireViaPrefixedMethods(object, services, cls, "set");
+ autowireViaPrefixedMethods(object, services, cls, "inject");
+ }
+
+ private static void autowireViaFields(final Object object, final List<Object> services, final Class<?> cls) {
+ final List<Field> fields = Arrays.asList(cls.getDeclaredFields());
+ final Iterable<Field> injectFields = Iterables.filter(fields, new Predicate<Field>() {
+ @Override
+ public boolean apply(Field input) {
+ final Inject annotation = input.getAnnotation(javax.inject.Inject.class);
+ return annotation != null;
+ }
+ });
+
+ for (final Field field : injectFields) {
+ for (final Object service : services) {
+ final Class<?> serviceClass = service.getClass();
+ boolean isInjectorField = isInjectorFieldFor(field, serviceClass);
+ if(isInjectorField) {
+ field.setAccessible(true);
+ invokeInjectorField(field, object, service);
+ }
+ }
+ }
+ // recurse up the hierarchy
+ final Class<?> superclass = cls.getSuperclass();
+ if(superclass != null) {
+ autowireViaFields(object, services, superclass);
+ }
+ }
+
+ private static void autowireViaPrefixedMethods(final Object object, final List<Object> services, final Class<?> cls, final String prefix) {
final List<Method> methods = Arrays.asList(cls.getMethods());
- final Iterable<Method> setterAndInjectorMethods = Iterables.filter(methods, new Predicate<Method>(){
+ final Iterable<Method> prefixedMethods = Iterables.filter(methods, new Predicate<Method>(){
public boolean apply(Method method) {
final String methodName = method.getName();
- return methodName.startsWith("set") || methodName.startsWith("inject");
+ return methodName.startsWith(prefix);
}
});
- for (final Method method : setterAndInjectorMethods) {
+ for (final Method prefixedMethod : prefixedMethods) {
for (final Object service : services) {
final Class<?> serviceClass = service.getClass();
- boolean isInjectorMethod = isInjectorMethodFor(method, serviceClass);
+ boolean isInjectorMethod = isInjectorMethodFor(prefixedMethod, serviceClass);
if(isInjectorMethod) {
- method.setAccessible(true);
- invokeSetMethod(method, object, service);
+ prefixedMethod.setAccessible(true);
+ invokeInjectorMethod(prefixedMethod, object, service);
}
}
}
}
+ private static boolean isInjectorFieldFor(final Field field, final Class<?> serviceClass) {
+ final Class<?> type = field.getType();
+ // don't think that type can ever be null, but Javadoc for java.lang.reflect.Field doesn't say
+ return type != null && type.isAssignableFrom(serviceClass);
+ }
+
public static boolean isInjectorMethodFor(Method method, final Class<?> serviceClass) {
final String methodName = method.getName();
if (methodName.startsWith("set") || methodName.startsWith("inject")) {
@@ -200,7 +241,7 @@ public class ServicesInjectorDefault implements ServicesInjectorSpi {
}
return false;
}
-
+
private static void invokeMethod(final Method method, final Object target, final Object[] parameters) {
try {
method.invoke(target, parameters);
@@ -220,14 +261,27 @@ public class ServicesInjectorDefault implements ServicesInjectorSpi {
}
}
- private static void invokeSetMethod(final Method set, final Object target, final Object parameter) {
- final Object[] parameters = new Object[] { parameter };
- invokeMethod(set, target, parameters);
+ private static void invokeInjectorField(final Field field, final Object target, final Object parameter) {
+ try {
+ field.set(target, parameter);
+ } catch (IllegalArgumentException e) {
+ throw new MetaModelException(e);
+ } catch (IllegalAccessException e) {
+ throw new MetaModelException(String.format("Cannot access the %s field in %s", field.getName(), target.getClass().getName()));
+ }
if (LOG.isDebugEnabled()) {
LOG.debug("injected " + parameter + " into " + new ToString(target));
}
}
+ private static void invokeInjectorMethod(final Method method, final Object target, final Object parameter) {
+ final Object[] parameters = new Object[] { parameter };
+ invokeMethod(method, target, parameters);
+ if (LOG.isDebugEnabled()) {
+ LOG.debug("injected " + parameter + " into " + new ToString(target));
+ }
+ }
+
private void autowireServicesAndContainer() {
injectServicesInto(this.services);
injectServicesInto(this.container);
http://git-wip-us.apache.org/repos/asf/isis/blob/ff4f466c/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/ServicesInjectorAbstractTest.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/ServicesInjectorAbstractTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/ServicesInjectorAbstractTest.java
deleted file mode 100644
index 360f530..0000000
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/ServicesInjectorAbstractTest.java
+++ /dev/null
@@ -1,97 +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 org.apache.isis.core.metamodel.services;
-
-import java.util.Arrays;
-
-import org.jmock.Expectations;
-import org.jmock.auto.Mock;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-
-import org.apache.isis.applib.DomainObjectContainer;
-import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
-import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
-
-public class ServicesInjectorAbstractTest {
-
- @Rule
- public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(Mode.INTERFACES_AND_CLASSES);
-
- @Mock
- private DomainObjectContainerExtended mockContainer;
- @Mock
- private Service1 mockService1;
- @Mock
- private Service2 mockService2;
- @Mock
- private SomeDomainObject mockDomainObject;
-
- private ServicesInjectorSpi injector;
-
- static interface Service1 {
- }
-
- static interface Service2 {
- }
-
- static interface Mixin {
- }
-
- static interface DomainObjectContainerExtended extends DomainObjectContainer, Mixin {
- }
-
- static interface SomeDomainObject {
- public void setContainer(DomainObjectContainer container);
- public void setMixin(Mixin mixin);
- public void setService1(Service1 service);
- public void setService2(Service2 service);
- }
-
- @Before
- public void setUp() throws Exception {
- injector = new ServicesInjectorDefault();
- }
-
- @After
- public void tearDown() throws Exception {
- }
-
- @Test
- public void shouldInjectContainer() {
- injector.setContainer(mockContainer);
- final Object[] services = { mockService1, mockService2 };
- injector.setServices(Arrays.asList(services));
-
- context.checking(new Expectations() {
- {
- one(mockDomainObject).setContainer(mockContainer);
- one(mockDomainObject).setMixin(mockContainer);
- one(mockDomainObject).setService1(mockService1);
- one(mockDomainObject).setService2(mockService2);
- }
- });
-
- injector.injectServicesInto(mockDomainObject);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/ff4f466c/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/ServicesInjectorDefaultTest.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/ServicesInjectorDefaultTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/ServicesInjectorDefaultTest.java
new file mode 100644
index 0000000..e3e2bcc
--- /dev/null
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/ServicesInjectorDefaultTest.java
@@ -0,0 +1,97 @@
+/*
+ * 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 org.apache.isis.core.metamodel.services;
+
+import java.util.Arrays;
+
+import org.jmock.Expectations;
+import org.jmock.auto.Mock;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+
+import org.apache.isis.applib.DomainObjectContainer;
+import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
+import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
+
+public class ServicesInjectorDefaultTest {
+
+ @Rule
+ public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(Mode.INTERFACES_AND_CLASSES);
+
+ @Mock
+ private DomainObjectContainerExtended mockContainer;
+ @Mock
+ private Service1 mockService1;
+ @Mock
+ private Service2 mockService2;
+ @Mock
+ private SomeDomainObject mockDomainObject;
+
+ private ServicesInjectorSpi injector;
+
+ static interface Service1 {
+ }
+
+ static interface Service2 {
+ }
+
+ static interface Mixin {
+ }
+
+ static interface DomainObjectContainerExtended extends DomainObjectContainer, Mixin {
+ }
+
+ static interface SomeDomainObject {
+ public void setContainer(DomainObjectContainer container);
+ public void setMixin(Mixin mixin);
+ public void setService1(Service1 service);
+ public void setService2(Service2 service);
+ }
+
+ @Before
+ public void setUp() throws Exception {
+ injector = new ServicesInjectorDefault();
+ }
+
+ @After
+ public void tearDown() throws Exception {
+ }
+
+ @Test
+ public void shouldInjectContainer() {
+ injector.setContainer(mockContainer);
+ final Object[] services = { mockService1, mockService2 };
+ injector.setServices(Arrays.asList(services));
+
+ context.checking(new Expectations() {
+ {
+ one(mockDomainObject).setContainer(mockContainer);
+ one(mockDomainObject).setMixin(mockContainer);
+ one(mockDomainObject).setService1(mockService1);
+ one(mockDomainObject).setService2(mockService2);
+ }
+ });
+
+ injector.injectServicesInto(mockDomainObject);
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/ff4f466c/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/ServicesInjectorDefaultTest_usingFields.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/ServicesInjectorDefaultTest_usingFields.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/ServicesInjectorDefaultTest_usingFields.java
new file mode 100644
index 0000000..1657249
--- /dev/null
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/ServicesInjectorDefaultTest_usingFields.java
@@ -0,0 +1,112 @@
+/*
+ * 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 org.apache.isis.core.metamodel.services;
+
+import static org.hamcrest.CoreMatchers.*;
+import static org.junit.Assert.assertThat;
+
+import java.util.Arrays;
+
+import javax.inject.Inject;
+
+import org.jmock.Expectations;
+import org.jmock.auto.Mock;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+
+import org.apache.isis.applib.DomainObjectContainer;
+import org.apache.isis.core.metamodel.services.container.DomainObjectContainerDefault;
+import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
+import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
+
+public class ServicesInjectorDefaultTest_usingFields {
+
+ @Rule
+ public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(Mode.INTERFACES_AND_CLASSES);
+
+ private DomainObjectContainer container;
+
+ private SomeDomainService1 service1;
+ private SomeDomainService2 service2;
+ private SomeDomainService3 service3;
+
+ private ServicesInjectorSpi injector;
+
+
+ static class SomeDomainService3 { }
+
+ static class SomeDomainService1 {
+ @Inject
+ private DomainObjectContainer container;
+ DomainObjectContainer getContainer() {
+ return container;
+ }
+ @Inject
+ private SomeDomainService2Abstract someDomainService2;
+ SomeDomainService2Abstract getSomeDomainService2() {
+ return someDomainService2;
+ }
+ }
+ static abstract class SomeDomainService2Abstract {
+ @Inject
+ private SomeDomainService1 someDomainService1;
+ SomeDomainService1 getSomeDomainService1() {
+ return someDomainService1;
+ }
+ }
+ static class SomeDomainService2 extends SomeDomainService2Abstract {
+ @Inject
+ private SomeDomainService3 someDomainService3;
+ SomeDomainService3 getSomeDomainService3() {
+ return someDomainService3;
+ }
+ }
+
+ @Before
+ public void setUp() throws Exception {
+ container = new DomainObjectContainerDefault();
+ service1 = new SomeDomainService1();
+ service3 = new SomeDomainService3();
+ service2 = new SomeDomainService2();
+ injector = new ServicesInjectorDefault();
+ }
+
+ @Test
+ public void shouldInjectContainer() {
+ injector.setContainer(container);
+ injector.setServices(Arrays.asList(service1, service3, service2));
+
+ injector.injectServicesInto(container);
+ injector.injectServicesInto(service1);
+ injector.injectServicesInto(service2);
+ injector.injectServicesInto(service3);
+
+ assertThat(service1.getContainer(), is(container));
+ assertThat(service1.getSomeDomainService2(), is((SomeDomainService2Abstract)service2));
+
+ assertThat(service2.getSomeDomainService1(), is(service1));
+
+ assertThat(service2.getSomeDomainService1(), is(service1));
+ assertThat(service2.getSomeDomainService3(), is(service3));
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/ff4f466c/core/pom.xml
----------------------------------------------------------------------
diff --git a/core/pom.xml b/core/pom.xml
index 4c049fb..14523b1 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -1477,7 +1477,12 @@ ${license.additional-notes}
<artifactId>geronimo-javamail_1.4_spec</artifactId>
<version>1.7.1</version>
</dependency>
-
+ <dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-atinject_1.0_spec</artifactId>
+ <version>1.0</version>
+ </dependency>
+
<dependency>
<groupId>org.picocontainer</groupId>
<artifactId>picocontainer</artifactId>
http://git-wip-us.apache.org/repos/asf/isis/blob/ff4f466c/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/app/ToDoAppDashboard.java
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/app/ToDoAppDashboard.java b/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/app/ToDoAppDashboard.java
index 4fea1b5..61141e5 100644
--- a/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/app/ToDoAppDashboard.java
+++ b/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/app/ToDoAppDashboard.java
@@ -80,11 +80,7 @@ public class ToDoAppDashboard extends AbstractViewModel {
// injected services
// //////////////////////////////////////
+ @javax.inject.Inject
private ToDoItemAnalysis toDoItemAnalysis;
-
- public void injectToDoItemAnalysis(ToDoItemAnalysis toDoItemAnalysis) {
- this.toDoItemAnalysis = toDoItemAnalysis;
- }
-
}
http://git-wip-us.apache.org/repos/asf/isis/blob/ff4f466c/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/app/ToDoAppDashboardService.java
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/app/ToDoAppDashboardService.java b/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/app/ToDoAppDashboardService.java
index 4b8e2772..95534dd 100644
--- a/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/app/ToDoAppDashboardService.java
+++ b/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/app/ToDoAppDashboardService.java
@@ -18,14 +18,14 @@
*/
package app;
-import org.apache.isis.applib.AbstractService;
+import org.apache.isis.applib.DomainObjectContainer;
import org.apache.isis.applib.annotation.ActionSemantics;
import org.apache.isis.applib.annotation.ActionSemantics.Of;
import org.apache.isis.applib.annotation.Hidden;
import org.apache.isis.applib.annotation.HomePage;
@Hidden
-public class ToDoAppDashboardService extends AbstractService {
+public class ToDoAppDashboardService {
private static final String ID = "dashboard";
@@ -42,8 +42,15 @@ public class ToDoAppDashboardService extends AbstractService {
@ActionSemantics(Of.SAFE)
@HomePage
public ToDoAppDashboard lookup() {
- return newViewModelInstance(ToDoAppDashboard.class, ID);
+ return container.newViewModelInstance(ToDoAppDashboard.class, ID);
}
+
+ // //////////////////////////////////////
+ // Injected services
+ // //////////////////////////////////////
+
+ @javax.inject.Inject
+ private DomainObjectContainer container;
}
http://git-wip-us.apache.org/repos/asf/isis/blob/ff4f466c/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/app/ToDoItemAnalysis.java
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/app/ToDoItemAnalysis.java b/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/app/ToDoItemAnalysis.java
index 44475b4..a102c48 100644
--- a/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/app/ToDoItemAnalysis.java
+++ b/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/app/ToDoItemAnalysis.java
@@ -27,7 +27,7 @@ import com.google.common.collect.Lists;
import dom.todo.ToDoItem.Category;
-import org.apache.isis.applib.AbstractFactoryAndRepository;
+import org.apache.isis.applib.DomainObjectContainer;
import org.apache.isis.applib.annotation.ActionSemantics;
import org.apache.isis.applib.annotation.ActionSemantics.Of;
import org.apache.isis.applib.annotation.Bookmarkable;
@@ -36,13 +36,12 @@ import org.apache.isis.applib.annotation.Named;
import org.apache.isis.applib.annotation.Programmatic;
@Named("Analysis")
-public class ToDoItemAnalysis extends AbstractFactoryAndRepository {
+public class ToDoItemAnalysis {
// //////////////////////////////////////
// Identification in the UI
// //////////////////////////////////////
- @Override
public String getId() {
return "analysis";
}
@@ -69,7 +68,7 @@ public class ToDoItemAnalysis extends AbstractFactoryAndRepository {
@Override
public ToDoItemsByCategoryViewModel apply(final Category category) {
final ToDoItemsByCategoryViewModel byCategory =
- getContainer().newViewModelInstance(ToDoItemsByCategoryViewModel.class, category.name());
+ container.newViewModelInstance(ToDoItemsByCategoryViewModel.class, category.name());
byCategory.setCategory(category);
return byCategory;
}
@@ -103,7 +102,7 @@ public class ToDoItemAnalysis extends AbstractFactoryAndRepository {
@Override
public ToDoItemsByDateRangeViewModel apply(final DateRange dateRange) {
final ToDoItemsByDateRangeViewModel byDateRange =
- getContainer().newViewModelInstance(ToDoItemsByDateRangeViewModel.class, dateRange.name());
+ container.newViewModelInstance(ToDoItemsByDateRangeViewModel.class, dateRange.name());
byDateRange.setDateRange(dateRange);
return byDateRange;
}
@@ -121,4 +120,11 @@ public class ToDoItemAnalysis extends AbstractFactoryAndRepository {
}
+ // //////////////////////////////////////
+ // Injected services
+ // //////////////////////////////////////
+
+ @javax.inject.Inject
+ private DomainObjectContainer container;
+
}
http://git-wip-us.apache.org/repos/asf/isis/blob/ff4f466c/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/app/ToDoItemAnalysisContributions.java
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/app/ToDoItemAnalysisContributions.java b/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/app/ToDoItemAnalysisContributions.java
index 158f113..c9b40a0 100644
--- a/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/app/ToDoItemAnalysisContributions.java
+++ b/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/app/ToDoItemAnalysisContributions.java
@@ -20,16 +20,15 @@ package app;
import dom.todo.ToDoItem;
-import org.apache.isis.applib.AbstractFactoryAndRepository;
import org.apache.isis.applib.annotation.ActionSemantics;
-import org.apache.isis.applib.annotation.NotContributed;
-import org.apache.isis.applib.annotation.NotInServiceMenu;
import org.apache.isis.applib.annotation.ActionSemantics.Of;
-import org.apache.isis.applib.annotation.NotContributed.As;
import org.apache.isis.applib.annotation.Hidden;
+import org.apache.isis.applib.annotation.NotContributed;
+import org.apache.isis.applib.annotation.NotContributed.As;
+import org.apache.isis.applib.annotation.NotInServiceMenu;
@Hidden
-public class ToDoItemAnalysisContributions extends AbstractFactoryAndRepository {
+public class ToDoItemAnalysisContributions {
// //////////////////////////////////////
@@ -48,8 +47,6 @@ public class ToDoItemAnalysisContributions extends AbstractFactoryAndRepository
// injected services
// //////////////////////////////////////
+ @javax.inject.Inject
private ToDoItemAnalysis toDoAppAnalysis;
- public void injectToDoAppAnalysis(ToDoItemAnalysis toDoAppAnalysis) {
- this.toDoAppAnalysis = toDoAppAnalysis;
- }
}
http://git-wip-us.apache.org/repos/asf/isis/blob/ff4f466c/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/app/ToDoItemsByCategoryViewModel.java
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/app/ToDoItemsByCategoryViewModel.java b/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/app/ToDoItemsByCategoryViewModel.java
index efc826d..a4c5f90 100644
--- a/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/app/ToDoItemsByCategoryViewModel.java
+++ b/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/app/ToDoItemsByCategoryViewModel.java
@@ -32,10 +32,7 @@ import dom.todo.ToDoItem.Subcategory;
import dom.todo.ToDoItems;
import org.apache.isis.applib.AbstractViewModel;
-import org.apache.isis.applib.Identifier;
import org.apache.isis.applib.annotation.Bookmarkable;
-import org.apache.isis.applib.annotation.Bounded;
-import org.apache.isis.applib.annotation.Disabled;
import org.apache.isis.applib.annotation.MultiLine;
import org.apache.isis.applib.annotation.Named;
import org.apache.isis.applib.annotation.Render;
@@ -178,11 +175,7 @@ public class ToDoItemsByCategoryViewModel
// injected services
// //////////////////////////////////////
+ @javax.inject.Inject
private ToDoItems toDoItems;
- public void injectedToDoItems(final ToDoItems toDoItems) {
- this.toDoItems = toDoItems;
- }
-
-
}
http://git-wip-us.apache.org/repos/asf/isis/blob/ff4f466c/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/app/ToDoItemsByDateRangeViewModel.java
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/app/ToDoItemsByDateRangeViewModel.java b/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/app/ToDoItemsByDateRangeViewModel.java
index bf62ffc..947315e 100644
--- a/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/app/ToDoItemsByDateRangeViewModel.java
+++ b/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/app/ToDoItemsByDateRangeViewModel.java
@@ -33,6 +33,7 @@ import dom.todo.ToDoItems;
import org.joda.time.DateTime;
import org.apache.isis.applib.AbstractViewModel;
+import org.apache.isis.applib.DomainObjectContainer;
import org.apache.isis.applib.annotation.Bookmarkable;
import org.apache.isis.applib.annotation.Named;
import org.apache.isis.applib.annotation.Render;
@@ -149,15 +150,10 @@ public class ToDoItemsByDateRangeViewModel
// injected services
// //////////////////////////////////////
+ @javax.inject.Inject
private ToDoItems toDoItems;
- public void injectedToDoItems(final ToDoItems toDoItems) {
- this.toDoItems = toDoItems;
- }
-
+ @javax.inject.Inject
private ClockService clockService;
- public void injectClockService(ClockService clockService) {
- this.clockService = clockService;
- }
}
http://git-wip-us.apache.org/repos/asf/isis/blob/ff4f466c/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItem.java
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItem.java b/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItem.java
index 89e024a..7b96700 100644
--- a/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItem.java
+++ b/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItem.java
@@ -39,12 +39,10 @@ import com.google.common.collect.Ordering;
import org.joda.time.LocalDate;
import org.apache.isis.applib.DomainObjectContainer;
-import org.apache.isis.applib.annotation.ActionSemantics;
import org.apache.isis.applib.annotation.Audited;
import org.apache.isis.applib.annotation.AutoComplete;
import org.apache.isis.applib.annotation.Bookmarkable;
import org.apache.isis.applib.annotation.Bulk;
-import org.apache.isis.applib.annotation.ActionSemantics.Of;
import org.apache.isis.applib.annotation.Bulk.InteractionContext;
import org.apache.isis.applib.annotation.CssClass;
import org.apache.isis.applib.annotation.Disabled;
@@ -64,7 +62,6 @@ import org.apache.isis.applib.annotation.SortedBy;
import org.apache.isis.applib.annotation.TypicalLength;
import org.apache.isis.applib.annotation.Where;
import org.apache.isis.applib.clock.Clock;
-import org.apache.isis.applib.services.xmlsnapshot.XmlSnapshotService;
import org.apache.isis.applib.util.ObjectContracts;
import org.apache.isis.applib.util.TitleBuffer;
import org.apache.isis.applib.value.Blob;
@@ -704,22 +701,15 @@ public class ToDoItem implements Comparable<ToDoItem> /*, Locatable*/ { // GMAP3
// Injected Services
// //////////////////////////////////////
+ @javax.inject.Inject
private DomainObjectContainer container;
- public void injectDomainObjectContainer(final DomainObjectContainer container) {
- this.container = container;
- }
-
+ @javax.inject.Inject
private ToDoItems toDoItems;
- public void injectToDoItems(final ToDoItems toDoItems) {
- this.toDoItems = toDoItems;
- }
-
+ @javax.inject.Inject
+ @SuppressWarnings("unused")
private ClockService clockService;
- public void injectClockService(ClockService clockService) {
- this.clockService = clockService;
- }
// //////////////////////////////////////
// Extensions
@@ -739,6 +729,5 @@ public class ToDoItem implements Comparable<ToDoItem> /*, Locatable*/ { // GMAP3
// public void setLocation(Location location) {
// this.location = location;
// }
-
}
http://git-wip-us.apache.org/repos/asf/isis/blob/ff4f466c/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItemContributions.java
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItemContributions.java b/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItemContributions.java
index ed7eced..6f8152c 100644
--- a/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItemContributions.java
+++ b/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItemContributions.java
@@ -206,10 +206,12 @@ public class ToDoItemContributions extends AbstractFactoryAndRepository {
return getContainer().getUser().getName();
}
+
+ // //////////////////////////////////////
+ // Injected services
// //////////////////////////////////////
+ @javax.inject.Inject
private ToDoItems toDoItems;
- public void injectToDoItems(ToDoItems toDoItems) {
- this.toDoItems = toDoItems;
- }
+
}
http://git-wip-us.apache.org/repos/asf/isis/blob/ff4f466c/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItems.java
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItems.java b/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItems.java
index 57e7dfc..4643f12 100644
--- a/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItems.java
+++ b/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItems.java
@@ -38,7 +38,6 @@ import org.apache.isis.applib.annotation.Named;
import org.apache.isis.applib.annotation.Optional;
import org.apache.isis.applib.annotation.Programmatic;
import org.apache.isis.applib.annotation.RegEx;
-import org.apache.isis.applib.clock.Clock;
import org.apache.isis.applib.query.QueryDefault;
import services.ClockService;
@@ -242,17 +241,11 @@ public class ToDoItems {
// Injected Services
// //////////////////////////////////////
-
+ @javax.inject.Inject
private DomainObjectContainer container;
- public void injectDomainObjectContainer(final DomainObjectContainer container) {
- this.container = container;
- }
-
+ @javax.inject.Inject
private ClockService clockService;
- public void injectClockService(ClockService clockService) {
- this.clockService = clockService;
- }
}
http://git-wip-us.apache.org/repos/asf/isis/blob/ff4f466c/example/application/quickstart_wicket_restful_jdo/fixture/src/main/java/fixture/LogonAsSvenFixture.java
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/fixture/src/main/java/fixture/LogonAsSvenFixture.java b/example/application/quickstart_wicket_restful_jdo/fixture/src/main/java/fixture/LogonAsSvenFixture.java
deleted file mode 100644
index 5bdc6fe..0000000
--- a/example/application/quickstart_wicket_restful_jdo/fixture/src/main/java/fixture/LogonAsSvenFixture.java
+++ /dev/null
@@ -1,30 +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 fixture;
-
-import org.apache.isis.applib.fixtures.LogonFixture;
-
-public class LogonAsSvenFixture extends LogonFixture {
-
- public LogonAsSvenFixture() {
- super("sven");
- }
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/ff4f466c/example/application/quickstart_wicket_restful_jdo/fixture/src/main/java/fixture/todo/ToDoItemsFixture.java
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/fixture/src/main/java/fixture/todo/ToDoItemsFixture.java b/example/application/quickstart_wicket_restful_jdo/fixture/src/main/java/fixture/todo/ToDoItemsFixture.java
index 0ca9e02..10f12f3 100644
--- a/example/application/quickstart_wicket_restful_jdo/fixture/src/main/java/fixture/todo/ToDoItemsFixture.java
+++ b/example/application/quickstart_wicket_restful_jdo/fixture/src/main/java/fixture/todo/ToDoItemsFixture.java
@@ -88,20 +88,15 @@ public class ToDoItemsFixture extends AbstractFixture {
return date.plusDays(i);
}
-
- // //////////////////////////////////////
+ // //////////////////////////////////////
+ // Injected services
+ // //////////////////////////////////////
+ @javax.inject.Inject
private ToDoItems toDoItems;
- public void setToDoItems(final ToDoItems toDoItems) {
- this.toDoItems = toDoItems;
- }
-
-
+ @javax.inject.Inject
private IsisJdoSupport isisJdoSupport;
- public void injectIsisJdoSupport(IsisJdoSupport isisJdoSupport) {
- this.isisJdoSupport = isisJdoSupport;
- }
}
http://git-wip-us.apache.org/repos/asf/isis/blob/ff4f466c/example/application/simple_wicket_restful_jdo/dom/src/main/java/dom/simple/SimpleObject.java
----------------------------------------------------------------------
diff --git a/example/application/simple_wicket_restful_jdo/dom/src/main/java/dom/simple/SimpleObject.java b/example/application/simple_wicket_restful_jdo/dom/src/main/java/dom/simple/SimpleObject.java
index 0597341..b48b45d 100644
--- a/example/application/simple_wicket_restful_jdo/dom/src/main/java/dom/simple/SimpleObject.java
+++ b/example/application/simple_wicket_restful_jdo/dom/src/main/java/dom/simple/SimpleObject.java
@@ -69,10 +69,9 @@ public class SimpleObject implements Comparable<SimpleObject> {
// Injected
// //////////////////////////////////////
+
+ @javax.inject.Inject
@SuppressWarnings("unused")
private DomainObjectContainer container;
- public void injectDomainObjectContainer(final DomainObjectContainer container) {
- this.container = container;
- }
}
http://git-wip-us.apache.org/repos/asf/isis/blob/ff4f466c/example/application/simple_wicket_restful_jdo/dom/src/main/java/dom/simple/SimpleObjects.java
----------------------------------------------------------------------
diff --git a/example/application/simple_wicket_restful_jdo/dom/src/main/java/dom/simple/SimpleObjects.java b/example/application/simple_wicket_restful_jdo/dom/src/main/java/dom/simple/SimpleObjects.java
index 5bca784..13cd192 100644
--- a/example/application/simple_wicket_restful_jdo/dom/src/main/java/dom/simple/SimpleObjects.java
+++ b/example/application/simple_wicket_restful_jdo/dom/src/main/java/dom/simple/SimpleObjects.java
@@ -20,20 +20,19 @@ package dom.simple;
import java.util.List;
-import org.apache.isis.applib.AbstractFactoryAndRepository;
+import org.apache.isis.applib.DomainObjectContainer;
import org.apache.isis.applib.annotation.ActionSemantics;
import org.apache.isis.applib.annotation.ActionSemantics.Of;
import org.apache.isis.applib.annotation.Bookmarkable;
import org.apache.isis.applib.annotation.MemberOrder;
import org.apache.isis.applib.annotation.Named;
-public class SimpleObjects extends AbstractFactoryAndRepository {
+public class SimpleObjects {
// //////////////////////////////////////
// Identification in the UI
// //////////////////////////////////////
- @Override
public String getId() {
return "simple";
}
@@ -50,7 +49,7 @@ public class SimpleObjects extends AbstractFactoryAndRepository {
@ActionSemantics(Of.SAFE)
@MemberOrder(sequence = "1")
public List<SimpleObject> listAll() {
- return allInstances(SimpleObject.class);
+ return container.allInstances(SimpleObject.class);
}
@@ -61,10 +60,18 @@ public class SimpleObjects extends AbstractFactoryAndRepository {
@MemberOrder(sequence = "2")
public SimpleObject create(
final @Named("Name") String name) {
- final SimpleObject obj = newTransientInstance(SimpleObject.class);
+ final SimpleObject obj = container.newTransientInstance(SimpleObject.class);
obj.setName(name);
- persistIfNotAlready(obj);
+ container.persistIfNotAlready(obj);
return obj;
}
+
+ // //////////////////////////////////////
+ // Injected services
+ // //////////////////////////////////////
+
+ @javax.inject.Inject
+ DomainObjectContainer container;
+
}
http://git-wip-us.apache.org/repos/asf/isis/blob/ff4f466c/example/application/simple_wicket_restful_jdo/dom/src/test/java/dom/simple/SimpleObjectsTest_create.java
----------------------------------------------------------------------
diff --git a/example/application/simple_wicket_restful_jdo/dom/src/test/java/dom/simple/SimpleObjectsTest_create.java b/example/application/simple_wicket_restful_jdo/dom/src/test/java/dom/simple/SimpleObjectsTest_create.java
index d9b2031..f4ad5d3 100644
--- a/example/application/simple_wicket_restful_jdo/dom/src/test/java/dom/simple/SimpleObjectsTest_create.java
+++ b/example/application/simple_wicket_restful_jdo/dom/src/test/java/dom/simple/SimpleObjectsTest_create.java
@@ -44,7 +44,7 @@ public class SimpleObjectsTest_create {
@Before
public void setUp() throws Exception {
simpleObjects = new SimpleObjects();
- simpleObjects.setContainer(mockContainer);
+ simpleObjects.container = mockContainer;
}
@Test
http://git-wip-us.apache.org/repos/asf/isis/blob/ff4f466c/example/application/simple_wicket_restful_jdo/dom/src/test/java/dom/simple/SimpleObjectsTest_listAll.java
----------------------------------------------------------------------
diff --git a/example/application/simple_wicket_restful_jdo/dom/src/test/java/dom/simple/SimpleObjectsTest_listAll.java b/example/application/simple_wicket_restful_jdo/dom/src/test/java/dom/simple/SimpleObjectsTest_listAll.java
index a32515b..d970432 100644
--- a/example/application/simple_wicket_restful_jdo/dom/src/test/java/dom/simple/SimpleObjectsTest_listAll.java
+++ b/example/application/simple_wicket_restful_jdo/dom/src/test/java/dom/simple/SimpleObjectsTest_listAll.java
@@ -16,17 +16,14 @@
*/
package dom.simple;
-import static org.hamcrest.CoreMatchers.*;
+import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertThat;
import java.util.List;
import com.google.common.collect.Lists;
-import dom.simple.SimpleObject;
-
import org.jmock.Expectations;
-import org.jmock.Sequence;
import org.jmock.auto.Mock;
import org.junit.Before;
import org.junit.Rule;
@@ -49,15 +46,14 @@ public class SimpleObjectsTest_listAll {
@Before
public void setUp() throws Exception {
simpleObjects = new SimpleObjects();
- simpleObjects.setContainer(mockContainer);
+ simpleObjects.container = mockContainer;
}
@Test
public void happyCase() throws Exception {
-
// given
- final List all = Lists.newArrayList();
+ final List<SimpleObject> all = Lists.newArrayList();
context.checking(new Expectations() {
{
@@ -67,7 +63,7 @@ public class SimpleObjectsTest_listAll {
});
// when
- final List list = simpleObjects.listAll();
+ final List<SimpleObject> list = simpleObjects.listAll();
// then
assertThat(list, is(all));
http://git-wip-us.apache.org/repos/asf/isis/blob/ff4f466c/example/application/simple_wicket_restful_jdo/fixture/src/main/java/fixture/LogonAsSvenFixture.java
----------------------------------------------------------------------
diff --git a/example/application/simple_wicket_restful_jdo/fixture/src/main/java/fixture/LogonAsSvenFixture.java b/example/application/simple_wicket_restful_jdo/fixture/src/main/java/fixture/LogonAsSvenFixture.java
deleted file mode 100644
index 5bdc6fe..0000000
--- a/example/application/simple_wicket_restful_jdo/fixture/src/main/java/fixture/LogonAsSvenFixture.java
+++ /dev/null
@@ -1,30 +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 fixture;
-
-import org.apache.isis.applib.fixtures.LogonFixture;
-
-public class LogonAsSvenFixture extends LogonFixture {
-
- public LogonAsSvenFixture() {
- super("sven");
- }
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/ff4f466c/example/application/simple_wicket_restful_jdo/fixture/src/main/java/fixture/simple/SimpleObjectsFixture.java
----------------------------------------------------------------------
diff --git a/example/application/simple_wicket_restful_jdo/fixture/src/main/java/fixture/simple/SimpleObjectsFixture.java b/example/application/simple_wicket_restful_jdo/fixture/src/main/java/fixture/simple/SimpleObjectsFixture.java
index 07317ea..148fc42 100644
--- a/example/application/simple_wicket_restful_jdo/fixture/src/main/java/fixture/simple/SimpleObjectsFixture.java
+++ b/example/application/simple_wicket_restful_jdo/fixture/src/main/java/fixture/simple/SimpleObjectsFixture.java
@@ -54,18 +54,13 @@ public class SimpleObjectsFixture extends AbstractFixture {
// //////////////////////////////////////
+ // Injected services
+ // //////////////////////////////////////
-
+ @javax.inject.Inject
private SimpleObjects simpleObjects;
- public void injectSimpleObjects(final SimpleObjects simpleObjects) {
- this.simpleObjects = simpleObjects;
- }
-
-
+ @javax.inject.Inject
private IsisJdoSupport isisJdoSupport;
- public void injectIsisJdoSupport(IsisJdoSupport isisJdoSupport) {
- this.isisJdoSupport = isisJdoSupport;
- }
}