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:00 UTC
[23/30] isis git commit: ISIS-1409: internal components of
RuntimeContext subclasses are now internal domain services;
RuntimeContext hierarchy collapsed into a single class.
http://git-wip-us.apache.org/repos/asf/isis/blob/a2a9f519/core/metamodel/src/main/java/org/apache/isis/core/metamodel/runtimecontext/noruntime/RuntimeContextNoRuntime.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/runtimecontext/noruntime/RuntimeContextNoRuntime.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/runtimecontext/noruntime/RuntimeContextNoRuntime.java
deleted file mode 100644
index 36aba77..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/runtimecontext/noruntime/RuntimeContextNoRuntime.java
+++ /dev/null
@@ -1,241 +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.runtimecontext.noruntime;
-
-import java.util.List;
-
-import org.apache.isis.applib.profiles.Localization;
-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.commons.config.IsisConfigurationDefault;
-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.runtimecontext.LocalizationDefault;
-import org.apache.isis.core.metamodel.runtimecontext.LocalizationProvider;
-import org.apache.isis.core.metamodel.runtimecontext.LocalizationProviderAbstract;
-import org.apache.isis.core.metamodel.runtimecontext.MessageBrokerService;
-import org.apache.isis.core.metamodel.runtimecontext.MessageBrokerServiceAbstract;
-import org.apache.isis.core.metamodel.runtimecontext.PersistenceSessionService;
-import org.apache.isis.core.metamodel.runtimecontext.PersistenceSessionServiceAbstract;
-import org.apache.isis.core.metamodel.runtimecontext.RuntimeContextAbstract;
-import org.apache.isis.core.metamodel.services.ServicesInjector;
-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.transactions.TransactionState;
-import org.apache.isis.core.metamodel.transactions.TransactionStateProvider;
-import org.apache.isis.core.metamodel.transactions.TransactionStateProviderAbstract;
-
-public class RuntimeContextNoRuntime extends RuntimeContextAbstract {
-
- private final PersistenceSessionServiceAbstract persistenceSessionService;
- private final LocalizationProviderAbstract localizationProvider;
- private final MessageBrokerServiceAbstract messageBrokerService;
-
- public RuntimeContextNoRuntime(
- final ServicesInjector servicesInjector,
- final SpecificationLoader specificationLoader) {
- this(new IsisConfigurationDefault(null), servicesInjector, specificationLoader);
- }
-
- public RuntimeContextNoRuntime(
- final IsisConfigurationDefault isisConfiguration,
- final ServicesInjector servicesInjector,
- final SpecificationLoader specificationLoader) {
- super(servicesInjector, specificationLoader);
- persistenceSessionService = new PersistenceSessionServiceAbstract() {
-
- @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) {
- throw new UnsupportedOperationException("Not supported by this implementation of RuntimeContext");
- }
-
- @Override
- public ObjectAdapter adapterFor(final Object pojo, final ObjectAdapter ownerAdapter, final OneToManyAssociation collection) {
- throw new UnsupportedOperationException("Not supported by this implementation of RuntimeContext");
- }
-
- @Override
- public ObjectAdapter mapRecreatedPojo(Oid oid, Object recreatedPojo) {
- throw new UnsupportedOperationException("Not supported by this implementation of RuntimeContext");
- }
-
- @Override
- public void removeAdapter(ObjectAdapter adapter) {
- throw new UnsupportedOperationException("Not supported by this implementation of RuntimeContext");
- }
-
- @Override
- public ObjectAdapter adapterFor(final Object domainObject) {
- throw new UnsupportedOperationException("Not supported by this implementation of RuntimeContext");
- }
-
- @Override
- public ObjectAdapter getAdapterFor(Oid oid) {
- throw new UnsupportedOperationException("Not supported by this implementation of RuntimeContext");
- }
-
- @Override
- public ObjectAdapter createTransientInstance(final ObjectSpecification spec) {
- throw new UnsupportedOperationException("Not supported by this implementation of RuntimeContext");
- }
-
- @Override
- public ObjectAdapter createViewModelInstance(ObjectSpecification spec, String memento) {
- throw new UnsupportedOperationException("Not supported by this implementation of RuntimeContext");
- }
-
- @Override
- public Object lookup(
- final Bookmark bookmark,
- final BookmarkService2.FieldResetPolicy fieldResetPolicy) {
- throw new UnsupportedOperationException("Not supported by this implementation of RuntimeContext");
- }
-
- @Override
- public Bookmark bookmarkFor(Object domainObject) {
- throw new UnsupportedOperationException("Not supported by this implementation of RuntimeContext");
- }
-
- @Override
- public Bookmark bookmarkFor(Class<?> cls, String identifier) {
- throw new UnsupportedOperationException("Not supported by this implementation of RuntimeContext");
- }
-
-
- @Override
- public void resolve(final Object parent, final Object field) {
- throw new UnsupportedOperationException("Not supported by this implementation of RuntimeContext");
- }
-
- @Override
- public void resolve(final Object parent) {
- throw new UnsupportedOperationException("Not supported by this implementation of RuntimeContext");
- }
-
- @Override
- public void beginTran() {
- throw new UnsupportedOperationException("Not supported by this implementation of RuntimeContext");
- }
-
- @Override
- public boolean flush() {
- throw new UnsupportedOperationException("Not supported by this implementation of RuntimeContext");
- }
-
- @Override
- public void commit() {
- throw new UnsupportedOperationException("Not supported by this implementation of RuntimeContext");
- }
-
- @Override
- public void remove(final ObjectAdapter adapter) {
- throw new UnsupportedOperationException("Not supported by this implementation of RuntimeContext");
- }
-
- @Override
- public void makePersistent(final ObjectAdapter adapter) {
- throw new UnsupportedOperationException("Not supported by this implementation of RuntimeContext");
- }
-
- @Override
- public <T> ObjectAdapter firstMatchingQuery(final Query<T> query) {
- throw new UnsupportedOperationException("Not supported by this implementation of RuntimeContext");
- }
-
- @Override
- public <T> List<ObjectAdapter> allMatchingQuery(final Query<T> query) {
- throw new UnsupportedOperationException("Not supported by this implementation of RuntimeContext");
- }
-
- };
- localizationProvider = new LocalizationProviderAbstract() {
-
- private final Localization defaultLocalization = new LocalizationDefault();
-
- @Override
- public Localization getLocalization() {
- return defaultLocalization;
- }
- };
- messageBrokerService = new MessageBrokerServiceAbstract() {
-
- @Override
- public void informUser(final String message) {
- throw new UnsupportedOperationException("Not supported by this implementation of RuntimeContext");
- }
-
- @Override
- public void warnUser(final String message) {
- throw new UnsupportedOperationException("Not supported by this implementation of RuntimeContext");
- }
-
- @Override
- public void raiseError(final String message) {
- throw new UnsupportedOperationException("Not supported by this implementation of RuntimeContext");
- }
-
-
- };
- }
-
- // ///////////////////////////////////////////
- // Components
- // ///////////////////////////////////////////
-
-
- @Override
- public TransactionStateProvider getTransactionStateProvider() {
- return new TransactionStateProviderAbstract() {
- @Override
- public TransactionState getTransactionState() {
- throw new UnsupportedOperationException("Not supported by this implementation of RuntimeContext");
- }
- };
- }
-
-
- @Override
- public PersistenceSessionService getPersistenceSessionService() {
- return persistenceSessionService;
- }
-
- @Override
- public MessageBrokerService getMessageBrokerService() {
- return messageBrokerService;
- }
-
- @Override
- public LocalizationProvider getLocalizationProvider() {
- return localizationProvider;
- }
-
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/a2a9f519/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/bookmarks/BookmarkServiceDefault.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/bookmarks/BookmarkServiceDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/bookmarks/BookmarkServiceDefault.java
index 7ae5213..5584c57 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/bookmarks/BookmarkServiceDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/bookmarks/BookmarkServiceDefault.java
@@ -25,8 +25,8 @@ import org.apache.isis.applib.services.bookmark.Bookmark;
import org.apache.isis.applib.services.bookmark.BookmarkHolder;
import org.apache.isis.applib.services.bookmark.BookmarkService2;
import org.apache.isis.applib.services.wrapper.WrapperFactory;
-import org.apache.isis.core.metamodel.runtimecontext.PersistenceSessionService;
-import org.apache.isis.core.metamodel.runtimecontext.PersistenceSessionServiceAware;
+import org.apache.isis.core.metamodel.services.persistsession.PersistenceSessionServiceInternal;
+import org.apache.isis.core.metamodel.services.persistsession.PersistenceSessionServiceAware;
import org.apache.isis.core.runtime.persistence.ObjectNotFoundException;
/**
@@ -43,7 +43,7 @@ import org.apache.isis.core.runtime.persistence.ObjectNotFoundException;
public class BookmarkServiceDefault implements BookmarkService2,
PersistenceSessionServiceAware {
- private PersistenceSessionService persistenceSessionService;
+ private PersistenceSessionServiceInternal persistenceSessionServiceInternal;
// //////////////////////////////////////
@@ -73,7 +73,7 @@ public class BookmarkServiceDefault implements BookmarkService2,
return null;
}
try {
- return persistenceSessionService.lookup(bookmark, fieldResetPolicy);
+ return persistenceSessionServiceInternal.lookup(bookmark, fieldResetPolicy);
} catch(ObjectNotFoundException ex) {
return null;
}
@@ -112,7 +112,7 @@ public class BookmarkServiceDefault implements BookmarkService2,
if(domainObject == null) {
return null;
}
- return persistenceSessionService.bookmarkFor(unwrapped(domainObject));
+ return persistenceSessionServiceInternal.bookmarkFor(unwrapped(domainObject));
}
private Object unwrapped(Object domainObject) {
@@ -124,7 +124,7 @@ public class BookmarkServiceDefault implements BookmarkService2,
@Programmatic
@Override
public Bookmark bookmarkFor(Class<?> cls, String identifier) {
- return persistenceSessionService.bookmarkFor(cls, identifier);
+ return persistenceSessionServiceInternal.bookmarkFor(cls, identifier);
}
// //////////////////////////////////////
@@ -133,8 +133,8 @@ public class BookmarkServiceDefault implements BookmarkService2,
@Override
- public void setPersistenceSessionService(final PersistenceSessionService persistenceSessionService) {
- this.persistenceSessionService = persistenceSessionService;
+ public void setPersistenceSessionService(final PersistenceSessionServiceInternal persistenceSessionServiceInternal) {
+ this.persistenceSessionServiceInternal = persistenceSessionServiceInternal;
}
http://git-wip-us.apache.org/repos/asf/isis/blob/a2a9f519/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 adb18a1..424bd78 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
@@ -60,8 +60,8 @@ 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;
import org.apache.isis.core.metamodel.facets.object.viewmodel.ViewModelFacet;
-import org.apache.isis.core.metamodel.runtimecontext.PersistenceSessionService;
-import org.apache.isis.core.metamodel.runtimecontext.PersistenceSessionServiceAware;
+import org.apache.isis.core.metamodel.services.persistsession.PersistenceSessionServiceInternal;
+import org.apache.isis.core.metamodel.services.persistsession.PersistenceSessionServiceAware;
import org.apache.isis.core.metamodel.services.container.query.QueryFindByPattern;
import org.apache.isis.core.metamodel.services.container.query.QueryFindByTitle;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
@@ -649,7 +649,7 @@ public class DomainObjectContainerDefault
//region > framework dependencies
- private PersistenceSessionService persistenceSessionService;
+ private PersistenceSessionServiceInternal persistenceSessionServiceInternal;
private AdapterManager adapterManager;
@@ -664,14 +664,14 @@ public class DomainObjectContainerDefault
this.adapterManager = adapterManager;
}
- protected PersistenceSessionService getPersistenceSessionService() {
- return persistenceSessionService;
+ protected PersistenceSessionServiceInternal getPersistenceSessionService() {
+ return persistenceSessionServiceInternal;
}
@Programmatic
@Override
- public void setPersistenceSessionService(final PersistenceSessionService persistenceSessionService) {
- this.persistenceSessionService = persistenceSessionService;
+ public void setPersistenceSessionService(final PersistenceSessionServiceInternal persistenceSessionServiceInternal) {
+ this.persistenceSessionServiceInternal = persistenceSessionServiceInternal;
}
http://git-wip-us.apache.org/repos/asf/isis/blob/a2a9f519/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/factory/FactoryServiceDefault.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/factory/FactoryServiceDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/factory/FactoryServiceDefault.java
index a72d43e..ae64445 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/factory/FactoryServiceDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/factory/FactoryServiceDefault.java
@@ -32,8 +32,8 @@ import org.apache.isis.applib.services.factory.FactoryService;
import org.apache.isis.applib.services.registry.ServiceRegistry;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
import org.apache.isis.core.metamodel.facets.object.mixin.MixinFacet;
-import org.apache.isis.core.metamodel.runtimecontext.PersistenceSessionService;
-import org.apache.isis.core.metamodel.runtimecontext.PersistenceSessionServiceAware;
+import org.apache.isis.core.metamodel.services.persistsession.PersistenceSessionServiceInternal;
+import org.apache.isis.core.metamodel.services.persistsession.PersistenceSessionServiceAware;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
@@ -56,7 +56,7 @@ public class FactoryServiceDefault implements FactoryService, PersistenceSession
* Factored out as a potential hook method for subclasses.
*/
protected ObjectAdapter doCreateTransientInstance(final ObjectSpecification spec) {
- return persistenceSessionService.createTransientInstance(spec);
+ return persistenceSessionServiceInternal.createTransientInstance(spec);
}
@@ -96,11 +96,11 @@ public class FactoryServiceDefault implements FactoryService, PersistenceSession
@Inject
ServiceRegistry serviceRegistry;
- private PersistenceSessionService persistenceSessionService;
+ private PersistenceSessionServiceInternal persistenceSessionServiceInternal;
@Override
- public void setPersistenceSessionService(final PersistenceSessionService persistenceSessionService) {
+ public void setPersistenceSessionService(final PersistenceSessionServiceInternal persistenceSessionServiceInternal) {
- this.persistenceSessionService = persistenceSessionService;
+ this.persistenceSessionServiceInternal = persistenceSessionServiceInternal;
}
http://git-wip-us.apache.org/repos/asf/isis/blob/a2a9f519/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/l10n/LocalizationDefault.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/l10n/LocalizationDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/l10n/LocalizationDefault.java
new file mode 100644
index 0000000..018103b
--- /dev/null
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/l10n/LocalizationDefault.java
@@ -0,0 +1,38 @@
+/*
+ * 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;
+
+import java.util.Locale;
+import java.util.TimeZone;
+
+import org.apache.isis.applib.profiles.Localization;
+
+public final class LocalizationDefault implements Localization {
+
+ @Override
+ public Locale getLocale() {
+ return Locale.getDefault();
+ }
+
+ @Override
+ public TimeZone getTimeZone() {
+ return TimeZone.getDefault();
+ }
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/a2a9f519/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
new file mode 100644
index 0000000..1282f1f
--- /dev/null
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/l10n/LocalizationProviderAware.java
@@ -0,0 +1,26 @@
+/*
+ * 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/a2a9f519/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
new file mode 100644
index 0000000..d841bd5
--- /dev/null
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/l10n/LocalizationProviderInternal.java
@@ -0,0 +1,33 @@
+/*
+ * 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;
+
+import org.apache.isis.applib.annotation.Programmatic;
+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/a2a9f519/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
new file mode 100644
index 0000000..470e13f
--- /dev/null
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/l10n/LocalizationProviderInternalAbstract.java
@@ -0,0 +1,29 @@
+/**
+ * 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/a2a9f519/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
new file mode 100644
index 0000000..bc5b0a4
--- /dev/null
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/l10n/LocalizationProviderInternalNoop.java
@@ -0,0 +1,16 @@
+package org.apache.isis.core.metamodel.services.l10n;
+
+import org.apache.isis.applib.annotation.DomainService;
+import org.apache.isis.applib.annotation.NatureOfService;
+import org.apache.isis.applib.profiles.Localization;
+
+@DomainService(nature = NatureOfService.DOMAIN)
+public class LocalizationProviderInternalNoop extends LocalizationProviderInternalAbstract {
+
+ private final Localization defaultLocalization = new LocalizationDefault();
+
+ @Override
+ public Localization getLocalization() {
+ return defaultLocalization;
+ }
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/a2a9f519/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
index a96c88a..7b14c3d 100644
--- 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
@@ -25,8 +25,8 @@ 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.runtimecontext.MessageBrokerService;
-import org.apache.isis.core.metamodel.runtimecontext.MessageBrokerServiceAware;
+import org.apache.isis.core.metamodel.services.msgbroker.MessageBrokerServiceInternal;
+import org.apache.isis.core.metamodel.services.msgbroker.MessageBrokerServiceAware;
@DomainService(
nature = NatureOfService.DOMAIN
@@ -36,7 +36,7 @@ public class MessageServiceDefault implements MessageService, MessageBrokerServi
@Programmatic
@Override
public void informUser(final String message) {
- messageBrokerService.informUser(message);
+ messageBrokerServiceInternal.informUser(message);
}
@Override
@@ -47,7 +47,7 @@ public class MessageServiceDefault implements MessageService, MessageBrokerServi
@Programmatic
@Override
public void warnUser(final String message) {
- messageBrokerService.warnUser(message);
+ messageBrokerServiceInternal.warnUser(message);
}
@Override
@@ -58,13 +58,13 @@ public class MessageServiceDefault implements MessageService, MessageBrokerServi
@Programmatic
@Override
public void raiseError(final String message) {
- messageBrokerService.raiseError(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));
- messageBrokerService.raiseError(translatedMessage);
+ messageBrokerServiceInternal.raiseError(translatedMessage);
return translatedMessage;
}
@@ -74,11 +74,11 @@ public class MessageServiceDefault implements MessageService, MessageBrokerServi
- private MessageBrokerService messageBrokerService;
+ private MessageBrokerServiceInternal messageBrokerServiceInternal;
@Override
- public void setMessageBrokerService(final MessageBrokerService messageBrokerService) {
- this.messageBrokerService = messageBrokerService;
+ public void setMessageBrokerService(final MessageBrokerServiceInternal messageBrokerServiceInternal) {
+ this.messageBrokerServiceInternal = messageBrokerServiceInternal;
}
@javax.inject.Inject
http://git-wip-us.apache.org/repos/asf/isis/blob/a2a9f519/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
new file mode 100644
index 0000000..2443150
--- /dev/null
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/msgbroker/MessageBrokerServiceAware.java
@@ -0,0 +1,26 @@
+/*
+ * 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/a2a9f519/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
new file mode 100644
index 0000000..c7d2751
--- /dev/null
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/msgbroker/MessageBrokerServiceInternal.java
@@ -0,0 +1,54 @@
+/**
+ * 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;
+
+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.
+ *
+ * <p>
+ * Called by <tt>DomainObjectContainerDefault</tt>.
+ */
+ @Programmatic
+ void informUser(String message);
+
+ /**
+ * Provided by <tt>MessageBroker</tt> when used by framework.
+ *
+ * <p>
+ * Called by <tt>DomainObjectContainerDefault</tt>.
+ */
+ @Programmatic
+ void warnUser(String message);
+
+ /**
+ * Provided by <tt>MessageBroker</tt> when used by framework.
+ *
+ * <p>
+ * Called by <tt>DomainObjectContainerDefault</tt>.
+ */
+ @Programmatic
+ void raiseError(String message);
+
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/a2a9f519/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
new file mode 100644
index 0000000..1f81bfa
--- /dev/null
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/msgbroker/MessageBrokerServiceInternalAbstract.java
@@ -0,0 +1,29 @@
+/**
+ * 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/a2a9f519/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
new file mode 100644
index 0000000..093e0f3
--- /dev/null
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/msgbroker/MessageBrokerServiceInternalNoop.java
@@ -0,0 +1,24 @@
+package org.apache.isis.core.metamodel.services.msgbroker;
+
+import org.apache.isis.applib.annotation.DomainService;
+import org.apache.isis.applib.annotation.NatureOfService;
+
+@DomainService(nature = NatureOfService.DOMAIN)
+public class MessageBrokerServiceInternalNoop extends MessageBrokerServiceInternalAbstract {
+
+ @Override
+ public void informUser(final String message) {
+ throw new UnsupportedOperationException("Not supported by this implementation of RuntimeContext");
+ }
+
+ @Override
+ public void warnUser(final String message) {
+ throw new UnsupportedOperationException("Not supported by this implementation of RuntimeContext");
+ }
+
+ @Override
+ public void raiseError(final String message) {
+ throw new UnsupportedOperationException("Not supported by this implementation of RuntimeContext");
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/a2a9f519/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/persistsession/PersistenceSessionServiceAware.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/persistsession/PersistenceSessionServiceAware.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/persistsession/PersistenceSessionServiceAware.java
new file mode 100644
index 0000000..29d939a
--- /dev/null
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/persistsession/PersistenceSessionServiceAware.java
@@ -0,0 +1,29 @@
+/*
+ * 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.applib.annotation.Programmatic;
+
+public interface PersistenceSessionServiceAware {
+
+ @Programmatic
+ public void setPersistenceSessionService(final PersistenceSessionServiceInternal persistenceSessionServiceInternal);
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/a2a9f519/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
new file mode 100644
index 0000000..a00d2ee
--- /dev/null
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/persistsession/PersistenceSessionServiceInternal.java
@@ -0,0 +1,160 @@
+/**
+ * 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 java.util.List;
+
+import org.apache.isis.applib.annotation.Programmatic;
+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.AdapterManager;
+import org.apache.isis.core.metamodel.spec.ObjectSpecification;
+
+public interface PersistenceSessionServiceInternal extends AdapterManager {
+
+ @Programmatic
+ void injectInto(final Object candidate);
+
+ //region > instantiate
+
+ /**
+ * Provided by the <tt>PersistenceSession</tt> when used by framework.
+ *
+ * <p>
+ * Called by <tt>DomainObjectContainerDefault</tt>.
+ */
+ @Programmatic
+ ObjectAdapter createTransientInstance(ObjectSpecification spec);
+
+ @Programmatic
+ ObjectAdapter createViewModelInstance(ObjectSpecification spec, String memento);
+
+ //endregion
+
+ //region > retrieve
+
+ /**
+ * Provided by <tt>PersistenceSession</tt> when used by framework.
+ *
+ * <p>
+ * Called by <tt>DomainObjectContainerDefault</tt>.
+ */
+ @Programmatic
+ void resolve(Object parent);
+
+ /**
+ * Provided by <tt>PersistenceSession</tt> when used by framework.
+ *
+ * <p>
+ * Called by <tt>DomainObjectContainerDefault</tt>.
+ */
+ @Programmatic
+ void resolve(Object parent, Object field);
+
+ /**
+ * Provided by <tt>PersistenceSession</tt> when used by framework.
+ *
+ * <p>
+ * Called by <tt>BookmarkServicesDefault</tt>.
+ * @return
+ */
+ @Programmatic
+ Object lookup(Bookmark bookmark, final BookmarkService2.FieldResetPolicy fieldResetPolicy);
+
+ @Programmatic
+ Bookmark bookmarkFor(Object domainObject);
+
+ @Programmatic
+ Bookmark bookmarkFor(Class<?> cls, String identifier);
+
+ //endregion
+
+ //region > beginTran, flush, commit
+
+ @Programmatic
+ void beginTran();
+
+ /**
+ * Provided by <tt>TransactionManager</tt> when used by framework.
+ *
+ * <p>
+ * Called by <tt>DomainObjectContainerDefault</tt>.
+ */
+ @Programmatic
+ boolean flush();
+
+ /**
+ * Provided by <tt>TransactionManager</tt> when used by framework.
+ *
+ * <p>
+ * Called by <tt>DomainObjectContainerDefault</tt>.
+ */
+ @Programmatic
+ void commit();
+
+
+ //endregion
+
+ //region > makePersistent, remove
+
+ /**
+ * Provided by the <tt>PersistenceSession</tt> when used by framework.
+ *
+ * <p>
+ * Called by <tt>DomainObjectContainerDefault</tt> and also by
+ * <tt>DomainObjectInvocationHandler#handleSaveMethod()</tt>.
+ */
+ @Programmatic
+ void makePersistent(ObjectAdapter adapter);
+
+ /**
+ * Provided by <tt>UpdateNotifier</tt> and <tt>PersistenceSession</tt> when
+ * used by framework.
+ *
+ * <p>
+ * Called by <tt>DomainObjectContainerDefault</tt>.
+ */
+ @Programmatic
+ void remove(ObjectAdapter adapter);
+
+ //endregion
+
+ //region > allMatchingQuery, firstMatchingQuery
+ /**
+ * Provided by <tt>PersistenceSession</tt> when used by framework.
+ *
+ * <p>
+ * Called by <tt>DomainObjectContainerDefault</tt> and also by the choices
+ * facets.
+ */
+ @Programmatic
+ <T> List<ObjectAdapter> allMatchingQuery(Query<T> query);
+
+ /**
+ * Provided by <tt>PersistenceSession</tt> when used by framework.
+ *
+ * <p>
+ * Called by <tt>DomainObjectContainerDefault</tt>.
+ */
+ @Programmatic
+ <T> ObjectAdapter firstMatchingQuery(Query<T> query);
+
+ //endregion
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/a2a9f519/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
new file mode 100644
index 0000000..60714af
--- /dev/null
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/persistsession/PersistenceSessionServiceInternalAbstract.java
@@ -0,0 +1,35 @@
+/**
+ * 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);
+ }
+ if (PersistenceSessionServiceAware.class.isAssignableFrom(candidate.getClass())) {
+ final PersistenceSessionServiceAware cast = PersistenceSessionServiceAware.class.cast(candidate);
+ cast.setPersistenceSessionService(this);
+ }
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/a2a9f519/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
new file mode 100644
index 0000000..63792ba
--- /dev/null
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/persistsession/PersistenceSessionServiceInternalNoop.java
@@ -0,0 +1,132 @@
+package org.apache.isis.core.metamodel.services.persistsession;
+
+import java.util.List;
+
+import org.apache.isis.applib.annotation.DomainService;
+import org.apache.isis.applib.annotation.NatureOfService;
+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 {
+
+ @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) {
+ throw new UnsupportedOperationException("Not supported by this implementation of RuntimeContext");
+ }
+
+ @Override
+ public ObjectAdapter adapterFor(
+ final Object pojo,
+ final ObjectAdapter ownerAdapter,
+ final OneToManyAssociation collection) {
+ throw new UnsupportedOperationException("Not supported by this implementation of RuntimeContext");
+ }
+
+ @Override
+ public ObjectAdapter mapRecreatedPojo(Oid oid, Object recreatedPojo) {
+ throw new UnsupportedOperationException("Not supported by this implementation of RuntimeContext");
+ }
+
+ @Override
+ public void removeAdapter(ObjectAdapter adapter) {
+ throw new UnsupportedOperationException("Not supported by this implementation of RuntimeContext");
+ }
+
+ @Override
+ public ObjectAdapter adapterFor(final Object domainObject) {
+ throw new UnsupportedOperationException("Not supported by this implementation of RuntimeContext");
+ }
+
+ @Override
+ public ObjectAdapter getAdapterFor(Oid oid) {
+ throw new UnsupportedOperationException("Not supported by this implementation of RuntimeContext");
+ }
+
+ @Override
+ public ObjectAdapter createTransientInstance(final ObjectSpecification spec) {
+ throw new UnsupportedOperationException("Not supported by this implementation of RuntimeContext");
+ }
+
+ @Override
+ public ObjectAdapter createViewModelInstance(ObjectSpecification spec, String memento) {
+ throw new UnsupportedOperationException("Not supported by this implementation of RuntimeContext");
+ }
+
+ @Override
+ public Object lookup(
+ final Bookmark bookmark,
+ final BookmarkService2.FieldResetPolicy fieldResetPolicy) {
+ throw new UnsupportedOperationException("Not supported by this implementation of RuntimeContext");
+ }
+
+ @Override
+ public Bookmark bookmarkFor(Object domainObject) {
+ throw new UnsupportedOperationException("Not supported by this implementation of RuntimeContext");
+ }
+
+ @Override
+ public Bookmark bookmarkFor(Class<?> cls, String identifier) {
+ throw new UnsupportedOperationException("Not supported by this implementation of RuntimeContext");
+ }
+
+ @Override
+ public void resolve(final Object parent, final Object field) {
+ throw new UnsupportedOperationException("Not supported by this implementation of RuntimeContext");
+ }
+
+ @Override
+ public void resolve(final Object parent) {
+ throw new UnsupportedOperationException("Not supported by this implementation of RuntimeContext");
+ }
+
+ @Override
+ public void beginTran() {
+ throw new UnsupportedOperationException("Not supported by this implementation of RuntimeContext");
+ }
+
+ @Override
+ public boolean flush() {
+ throw new UnsupportedOperationException("Not supported by this implementation of RuntimeContext");
+ }
+
+ @Override
+ public void commit() {
+ throw new UnsupportedOperationException("Not supported by this implementation of RuntimeContext");
+ }
+
+ @Override
+ public void remove(final ObjectAdapter adapter) {
+ throw new UnsupportedOperationException("Not supported by this implementation of RuntimeContext");
+ }
+
+ @Override
+ public void makePersistent(final ObjectAdapter adapter) {
+ throw new UnsupportedOperationException("Not supported by this implementation of RuntimeContext");
+ }
+
+ @Override
+ public <T> ObjectAdapter firstMatchingQuery(final Query<T> query) {
+ throw new UnsupportedOperationException("Not supported by this implementation of RuntimeContext");
+ }
+
+ @Override
+ public <T> List<ObjectAdapter> allMatchingQuery(final Query<T> query) {
+ throw new UnsupportedOperationException("Not supported by this implementation of RuntimeContext");
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/a2a9f519/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/repository/RepositoryServiceDefault.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/repository/RepositoryServiceDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/repository/RepositoryServiceDefault.java
index 5d9ed76..966bdef 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/repository/RepositoryServiceDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/repository/RepositoryServiceDefault.java
@@ -41,8 +41,8 @@ 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.runtimecontext.PersistenceSessionService;
-import org.apache.isis.core.metamodel.runtimecontext.PersistenceSessionServiceAware;
+import org.apache.isis.core.metamodel.services.persistsession.PersistenceSessionServiceInternal;
+import org.apache.isis.core.metamodel.services.persistsession.PersistenceSessionServiceAware;
@DomainService(
nature = NatureOfService.DOMAIN
@@ -98,7 +98,7 @@ public class RepositoryServiceDefault
if (isPersistent(object)) {
throw new PersistFailedException("Object already persistent; OID=" + adapter.getOid());
}
- persistenceSessionService.makePersistent(adapter);
+ persistenceSessionServiceInternal.makePersistent(adapter);
}
@Programmatic
@@ -126,7 +126,7 @@ public class RepositoryServiceDefault
throw new RepositoryException("Object not persistent: " + adapter);
}
- persistenceSessionService.remove(adapter);
+ persistenceSessionServiceInternal.remove(adapter);
}
@Override
@@ -174,7 +174,7 @@ public class RepositoryServiceDefault
}
<T> List<T> submitQuery(final Query<T> query) {
- final List<ObjectAdapter> allMatching = persistenceSessionService.allMatchingQuery(query);
+ final List<ObjectAdapter> allMatching = persistenceSessionServiceInternal.allMatchingQuery(query);
return ObjectAdapter.Util.unwrapT(allMatching);
}
@@ -227,7 +227,7 @@ public class RepositoryServiceDefault
if(autoFlush) {
transactionService.flushTransaction();
}
- final ObjectAdapter firstMatching = persistenceSessionService.firstMatchingQuery(query);
+ final ObjectAdapter firstMatching = persistenceSessionServiceInternal.firstMatchingQuery(query);
return (T) ObjectAdapter.Util.unwrap(firstMatching);
}
@@ -254,11 +254,11 @@ public class RepositoryServiceDefault
@javax.inject.Inject
TransactionService transactionService;
- private PersistenceSessionService persistenceSessionService;
+ private PersistenceSessionServiceInternal persistenceSessionServiceInternal;
@Override
- public void setPersistenceSessionService(final PersistenceSessionService persistenceSessionService) {
+ public void setPersistenceSessionService(final PersistenceSessionServiceInternal persistenceSessionServiceInternal) {
- this.persistenceSessionService = persistenceSessionService;
+ this.persistenceSessionServiceInternal = persistenceSessionServiceInternal;
}
private AdapterManager adapterManager;
http://git-wip-us.apache.org/repos/asf/isis/blob/a2a9f519/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 ce456d8..bb61ca1 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
@@ -27,8 +27,8 @@ 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.runtimecontext.LocalizationProvider;
-import org.apache.isis.core.metamodel.runtimecontext.LocalizationProviderAware;
+import org.apache.isis.core.metamodel.services.l10n.LocalizationProviderInternal;
+import org.apache.isis.core.metamodel.services.l10n.LocalizationProviderAware;
@DomainService(
nature = NatureOfService.DOMAIN
@@ -42,7 +42,7 @@ public class TitleServiceDefault
final ObjectAdapter objectAdapter = adapterManager.adapterFor(unwrapped(domainObject));
final boolean destroyed = objectAdapter.isDestroyed();
if(!destroyed) {
- return objectAdapter.getSpecification().getTitle(objectAdapter, localizationProvider.getLocalization());
+ return objectAdapter.getSpecification().getTitle(objectAdapter, localizationProviderInternal.getLocalization());
} else {
return "[DELETED]";
}
@@ -78,10 +78,10 @@ public class TitleServiceDefault
this.adapterManager = adapterManager;
}
- private LocalizationProvider localizationProvider;
+ private LocalizationProviderInternal localizationProviderInternal;
@Override
- public void setLocalizationProvider(final LocalizationProvider localizationProvider) {
- this.localizationProvider = localizationProvider;
+ public void setLocalizationProvider(final LocalizationProviderInternal localizationProviderInternal) {
+ this.localizationProviderInternal = localizationProviderInternal;
}
http://git-wip-us.apache.org/repos/asf/isis/blob/a2a9f519/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
new file mode 100644
index 0000000..a3f88d6
--- /dev/null
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/transtate/TransactionStateProviderInternal.java
@@ -0,0 +1,32 @@
+/*
+ * 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.applib.annotation.Programmatic;
+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/a2a9f519/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
new file mode 100644
index 0000000..bd95173
--- /dev/null
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/transtate/TransactionStateProviderInternalAbstract.java
@@ -0,0 +1,31 @@
+/**
+ * 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/a2a9f519/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
new file mode 100644
index 0000000..dd09e5e
--- /dev/null
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/transtate/TransactionStateProviderInternalNoop.java
@@ -0,0 +1,13 @@
+package org.apache.isis.core.metamodel.services.transtate;
+
+import org.apache.isis.applib.annotation.DomainService;
+import org.apache.isis.applib.annotation.NatureOfService;
+import org.apache.isis.core.metamodel.transactions.TransactionState;
+
+@DomainService(nature = NatureOfService.DOMAIN)
+public class TransactionStateProviderInternalNoop extends TransactionStateProviderInternalAbstract {
+ @Override
+ public TransactionState getTransactionState() {
+ throw new UnsupportedOperationException("Not supported by this implementation of RuntimeContext");
+ }
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/a2a9f519/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/xactn/TransactionServiceDefault.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/xactn/TransactionServiceDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/xactn/TransactionServiceDefault.java
index 1a6f878..92be34f 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/xactn/TransactionServiceDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/xactn/TransactionServiceDefault.java
@@ -22,8 +22,8 @@ package org.apache.isis.core.metamodel.services.xactn;
import org.apache.isis.applib.annotation.DomainService;
import org.apache.isis.applib.annotation.NatureOfService;
import org.apache.isis.applib.services.xactn.TransactionService;
-import org.apache.isis.core.metamodel.runtimecontext.PersistenceSessionService;
-import org.apache.isis.core.metamodel.runtimecontext.PersistenceSessionServiceAware;
+import org.apache.isis.core.metamodel.services.persistsession.PersistenceSessionServiceInternal;
+import org.apache.isis.core.metamodel.services.persistsession.PersistenceSessionServiceAware;
@DomainService(
nature = NatureOfService.DOMAIN
@@ -33,19 +33,19 @@ public class TransactionServiceDefault implements TransactionService, Persistenc
@Override
public void flushTransaction() {
- persistenceSessionService.flush();
+ persistenceSessionServiceInternal.flush();
}
@Override
public void nextTransaction() {
- persistenceSessionService.commit();
- persistenceSessionService.beginTran();
+ persistenceSessionServiceInternal.commit();
+ persistenceSessionServiceInternal.beginTran();
}
- private PersistenceSessionService persistenceSessionService;
+ private PersistenceSessionServiceInternal persistenceSessionServiceInternal;
@Override
- public void setPersistenceSessionService(final PersistenceSessionService persistenceSessionService) {
+ public void setPersistenceSessionService(final PersistenceSessionServiceInternal persistenceSessionServiceInternal) {
- this.persistenceSessionService = persistenceSessionService;
+ this.persistenceSessionServiceInternal = persistenceSessionServiceInternal;
}
}
http://git-wip-us.apache.org/repos/asf/isis/blob/a2a9f519/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/ObjectMemberDependencies.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/ObjectMemberDependencies.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/ObjectMemberDependencies.java
index 178cf50..79e8e4f 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/ObjectMemberDependencies.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/ObjectMemberDependencies.java
@@ -16,7 +16,7 @@
*/
package org.apache.isis.core.metamodel.spec.feature;
-import org.apache.isis.core.metamodel.runtimecontext.PersistenceSessionService;
+import org.apache.isis.core.metamodel.services.persistsession.PersistenceSessionServiceInternal;
import org.apache.isis.core.metamodel.services.ServicesInjector;
import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
@@ -24,17 +24,17 @@ public class ObjectMemberDependencies {
private final SpecificationLoader specificationLoader;
private final ServicesInjector servicesInjector;
- private final PersistenceSessionService persistenceSessionService;
+ private final PersistenceSessionServiceInternal persistenceSessionServiceInternal;
public ObjectMemberDependencies(
final SpecificationLoader specificationLoader,
final ServicesInjector servicesInjector,
- final PersistenceSessionService persistenceSessionService) {
+ final PersistenceSessionServiceInternal persistenceSessionServiceInternal) {
this.specificationLoader = specificationLoader;
this.servicesInjector = servicesInjector;
- this.persistenceSessionService = persistenceSessionService;
+ this.persistenceSessionServiceInternal = persistenceSessionServiceInternal;
}
public SpecificationLoader getSpecificationLoader() {
@@ -45,7 +45,7 @@ public class ObjectMemberDependencies {
return servicesInjector;
}
- public PersistenceSessionService getPersistenceSessionService() {
- return persistenceSessionService;
+ public PersistenceSessionServiceInternal getPersistenceSessionService() {
+ return persistenceSessionServiceInternal;
}
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/isis/blob/a2a9f519/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 a92cf0a..683f041 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
@@ -38,7 +38,6 @@ import org.apache.isis.core.commons.config.IsisConfiguration;
import org.apache.isis.core.commons.ensure.Assert;
import org.apache.isis.core.commons.exceptions.IsisException;
import org.apache.isis.core.commons.lang.ClassUtil;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
import org.apache.isis.core.metamodel.facetapi.Facet;
import org.apache.isis.core.metamodel.facets.FacetFactory;
@@ -46,11 +45,9 @@ import org.apache.isis.core.metamodel.facets.object.autocomplete.AutoCompleteFac
import org.apache.isis.core.metamodel.facets.object.objectspecid.ObjectSpecIdFacet;
import org.apache.isis.core.metamodel.layoutmetadata.LayoutMetadataReader;
import org.apache.isis.core.metamodel.progmodel.ProgrammingModel;
-import org.apache.isis.core.metamodel.runtimecontext.PersistenceSessionService;
import org.apache.isis.core.metamodel.runtimecontext.RuntimeContext;
-import org.apache.isis.core.metamodel.runtimecontext.noruntime.RuntimeContextNoRuntime;
import org.apache.isis.core.metamodel.services.ServicesInjector;
-import org.apache.isis.core.metamodel.services.ServicesInjectorAware;
+import org.apache.isis.core.metamodel.services.persistsession.PersistenceSessionServiceInternal;
import org.apache.isis.core.metamodel.spec.FreeStandingList;
import org.apache.isis.core.metamodel.spec.ObjectSpecId;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
@@ -90,19 +87,6 @@ import static org.hamcrest.Matchers.notNullValue;
* </p>
*
* <p>
- * In addition, the {@link RuntimeContext} can optionally be injected, but will
- * default to {@link RuntimeContextNoRuntime} if not provided prior to
- * {@link SpecificationLoader#init(RuntimeContext) initialization}. The purpose of {@link RuntimeContext} is to
- * allow the metamodel to be used standalone, for example in a Maven plugin. The
- * {@link RuntimeContextNoRuntime} implementation will through an exception for
- * any methods (such as finding an {@link ObjectAdapter adapter}) because there
- * is no runtime session. In the case of the metamodel being used by the
- * framework (that is, when there <i>is</i> a runtime), then the framework
- * injects an implementation of {@link RuntimeContext} that acts like a bridge
- * to its <tt>IsisContext</tt>.
- * </p>
- *
- * <p>
* Implementing class is added to {@link ServicesInjector} as an (internal) domain service; all public methods
* must be annotated using {@link Programmatic}.
* </p>
@@ -162,14 +146,6 @@ public class SpecificationLoader implements ApplicationScopedComponent {
//region > init
- /**
- * Can optionally be injected, but will default (to
- * {@link RuntimeContextNoRuntime}) otherwise.
- *
- * <p>
- * Should be injected when used by framework, but will default to a no-op implementation if the metamodel is
- * being used standalone (eg for a code-generator).
- */
private RuntimeContext runtimeContext;
private boolean initialized = false;
@@ -189,7 +165,7 @@ public class SpecificationLoader implements ApplicationScopedComponent {
// default subcomponents
if (runtimeContext == null) {
- this.runtimeContext = new RuntimeContextNoRuntime(servicesInjector, this);
+ this.runtimeContext = new RuntimeContext(servicesInjector);
}
// wire subcomponents into each other
@@ -448,13 +424,13 @@ public class SpecificationLoader implements ApplicationScopedComponent {
private ObjectSpecification createSpecification(final Class<?> cls) {
final ServicesInjector servicesInjector = getRuntimeContext().getServicesInjector();
- final PersistenceSessionService persistenceSessionService = getRuntimeContext().getPersistenceSessionService();
+ final PersistenceSessionServiceInternal persistenceSessionServiceInternal = getRuntimeContext().getPersistenceSessionService();
final ObjectSpecificationDependencies specContext =
new ObjectSpecificationDependencies(deploymentCategory, servicesInjector, this, facetProcessor);
final ObjectMemberDependencies objectMemberDependencies =
- new ObjectMemberDependencies(this, servicesInjector, persistenceSessionService);
+ new ObjectMemberDependencies(this, servicesInjector, persistenceSessionServiceInternal);
// ... and create the specs
if (FreeStandingList.class.isAssignableFrom(cls)) {
@@ -577,20 +553,4 @@ public class SpecificationLoader implements ApplicationScopedComponent {
//endregion
-
- /**
- * Injects self into candidate if required, and instructs its subcomponents
- * to do so also.
- */
- @Programmatic
- public void injectInto(final Object candidate) {
- final Class<?> candidateClass = candidate.getClass();
- if (ServicesInjectorAware.class.isAssignableFrom(candidateClass)) {
- final ServicesInjectorAware cast = ServicesInjectorAware.class.cast(candidate);
- cast.setServicesInjector(this.servicesInjector);
- }
- }
-
-
-
}
http://git-wip-us.apache.org/repos/asf/isis/blob/a2a9f519/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 2dbd2f0..4556ffb 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
@@ -467,11 +467,6 @@ public class FacetProcessor implements RuntimeContextAware {
//region > dependencies
- private IsisConfiguration getIsisConfiguration() {
- return configuration;
- }
-
-
private RuntimeContext getRuntimeContext() {
return runtimeContext;
}
http://git-wip-us.apache.org/repos/asf/isis/blob/a2a9f519/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionParameterAbstract.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionParameterAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionParameterAbstract.java
index 0dd0d1a..10c2c65 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionParameterAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionParameterAbstract.java
@@ -54,7 +54,7 @@ import org.apache.isis.core.metamodel.facets.param.defaults.ActionParameterDefau
import org.apache.isis.core.metamodel.interactions.ActionArgValidityContext;
import org.apache.isis.core.metamodel.interactions.InteractionUtils;
import org.apache.isis.core.metamodel.interactions.ValidityContext;
-import org.apache.isis.core.metamodel.runtimecontext.PersistenceSessionService;
+import org.apache.isis.core.metamodel.services.persistsession.PersistenceSessionServiceInternal;
import org.apache.isis.core.metamodel.spec.DomainModelException;
import org.apache.isis.core.metamodel.spec.Instance;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
@@ -515,7 +515,7 @@ public abstract class ObjectActionParameterAbstract implements ObjectActionParam
return parentAction.getPersistenceSessionService();
}
- protected PersistenceSessionService getObjectPersistor() {
+ protected PersistenceSessionServiceInternal getObjectPersistor() {
return parentAction.getPersistenceSessionService();
}
http://git-wip-us.apache.org/repos/asf/isis/blob/a2a9f519/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectMemberAbstract.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectMemberAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectMemberAbstract.java
index bb77b40..ef87934 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectMemberAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectMemberAbstract.java
@@ -54,7 +54,7 @@ import org.apache.isis.core.metamodel.interactions.InteractionContext;
import org.apache.isis.core.metamodel.interactions.InteractionUtils;
import org.apache.isis.core.metamodel.interactions.UsabilityContext;
import org.apache.isis.core.metamodel.interactions.VisibilityContext;
-import org.apache.isis.core.metamodel.runtimecontext.PersistenceSessionService;
+import org.apache.isis.core.metamodel.services.persistsession.PersistenceSessionServiceInternal;
import org.apache.isis.core.metamodel.services.ServicesInjector;
import org.apache.isis.core.metamodel.services.command.CommandDtoServiceInternal;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
@@ -79,7 +79,7 @@ public abstract class ObjectMemberAbstract implements ObjectMember {
private final FeatureType featureType;
private final SpecificationLoader specificationLookup;
private final ServicesInjector servicesInjector;
- private final PersistenceSessionService persistenceSessionService;
+ private final PersistenceSessionServiceInternal persistenceSessionServiceInternal;
//endregion
protected ObjectMemberAbstract(
@@ -96,7 +96,7 @@ public abstract class ObjectMemberAbstract implements ObjectMember {
this.specificationLookup = objectMemberDependencies.getSpecificationLoader();
this.servicesInjector = objectMemberDependencies.getServicesInjector();
- this.persistenceSessionService = objectMemberDependencies.getPersistenceSessionService();
+ this.persistenceSessionServiceInternal = objectMemberDependencies.getPersistenceSessionService();
}
//region > Identifiers
@@ -384,8 +384,8 @@ public abstract class ObjectMemberAbstract implements ObjectMember {
return servicesInjector;
}
- public PersistenceSessionService getPersistenceSessionService() {
- return persistenceSessionService;
+ public PersistenceSessionServiceInternal getPersistenceSessionService() {
+ return persistenceSessionServiceInternal;
}
public CollectionTypeRegistry getCollectionTypeRegistry() {
http://git-wip-us.apache.org/repos/asf/isis/blob/a2a9f519/core/metamodel/src/main/java/org/apache/isis/core/metamodel/transactions/TransactionStateProvider.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/transactions/TransactionStateProvider.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/transactions/TransactionStateProvider.java
deleted file mode 100644
index 18a2ed5..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/transactions/TransactionStateProvider.java
+++ /dev/null
@@ -1,27 +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;
-
-public interface TransactionStateProvider {
-
- void injectInto(final Object candidate);
-
- public TransactionState getTransactionState();
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/a2a9f519/core/metamodel/src/main/java/org/apache/isis/core/metamodel/transactions/TransactionStateProviderAbstract.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/transactions/TransactionStateProviderAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/transactions/TransactionStateProviderAbstract.java
deleted file mode 100644
index 2ba5a9c..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/transactions/TransactionStateProviderAbstract.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;
-
-public abstract class TransactionStateProviderAbstract implements
- TransactionStateProvider {
-
- @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/a2a9f519/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
index 2cb551f..61580d7 100644
--- 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
@@ -20,10 +20,11 @@
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(TransactionStateProvider transactionStateProvider);
+ public void setTransactionStateProvider(TransactionStateProviderInternal transactionStateProviderInternal);
}