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 2013/10/15 09:13:17 UTC
git commit: ISIS-564, ISIS-553: Extended AuditingService to
AuditingService2; view model package fix
Updated Branches:
refs/heads/master b717f39f0 -> 5e9d586a3
ISIS-564, ISIS-553: Extended AuditingService to AuditingService2; view model package fix
in addition:
- ISIS-553: move ViewModel interface from annotation package to just oai.applib
- fixed CSS which was preventing fullcalendar component's icon from rendering
- fixed shiro.ini for todo app
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/5e9d586a
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/5e9d586a
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/5e9d586a
Branch: refs/heads/master
Commit: 5e9d586a3a1dcb9e4cf23470f6cb4ef43ebae06d
Parents: b717f39
Author: Dan Haywood <da...@apache.org>
Authored: Tue Oct 15 08:13:04 2013 +0100
Committer: Dan Haywood <da...@apache.org>
Committed: Tue Oct 15 08:13:04 2013 +0100
----------------------------------------------------------------------
.../spi/DataNucleusIdentifierGenerator.java | 2 +-
.../links/LinksSelectorPanelAbstract.css | 12 -----
.../isis/applib/AbstractContainedObject.java | 1 -
.../apache/isis/applib/AbstractViewModel.java | 1 -
.../isis/applib/DomainObjectContainer.java | 1 -
.../java/org/apache/isis/applib/ViewModel.java | 49 ++++++++++++++++++++
.../apache/isis/applib/annotation/HomePage.java | 2 +
.../isis/applib/annotation/ViewModel.java | 47 -------------------
.../applib/services/audit/AuditingService.java | 17 ++++++-
.../applib/services/audit/AuditingService2.java | 41 ++++++++++++++++
.../AbstractHomePageDashboardService.java | 2 +-
.../container/DomainObjectContainerDefault.java | 2 +-
.../annotation/ViewModelFacetForInterface.java | 2 +-
.../ViewModelIntefaceFacetFactory.java | 2 +-
.../ViewModelInteraceFacetFactoryTest.java | 2 +-
.../system/persistence/OidGenerator.java | 2 +-
.../system/persistence/PersistenceSession.java | 2 +-
.../system/transaction/IsisTransaction.java | 15 +++++-
.../tck/dom/viewmodels/SimpleViewModel.java | 2 +-
.../dom/src/main/java/dom/todo/ToDoItem.java | 2 +-
.../src/main/webapp/WEB-INF/isis.properties | 2 +-
.../webapp/src/main/webapp/WEB-INF/shiro.ini | 10 ++--
22 files changed, 139 insertions(+), 79 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/5e9d586a/component/objectstore/jdo/jdo-datanucleus/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/persistence/spi/DataNucleusIdentifierGenerator.java
----------------------------------------------------------------------
diff --git a/component/objectstore/jdo/jdo-datanucleus/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/persistence/spi/DataNucleusIdentifierGenerator.java b/component/objectstore/jdo/jdo-datanucleus/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/persistence/spi/DataNucleusIdentifierGenerator.java
index c152b51..f1fc002 100644
--- a/component/objectstore/jdo/jdo-datanucleus/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/persistence/spi/DataNucleusIdentifierGenerator.java
+++ b/component/objectstore/jdo/jdo-datanucleus/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/persistence/spi/DataNucleusIdentifierGenerator.java
@@ -26,7 +26,7 @@ import javax.jdo.spi.PersistenceCapable;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.apache.isis.applib.annotation.ViewModel;
+import org.apache.isis.applib.ViewModel;
import org.apache.isis.core.commons.debug.DebugBuilder;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
import org.apache.isis.core.metamodel.adapter.oid.RootOid;
http://git-wip-us.apache.org/repos/asf/isis/blob/5e9d586a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/selector/links/LinksSelectorPanelAbstract.css
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/selector/links/LinksSelectorPanelAbstract.css b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/selector/links/LinksSelectorPanelAbstract.css
index 8e02ac2..6552c8d 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/selector/links/LinksSelectorPanelAbstract.css
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/selector/links/LinksSelectorPanelAbstract.css
@@ -72,12 +72,6 @@ span.ViewLinkItem.hide {
background-repeat:no-repeat;
}
-a span.ViewLinkItem.calendar {
- background-image:url('images/icon_calendar_off.png');
- background-position: center center;
- background-repeat:no-repeat;
-}
-
span.ViewLinkItem.table {
background-image:url('images/icon_table_on.png');
background-position: center center;
@@ -90,12 +84,6 @@ a span.ViewLinkItem.hide {
background-repeat:no-repeat;
}
-span.ViewLinkItem.calendar {
- background-image:url('images/icon_calendar_on.png');
- background-position: center center;
- background-repeat:no-repeat;
-}
-
a span.ViewLinkItem.table {
background-image:url('images/icon_table_off.png');
background-position: center center;
http://git-wip-us.apache.org/repos/asf/isis/blob/5e9d586a/core/applib/src/main/java/org/apache/isis/applib/AbstractContainedObject.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/AbstractContainedObject.java b/core/applib/src/main/java/org/apache/isis/applib/AbstractContainedObject.java
index c9703ed..d3f376c 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/AbstractContainedObject.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/AbstractContainedObject.java
@@ -25,7 +25,6 @@ import com.google.common.base.Predicate;
import org.apache.isis.applib.annotation.Aggregated;
import org.apache.isis.applib.annotation.Hidden;
-import org.apache.isis.applib.annotation.ViewModel;
import org.apache.isis.applib.filter.Filter;
import org.apache.isis.applib.query.Query;
import org.apache.isis.applib.security.UserMemento;
http://git-wip-us.apache.org/repos/asf/isis/blob/5e9d586a/core/applib/src/main/java/org/apache/isis/applib/AbstractViewModel.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/AbstractViewModel.java b/core/applib/src/main/java/org/apache/isis/applib/AbstractViewModel.java
index b28888a..34f4203 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/AbstractViewModel.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/AbstractViewModel.java
@@ -20,7 +20,6 @@
package org.apache.isis.applib;
import org.apache.isis.applib.annotation.Disabled;
-import org.apache.isis.applib.annotation.ViewModel;
/**
* Convenience super class for all view models that wish to interact with the
http://git-wip-us.apache.org/repos/asf/isis/blob/5e9d586a/core/applib/src/main/java/org/apache/isis/applib/DomainObjectContainer.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/DomainObjectContainer.java b/core/applib/src/main/java/org/apache/isis/applib/DomainObjectContainer.java
index ebf0751..edabe32 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/DomainObjectContainer.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/DomainObjectContainer.java
@@ -24,7 +24,6 @@ import java.util.List;
import com.google.common.base.Predicate;
import org.apache.isis.applib.annotation.Aggregated;
-import org.apache.isis.applib.annotation.ViewModel;
import org.apache.isis.applib.filter.Filter;
import org.apache.isis.applib.query.Query;
import org.apache.isis.applib.security.UserMemento;
http://git-wip-us.apache.org/repos/asf/isis/blob/5e9d586a/core/applib/src/main/java/org/apache/isis/applib/ViewModel.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/ViewModel.java b/core/applib/src/main/java/org/apache/isis/applib/ViewModel.java
new file mode 100644
index 0000000..0ed855d
--- /dev/null
+++ b/core/applib/src/main/java/org/apache/isis/applib/ViewModel.java
@@ -0,0 +1,49 @@
+/*
+ * 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.applib;
+
+import org.apache.isis.applib.annotation.Hidden;
+
+
+/**
+ * Indicates that a domain object is intended to be used as a view model.
+ */
+public interface ViewModel {
+
+ /**
+ * Obtain a memento of the view model.
+ *
+ * <p>
+ * Typically this will be the identifier of a backing domain entity, but it could also be an arbitrary string,
+ * for example a bunch of JSON.
+ *
+ * <p>
+ * This method is called by the framework in order that the view model may be recreated subsequently
+ * through {@link #viewModelInit(String)}.
+ */
+ @Hidden
+ public String viewModelMemento();
+
+ /**
+ * Used to re-initialize a view model with a memento obtained from {@link #viewModelMemento()}.
+ */
+ @Hidden
+ public void viewModelInit(String memento);
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/5e9d586a/core/applib/src/main/java/org/apache/isis/applib/annotation/HomePage.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/annotation/HomePage.java b/core/applib/src/main/java/org/apache/isis/applib/annotation/HomePage.java
index 03c040e..2cf3969 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/annotation/HomePage.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/annotation/HomePage.java
@@ -25,6 +25,8 @@ import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
+import org.apache.isis.applib.ViewModel;
+
/**
* Indicates that the (no-arg) action (on a domain service) to be invoked automatically
* and the contents used for the home page.
http://git-wip-us.apache.org/repos/asf/isis/blob/5e9d586a/core/applib/src/main/java/org/apache/isis/applib/annotation/ViewModel.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/annotation/ViewModel.java b/core/applib/src/main/java/org/apache/isis/applib/annotation/ViewModel.java
deleted file mode 100644
index 26bc81e..0000000
--- a/core/applib/src/main/java/org/apache/isis/applib/annotation/ViewModel.java
+++ /dev/null
@@ -1,47 +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.applib.annotation;
-
-
-/**
- * Indicates that a domain object is intended to be used as a view model.
- */
-public interface ViewModel {
-
- /**
- * Obtain a memento of the view model.
- *
- * <p>
- * Typically this will be the identifier of a backing domain entity, but it could also be an arbitrary string,
- * for example a bunch of JSON.
- *
- * <p>
- * This method is called by the framework in order that the view model may be recreated subsequently
- * through {@link #viewModelInit(String)}.
- */
- @Hidden
- public String viewModelMemento();
-
- /**
- * Used to re-initialize a view model with a memento obtained from {@link #viewModelMemento()}.
- */
- @Hidden
- public void viewModelInit(String memento);
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/5e9d586a/core/applib/src/main/java/org/apache/isis/applib/services/audit/AuditingService.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/audit/AuditingService.java b/core/applib/src/main/java/org/apache/isis/applib/services/audit/AuditingService.java
index 0675a3f..f9b08a0 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/audit/AuditingService.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/audit/AuditingService.java
@@ -20,14 +20,29 @@ package org.apache.isis.applib.services.audit;
import org.apache.isis.applib.annotation.Hidden;
+/**
+ * Will be called whenever an object has changed its state.
+ *
+ * <p>
+ * Deprecated because the {@link #audit(String, long, String, String, String, String)} method does not include details
+ * of the object association being modified.
+ *
+ * @see AuditingService2
+ *
+ * @deprecated
+ */
+@Deprecated
public interface AuditingService {
-
+
+ @Deprecated
@Hidden
public void audit(String user, long currentTimestampEpoch, String objectType, String identifier, String preValue, String postValue);
+ @Deprecated
public static class Stderr implements AuditingService {
+ @Deprecated
@Hidden
public void audit(String user, long currentTimestampEpoch, String objectType, String identifier, String preValue, String postValue) {
String auditMessage = objectType + ":" + identifier + " by " + user + ": " + preValue + " -> " + postValue;
http://git-wip-us.apache.org/repos/asf/isis/blob/5e9d586a/core/applib/src/main/java/org/apache/isis/applib/services/audit/AuditingService2.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/audit/AuditingService2.java b/core/applib/src/main/java/org/apache/isis/applib/services/audit/AuditingService2.java
new file mode 100644
index 0000000..4a1ae39
--- /dev/null
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/audit/AuditingService2.java
@@ -0,0 +1,41 @@
+/*
+ * 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.applib.services.audit;
+
+import org.apache.isis.applib.annotation.Hidden;
+
+/**
+ * Will be called whenever an object has changed its state.
+ */
+public interface AuditingService2 extends AuditingService {
+
+ @Hidden
+ public void audit(String user, long currentTimestampEpoch, String objectType, String identifier, String propertyId, String preValue, String postValue);
+
+
+ public static class Stderr extends AuditingService.Stderr implements AuditingService2 {
+
+ @Hidden
+ public void audit(String user, long currentTimestampEpoch, String objectType, String identifier, String propertyId, String preValue, String postValue) {
+ String auditMessage = objectType + ":" + identifier + " by " + user + ", " + propertyId +": " + preValue + " -> " + postValue;
+ System.err.println(auditMessage);
+ }
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/5e9d586a/core/applib/src/main/java/org/apache/isis/applib/services/homepage/AbstractHomePageDashboardService.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/homepage/AbstractHomePageDashboardService.java b/core/applib/src/main/java/org/apache/isis/applib/services/homepage/AbstractHomePageDashboardService.java
index 4c2390b..d3cd37a 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/homepage/AbstractHomePageDashboardService.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/homepage/AbstractHomePageDashboardService.java
@@ -19,11 +19,11 @@
package org.apache.isis.applib.services.homepage;
import org.apache.isis.applib.AbstractService;
+import org.apache.isis.applib.ViewModel;
import org.apache.isis.applib.annotation.ActionSemantics;
import org.apache.isis.applib.annotation.ActionSemantics.Of;
import org.apache.isis.applib.annotation.Hidden;
import org.apache.isis.applib.annotation.HomePage;
-import org.apache.isis.applib.annotation.ViewModel;
/**
* Convenience domain service to create a view model (eg a dashboard) to be rendered automatically
http://git-wip-us.apache.org/repos/asf/isis/blob/5e9d586a/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 89b4c25..9cf7636 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
@@ -27,7 +27,7 @@ import com.google.common.base.Predicate;
import org.apache.isis.applib.DomainObjectContainer;
import org.apache.isis.applib.PersistFailedException;
import org.apache.isis.applib.RepositoryException;
-import org.apache.isis.applib.annotation.ViewModel;
+import org.apache.isis.applib.ViewModel;
import org.apache.isis.applib.filter.Filter;
import org.apache.isis.applib.filter.Filters;
import org.apache.isis.applib.query.Query;
http://git-wip-us.apache.org/repos/asf/isis/blob/5e9d586a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/object/viewmodel/annotation/ViewModelFacetForInterface.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/object/viewmodel/annotation/ViewModelFacetForInterface.java b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/object/viewmodel/annotation/ViewModelFacetForInterface.java
index 77d9904..8c7f2ec 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/object/viewmodel/annotation/ViewModelFacetForInterface.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/object/viewmodel/annotation/ViewModelFacetForInterface.java
@@ -19,7 +19,7 @@
package org.apache.isis.core.progmodel.facets.object.viewmodel.annotation;
-import org.apache.isis.applib.annotation.ViewModel;
+import org.apache.isis.applib.ViewModel;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.facets.object.viewmodel.ViewModelFacetAbstract;
http://git-wip-us.apache.org/repos/asf/isis/blob/5e9d586a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/object/viewmodel/annotation/ViewModelIntefaceFacetFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/object/viewmodel/annotation/ViewModelIntefaceFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/object/viewmodel/annotation/ViewModelIntefaceFacetFactory.java
index f7d6f8b..087b478 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/object/viewmodel/annotation/ViewModelIntefaceFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/object/viewmodel/annotation/ViewModelIntefaceFacetFactory.java
@@ -19,7 +19,7 @@
package org.apache.isis.core.progmodel.facets.object.viewmodel.annotation;
-import org.apache.isis.applib.annotation.ViewModel;
+import org.apache.isis.applib.ViewModel;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.facetapi.FacetUtil;
import org.apache.isis.core.metamodel.facetapi.FeatureType;
http://git-wip-us.apache.org/repos/asf/isis/blob/5e9d586a/core/metamodel/src/test/java/org/apache/isis/core/progmodel/facets/object/stable/ViewModelInteraceFacetFactoryTest.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/progmodel/facets/object/stable/ViewModelInteraceFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/progmodel/facets/object/stable/ViewModelInteraceFacetFactoryTest.java
index 12c9625..af4101e 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/progmodel/facets/object/stable/ViewModelInteraceFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/progmodel/facets/object/stable/ViewModelInteraceFacetFactoryTest.java
@@ -19,7 +19,7 @@
package org.apache.isis.core.progmodel.facets.object.stable;
-import org.apache.isis.applib.annotation.ViewModel;
+import org.apache.isis.applib.ViewModel;
import org.apache.isis.core.metamodel.facetapi.Facet;
import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessClassContext;
import org.apache.isis.core.metamodel.facets.object.viewmodel.ViewModelFacet;
http://git-wip-us.apache.org/repos/asf/isis/blob/5e9d586a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/OidGenerator.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/OidGenerator.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/OidGenerator.java
index 12a3349..d5b8cb7 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/OidGenerator.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/OidGenerator.java
@@ -19,8 +19,8 @@
package org.apache.isis.core.runtime.system.persistence;
+import org.apache.isis.applib.ViewModel;
import org.apache.isis.applib.annotation.Aggregated;
-import org.apache.isis.applib.annotation.ViewModel;
import org.apache.isis.core.commons.debug.DebugBuilder;
import org.apache.isis.core.commons.debug.DebuggableWithTitle;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
http://git-wip-us.apache.org/repos/asf/isis/blob/5e9d586a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSession.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSession.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSession.java
index 703c917..f2a2a17 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSession.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSession.java
@@ -35,7 +35,7 @@ import com.google.common.collect.Maps;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.apache.isis.applib.annotation.ViewModel;
+import org.apache.isis.applib.ViewModel;
import org.apache.isis.applib.query.Query;
import org.apache.isis.applib.query.QueryDefault;
import org.apache.isis.applib.query.QueryFindAllInstances;
http://git-wip-us.apache.org/repos/asf/isis/blob/5e9d586a/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 5acddef..079bdaa 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
@@ -46,6 +46,7 @@ import org.apache.isis.applib.annotation.PublishedObject;
import org.apache.isis.applib.annotation.PublishedObject.ChangeKind;
import org.apache.isis.applib.clock.Clock;
import org.apache.isis.applib.services.audit.AuditingService;
+import org.apache.isis.applib.services.audit.AuditingService2;
import org.apache.isis.applib.services.publish.EventMetadata;
import org.apache.isis.applib.services.publish.EventType;
import org.apache.isis.applib.services.publish.ObjectStringifier;
@@ -189,6 +190,11 @@ public class IsisTransaction implements TransactionScopedComponent {
*/
private final AuditingService auditingService;
/**
+ * could be null if none has been registered, or if the service provided does not
+ * implement the {@link AuditingService2} sub-interface.
+ */
+ private final AuditingService2 auditingService2;
+ /**
* could be null if none has been registered
*/
private final PublishingServiceWithDefaultPayloadFactories publishingService;
@@ -210,9 +216,9 @@ public class IsisTransaction implements TransactionScopedComponent {
this.messageBroker = messageBroker;
this.updateNotifier = updateNotifier;
this.auditingService = auditingService;
+ this.auditingService2 = (AuditingService2) (auditingService instanceof AuditingService2? auditingService: null);
this.publishingService = publishingService;
-
this.guid = UUID.randomUUID();
this.eventSequence = 0;
@@ -538,7 +544,12 @@ public class IsisTransaction implements TransactionScopedComponent {
final PreAndPostValues papv = auditEntry.getValue();
final String preValue = asString(papv.getPre());
final String postValue = asString(papv.getPost());
- auditingService.audit(currentUser, currentTimestampEpoch, objectType, identifier, preValue, postValue);
+ final String propertyId = aap.getProperty().getId();
+ if(auditingService2 != null) {
+ auditingService2.audit(currentUser, currentTimestampEpoch, objectType, identifier, propertyId, preValue, postValue);
+ } else {
+ auditingService.audit(currentUser, currentTimestampEpoch, objectType, identifier, preValue, postValue);
+ }
}
private static String asString(Object object) {
http://git-wip-us.apache.org/repos/asf/isis/blob/5e9d586a/core/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/viewmodels/SimpleViewModel.java
----------------------------------------------------------------------
diff --git a/core/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/viewmodels/SimpleViewModel.java b/core/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/viewmodels/SimpleViewModel.java
index 658cb1d..ab987c6 100644
--- a/core/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/viewmodels/SimpleViewModel.java
+++ b/core/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/viewmodels/SimpleViewModel.java
@@ -20,8 +20,8 @@
package org.apache.isis.core.tck.dom.viewmodels;
import org.apache.isis.applib.AbstractDomainObject;
+import org.apache.isis.applib.ViewModel;
import org.apache.isis.applib.annotation.MemberOrder;
-import org.apache.isis.applib.annotation.ViewModel;
import org.apache.isis.applib.util.TitleBuffer;
http://git-wip-us.apache.org/repos/asf/isis/blob/5e9d586a/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItem.java
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItem.java b/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItem.java
index b4dca66..4ad7cec 100644
--- a/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItem.java
+++ b/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItem.java
@@ -329,7 +329,7 @@ public class ToDoItem implements Comparable<ToDoItem> /*, Locatable*/ { // GMAP3
}
// disable action dependent on state of object
public String disableCompleted() {
- return complete ? "Already completed" : null;
+ return isComplete() ? "Already completed" : null;
}
@Named("Not done")
http://git-wip-us.apache.org/repos/asf/isis/blob/5e9d586a/example/application/quickstart_wicket_restful_jdo/webapp/src/main/webapp/WEB-INF/isis.properties
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/webapp/src/main/webapp/WEB-INF/isis.properties b/example/application/quickstart_wicket_restful_jdo/webapp/src/main/webapp/WEB-INF/isis.properties
index e3a54b1..1cf474d 100644
--- a/example/application/quickstart_wicket_restful_jdo/webapp/src/main/webapp/WEB-INF/isis.properties
+++ b/example/application/quickstart_wicket_restful_jdo/webapp/src/main/webapp/WEB-INF/isis.properties
@@ -173,7 +173,7 @@ isis.services = \
org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoSupportImpl,\
org.apache.isis.objectstore.jdo.applib.service.exceprecog.ExceptionRecognizerCompositeForJdoObjectStore,\
org.apache.isis.viewer.restfulobjects.rendering.eventserializer.RestfulObjectsSpecEventSerializer,\
- org.apache.isis.applib.services.audit.AuditingService$Stderr,\
+ org.apache.isis.applib.services.audit.AuditingService2$Stderr,\
org.apache.isis.applib.services.publish.PublishingService$Stderr
# if using the JDO implementation of the settings services
http://git-wip-us.apache.org/repos/asf/isis/blob/5e9d586a/example/application/quickstart_wicket_restful_jdo/webapp/src/main/webapp/WEB-INF/shiro.ini
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/webapp/src/main/webapp/WEB-INF/shiro.ini b/example/application/quickstart_wicket_restful_jdo/webapp/src/main/webapp/WEB-INF/shiro.ini
index a643d86..edf1a2b 100644
--- a/example/application/quickstart_wicket_restful_jdo/webapp/src/main/webapp/WEB-INF/shiro.ini
+++ b/example/application/quickstart_wicket_restful_jdo/webapp/src/main/webapp/WEB-INF/shiro.ini
@@ -69,7 +69,7 @@ securityManager.realms = $iniRealm
sven = pass, admin_role
-dick = pass, user_role, self-install_role
+dick = pass, user_role, analysis_role, self-install_role
bob = pass, user_role, self-install_role
joe = pass, user_role, self-install_role
guest = guest, user_role
@@ -87,7 +87,11 @@ guest = guest, user_role
# role = perm1, perm2, perm3, ...
# perm in format: packageName:className:memberName:r,w
-user_role = *:ToDoItemsJdo:*:*,\
- *:ToDoItem:*:*
+user_role = *:ToDoItems:*:*,\
+ *:ToDoItem:*:*
+analysis_role = *:ToDoItemAnalysis:*:*,\
+ *:ToDoItemsByCategoryViewModel:*:*,\
+ *:ToDoItemsByDateRangeViewModel:*:*,\
+ *:ToDoAppDashboard:*:*
self-install_role = *:ToDoItemsFixturesService:install:*
admin_role = *