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/01 13:16:50 UTC

[2/3] isis git commit: ISIS-1370: moved AuditingServiceInternal to an auditing package.

ISIS-1370: moved AuditingServiceInternal to an auditing package.


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/e2fb62e6
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/e2fb62e6
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/e2fb62e6

Branch: refs/heads/ISIS-1291
Commit: e2fb62e65eebd8f9930947333d72cb73144fdce2
Parents: 5870f6a
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Sun May 1 11:33:51 2016 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Sun May 1 11:33:51 2016 +0100

----------------------------------------------------------------------
 .../auditing/AuditingServiceInternal.java       | 117 +++++++++++++++++++
 .../publishing/AuditingServiceInternal.java     | 117 -------------------
 .../system/transaction/IsisTransaction.java     |   2 +-
 .../handlers/DomainObjectInvocationHandler.java |   8 +-
 4 files changed, 122 insertions(+), 122 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/e2fb62e6/core/runtime/src/main/java/org/apache/isis/core/runtime/services/auditing/AuditingServiceInternal.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/auditing/AuditingServiceInternal.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/auditing/AuditingServiceInternal.java
new file mode 100644
index 0000000..a470946
--- /dev/null
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/auditing/AuditingServiceInternal.java
@@ -0,0 +1,117 @@
+/*
+ *  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.runtime.services.auditing;
+
+import java.util.Map;
+import java.util.Set;
+import java.util.UUID;
+
+import javax.inject.Inject;
+
+import org.apache.isis.applib.annotation.DomainService;
+import org.apache.isis.applib.annotation.NatureOfService;
+import org.apache.isis.applib.annotation.Programmatic;
+import org.apache.isis.applib.services.audit.AuditingService3;
+import org.apache.isis.applib.services.bookmark.Bookmark;
+import org.apache.isis.applib.services.clock.ClockService;
+import org.apache.isis.applib.services.command.Command;
+import org.apache.isis.applib.services.command.CommandContext;
+import org.apache.isis.applib.services.user.UserService;
+import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
+import org.apache.isis.core.metamodel.facets.actions.action.invocation.CommandUtil;
+import org.apache.isis.core.metamodel.facets.object.audit.AuditableFacet;
+import org.apache.isis.core.runtime.system.transaction.IsisTransaction;
+
+/**
+ * Wrapper around {@link org.apache.isis.applib.services.audit.AuditingService3}.  Is a no-op if there is no injected service.
+ */
+@DomainService(nature = NatureOfService.DOMAIN)
+public class AuditingServiceInternal {
+
+
+    @Programmatic
+    public boolean canAudit() {
+        return auditingServiceIfAny != null;
+    }
+
+    @Programmatic
+    public void audit(
+            final Set<Map.Entry<IsisTransaction.AdapterAndProperty, IsisTransaction.PreAndPostValues>> changedObjectProperties) {
+
+        if(!canAudit()) {
+            return;
+        }
+
+        final String currentUser = userService.getUser().getName();
+        final java.sql.Timestamp currentTime = clockService.nowAsJavaSqlTimestamp();
+
+        for (Map.Entry<IsisTransaction.AdapterAndProperty, IsisTransaction.PreAndPostValues> auditEntry : changedObjectProperties) {
+            auditChangedProperty(currentTime, currentUser, auditEntry);
+        }
+
+    }
+
+    private void auditChangedProperty(
+            final java.sql.Timestamp timestamp,
+            final String user,
+            final Map.Entry<IsisTransaction.AdapterAndProperty, IsisTransaction.PreAndPostValues> auditEntry) {
+
+        final IsisTransaction.AdapterAndProperty aap = auditEntry.getKey();
+        final ObjectAdapter adapter = aap.getAdapter();
+
+        final AuditableFacet auditableFacet = adapter.getSpecification().getFacet(AuditableFacet.class);
+        if(auditableFacet == null || auditableFacet.isDisabled()) {
+            return;
+        }
+
+        final Bookmark target = aap.getBookmark();
+        final String propertyId = aap.getPropertyId();
+        final String memberId = aap.getMemberId();
+
+        final IsisTransaction.PreAndPostValues papv = auditEntry.getValue();
+        final String preValue = papv.getPreString();
+        final String postValue = papv.getPostString();
+
+
+        final String targetClass = CommandUtil.targetClassNameFor(adapter);
+
+        final Command command = commandContext.getCommand();
+        final UUID transactionId = command.getTransactionId();
+
+        auditingServiceIfAny
+                .audit(transactionId, targetClass, target, memberId, propertyId, preValue, postValue, user, timestamp);
+    }
+
+    /**
+     * could be null if none has been registered.
+     */
+    @Inject
+    private AuditingService3 auditingServiceIfAny;
+
+    @Inject
+    UserService userService;
+
+    @Inject
+    ClockService clockService;
+
+    @Inject
+    CommandContext commandContext;
+
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/e2fb62e6/core/runtime/src/main/java/org/apache/isis/core/runtime/services/publishing/AuditingServiceInternal.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/publishing/AuditingServiceInternal.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/publishing/AuditingServiceInternal.java
deleted file mode 100644
index 3f29804..0000000
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/publishing/AuditingServiceInternal.java
+++ /dev/null
@@ -1,117 +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.runtime.services.publishing;
-
-import java.util.Map;
-import java.util.Set;
-import java.util.UUID;
-
-import javax.inject.Inject;
-
-import org.apache.isis.applib.annotation.DomainService;
-import org.apache.isis.applib.annotation.NatureOfService;
-import org.apache.isis.applib.annotation.Programmatic;
-import org.apache.isis.applib.services.audit.AuditingService3;
-import org.apache.isis.applib.services.bookmark.Bookmark;
-import org.apache.isis.applib.services.clock.ClockService;
-import org.apache.isis.applib.services.command.Command;
-import org.apache.isis.applib.services.command.CommandContext;
-import org.apache.isis.applib.services.user.UserService;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.facets.actions.action.invocation.CommandUtil;
-import org.apache.isis.core.metamodel.facets.object.audit.AuditableFacet;
-import org.apache.isis.core.runtime.system.transaction.IsisTransaction;
-
-/**
- * Wrapper around {@link org.apache.isis.applib.services.audit.AuditingService3}.  Is a no-op if there is no injected service.
- */
-@DomainService(nature = NatureOfService.DOMAIN)
-public class AuditingServiceInternal {
-
-
-    @Programmatic
-    public boolean canAudit() {
-        return auditingServiceIfAny != null;
-    }
-
-    @Programmatic
-    public void audit(
-            final Set<Map.Entry<IsisTransaction.AdapterAndProperty, IsisTransaction.PreAndPostValues>> changedObjectProperties) {
-
-        if(!canAudit()) {
-            return;
-        }
-
-        final String currentUser = userService.getUser().getName();
-        final java.sql.Timestamp currentTime = clockService.nowAsJavaSqlTimestamp();
-
-        for (Map.Entry<IsisTransaction.AdapterAndProperty, IsisTransaction.PreAndPostValues> auditEntry : changedObjectProperties) {
-            auditChangedProperty(currentTime, currentUser, auditEntry);
-        }
-
-    }
-
-    private void auditChangedProperty(
-            final java.sql.Timestamp timestamp,
-            final String user,
-            final Map.Entry<IsisTransaction.AdapterAndProperty, IsisTransaction.PreAndPostValues> auditEntry) {
-
-        final IsisTransaction.AdapterAndProperty aap = auditEntry.getKey();
-        final ObjectAdapter adapter = aap.getAdapter();
-
-        final AuditableFacet auditableFacet = adapter.getSpecification().getFacet(AuditableFacet.class);
-        if(auditableFacet == null || auditableFacet.isDisabled()) {
-            return;
-        }
-
-        final Bookmark target = aap.getBookmark();
-        final String propertyId = aap.getPropertyId();
-        final String memberId = aap.getMemberId();
-
-        final IsisTransaction.PreAndPostValues papv = auditEntry.getValue();
-        final String preValue = papv.getPreString();
-        final String postValue = papv.getPostString();
-
-
-        final String targetClass = CommandUtil.targetClassNameFor(adapter);
-
-        final Command command = commandContext.getCommand();
-        final UUID transactionId = command.getTransactionId();
-
-        auditingServiceIfAny
-                .audit(transactionId, targetClass, target, memberId, propertyId, preValue, postValue, user, timestamp);
-    }
-
-    /**
-     * could be null if none has been registered.
-     */
-    @Inject
-    private AuditingService3 auditingServiceIfAny;
-
-    @Inject
-    UserService userService;
-
-    @Inject
-    ClockService clockService;
-
-    @Inject
-    CommandContext commandContext;
-
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/e2fb62e6/core/runtime/src/main/java/org/apache/isis/core/runtime/system/transaction/IsisTransaction.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/transaction/IsisTransaction.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/transaction/IsisTransaction.java
index 99b3079..e49601c 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/transaction/IsisTransaction.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/transaction/IsisTransaction.java
@@ -66,7 +66,7 @@ import org.apache.isis.core.metamodel.transactions.TransactionState;
 import org.apache.isis.core.runtime.persistence.objectstore.transaction.CreateObjectCommand;
 import org.apache.isis.core.runtime.persistence.objectstore.transaction.DestroyObjectCommand;
 import org.apache.isis.core.runtime.persistence.objectstore.transaction.PersistenceCommand;
-import org.apache.isis.core.runtime.services.publishing.AuditingServiceInternal;
+import org.apache.isis.core.runtime.services.auditing.AuditingServiceInternal;
 import org.apache.isis.core.runtime.system.context.IsisContext;
 
 import static org.apache.isis.core.commons.ensure.Ensure.ensureThatArg;

http://git-wip-us.apache.org/repos/asf/isis/blob/e2fb62e6/core/wrapper/src/main/java/org/apache/isis/core/wrapper/handlers/DomainObjectInvocationHandler.java
----------------------------------------------------------------------
diff --git a/core/wrapper/src/main/java/org/apache/isis/core/wrapper/handlers/DomainObjectInvocationHandler.java b/core/wrapper/src/main/java/org/apache/isis/core/wrapper/handlers/DomainObjectInvocationHandler.java
index 023921c..18a3f26 100644
--- a/core/wrapper/src/main/java/org/apache/isis/core/wrapper/handlers/DomainObjectInvocationHandler.java
+++ b/core/wrapper/src/main/java/org/apache/isis/core/wrapper/handlers/DomainObjectInvocationHandler.java
@@ -766,11 +766,11 @@ public class DomainObjectInvocationHandler<T> extends DelegatingInvocationHandle
     }
 
     private ObjectSpecificationDefault getJavaSpecification(final Class<?> clazz) {
-        final ObjectSpecification nos = getSpecification(clazz);
-        if (!(nos instanceof ObjectSpecificationDefault)) {
-            throw new UnsupportedOperationException("Only Java is supported (specification is '" + nos.getClass().getCanonicalName() + "')");
+        final ObjectSpecification objectSpec = getSpecification(clazz);
+        if (!(objectSpec instanceof ObjectSpecificationDefault)) {
+            throw new UnsupportedOperationException("Only Java is supported (specification is '" + objectSpec.getClass().getCanonicalName() + "')");
         }
-        return (ObjectSpecificationDefault) nos;
+        return (ObjectSpecificationDefault) objectSpec;
     }
 
     private ObjectSpecification getSpecification(final Class<?> type) {