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 2016/05/20 00:45:03 UTC
[26/30] isis git commit: ISIS-1409: removing the *Aware interfaces
for the internal components of RuntimeContext (PersistenceSession,
Localization, MessageBroker, TranState), also removing AdapterManagerAware.
http://git-wip-us.apache.org/repos/asf/isis/blob/ce7d41d8/core/metamodel/src/main/java/org/apache/isis/core/metamodel/runtimecontext/RuntimeContext.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/runtimecontext/RuntimeContext.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/runtimecontext/RuntimeContext.java
index f7de429..f6ab040 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/runtimecontext/RuntimeContext.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/runtimecontext/RuntimeContext.java
@@ -22,21 +22,14 @@ package org.apache.isis.core.metamodel.runtimecontext;
import org.apache.isis.applib.annotation.Programmatic;
import org.apache.isis.core.commons.components.ApplicationScopedComponent;
import org.apache.isis.core.metamodel.services.ServicesInjector;
-import org.apache.isis.core.metamodel.services.l10n.LocalizationProviderInternal;
-import org.apache.isis.core.metamodel.services.msgbroker.MessageBrokerServiceInternal;
import org.apache.isis.core.metamodel.services.persistsession.PersistenceSessionServiceInternal;
-import org.apache.isis.core.metamodel.services.transtate.TransactionStateProviderInternal;
public class RuntimeContext implements ApplicationScopedComponent {
-
//region > constructor, fields
private final ServicesInjector servicesInjector;
private final PersistenceSessionServiceInternal persistenceSessionServiceInternal;
- private final MessageBrokerServiceInternal messageBrokerServiceInternal;
- private final LocalizationProviderInternal localizationProvider;
- private final TransactionStateProviderInternal transactionStateProvider;
public RuntimeContext(
final ServicesInjector servicesInjector) {
@@ -44,61 +37,20 @@ public class RuntimeContext implements ApplicationScopedComponent {
this.persistenceSessionServiceInternal =
servicesInjector.lookupService(PersistenceSessionServiceInternal.class);
- this.messageBrokerServiceInternal =
- servicesInjector.lookupService(MessageBrokerServiceInternal.class);
- this.localizationProvider =
- servicesInjector.lookupService(LocalizationProviderInternal.class);
- this.transactionStateProvider =
- servicesInjector.lookupService(TransactionStateProviderInternal.class);
}
//endregion
@Programmatic
- public LocalizationProviderInternal getLocalizationProvider() {
- return localizationProvider;
- }
-
- @Programmatic
public PersistenceSessionServiceInternal getPersistenceSessionService() {
return persistenceSessionServiceInternal;
}
@Programmatic
- public MessageBrokerServiceInternal getMessageBrokerService() {
- return messageBrokerServiceInternal;
- }
-
-
- @Programmatic
- public TransactionStateProviderInternal getTransactionStateProvider() {
- return transactionStateProvider;
- }
-
-
- @Programmatic
public ServicesInjector getServicesInjector() {
return servicesInjector;
}
- @Programmatic
- public void injectInto(final Object candidate) {
- if (RuntimeContextAware.class.isAssignableFrom(candidate.getClass())) {
- final RuntimeContextAware cast = RuntimeContextAware.class.cast(candidate);
- cast.setRuntimeContext(this);
- }
- injectSubcomponentsInto(candidate);
- }
-
- protected void injectSubcomponentsInto(final Object candidate) {
- getTransactionStateProvider().injectInto(candidate);
- getServicesInjector().injectInto(candidate);
- getLocalizationProvider().injectInto(candidate);
- getPersistenceSessionService().injectInto(candidate);
- getMessageBrokerService().injectInto(candidate);
- }
-
-
}
http://git-wip-us.apache.org/repos/asf/isis/blob/ce7d41d8/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/container/DomainObjectContainerDefault.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/container/DomainObjectContainerDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/container/DomainObjectContainerDefault.java
index c00ab71..bfa2120 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/container/DomainObjectContainerDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/container/DomainObjectContainerDefault.java
@@ -54,8 +54,6 @@ import org.apache.isis.applib.services.xactn.TransactionService;
import org.apache.isis.core.commons.ensure.Assert;
import org.apache.isis.core.commons.exceptions.IsisException;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager;
-import org.apache.isis.core.metamodel.adapter.mgr.AdapterManagerAware;
import org.apache.isis.core.metamodel.adapter.version.ConcurrencyException;
import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.core.metamodel.consent.InteractionResult;
@@ -68,7 +66,7 @@ import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
@DomainService(nature = NatureOfService.DOMAIN)
public class DomainObjectContainerDefault
- implements DomainObjectContainer, AdapterManagerAware, ExceptionRecognizer {
+ implements DomainObjectContainer, ExceptionRecognizer {
//region > titleOf
@@ -110,7 +108,7 @@ public class DomainObjectContainerDefault
if (!spec.containsFacet(ViewModelFacet.class)) {
throw new IsisException("Type must be a ViewModel: " + ofClass);
}
- final ObjectAdapter adapter = getPersistenceSessionService().createViewModelInstance(spec, memento);
+ final ObjectAdapter adapter = persistenceSessionServiceInternal.createViewModelInstance(spec, memento);
if(adapter.getOid().isViewModel()) {
return (T)adapter.getObject();
} else {
@@ -173,12 +171,12 @@ public class DomainObjectContainerDefault
if (persistentObject == null) {
throw new IllegalArgumentException("Must specify a reference for disposing an object");
}
- final ObjectAdapter adapter = getAdapterManager().adapterFor(unwrapped(persistentObject));
+ final ObjectAdapter adapter = persistenceSessionServiceInternal.adapterFor(unwrapped(persistentObject));
if (!isPersistent(persistentObject)) {
throw new RepositoryException("Object not persistent: " + adapter);
}
- getPersistenceSessionService().remove(adapter);
+ persistenceSessionServiceInternal.remove(adapter);
}
@Programmatic
@@ -240,7 +238,7 @@ public class DomainObjectContainerDefault
@Deprecated
@Override
public void resolve(final Object parent) {
- getPersistenceSessionService().resolve(unwrapped(parent));
+ persistenceSessionServiceInternal.resolve(unwrapped(parent));
}
/**
@@ -258,7 +256,7 @@ public class DomainObjectContainerDefault
@Deprecated
@Override
public void resolve(final Object parent, final Object field) {
- getPersistenceSessionService().resolve(unwrapped(parent), field);
+ persistenceSessionServiceInternal.resolve(unwrapped(parent), field);
}
/**
@@ -292,7 +290,7 @@ public class DomainObjectContainerDefault
@Programmatic
@Override
public void commit() {
- getPersistenceSessionService().commit();
+ persistenceSessionServiceInternal.commit();
}
//endregion
@@ -308,7 +306,7 @@ public class DomainObjectContainerDefault
@Programmatic
@Override
public String validate(final Object domainObject) {
- final ObjectAdapter adapter = getAdapterManager().adapterFor(unwrapped(domainObject));
+ final ObjectAdapter adapter = persistenceSessionServiceInternal.adapterFor(unwrapped(domainObject));
final InteractionResult validityResult =
adapter.getSpecification().isValidResult(adapter, InteractionInitiatedBy.FRAMEWORK);
return validityResult.getReason();
@@ -322,7 +320,7 @@ public class DomainObjectContainerDefault
@Programmatic
@Override
public boolean isViewModel(final Object domainObject) {
- final ObjectAdapter adapter = getAdapterManager().adapterFor(unwrapped(domainObject));
+ final ObjectAdapter adapter = persistenceSessionServiceInternal.adapterFor(unwrapped(domainObject));
return adapter.getSpecification().isViewModel();
}
//endregion
@@ -333,7 +331,7 @@ public class DomainObjectContainerDefault
@Programmatic
@Override
public boolean isPersistent(final Object domainObject) {
- final ObjectAdapter adapter = getAdapterManager().adapterFor(unwrapped(domainObject));
+ final ObjectAdapter adapter = persistenceSessionServiceInternal.adapterFor(unwrapped(domainObject));
return adapter.representsPersistent();
}
@@ -343,7 +341,7 @@ public class DomainObjectContainerDefault
@Programmatic
@Override
public void persist(final Object domainObject) {
- final ObjectAdapter adapter = getAdapterManager().adapterFor(unwrapped(domainObject));
+ final ObjectAdapter adapter = persistenceSessionServiceInternal.adapterFor(unwrapped(domainObject));
if(adapter == null) {
throw new PersistFailedException("Object not known to framework; instantiate using newTransientInstance(...) rather than simply new'ing up.");
@@ -355,7 +353,7 @@ public class DomainObjectContainerDefault
if (isPersistent(domainObject)) {
throw new PersistFailedException("Object already persistent; OID=" + adapter.getOid());
}
- getPersistenceSessionService().makePersistent(adapter);
+ persistenceSessionServiceInternal.makePersistent(adapter);
}
/**
@@ -531,7 +529,7 @@ public class DomainObjectContainerDefault
// NB: this impl does NOT delegate to RepositoryService, because this implementation incorrectly always performs a flush
// irrespective of the autoflush setting. (The RepositoryService corrects that error).
flush(); // auto-flush any pending changes
- final ObjectAdapter firstMatching = getPersistenceSessionService().firstMatchingQuery(query);
+ final ObjectAdapter firstMatching = persistenceSessionServiceInternal.firstMatchingQuery(query);
return (T) ObjectAdapter.Util.unwrap(firstMatching);
}
@@ -646,29 +644,6 @@ public class DomainObjectContainerDefault
}
//endregion
- //region > framework dependencies
-
- private AdapterManager adapterManager;
-
-
- protected AdapterManager getAdapterManager() {
- return adapterManager;
- }
-
- @Programmatic
- @Override
- public void setAdapterManager(final AdapterManager adapterManager) {
- this.adapterManager = adapterManager;
- }
-
- protected PersistenceSessionServiceInternal getPersistenceSessionService() {
- return persistenceSessionServiceInternal;
- }
-
-
-
-
- //endregion
//region > service dependencies
http://git-wip-us.apache.org/repos/asf/isis/blob/ce7d41d8/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/l10n/LocalizationProviderAware.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/l10n/LocalizationProviderAware.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/l10n/LocalizationProviderAware.java
deleted file mode 100644
index 1282f1f..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/l10n/LocalizationProviderAware.java
+++ /dev/null
@@ -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.
- */
-
-package org.apache.isis.core.metamodel.services.l10n;
-
-public interface LocalizationProviderAware {
-
- void setLocalizationProvider(LocalizationProviderInternal localizationProviderInternal);
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/ce7d41d8/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/l10n/LocalizationProviderInternal.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/l10n/LocalizationProviderInternal.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/l10n/LocalizationProviderInternal.java
index d841bd5..f35632e 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/l10n/LocalizationProviderInternal.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/l10n/LocalizationProviderInternal.java
@@ -25,9 +25,6 @@ import org.apache.isis.applib.profiles.Localization;
public interface LocalizationProviderInternal {
@Programmatic
- void injectInto(final Object candidate);
-
- @Programmatic
Localization getLocalization();
}
http://git-wip-us.apache.org/repos/asf/isis/blob/ce7d41d8/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/l10n/LocalizationProviderInternalAbstract.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/l10n/LocalizationProviderInternalAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/l10n/LocalizationProviderInternalAbstract.java
deleted file mode 100644
index 470e13f..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/l10n/LocalizationProviderInternalAbstract.java
+++ /dev/null
@@ -1,29 +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.l10n;
-
-public abstract class LocalizationProviderInternalAbstract implements LocalizationProviderInternal {
-
- @Override
- public void injectInto(final Object candidate) {
- if (LocalizationProviderAware.class.isAssignableFrom(candidate.getClass())) {
- final LocalizationProviderAware cast = LocalizationProviderAware.class.cast(candidate);
- cast.setLocalizationProvider(this);
- }
- }
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/ce7d41d8/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/l10n/LocalizationProviderInternalNoop.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/l10n/LocalizationProviderInternalNoop.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/l10n/LocalizationProviderInternalNoop.java
index bc5b0a4..39e5c69 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/l10n/LocalizationProviderInternalNoop.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/l10n/LocalizationProviderInternalNoop.java
@@ -5,7 +5,7 @@ import org.apache.isis.applib.annotation.NatureOfService;
import org.apache.isis.applib.profiles.Localization;
@DomainService(nature = NatureOfService.DOMAIN)
-public class LocalizationProviderInternalNoop extends LocalizationProviderInternalAbstract {
+public class LocalizationProviderInternalNoop implements LocalizationProviderInternal {
private final Localization defaultLocalization = new LocalizationDefault();
http://git-wip-us.apache.org/repos/asf/isis/blob/ce7d41d8/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/message/MessageServiceDefault.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/message/MessageServiceDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/message/MessageServiceDefault.java
deleted file mode 100644
index 7b14c3d..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/message/MessageServiceDefault.java
+++ /dev/null
@@ -1,87 +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.message;
-
-import org.apache.isis.applib.annotation.DomainService;
-import org.apache.isis.applib.annotation.NatureOfService;
-import org.apache.isis.applib.annotation.Programmatic;
-import org.apache.isis.applib.services.i18n.TranslatableString;
-import org.apache.isis.applib.services.i18n.TranslationService;
-import org.apache.isis.applib.services.message.MessageService;
-import org.apache.isis.core.metamodel.services.msgbroker.MessageBrokerServiceInternal;
-import org.apache.isis.core.metamodel.services.msgbroker.MessageBrokerServiceAware;
-
-@DomainService(
- nature = NatureOfService.DOMAIN
-)
-public class MessageServiceDefault implements MessageService, MessageBrokerServiceAware{
-
- @Programmatic
- @Override
- public void informUser(final String message) {
- messageBrokerServiceInternal.informUser(message);
- }
-
- @Override
- public String informUser(final TranslatableString message, final Class<?> contextClass, final String contextMethod) {
- return message.translate(translationService, context(contextClass, contextMethod));
- }
-
- @Programmatic
- @Override
- public void warnUser(final String message) {
- messageBrokerServiceInternal.warnUser(message);
- }
-
- @Override
- public String warnUser(final TranslatableString message, final Class<?> contextClass, final String contextMethod) {
- return message.translate(translationService, context(contextClass, contextMethod));
- }
-
- @Programmatic
- @Override
- public void raiseError(final String message) {
- messageBrokerServiceInternal.raiseError(message);
- }
-
- @Override
- public String raiseError(final TranslatableString message, final Class<?> contextClass, final String contextMethod) {
- final String translatedMessage = message.translate(translationService, context(contextClass, contextMethod));
- messageBrokerServiceInternal.raiseError(translatedMessage);
- return translatedMessage;
- }
-
- private static String context(final Class<?> contextClass, final String contextMethod) {
- return contextClass.getName()+"#"+contextMethod;
- }
-
-
-
- private MessageBrokerServiceInternal messageBrokerServiceInternal;
-
- @Override
- public void setMessageBrokerService(final MessageBrokerServiceInternal messageBrokerServiceInternal) {
- this.messageBrokerServiceInternal = messageBrokerServiceInternal;
- }
-
- @javax.inject.Inject
- TranslationService translationService;
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/ce7d41d8/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/message/MessageServiceInternalDefault.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/message/MessageServiceInternalDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/message/MessageServiceInternalDefault.java
new file mode 100644
index 0000000..9ffbecf
--- /dev/null
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/message/MessageServiceInternalDefault.java
@@ -0,0 +1,82 @@
+/*
+ * 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.message;
+
+import org.apache.isis.applib.annotation.DomainService;
+import org.apache.isis.applib.annotation.NatureOfService;
+import org.apache.isis.applib.annotation.Programmatic;
+import org.apache.isis.applib.services.i18n.TranslatableString;
+import org.apache.isis.applib.services.i18n.TranslationService;
+import org.apache.isis.applib.services.message.MessageService;
+import org.apache.isis.core.metamodel.services.msgbroker.MessageBrokerServiceInternal;
+
+@DomainService(
+ nature = NatureOfService.DOMAIN
+)
+public class MessageServiceInternalDefault implements MessageService {
+
+ @Programmatic
+ @Override
+ public void informUser(final String message) {
+ messageBrokerServiceInternal.informUser(message);
+ }
+
+ @Override
+ public String informUser(final TranslatableString message, final Class<?> contextClass, final String contextMethod) {
+ return message.translate(translationService, context(contextClass, contextMethod));
+ }
+
+ @Programmatic
+ @Override
+ public void warnUser(final String message) {
+ messageBrokerServiceInternal.warnUser(message);
+ }
+
+ @Override
+ public String warnUser(final TranslatableString message, final Class<?> contextClass, final String contextMethod) {
+ return message.translate(translationService, context(contextClass, contextMethod));
+ }
+
+ @Programmatic
+ @Override
+ public void raiseError(final String message) {
+ messageBrokerServiceInternal.raiseError(message);
+ }
+
+ @Override
+ public String raiseError(final TranslatableString message, final Class<?> contextClass, final String contextMethod) {
+ final String translatedMessage = message.translate(translationService, context(contextClass, contextMethod));
+ messageBrokerServiceInternal.raiseError(translatedMessage);
+ return translatedMessage;
+ }
+
+ private static String context(final Class<?> contextClass, final String contextMethod) {
+ return contextClass.getName()+"#"+contextMethod;
+ }
+
+
+
+ @javax.inject.Inject
+ MessageBrokerServiceInternal messageBrokerServiceInternal;
+
+ @javax.inject.Inject
+ TranslationService translationService;
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/ce7d41d8/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/msgbroker/MessageBrokerServiceAware.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/msgbroker/MessageBrokerServiceAware.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/msgbroker/MessageBrokerServiceAware.java
deleted file mode 100644
index 2443150..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/msgbroker/MessageBrokerServiceAware.java
+++ /dev/null
@@ -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.
- */
-
-package org.apache.isis.core.metamodel.services.msgbroker;
-
-public interface MessageBrokerServiceAware {
-
- public void setMessageBrokerService(final MessageBrokerServiceInternal messageBrokerServiceInternal);
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/ce7d41d8/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/msgbroker/MessageBrokerServiceInternal.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/msgbroker/MessageBrokerServiceInternal.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/msgbroker/MessageBrokerServiceInternal.java
index c7d2751..ab04107 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/msgbroker/MessageBrokerServiceInternal.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/msgbroker/MessageBrokerServiceInternal.java
@@ -20,9 +20,6 @@ import org.apache.isis.applib.annotation.Programmatic;
public interface MessageBrokerServiceInternal {
- @Programmatic
- void injectInto(final Object candidate);
-
/**
* Provided by <tt>MessageBroker</tt> when used by framework.
*
http://git-wip-us.apache.org/repos/asf/isis/blob/ce7d41d8/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/msgbroker/MessageBrokerServiceInternalAbstract.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/msgbroker/MessageBrokerServiceInternalAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/msgbroker/MessageBrokerServiceInternalAbstract.java
deleted file mode 100644
index 1f81bfa..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/msgbroker/MessageBrokerServiceInternalAbstract.java
+++ /dev/null
@@ -1,29 +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.msgbroker;
-
-public abstract class MessageBrokerServiceInternalAbstract implements MessageBrokerServiceInternal {
-
- @Override
- public void injectInto(final Object candidate) {
- if (MessageBrokerServiceAware.class.isAssignableFrom(candidate.getClass())) {
- final MessageBrokerServiceAware cast = MessageBrokerServiceAware.class.cast(candidate);
- cast.setMessageBrokerService(this);
- }
- }
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/ce7d41d8/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/msgbroker/MessageBrokerServiceInternalNoop.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/msgbroker/MessageBrokerServiceInternalNoop.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/msgbroker/MessageBrokerServiceInternalNoop.java
index 093e0f3..8b1b902 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/msgbroker/MessageBrokerServiceInternalNoop.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/msgbroker/MessageBrokerServiceInternalNoop.java
@@ -4,7 +4,7 @@ import org.apache.isis.applib.annotation.DomainService;
import org.apache.isis.applib.annotation.NatureOfService;
@DomainService(nature = NatureOfService.DOMAIN)
-public class MessageBrokerServiceInternalNoop extends MessageBrokerServiceInternalAbstract {
+public class MessageBrokerServiceInternalNoop implements MessageBrokerServiceInternal {
@Override
public void informUser(final String message) {
http://git-wip-us.apache.org/repos/asf/isis/blob/ce7d41d8/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/persistsession/PersistenceSessionServiceInternal.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/persistsession/PersistenceSessionServiceInternal.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/persistsession/PersistenceSessionServiceInternal.java
index a00d2ee..763e7b1 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/persistsession/PersistenceSessionServiceInternal.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/persistsession/PersistenceSessionServiceInternal.java
@@ -28,9 +28,6 @@ import org.apache.isis.core.metamodel.spec.ObjectSpecification;
public interface PersistenceSessionServiceInternal extends AdapterManager {
- @Programmatic
- void injectInto(final Object candidate);
-
//region > instantiate
/**
http://git-wip-us.apache.org/repos/asf/isis/blob/ce7d41d8/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/persistsession/PersistenceSessionServiceInternalAbstract.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/persistsession/PersistenceSessionServiceInternalAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/persistsession/PersistenceSessionServiceInternalAbstract.java
deleted file mode 100644
index f10cc90..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/persistsession/PersistenceSessionServiceInternalAbstract.java
+++ /dev/null
@@ -1,31 +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.persistsession;
-
-import org.apache.isis.core.metamodel.adapter.mgr.AdapterManagerAware;
-
-public abstract class PersistenceSessionServiceInternalAbstract implements PersistenceSessionServiceInternal {
-
- @Override
- public void injectInto(final Object candidate) {
- if (AdapterManagerAware.class.isAssignableFrom(candidate.getClass())) {
- final AdapterManagerAware cast = AdapterManagerAware.class.cast(candidate);
- cast.setAdapterManager(this);
- }
- }
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/ce7d41d8/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/persistsession/PersistenceSessionServiceInternalNoop.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/persistsession/PersistenceSessionServiceInternalNoop.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/persistsession/PersistenceSessionServiceInternalNoop.java
index 63792ba..d5ac62e 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/persistsession/PersistenceSessionServiceInternalNoop.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/persistsession/PersistenceSessionServiceInternalNoop.java
@@ -8,21 +8,13 @@ import org.apache.isis.applib.query.Query;
import org.apache.isis.applib.services.bookmark.Bookmark;
import org.apache.isis.applib.services.bookmark.BookmarkService2;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.adapter.mgr.AdapterManagerAware;
import org.apache.isis.core.metamodel.adapter.oid.Oid;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.core.metamodel.spec.feature.OneToManyAssociation;
@DomainService(nature = NatureOfService.DOMAIN)
-public class PersistenceSessionServiceInternalNoop extends PersistenceSessionServiceInternalAbstract {
+public class PersistenceSessionServiceInternalNoop implements PersistenceSessionServiceInternal {
- @Override
- public void injectInto(final Object candidate) {
- if (AdapterManagerAware.class.isAssignableFrom(candidate.getClass())) {
- final AdapterManagerAware cast = AdapterManagerAware.class.cast(candidate);
- cast.setAdapterManager(this);
- }
- }
@Override
public ObjectAdapter getAdapterFor(final Object pojo) {
http://git-wip-us.apache.org/repos/asf/isis/blob/ce7d41d8/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/repository/RepositoryServiceInternalDefault.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/repository/RepositoryServiceInternalDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/repository/RepositoryServiceInternalDefault.java
index d8d6521..6313b50 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/repository/RepositoryServiceInternalDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/repository/RepositoryServiceInternalDefault.java
@@ -39,16 +39,12 @@ import org.apache.isis.applib.services.repository.RepositoryService;
import org.apache.isis.applib.services.wrapper.WrapperFactory;
import org.apache.isis.applib.services.xactn.TransactionService;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager;
-import org.apache.isis.core.metamodel.adapter.mgr.AdapterManagerAware;
import org.apache.isis.core.metamodel.services.persistsession.PersistenceSessionServiceInternal;
@DomainService(
nature = NatureOfService.DOMAIN
)
-public class RepositoryServiceInternalDefault
- implements RepositoryService,
- AdapterManagerAware {
+public class RepositoryServiceInternalDefault implements RepositoryService {
@@ -75,7 +71,7 @@ public class RepositoryServiceInternalDefault
@Programmatic
@Override
public boolean isPersistent(final Object domainObject) {
- final ObjectAdapter adapter = adapterManager.adapterFor(unwrapped(domainObject));
+ final ObjectAdapter adapter = persistenceSessionServiceInternal.adapterFor(unwrapped(domainObject));
return adapter.representsPersistent();
}
@@ -85,7 +81,7 @@ public class RepositoryServiceInternalDefault
if (isPersistent(object)) {
return;
}
- final ObjectAdapter adapter = adapterManager.adapterFor(unwrapped(object));
+ final ObjectAdapter adapter = persistenceSessionServiceInternal.adapterFor(unwrapped(object));
if(adapter == null) {
throw new PersistFailedException("Object not known to framework; instantiate using newTransientInstance(...) rather than simply new'ing up.");
@@ -120,7 +116,7 @@ public class RepositoryServiceInternalDefault
if (object == null) {
throw new IllegalArgumentException("Must specify a reference for disposing an object");
}
- final ObjectAdapter adapter = adapterManager.adapterFor(unwrapped(object));
+ final ObjectAdapter adapter = persistenceSessionServiceInternal.adapterFor(unwrapped(object));
if (!isPersistent(object)) {
throw new RepositoryException("Object not persistent: " + adapter);
}
@@ -253,12 +249,6 @@ public class RepositoryServiceInternalDefault
@javax.inject.Inject
TransactionService transactionService;
- private AdapterManager adapterManager;
- @Override
- public void setAdapterManager(final AdapterManager adapterManager) {
- this.adapterManager = adapterManager;
- }
-
@javax.inject.Inject
PersistenceSessionServiceInternal persistenceSessionServiceInternal;
http://git-wip-us.apache.org/repos/asf/isis/blob/ce7d41d8/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/title/TitleServiceDefault.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/title/TitleServiceDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/title/TitleServiceDefault.java
index bb61ca1..95b58af 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/title/TitleServiceDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/title/TitleServiceDefault.java
@@ -19,22 +19,21 @@
package org.apache.isis.core.metamodel.services.title;
+import javax.inject.Inject;
+
import org.apache.isis.applib.annotation.DomainService;
import org.apache.isis.applib.annotation.NatureOfService;
import org.apache.isis.applib.annotation.Programmatic;
import org.apache.isis.applib.services.title.TitleService;
import org.apache.isis.applib.services.wrapper.WrapperFactory;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager;
-import org.apache.isis.core.metamodel.adapter.mgr.AdapterManagerAware;
import org.apache.isis.core.metamodel.services.l10n.LocalizationProviderInternal;
-import org.apache.isis.core.metamodel.services.l10n.LocalizationProviderAware;
+import org.apache.isis.core.metamodel.services.persistsession.PersistenceSessionServiceInternal;
@DomainService(
nature = NatureOfService.DOMAIN
)
-public class TitleServiceDefault
- implements TitleService, AdapterManagerAware, LocalizationProviderAware {
+public class TitleServiceDefault implements TitleService {
@Programmatic
@Override
@@ -66,24 +65,11 @@ public class TitleServiceDefault
// //////////////////////////////////////
- private AdapterManager adapterManager;
-
- protected AdapterManager getAdapterManager() {
- return adapterManager;
- }
-
- @Programmatic
- @Override
- public void setAdapterManager(final AdapterManager adapterManager) {
- this.adapterManager = adapterManager;
- }
-
- private LocalizationProviderInternal localizationProviderInternal;
- @Override
- public void setLocalizationProvider(final LocalizationProviderInternal localizationProviderInternal) {
- this.localizationProviderInternal = localizationProviderInternal;
- }
+ @Inject
+ PersistenceSessionServiceInternal adapterManager;
+ @javax.inject.Inject
+ LocalizationProviderInternal localizationProviderInternal;
@javax.inject.Inject
WrapperFactory wrapperFactory;
http://git-wip-us.apache.org/repos/asf/isis/blob/ce7d41d8/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/transtate/TransactionStateProviderInternal.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/transtate/TransactionStateProviderInternal.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/transtate/TransactionStateProviderInternal.java
index a3f88d6..9c6a4a9 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/transtate/TransactionStateProviderInternal.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/transtate/TransactionStateProviderInternal.java
@@ -24,9 +24,6 @@ import org.apache.isis.core.metamodel.transactions.TransactionState;
public interface TransactionStateProviderInternal {
- @Programmatic
- void injectInto(final Object candidate);
-
@Programmatic TransactionState getTransactionState();
}
http://git-wip-us.apache.org/repos/asf/isis/blob/ce7d41d8/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/transtate/TransactionStateProviderInternalAbstract.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/transtate/TransactionStateProviderInternalAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/transtate/TransactionStateProviderInternalAbstract.java
deleted file mode 100644
index bd95173..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/transtate/TransactionStateProviderInternalAbstract.java
+++ /dev/null
@@ -1,31 +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.transtate;
-
-import org.apache.isis.core.metamodel.transactions.TransactionStateProviderAware;
-
-public abstract class TransactionStateProviderInternalAbstract implements TransactionStateProviderInternal {
-
- @Override
- public void injectInto(final Object candidate) {
- if (TransactionStateProviderAware.class.isAssignableFrom(candidate.getClass())) {
- final TransactionStateProviderAware cast = TransactionStateProviderAware.class.cast(candidate);
- cast.setTransactionStateProvider(this);
- }
- }
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/ce7d41d8/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/transtate/TransactionStateProviderInternalNoop.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/transtate/TransactionStateProviderInternalNoop.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/transtate/TransactionStateProviderInternalNoop.java
index dd09e5e..cc10b0b 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/transtate/TransactionStateProviderInternalNoop.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/transtate/TransactionStateProviderInternalNoop.java
@@ -5,7 +5,8 @@ import org.apache.isis.applib.annotation.NatureOfService;
import org.apache.isis.core.metamodel.transactions.TransactionState;
@DomainService(nature = NatureOfService.DOMAIN)
-public class TransactionStateProviderInternalNoop extends TransactionStateProviderInternalAbstract {
+public class TransactionStateProviderInternalNoop implements TransactionStateProviderInternal {
+
@Override
public TransactionState getTransactionState() {
throw new UnsupportedOperationException("Not supported by this implementation of RuntimeContext");
http://git-wip-us.apache.org/repos/asf/isis/blob/ce7d41d8/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/SpecificationLoader.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/SpecificationLoader.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/SpecificationLoader.java
index 683f041..b3b38d0 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/SpecificationLoader.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/SpecificationLoader.java
@@ -132,7 +132,7 @@ public class SpecificationLoader implements ApplicationScopedComponent {
this.metaModelValidator = metaModelValidator;
- this.facetProcessor = new FacetProcessor(configuration, programmingModel);
+ this.facetProcessor = new FacetProcessor(programmingModel);
this.layoutMetadataReaders = layoutMetadataReaders;
}
@@ -169,9 +169,9 @@ public class SpecificationLoader implements ApplicationScopedComponent {
}
// wire subcomponents into each other
- this.runtimeContext.injectInto(facetProcessor);
+ facetProcessor.setServicesInjector(servicesInjector);
for (final LayoutMetadataReader layoutMetadataReader : layoutMetadataReaders) {
- this.runtimeContext.injectInto(layoutMetadataReader);
+ servicesInjector.injectInto(layoutMetadataReader);
}
// initialize subcomponents
@@ -424,7 +424,8 @@ public class SpecificationLoader implements ApplicationScopedComponent {
private ObjectSpecification createSpecification(final Class<?> cls) {
final ServicesInjector servicesInjector = getRuntimeContext().getServicesInjector();
- final PersistenceSessionServiceInternal persistenceSessionServiceInternal = getRuntimeContext().getPersistenceSessionService();
+ final PersistenceSessionServiceInternal persistenceSessionServiceInternal =
+ servicesInjector.lookupService(PersistenceSessionServiceInternal.class);
final ObjectSpecificationDependencies specContext =
new ObjectSpecificationDependencies(deploymentCategory, servicesInjector, this, facetProcessor);
http://git-wip-us.apache.org/repos/asf/isis/blob/ce7d41d8/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/facetprocessor/FacetProcessor.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/facetprocessor/FacetProcessor.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/facetprocessor/FacetProcessor.java
index 4556ffb..394065e 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/facetprocessor/FacetProcessor.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/facetprocessor/FacetProcessor.java
@@ -20,34 +20,43 @@
package org.apache.isis.core.metamodel.specloader.facetprocessor;
import java.lang.reflect.Method;
-import java.util.*;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+import java.util.Set;
+
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
-import org.apache.isis.core.commons.config.IsisConfiguration;
+
import org.apache.isis.core.commons.lang.ListExtensions;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.facetapi.FeatureType;
import org.apache.isis.core.metamodel.facetapi.MethodRemover;
-import org.apache.isis.core.metamodel.facets.*;
+import org.apache.isis.core.metamodel.facets.ContributeeMemberFacetFactory;
+import org.apache.isis.core.metamodel.facets.FacetFactory;
import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessClassContext;
import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessMethodContext;
import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessParameterContext;
+import org.apache.isis.core.metamodel.facets.FacetedMethod;
+import org.apache.isis.core.metamodel.facets.FacetedMethodParameter;
+import org.apache.isis.core.metamodel.facets.MethodFilteringFacetFactory;
+import org.apache.isis.core.metamodel.facets.MethodPrefixBasedFacetFactory;
+import org.apache.isis.core.metamodel.facets.MethodRemoverConstants;
+import org.apache.isis.core.metamodel.facets.PropertyOrCollectionIdentifyingFacetFactory;
import org.apache.isis.core.metamodel.progmodel.ProgrammingModel;
-import org.apache.isis.core.metamodel.runtimecontext.RuntimeContext;
-import org.apache.isis.core.metamodel.runtimecontext.RuntimeContextAware;
+import org.apache.isis.core.metamodel.services.ServicesInjector;
+import org.apache.isis.core.metamodel.services.ServicesInjectorAware;
import org.apache.isis.core.metamodel.spec.feature.ObjectMember;
import static org.apache.isis.core.commons.ensure.Ensure.ensureThatState;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.CoreMatchers.notNullValue;
-public class FacetProcessor implements RuntimeContextAware {
+public class FacetProcessor implements ServicesInjectorAware {
- private final IsisConfiguration configuration;
private final ProgrammingModel programmingModel;
- private RuntimeContext runtimeContext;
-
/**
* Class<FacetFactory> => FacetFactory
*/
@@ -113,13 +122,9 @@ public class FacetProcessor implements RuntimeContextAware {
*/
private Map<FeatureType, List<FacetFactory>> factoryListByFeatureType = null;
- public FacetProcessor(
- final IsisConfiguration configuration,
- final ProgrammingModel programmingModel) {
- ensureThatState(configuration, is(notNullValue()));
+ public FacetProcessor(final ProgrammingModel programmingModel) {
ensureThatState(programmingModel, is(notNullValue()));
- this.configuration = configuration;
this.programmingModel = programmingModel;
}
@@ -128,7 +133,6 @@ public class FacetProcessor implements RuntimeContextAware {
// //////////////////////////////////////////////////
public void init() {
- ensureThatState(runtimeContext, is(notNullValue()));
final List<FacetFactory> facetFactoryList = programmingModel.getList();
for (final FacetFactory facetFactory : facetFactoryList) {
registerFactory(facetFactory);
@@ -151,13 +155,7 @@ public class FacetProcessor implements RuntimeContextAware {
* processing.
*/
public void injectDependenciesInto(final FacetFactory factory) {
-
- // cascades all the subcomponents also
- getRuntimeContext().injectInto(factory);
- }
-
- public FacetFactory getFactoryByFactoryType(final Class<? extends FacetFactory> factoryType) {
- return factoryByFactoryType.get(factoryType);
+ servicesInjector.injectInto(factory);
}
/**
@@ -467,18 +465,11 @@ public class FacetProcessor implements RuntimeContextAware {
//region > dependencies
- private RuntimeContext getRuntimeContext() {
- return runtimeContext;
- }
+ private ServicesInjector servicesInjector;
- /**
- * Injected so can propogate to any {@link #registerFactory(FacetFactory)
- * registered} {@link FacetFactory} s that are also
- * {@link RuntimeContextAware}.
- */
@Override
- public void setRuntimeContext(final RuntimeContext runtimeContext) {
- this.runtimeContext = runtimeContext;
+ public void setServicesInjector(final ServicesInjector servicesInjector) {
+ this.servicesInjector = servicesInjector;
}
//endregion
http://git-wip-us.apache.org/repos/asf/isis/blob/ce7d41d8/core/metamodel/src/main/java/org/apache/isis/core/metamodel/transactions/TransactionStateProviderAware.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/transactions/TransactionStateProviderAware.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/transactions/TransactionStateProviderAware.java
deleted file mode 100644
index 61580d7..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/transactions/TransactionStateProviderAware.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 org.apache.isis.core.metamodel.transactions;
-
-import org.apache.isis.applib.annotation.Programmatic;
-import org.apache.isis.core.metamodel.services.transtate.TransactionStateProviderInternal;
-
-public interface TransactionStateProviderAware {
-
- @Programmatic
- public void setTransactionStateProvider(TransactionStateProviderInternal transactionStateProviderInternal);
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/ce7d41d8/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/AbstractFacetFactoryJUnit4TestCase.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/AbstractFacetFactoryJUnit4TestCase.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/AbstractFacetFactoryJUnit4TestCase.java
index c9b1e92..cf53416 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/AbstractFacetFactoryJUnit4TestCase.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/AbstractFacetFactoryJUnit4TestCase.java
@@ -32,7 +32,6 @@ import org.apache.isis.applib.Identifier;
import org.apache.isis.applib.services.i18n.TranslationService;
import org.apache.isis.core.commons.authentication.AuthenticationSessionProvider;
import org.apache.isis.core.commons.config.IsisConfigurationDefault;
-import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager;
import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
import org.apache.isis.core.metamodel.deployment.DeploymentCategoryProvider;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
@@ -42,11 +41,12 @@ import org.apache.isis.core.metamodel.facetapi.MethodRemover;
import org.apache.isis.core.metamodel.facets.object.domainobject.autocomplete.AutoCompleteFacetForDomainObjectAnnotation;
import org.apache.isis.core.metamodel.runtimecontext.ConfigurationServiceInternal;
import org.apache.isis.core.metamodel.services.ServicesInjector;
+import org.apache.isis.core.metamodel.services.persistsession.PersistenceSessionServiceInternal;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
import org.apache.isis.core.metamodel.spec.feature.OneToManyAssociation;
import org.apache.isis.core.metamodel.spec.feature.OneToOneActionParameter;
import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
+import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
@@ -58,7 +58,7 @@ public abstract class AbstractFacetFactoryJUnit4TestCase {
@Mock
protected SpecificationLoader mockSpecificationLoader;
@Mock
- protected AdapterManager mockAdapterManager;
+ protected PersistenceSessionServiceInternal mockAdapterManager;
@Mock
protected MethodRemover mockMethodRemover;
@Mock
http://git-wip-us.apache.org/repos/asf/isis/blob/ce7d41d8/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/ident/title/annotation/TitleAnnotationFacetFactoryTest.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/ident/title/annotation/TitleAnnotationFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/ident/title/annotation/TitleAnnotationFacetFactoryTest.java
index 5403aa5..418262e 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/ident/title/annotation/TitleAnnotationFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/ident/title/annotation/TitleAnnotationFacetFactoryTest.java
@@ -46,6 +46,7 @@ import org.apache.isis.core.metamodel.facets.object.title.annotation.TitleFacetV
import org.apache.isis.core.metamodel.facets.object.title.annotation.TitleFacetViaTitleAnnotation.TitleComponent;
import org.apache.isis.core.metamodel.services.l10n.LocalizationDefault;
import org.apache.isis.core.metamodel.services.l10n.LocalizationProviderInternal;
+import org.apache.isis.core.metamodel.services.persistsession.PersistenceSessionServiceInternal;
import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Allowing;
@@ -70,7 +71,7 @@ public class TitleAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4T
context.allowing(mockSpecificationLoader);
facetFactory = new TitleAnnotationFacetFactory();
- facetFactory.setAdapterManager(mockAdapterManager);
+ facetFactory.setServicesInjector(mockServicesInjector);
context.checking(new Expectations() {
{
@@ -91,6 +92,9 @@ public class TitleAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4T
allowing(mockServicesInjector).lookupService(SpecificationLoader.class);
will(returnValue(mockSpecificationLoader));
+
+ allowing(mockServicesInjector).lookupService(PersistenceSessionServiceInternal.class);
+ will(returnValue(mockAdapterManager));
}
});
http://git-wip-us.apache.org/repos/asf/isis/blob/ce7d41d8/core/runtime/src/main/java/org/apache/isis/core/runtime/services/l10n/LocalizationProviderInternalDefault.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/l10n/LocalizationProviderInternalDefault.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/l10n/LocalizationProviderInternalDefault.java
index 077bc3d..0900db2 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/l10n/LocalizationProviderInternalDefault.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/l10n/LocalizationProviderInternalDefault.java
@@ -21,14 +21,14 @@ package org.apache.isis.core.runtime.services.l10n;
import org.apache.isis.applib.annotation.DomainService;
import org.apache.isis.applib.annotation.NatureOfService;
import org.apache.isis.applib.profiles.Localization;
-import org.apache.isis.core.metamodel.services.l10n.LocalizationProviderInternalAbstract;
+import org.apache.isis.core.metamodel.services.l10n.LocalizationProviderInternal;
import org.apache.isis.core.runtime.system.context.IsisContext;
@DomainService(
nature = NatureOfService.DOMAIN,
menuOrder = "" + (Integer.MAX_VALUE - 1) // ie before the Noop impl in metamodel
)
-public class LocalizationProviderInternalDefault extends LocalizationProviderInternalAbstract {
+public class LocalizationProviderInternalDefault implements LocalizationProviderInternal {
@Override
public Localization getLocalization() {
http://git-wip-us.apache.org/repos/asf/isis/blob/ce7d41d8/core/runtime/src/main/java/org/apache/isis/core/runtime/services/msgbroker/MessageBrokerServiceInternalDefault.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/msgbroker/MessageBrokerServiceInternalDefault.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/msgbroker/MessageBrokerServiceInternalDefault.java
index 4e4e4c7..9fab4c0 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/msgbroker/MessageBrokerServiceInternalDefault.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/msgbroker/MessageBrokerServiceInternalDefault.java
@@ -22,14 +22,14 @@ import org.apache.isis.applib.RecoverableException;
import org.apache.isis.applib.annotation.DomainService;
import org.apache.isis.applib.annotation.NatureOfService;
import org.apache.isis.core.commons.authentication.MessageBroker;
-import org.apache.isis.core.metamodel.services.msgbroker.MessageBrokerServiceInternalAbstract;
+import org.apache.isis.core.metamodel.services.msgbroker.MessageBrokerServiceInternal;
import org.apache.isis.core.runtime.system.context.IsisContext;
@DomainService(
nature = NatureOfService.DOMAIN,
menuOrder = "" + (Integer.MAX_VALUE - 1) // ie before the Noop impl in metamodel
)
-public class MessageBrokerServiceInternalDefault extends MessageBrokerServiceInternalAbstract {
+public class MessageBrokerServiceInternalDefault implements MessageBrokerServiceInternal {
@Override
public void informUser(final String message) {
http://git-wip-us.apache.org/repos/asf/isis/blob/ce7d41d8/core/runtime/src/main/java/org/apache/isis/core/runtime/services/persistsession/PersistenceSessionServiceInternalDefault.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/persistsession/PersistenceSessionServiceInternalDefault.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/persistsession/PersistenceSessionServiceInternalDefault.java
index 5605b73..eae20d9 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/persistsession/PersistenceSessionServiceInternalDefault.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/persistsession/PersistenceSessionServiceInternalDefault.java
@@ -27,7 +27,7 @@ import org.apache.isis.applib.services.bookmark.Bookmark;
import org.apache.isis.applib.services.bookmark.BookmarkService2;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
import org.apache.isis.core.metamodel.adapter.oid.Oid;
-import org.apache.isis.core.metamodel.services.persistsession.PersistenceSessionServiceInternalAbstract;
+import org.apache.isis.core.metamodel.services.persistsession.PersistenceSessionServiceInternal;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.core.metamodel.spec.feature.OneToManyAssociation;
import org.apache.isis.core.runtime.persistence.container.DomainObjectContainerResolve;
@@ -39,7 +39,7 @@ import org.apache.isis.core.runtime.system.transaction.IsisTransactionManager;
nature = NatureOfService.DOMAIN,
menuOrder = "" + (Integer.MAX_VALUE - 1) // ie before the Noop impl in metamodel
)
-public class PersistenceSessionServiceInternalDefault extends PersistenceSessionServiceInternalAbstract {
+public class PersistenceSessionServiceInternalDefault implements PersistenceSessionServiceInternal {
@Override
public ObjectAdapter getAdapterFor(Oid oid) {
http://git-wip-us.apache.org/repos/asf/isis/blob/ce7d41d8/core/runtime/src/main/java/org/apache/isis/core/runtime/services/transtate/TransactionStateProviderInternalDefault.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/transtate/TransactionStateProviderInternalDefault.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/transtate/TransactionStateProviderInternalDefault.java
index 5fbc4b9..c30b8f3 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/transtate/TransactionStateProviderInternalDefault.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/transtate/TransactionStateProviderInternalDefault.java
@@ -20,8 +20,8 @@ package org.apache.isis.core.runtime.services.transtate;
import org.apache.isis.applib.annotation.DomainService;
import org.apache.isis.applib.annotation.NatureOfService;
+import org.apache.isis.core.metamodel.services.transtate.TransactionStateProviderInternal;
import org.apache.isis.core.metamodel.transactions.TransactionState;
-import org.apache.isis.core.metamodel.services.transtate.TransactionStateProviderInternalAbstract;
import org.apache.isis.core.runtime.system.context.IsisContext;
import org.apache.isis.core.runtime.system.persistence.PersistenceSessionInternal;
import org.apache.isis.core.runtime.system.transaction.IsisTransaction;
@@ -32,7 +32,7 @@ import org.apache.isis.core.runtime.system.transaction.IsisTransactionManager;
nature = NatureOfService.DOMAIN,
menuOrder = "" + (Integer.MAX_VALUE - 1) // ie before the Noop impl in metamodel
)
-public class TransactionStateProviderInternalDefault extends TransactionStateProviderInternalAbstract {
+public class TransactionStateProviderInternalDefault implements TransactionStateProviderInternal {
@Override
public TransactionState getTransactionState() {
http://git-wip-us.apache.org/repos/asf/isis/blob/ce7d41d8/core/runtime/src/main/java/org/apache/isis/core/runtime/system/IsisSystem.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/IsisSystem.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/IsisSystem.java
index 5b7fdc2..3a2048c 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/IsisSystem.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/IsisSystem.java
@@ -178,10 +178,9 @@ public class IsisSystem implements ApplicationScopedComponent {
final RuntimeContext runtimeContext = new RuntimeContext(servicesInjector);
// wire up components and components into services...
- runtimeContext.injectInto(specificationLoader);
-
for (Object service : servicesInjector.getRegisteredServices()) {
- runtimeContext.injectInto(service);
+ // inject itself into each service (if implements ServiceInjectorAware).
+ servicesInjector.injectInto(service);
}
// instantiate
http://git-wip-us.apache.org/repos/asf/isis/blob/ce7d41d8/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSessionInternal.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSessionInternal.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSessionInternal.java
index df4e535..a1c7088 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSessionInternal.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSessionInternal.java
@@ -59,7 +59,6 @@ import org.apache.isis.core.commons.factory.InstanceUtil;
import org.apache.isis.core.commons.util.ToString;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager;
-import org.apache.isis.core.metamodel.adapter.mgr.AdapterManagerAware;
import org.apache.isis.core.metamodel.adapter.oid.Oid;
import org.apache.isis.core.metamodel.adapter.oid.OidMarshaller;
import org.apache.isis.core.metamodel.adapter.oid.ParentedCollectionOid;
@@ -91,7 +90,6 @@ import org.apache.isis.core.metamodel.facets.object.viewmodel.ViewModelFacet;
import org.apache.isis.core.metamodel.facets.propcoll.accessor.PropertyOrCollectionAccessorFacet;
import org.apache.isis.core.metamodel.services.ServicesInjector;
import org.apache.isis.core.metamodel.services.container.query.QueryCardinality;
-import org.apache.isis.core.metamodel.services.msgbroker.MessageBrokerServiceAware;
import org.apache.isis.core.metamodel.services.msgbroker.MessageBrokerServiceInternal;
import org.apache.isis.core.metamodel.services.persistsession.PersistenceSessionServiceInternal;
import org.apache.isis.core.metamodel.spec.FreeStandingList;
@@ -393,20 +391,6 @@ public class PersistenceSessionInternal implements
//endregion
- //region > Injectable
- @Override
- public void injectInto(final Object candidate) {
- if (AdapterManagerAware.class.isAssignableFrom(candidate.getClass())) {
- final AdapterManagerAware cast = AdapterManagerAware.class.cast(candidate);
- cast.setAdapterManager(this);
- }
- if (MessageBrokerServiceAware.class.isAssignableFrom(candidate.getClass())) {
- final MessageBrokerServiceAware cast = MessageBrokerServiceAware.class.cast(candidate);
- cast.setMessageBrokerService(this);
- }
- }
- //endregion
-
//region > QuerySubmitter impl, findInstancesInTransaction
@Override
http://git-wip-us.apache.org/repos/asf/isis/blob/ce7d41d8/core/wrapper/src/main/java/org/apache/isis/core/wrapper/WrapperFactoryDefault.java
----------------------------------------------------------------------
diff --git a/core/wrapper/src/main/java/org/apache/isis/core/wrapper/WrapperFactoryDefault.java b/core/wrapper/src/main/java/org/apache/isis/core/wrapper/WrapperFactoryDefault.java
index 080d7be..449dfdf 100644
--- a/core/wrapper/src/main/java/org/apache/isis/core/wrapper/WrapperFactoryDefault.java
+++ b/core/wrapper/src/main/java/org/apache/isis/core/wrapper/WrapperFactoryDefault.java
@@ -51,8 +51,6 @@ import org.apache.isis.applib.services.wrapper.WrapperFactory;
import org.apache.isis.applib.services.wrapper.WrappingObject;
import org.apache.isis.applib.services.wrapper.listeners.InteractionListener;
import org.apache.isis.core.commons.authentication.AuthenticationSessionProvider;
-import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager;
-import org.apache.isis.core.metamodel.adapter.mgr.AdapterManagerAware;
import org.apache.isis.core.metamodel.services.persistsession.PersistenceSessionServiceInternal;
import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
import org.apache.isis.core.wrapper.dispatchers.InteractionEventDispatcher;
@@ -72,7 +70,7 @@ import org.apache.isis.core.wrapper.proxy.ProxyCreator;
* configuration is required.
*/
@DomainService(nature = NatureOfService.DOMAIN)
-public class WrapperFactoryDefault implements WrapperFactory, AdapterManagerAware {
+public class WrapperFactoryDefault implements WrapperFactory {
private final List<InteractionListener> listeners = new ArrayList<InteractionListener>();
private final Map<Class<? extends InteractionEvent>, InteractionEventDispatcher> dispatchersByEventClass = new HashMap<Class<? extends InteractionEvent>, InteractionEventDispatcher>();
@@ -251,7 +249,8 @@ public class WrapperFactoryDefault implements WrapperFactory, AdapterManagerAwar
}
protected <T> T createProxy(final T domainObject, final ExecutionMode mode) {
- return proxyContextHandler.proxy(domainObject, this, mode, authenticationSessionProvider, specificationLoader, getAdapterManager(), persistenceSessionServiceInternal);
+ return proxyContextHandler.proxy(domainObject, this, mode, authenticationSessionProvider, specificationLoader,
+ persistenceSessionServiceInternal);
}
@Override
@@ -299,20 +298,6 @@ public class WrapperFactoryDefault implements WrapperFactory, AdapterManagerAwar
}
-
- private AdapterManager adapterManager;
-
- protected AdapterManager getAdapterManager() {
- return adapterManager;
- }
- @Programmatic
- @Override
- public void setAdapterManager(final AdapterManager adapterManager) {
- this.adapterManager = adapterManager;
- }
-
-
-
@Inject
AuthenticationSessionProvider authenticationSessionProvider;
http://git-wip-us.apache.org/repos/asf/isis/blob/ce7d41d8/core/wrapper/src/main/java/org/apache/isis/core/wrapper/handlers/DomainObjectInvocationHandler.java
----------------------------------------------------------------------
diff --git a/core/wrapper/src/main/java/org/apache/isis/core/wrapper/handlers/DomainObjectInvocationHandler.java b/core/wrapper/src/main/java/org/apache/isis/core/wrapper/handlers/DomainObjectInvocationHandler.java
index 3e2db21..16f1819 100644
--- a/core/wrapper/src/main/java/org/apache/isis/core/wrapper/handlers/DomainObjectInvocationHandler.java
+++ b/core/wrapper/src/main/java/org/apache/isis/core/wrapper/handlers/DomainObjectInvocationHandler.java
@@ -53,7 +53,6 @@ import org.apache.isis.applib.services.wrapper.WrappingObject;
import org.apache.isis.core.commons.authentication.AuthenticationSession;
import org.apache.isis.core.commons.authentication.AuthenticationSessionProvider;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager;
import org.apache.isis.core.metamodel.consent.Consent;
import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.core.metamodel.consent.InteractionResult;
@@ -77,7 +76,6 @@ public class DomainObjectInvocationHandler<T> extends DelegatingInvocationHandle
private final AuthenticationSessionProvider authenticationSessionProvider;
private final SpecificationLoader specificationLoader;
- private final AdapterManager adapterManager;
private final PersistenceSessionServiceInternal persistenceSessionServiceInternal;
private final ProxyContextHandler proxy;
@@ -123,7 +121,6 @@ public class DomainObjectInvocationHandler<T> extends DelegatingInvocationHandle
final ExecutionMode mode,
final AuthenticationSessionProvider authenticationSessionProvider,
final SpecificationLoader specificationLoader,
- final AdapterManager adapterManager,
final PersistenceSessionServiceInternal persistenceSessionServiceInternal,
final ProxyContextHandler proxy) {
super(delegate, wrapperFactory, mode);
@@ -131,10 +128,10 @@ public class DomainObjectInvocationHandler<T> extends DelegatingInvocationHandle
this.proxy = proxy;
this.authenticationSessionProvider = authenticationSessionProvider;
this.specificationLoader = specificationLoader;
- this.adapterManager = adapterManager;
this.persistenceSessionServiceInternal = persistenceSessionServiceInternal;
this.executionMode = mode;
+
try {
titleMethod = delegate.getClass().getMethod("title", new Class[]{});
} catch (final NoSuchMethodException e) {
@@ -651,7 +648,7 @@ public class DomainObjectInvocationHandler<T> extends DelegatingInvocationHandle
}
private ObjectAdapter adapterFor(final Object obj) {
- return obj != null ? getAdapterManager().adapterFor(obj) : null;
+ return obj != null ? getPersistenceSessionService().adapterFor(obj) : null;
}
private Object underlying(final Object arg) {
@@ -793,10 +790,6 @@ public class DomainObjectInvocationHandler<T> extends DelegatingInvocationHandle
return getAuthenticationSessionProvider().getAuthenticationSession();
}
- protected AdapterManager getAdapterManager() {
- return adapterManager;
- }
-
protected PersistenceSessionServiceInternal getPersistenceSessionService() {
return persistenceSessionServiceInternal;
}
http://git-wip-us.apache.org/repos/asf/isis/blob/ce7d41d8/core/wrapper/src/main/java/org/apache/isis/core/wrapper/handlers/ProxyContextHandler.java
----------------------------------------------------------------------
diff --git a/core/wrapper/src/main/java/org/apache/isis/core/wrapper/handlers/ProxyContextHandler.java b/core/wrapper/src/main/java/org/apache/isis/core/wrapper/handlers/ProxyContextHandler.java
index d85fa45..42caa43 100644
--- a/core/wrapper/src/main/java/org/apache/isis/core/wrapper/handlers/ProxyContextHandler.java
+++ b/core/wrapper/src/main/java/org/apache/isis/core/wrapper/handlers/ProxyContextHandler.java
@@ -27,9 +27,8 @@ import org.apache.isis.applib.services.wrapper.WrapperFactory.ExecutionMode;
import org.apache.isis.core.commons.authentication.AuthenticationSessionProvider;
import org.apache.isis.core.commons.ensure.Ensure;
import org.apache.isis.core.metamodel.services.persistsession.PersistenceSessionServiceInternal;
-import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager;
-import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
import org.apache.isis.core.metamodel.spec.feature.OneToManyAssociation;
+import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
import org.apache.isis.core.wrapper.proxy.ProxyCreator;
import static org.hamcrest.CoreMatchers.is;
@@ -50,16 +49,14 @@ public class ProxyContextHandler {
final ExecutionMode mode,
final AuthenticationSessionProvider authenticationSessionProvider,
final SpecificationLoader specificationLookup,
- final AdapterManager adapterManager,
final PersistenceSessionServiceInternal persistenceSessionServiceInternal) {
Ensure.ensureThatArg(wrapperFactory, is(not(nullValue())));
Ensure.ensureThatArg(authenticationSessionProvider, is(not(nullValue())));
Ensure.ensureThatArg(specificationLookup, is(not(nullValue())));
- Ensure.ensureThatArg(adapterManager, is(not(nullValue())));
Ensure.ensureThatArg(persistenceSessionServiceInternal, is(not(nullValue())));
- final DomainObjectInvocationHandler<T> invocationHandler = new DomainObjectInvocationHandler<T>(domainObject, wrapperFactory, mode, authenticationSessionProvider, specificationLookup, adapterManager,
+ final DomainObjectInvocationHandler<T> invocationHandler = new DomainObjectInvocationHandler<T>(domainObject, wrapperFactory, mode, authenticationSessionProvider, specificationLookup,
persistenceSessionServiceInternal, this);
return proxyCreator.instantiateProxy(invocationHandler);
http://git-wip-us.apache.org/repos/asf/isis/blob/ce7d41d8/core/wrapper/src/test/java/org/apache/isis/core/wrapper/WrapperFactoryDefaultTest_wrappedObject.java
----------------------------------------------------------------------
diff --git a/core/wrapper/src/test/java/org/apache/isis/core/wrapper/WrapperFactoryDefaultTest_wrappedObject.java b/core/wrapper/src/test/java/org/apache/isis/core/wrapper/WrapperFactoryDefaultTest_wrappedObject.java
index 2b43ea3..2c66f00 100644
--- a/core/wrapper/src/test/java/org/apache/isis/core/wrapper/WrapperFactoryDefaultTest_wrappedObject.java
+++ b/core/wrapper/src/test/java/org/apache/isis/core/wrapper/WrapperFactoryDefaultTest_wrappedObject.java
@@ -205,8 +205,7 @@ public class WrapperFactoryDefaultTest_wrappedObject {
wrapperFactory = createWrapperFactory();
- wrapperFactory.setAdapterManager(mockAdapterManager);
- wrapperFactory.setPersistenceSessionService(mockPersistenceSessionServiceInternal);
+ wrapperFactory.persistenceSessionServiceInternal = mockPersistenceSessionServiceInternal;
wrapperFactory.specificationLoader = mockSpecificationLoader;
wrapperFactory.authenticationSessionProvider = mockAuthenticationSessionProvider;
http://git-wip-us.apache.org/repos/asf/isis/blob/ce7d41d8/core/wrapper/src/test/java/org/apache/isis/core/wrapper/WrapperFactoryDefaultTest_wrappedObject_transient.java
----------------------------------------------------------------------
diff --git a/core/wrapper/src/test/java/org/apache/isis/core/wrapper/WrapperFactoryDefaultTest_wrappedObject_transient.java b/core/wrapper/src/test/java/org/apache/isis/core/wrapper/WrapperFactoryDefaultTest_wrappedObject_transient.java
index 05398f1..ffacc15 100644
--- a/core/wrapper/src/test/java/org/apache/isis/core/wrapper/WrapperFactoryDefaultTest_wrappedObject_transient.java
+++ b/core/wrapper/src/test/java/org/apache/isis/core/wrapper/WrapperFactoryDefaultTest_wrappedObject_transient.java
@@ -125,9 +125,8 @@ public class WrapperFactoryDefaultTest_wrappedObject_transient {
setPasswordMethod = Employee.class.getMethod("setPassword", String.class);
wrapperFactory = createWrapperFactory();
- wrapperFactory.setAdapterManager(mockAdapterManager);
wrapperFactory.authenticationSessionProvider = mockAuthenticationSessionProvider;
- wrapperFactory.setPersistenceSessionService(mockPersistenceSessionServiceInternal);
+ wrapperFactory.persistenceSessionServiceInternal = mockPersistenceSessionServiceInternal;
wrapperFactory.specificationLoader = mockSpecificationLoader;
context.checking(new Expectations() {