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 2018/09/26 10:53:11 UTC
[isis] 06/06: ISIS-1976: move Oid.State -> Oid_State and make it
package private
This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a commit to branch v2
in repository https://gitbox.apache.org/repos/asf/isis.git
commit 2f962190637e23544ca49cd8a66f8caa256a1b8f
Author: Andi Huber <ah...@apache.org>
AuthorDate: Wed Sep 26 12:50:43 2018 +0200
ISIS-1976: move Oid.State -> Oid_State and make it package private
Task-Url: https://issues.apache.org/jira/browse/ISIS-1976
---
.../isis/core/metamodel/adapter/oid/Oid.java | 80 +------------------
.../core/metamodel/adapter/oid/Oid_Marshaller.java | 9 +--
.../isis/core/metamodel/adapter/oid/Oid_Root.java | 8 +-
.../isis/core/metamodel/adapter/oid/Oid_State.java | 93 ++++++++++++++++++++++
4 files changed, 105 insertions(+), 85 deletions(-)
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/oid/Oid.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/oid/Oid.java
index 06706b8..d7441e9 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/oid/Oid.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/oid/Oid.java
@@ -21,13 +21,10 @@ package org.apache.isis.core.metamodel.adapter.oid;
import org.apache.isis.applib.annotation.Value;
import org.apache.isis.applib.services.bookmark.Bookmark;
-import org.apache.isis.commons.internal.exceptions._Exceptions;
import org.apache.isis.core.commons.encoding.Encodable;
import org.apache.isis.core.metamodel.adapter.version.Version;
import org.apache.isis.core.metamodel.spec.ObjectSpecId;
import org.apache.isis.core.metamodel.spec.feature.OneToManyAssociation;
-import org.apache.isis.schema.common.v1.BookmarkObjectState;
-import org.apache.isis.schema.common.v1.OidDto;
/**
@@ -67,75 +64,6 @@ public interface Oid extends Encodable {
default boolean isValue() {
return false; // default, only overridden by Oid_Value
}
-
- public static enum State {
- PERSISTENT,
- TRANSIENT,
- VIEWMODEL;
-
- public boolean isTransient() {
- return this == TRANSIENT;
- }
- public boolean isViewModel() {
- return this == VIEWMODEL;
- }
- public boolean isPersistent() {
- return this == PERSISTENT;
- }
-
- public static State from(final Bookmark bookmark) {
- final Bookmark.ObjectState objectState = bookmark.getObjectState();
- return from(objectState);
- }
-
- public static 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;
- }
-
- }
// -- MARSHALLING
@@ -184,15 +112,15 @@ public interface Oid extends Encodable {
public static RootOid ofBookmark(final Bookmark bookmark) {
return Oid_Root.of(ObjectSpecId.of(bookmark.getObjectType()),
- bookmark.getIdentifier(), State.from(bookmark), Version.empty());
+ bookmark.getIdentifier(), Oid_State.from(bookmark), Version.empty());
}
public static RootOid viewmodelOf(ObjectSpecId objectSpecId, String mementoStr) {
- return Oid_Root.of(objectSpecId, mementoStr, State.VIEWMODEL, Version.empty());
+ return Oid_Root.of(objectSpecId, mementoStr, Oid_State.VIEWMODEL, Version.empty());
}
public static RootOid transientOf(final ObjectSpecId objectSpecId, final String identifier) {
- return Oid_Root.of(objectSpecId, identifier, State.TRANSIENT, Version.empty());
+ return Oid_Root.of(objectSpecId, identifier, Oid_State.TRANSIENT, Version.empty());
}
public static RootOid persistentOf(final ObjectSpecId objectSpecId, final String identifier) {
@@ -212,7 +140,7 @@ public interface Oid extends Encodable {
}
public static RootOid persistentOf(final ObjectSpecId objectSpecId, final String identifier, final Long versionSequence, final String versionUser, final Long versionUtcTimestamp) {
- return Oid_Root.of(objectSpecId, identifier, State.PERSISTENT,
+ return Oid_Root.of(objectSpecId, identifier, Oid_State.PERSISTENT,
Version.Factory.ifPresent(versionSequence, versionUser, versionUtcTimestamp));
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/oid/Oid_Marshaller.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/oid/Oid_Marshaller.java
index ebc1323..bed9fa9 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/oid/Oid_Marshaller.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/oid/Oid_Marshaller.java
@@ -30,7 +30,6 @@ import org.apache.isis.commons.internal.base._Casts;
import org.apache.isis.commons.internal.base._Strings;
import org.apache.isis.commons.internal.collections._Lists;
import org.apache.isis.core.commons.ensure.Ensure;
-import org.apache.isis.core.metamodel.adapter.oid.Oid.State;
import org.apache.isis.core.metamodel.adapter.version.Version;
import org.apache.isis.core.metamodel.spec.ObjectSpecId;
@@ -155,13 +154,13 @@ final class Oid_Marshaller implements Oid.Marshaller, Oid.Unmarshaller {
}
final String isTransientOrViewModelStr = getGroup(matcher, 3);
- final State state;
+ final Oid_State state;
if("!".equals(isTransientOrViewModelStr)) {
- state = State.TRANSIENT;
+ state = Oid_State.TRANSIENT;
} else if("*".equals(isTransientOrViewModelStr)) {
- state = State.VIEWMODEL;
+ state = Oid_State.VIEWMODEL;
} else {
- state = State.PERSISTENT;
+ state = Oid_State.PERSISTENT;
}
final String rootObjectType = getGroup(matcher, 4);
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/oid/Oid_Root.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/oid/Oid_Root.java
index d6e547b..03c67ba 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/oid/Oid_Root.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/oid/Oid_Root.java
@@ -39,22 +39,22 @@ final class Oid_Root implements RootOid {
private final ObjectSpecId objectSpecId;
private final String identifier;
- private final Oid.State state;
+ private final Oid_State state;
private final int hashCode;
// not part of equality check
private Version version;
- public static Oid_Root of(final ObjectSpecId objectSpecId, final String identifier, final State state) {
+ public static Oid_Root of(final ObjectSpecId objectSpecId, final String identifier, final Oid_State state) {
return of(objectSpecId, identifier, state, Version.empty());
}
- public static Oid_Root of(final ObjectSpecId objectSpecId, final String identifier, final State state, final Version version) {
+ public static Oid_Root of(final ObjectSpecId objectSpecId, final String identifier, final Oid_State state, final Version version) {
return new Oid_Root(objectSpecId, identifier, state, version);
}
- private Oid_Root(final ObjectSpecId objectSpecId, final String identifier, final State state, final Version version) {
+ private Oid_Root(final ObjectSpecId objectSpecId, final String identifier, final Oid_State state, final Version version) {
requires(objectSpecId, "objectSpecId");
requires(identifier, "identifier");
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/oid/Oid_State.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/oid/Oid_State.java
new file mode 100644
index 0000000..a91e05c
--- /dev/null
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/oid/Oid_State.java
@@ -0,0 +1,93 @@
+/*
+ * 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.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