You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ah...@apache.org on 2019/11/19 20:11:26 UTC
[isis] branch 2177-object-manager updated: ISIS-2177: removes
Oid_State, marks Bookmark.ObjectState deprecated
This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a commit to branch 2177-object-manager
in repository https://gitbox.apache.org/repos/asf/isis.git
The following commit(s) were added to refs/heads/2177-object-manager by this push:
new f34def4 ISIS-2177: removes Oid_State, marks Bookmark.ObjectState deprecated
f34def4 is described below
commit f34def4d254dc198c37d62e781a4d8c4cf3845d1
Author: Andi Huber <ah...@apache.org>
AuthorDate: Tue Nov 19 21:11:18 2019 +0100
ISIS-2177: removes Oid_State, marks Bookmark.ObjectState deprecated
---
.../isis/applib/services/bookmark/Bookmark.java | 18 ++---
.../org/apache/isis/metamodel/adapter/oid/Oid.java | 12 +--
.../isis/metamodel/adapter/oid/Oid_Marshaller.java | 8 +-
.../isis/metamodel/adapter/oid/Oid_Root.java | 36 ++++++---
.../isis/metamodel/adapter/oid/Oid_State.java | 93 ----------------------
5 files changed, 46 insertions(+), 121 deletions(-)
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/bookmark/Bookmark.java b/core/applib/src/main/java/org/apache/isis/applib/services/bookmark/Bookmark.java
index ebfcd5c..c685ba0 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/bookmark/Bookmark.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/bookmark/Bookmark.java
@@ -46,16 +46,23 @@ public class Bookmark implements Serializable {
@Getter private final String objectType;
@Getter private final String identifier;
+
@Getter private final ObjectState objectState;
+ /**
+ * @deprecated since 2.0, only kept for compatibility with common schema v1.1
+ */
+ @Deprecated
public enum ObjectState {
PERSISTENT("", BookmarkObjectState.PERSISTENT),
TRANSIENT("!", BookmarkObjectState.TRANSIENT), // same as OidMarshaller
VIEW_MODEL("*", BookmarkObjectState.VIEW_MODEL); // same as OidMarshaller
@Getter private final String code;
+
private final BookmarkObjectState bookmarkObjectState;
+
ObjectState(
final String code,
final BookmarkObjectState bookmarkObjectState) {
@@ -63,16 +70,6 @@ public class Bookmark implements Serializable {
this.bookmarkObjectState = bookmarkObjectState;
}
- public boolean isTransient() {
- return this == TRANSIENT;
- }
- public boolean isViewModel() {
- return this == VIEW_MODEL;
- }
- public boolean isPersistent() {
- return this == PERSISTENT;
- }
-
public static ObjectState from(final String objectType) {
if(objectType.startsWith(TRANSIENT.code)) return TRANSIENT;
if(objectType.startsWith(VIEW_MODEL.code)) return VIEW_MODEL;
@@ -96,6 +93,7 @@ public class Bookmark implements Serializable {
}
}
+ @Deprecated
public BookmarkObjectState toBookmarkState() {
return bookmarkObjectState;
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/adapter/oid/Oid.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/adapter/oid/Oid.java
index 6e0a394..eca322f 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/adapter/oid/Oid.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/adapter/oid/Oid.java
@@ -100,20 +100,22 @@ public interface Oid extends Encodable {
// -- LEGACY
public static RootOid ofBookmark(Bookmark bookmark) {
- return Oid_Root.of(ObjectSpecId.of(bookmark.getObjectType()),
- bookmark.getIdentifier(), Oid_State.from(bookmark));
+ return Oid_Root.of(
+ ObjectSpecId.of(bookmark.getObjectType()),
+ bookmark.getIdentifier(),
+ bookmark.getObjectState());
}
public static RootOid viewmodelOf(ObjectSpecId objectSpecId, String mementoStr) {
- return Oid_Root.of(objectSpecId, mementoStr, Oid_State.VIEWMODEL);
+ return Oid_Root.of(objectSpecId, mementoStr, Bookmark.ObjectState.VIEW_MODEL);
}
public static RootOid transientOf(ObjectSpecId objectSpecId, String identifier) {
- return Oid_Root.of(objectSpecId, identifier, Oid_State.TRANSIENT);
+ return Oid_Root.of(objectSpecId, identifier, Bookmark.ObjectState.TRANSIENT);
}
public static RootOid persistentOf(ObjectSpecId objectSpecId, String identifier) {
- return Oid_Root.of(objectSpecId, identifier, Oid_State.PERSISTENT);
+ return Oid_Root.of(objectSpecId, identifier, Bookmark.ObjectState.PERSISTENT);
}
// -- PARENTED COLLECTIONS
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/adapter/oid/Oid_Marshaller.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/adapter/oid/Oid_Marshaller.java
index d4c58ed..f3d99c0 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/adapter/oid/Oid_Marshaller.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/adapter/oid/Oid_Marshaller.java
@@ -148,13 +148,13 @@ final class Oid_Marshaller implements Oid.Marshaller, Oid.Unmarshaller {
}
final String isTransientOrViewModelStr = getGroup(matcher, 3);
- final Oid_State state;
+ final Bookmark.ObjectState state;
if("!".equals(isTransientOrViewModelStr)) {
- state = Oid_State.TRANSIENT;
+ state = Bookmark.ObjectState.TRANSIENT;
} else if("*".equals(isTransientOrViewModelStr)) {
- state = Oid_State.VIEWMODEL;
+ state = Bookmark.ObjectState.VIEW_MODEL;
} else {
- state = Oid_State.PERSISTENT;
+ state = Bookmark.ObjectState.PERSISTENT;
}
final String rootObjectType = getGroup(matcher, 4);
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/adapter/oid/Oid_Root.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/adapter/oid/Oid_Root.java
index fbd94e1..d12da9e 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/adapter/oid/Oid_Root.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/adapter/oid/Oid_Root.java
@@ -28,6 +28,7 @@ import org.apache.isis.commons.internal.encoding.DataOutputExtended;
import org.apache.isis.commons.internal.exceptions._Exceptions;
import org.apache.isis.commons.internal.url.UrlDecoderUtil;
import org.apache.isis.metamodel.spec.ObjectSpecId;
+import org.apache.isis.schema.common.v1.BookmarkObjectState;
import org.apache.isis.schema.common.v1.OidDto;
import static org.apache.isis.commons.internal.base._With.requires;
@@ -37,18 +38,22 @@ import lombok.val;
final class Oid_Root implements RootOid {
// -- fields
- private final static long serialVersionUID = 1L;
+ private final static long serialVersionUID = 2L;
private final ObjectSpecId objectSpecId;
private final String identifier;
- private final Oid_State state;
+ private final Bookmark.ObjectState state;
private final int hashCode;
- public static Oid_Root of(final ObjectSpecId objectSpecId, final String identifier, final Oid_State state) {
+ public static Oid_Root of(
+ ObjectSpecId objectSpecId,
+ String identifier,
+ Bookmark.ObjectState state) {
+
return new Oid_Root(objectSpecId, identifier, state);
}
- private Oid_Root(final ObjectSpecId objectSpecId, final String identifier, final Oid_State state) {
+ private Oid_Root(ObjectSpecId objectSpecId, String identifier, Bookmark.ObjectState state) {
requires(objectSpecId, "objectSpecId");
requires(identifier, "identifier");
@@ -120,27 +125,40 @@ final class Oid_Root implements RootOid {
@Override
public boolean isTransient() {
- return state.isTransient();
+ return state == Bookmark.ObjectState.TRANSIENT;
}
@Override
public boolean isViewModel() {
- return state.isViewModel();
+ return state == Bookmark.ObjectState.VIEW_MODEL;
}
@Override
public boolean isPersistent() {
- return state.isPersistent();
+ return state == Bookmark.ObjectState.PERSISTENT;
}
@Override
public Bookmark asBookmark() {
- return state.bookmarkOf(this);
+ val objectType = state.getCode() + getObjectSpecId().asString();
+ val identifier = getIdentifier();
+ return new Bookmark(objectType, identifier);
}
@Override
public OidDto asOidDto() {
- return state.toOidDto(this);
+
+ val oidDto = new OidDto();
+
+ oidDto.setType(getObjectSpecId().asString());
+ oidDto.setId(getIdentifier());
+
+ val bookmarkState = state.toBookmarkState();
+ // persistent is assumed if not specified...
+ oidDto.setObjectState(
+ bookmarkState != BookmarkObjectState.PERSISTENT ? bookmarkState : null);
+
+ return oidDto;
}
// -- equals, hashCode
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/adapter/oid/Oid_State.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/adapter/oid/Oid_State.java
deleted file mode 100644
index 888afc3..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/adapter/oid/Oid_State.java
+++ /dev/null
@@ -1,93 +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.metamodel.adapter.oid;
-
-import org.apache.isis.applib.services.bookmark.Bookmark;
-import org.apache.isis.commons.internal.exceptions._Exceptions;
-import org.apache.isis.schema.common.v1.BookmarkObjectState;
-import org.apache.isis.schema.common.v1.OidDto;
-
-enum Oid_State {
- PERSISTENT,
- TRANSIENT,
- VIEWMODEL;
-
- public boolean isTransient() {
- return this == TRANSIENT;
- }
- public boolean isViewModel() {
- return this == VIEWMODEL;
- }
- public boolean isPersistent() {
- return this == PERSISTENT;
- }
-
- public static Oid_State from(final Bookmark bookmark) {
- final Bookmark.ObjectState objectState = bookmark.getObjectState();
- return from(objectState);
- }
-
- public static Oid_State from(final Bookmark.ObjectState objectState) {
- switch (objectState) {
- case VIEW_MODEL:
- return VIEWMODEL;
- case TRANSIENT:
- return TRANSIENT;
- case PERSISTENT:
- return PERSISTENT;
- default:
- throw _Exceptions.unmatchedCase(objectState);
- }
- }
- public Bookmark.ObjectState asBookmarkObjectState() {
- switch (this) {
- case VIEWMODEL:
- return Bookmark.ObjectState.VIEW_MODEL;
- case TRANSIENT:
- return Bookmark.ObjectState.TRANSIENT;
- case PERSISTENT:
- return Bookmark.ObjectState.PERSISTENT;
- default:
- throw _Exceptions.unmatchedCase(this);
- }
- }
-
- public Bookmark bookmarkOf(RootOid rootOid) {
- final String objectType = asBookmarkObjectState().getCode() + rootOid.getObjectSpecId().asString();
- final String identifier = rootOid.getIdentifier();
- return new Bookmark(objectType, identifier);
- }
-
- public OidDto toOidDto(RootOid rootOid) {
-
- final OidDto oidDto = new OidDto();
-
- oidDto.setType(rootOid.getObjectSpecId().asString());
- oidDto.setId(rootOid.getIdentifier());
-
- final Bookmark.ObjectState objectState = asBookmarkObjectState();
- final BookmarkObjectState bookmarkState = objectState.toBookmarkState();
- // persistent is assumed if not specified...
- oidDto.setObjectState(
- bookmarkState != BookmarkObjectState.PERSISTENT ? bookmarkState : null);
-
- return oidDto;
- }
-
-}
\ No newline at end of file