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) {