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 2017/10/16 19:51:24 UTC

[isis] 09/09: ISIS-1742: splits out ExceptionRecognizer impl from DomainObjectContainerDefault into new ExceptionRecognizerDocDefault

This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch dev/2.0.0/ISIS-1742-remove-deprecations
in repository https://gitbox.apache.org/repos/asf/isis.git

commit 65a8be9850e6ebc54123107ef89c8f590fd52100
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Mon Oct 16 20:48:30 2017 +0100

    ISIS-1742: splits out ExceptionRecognizer impl from DomainObjectContainerDefault into new ExceptionRecognizerDocDefault
---
 .../container/DomainObjectContainerDefault.java    |  63 +----------
 .../container/ExceptionRecognizerDocDefault.java   | 118 +++++++++++++++++++++
 2 files changed, 119 insertions(+), 62 deletions(-)

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 a89895e..48f669a 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
@@ -51,8 +51,7 @@ import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
         nature = NatureOfService.DOMAIN,
         menuOrder = "" + Integer.MAX_VALUE
 )
-public class DomainObjectContainerDefault
-        implements DomainObjectContainer, ExceptionRecognizer {
+public class DomainObjectContainerDefault implements DomainObjectContainer {
 
 
     //region > newViewModelInstance
@@ -221,63 +220,6 @@ public class DomainObjectContainerDefault
 
 
 
-    //region > ExceptionRecognizer
-
-    static class ExceptionRecognizerForConcurrencyException
-            extends ExceptionRecognizerForType {
-        public ExceptionRecognizerForConcurrencyException() {
-            super(Category.CONCURRENCY, ConcurrencyException.class, prefix("Another user has just changed this data"));
-        }
-    }
-    static class ExceptionRecognizerForRecoverableException extends ExceptionRecognizerForType {
-        public ExceptionRecognizerForRecoverableException() {
-            super(Category.CLIENT_ERROR, RecoverableException.class);
-        }
-    }
-
-
-    private final ExceptionRecognizer recognizer =
-            new ExceptionRecognizerComposite(
-                    new ExceptionRecognizerForConcurrencyException(),
-                    new ExceptionRecognizerForRecoverableException()
-                );
-    
-    /**
-     * Framework-provided implementation of {@link ExceptionRecognizer},
-     * which will automatically recognize any {@link org.apache.isis.applib.RecoverableException}s or
-     * any {@link ConcurrencyException}s.
-     */
-    @Programmatic
-    @Override
-    public String recognize(Throwable ex) {
-        return recognizer.recognize(ex);
-    }
-
-    @Programmatic
-    @Override
-    public Recognition recognize2(final Throwable ex) {
-        return recognizer.recognize2(ex);
-    }
-    //endregion
-
-    //region > init, shutdown
-
-    @Programmatic
-    @PostConstruct
-    @Override
-    public void init(Map<String, String> properties) {
-        serviceRegistry.injectServicesInto(recognizer);
-        recognizer.init(properties);
-    }
-
-    @Programmatic
-    @PreDestroy
-    @Override
-    public void shutdown() {
-        recognizer.shutdown();
-    }
-
-    //endregion
 
     //region > helpers
 
@@ -293,9 +235,6 @@ public class DomainObjectContainerDefault
     SpecificationLoader specificationLoader;
 
     @javax.inject.Inject
-    ServiceRegistry serviceRegistry;
-
-    @javax.inject.Inject
     RepositoryService repositoryService;
 
     @javax.inject.Inject
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/container/ExceptionRecognizerDocDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/container/ExceptionRecognizerDocDefault.java
new file mode 100644
index 0000000..c9db26b
--- /dev/null
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/container/ExceptionRecognizerDocDefault.java
@@ -0,0 +1,118 @@
+/*
+ *  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.container;
+
+import java.util.Map;
+
+import javax.annotation.PostConstruct;
+import javax.annotation.PreDestroy;
+
+import org.apache.isis.applib.DomainObjectContainer;
+import org.apache.isis.applib.PersistFailedException;
+import org.apache.isis.applib.RecoverableException;
+import org.apache.isis.applib.RepositoryException;
+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.exceprecog.ExceptionRecognizer;
+import org.apache.isis.applib.services.exceprecog.ExceptionRecognizerComposite;
+import org.apache.isis.applib.services.exceprecog.ExceptionRecognizerForType;
+import org.apache.isis.applib.services.registry.ServiceRegistry;
+import org.apache.isis.applib.services.repository.RepositoryService;
+import org.apache.isis.applib.services.wrapper.WrapperFactory;
+import org.apache.isis.core.commons.exceptions.IsisException;
+import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
+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.services.persistsession.PersistenceSessionServiceInternal;
+import org.apache.isis.core.metamodel.spec.ObjectSpecification;
+import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
+
+@DomainService(
+        nature = NatureOfService.DOMAIN,
+        menuOrder = "" + Integer.MAX_VALUE
+)
+public class ExceptionRecognizerDocDefault
+        implements ExceptionRecognizer {
+
+
+    //region > init, shutdown
+
+    @Programmatic
+    @PostConstruct
+    @Override
+    public void init(Map<String, String> properties) {
+        serviceRegistry.injectServicesInto(recognizer);
+        recognizer.init(properties);
+    }
+
+    @Programmatic
+    @PreDestroy
+    @Override
+    public void shutdown() {
+        recognizer.shutdown();
+    }
+
+    //endregion
+
+    static class ExceptionRecognizerForConcurrencyException
+            extends ExceptionRecognizerForType {
+        public ExceptionRecognizerForConcurrencyException() {
+            super(Category.CONCURRENCY, ConcurrencyException.class, prefix("Another user has just changed this data"));
+        }
+    }
+    static class ExceptionRecognizerForRecoverableException extends ExceptionRecognizerForType {
+        public ExceptionRecognizerForRecoverableException() {
+            super(Category.CLIENT_ERROR, RecoverableException.class);
+        }
+    }
+
+
+    private final ExceptionRecognizer recognizer =
+            new ExceptionRecognizerComposite(
+                    new ExceptionRecognizerForConcurrencyException(),
+                    new ExceptionRecognizerForRecoverableException()
+            );
+
+    /**
+     * Framework-provided implementation of {@link ExceptionRecognizer},
+     * which will automatically recognize any {@link org.apache.isis.applib.RecoverableException}s or
+     * any {@link ConcurrencyException}s.
+     */
+    @Programmatic
+    @Override
+    public String recognize(Throwable ex) {
+        return recognizer.recognize(ex);
+    }
+
+    @Programmatic
+    @Override
+    public Recognition recognize2(final Throwable ex) {
+        return recognizer.recognize2(ex);
+    }
+
+
+
+    @javax.inject.Inject
+    ServiceRegistry serviceRegistry;
+
+}

-- 
To stop receiving notification emails like this one, please contact
"commits@isis.apache.org" <co...@isis.apache.org>.