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 2022/07/31 12:08:42 UTC
[isis] 01/01: ISIS-3002: don't (in general) use prefix for IdStringifiers
This is an automated email from the ASF dual-hosted git repository.
danhaywood pushed a commit to branch ISIS-3002
in repository https://gitbox.apache.org/repos/asf/isis.git
commit f8bbe676bffdf37d947846400e38b7297e193a58
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Sun Jul 31 13:07:41 2022 +0100
ISIS-3002: don't (in general) use prefix for IdStringifiers
only uuid does, in order to support ObjectId
---
.../applib/services/bookmark/IdStringifier.java | 23 +++++++++++++
.../idstringifiers/IdStringifierForBigDecimal.java | 6 ++--
.../idstringifiers/IdStringifierForBigInteger.java | 6 ++--
.../idstringifiers/IdStringifierForByte.java | 6 ++--
.../idstringifiers/IdStringifierForInteger.java | 6 ++--
.../idstringifiers/IdStringifierForLong.java | 6 ++--
.../idstringifiers/IdStringifierForShort.java | 6 ++--
examples/demo/domain/pom.xml | 6 ----
examples/demo/pom.xml | 40 +++++++++++++---------
.../commandlog/jpa/dom/CommandLogEntryPK.java | 8 ++---
.../sessionlog/jpa/dom/SessionLogEntryPK.java | 8 ++---
extensions/sse/pom.xml | 38 +++++++++++++++-----
.../facets/entity/IdStringifierForByteId.java | 6 ++--
.../entity/IdStringifierForByteIdentity.java | 6 ++--
.../facets/entity/IdStringifierForIntId.java | 6 ++--
.../facets/entity/IdStringifierForIntIdentity.java | 6 ++--
.../facets/entity/IdStringifierForLongId.java | 6 ++--
.../entity/IdStringifierForLongIdentity.java | 6 ++--
.../facets/entity/IdStringifierForShortId.java | 6 ++--
.../entity/IdStringifierForShortIdentity.java | 6 ++--
.../bootstrap/css/bootstrap-overrides-all-v2.css | 21 ++++++++----
21 files changed, 141 insertions(+), 87 deletions(-)
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/bookmark/IdStringifier.java b/api/applib/src/main/java/org/apache/isis/applib/services/bookmark/IdStringifier.java
index 50074aac9b..c787333d20 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/bookmark/IdStringifier.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/bookmark/IdStringifier.java
@@ -20,6 +20,8 @@
package org.apache.isis.applib.services.bookmark;
+import java.util.UUID;
+
import org.springframework.lang.Nullable;
import lombok.NonNull;
@@ -114,8 +116,29 @@ public interface IdStringifier<T> {
|| primitiveValueClassIfAny != null
&& primitiveValueClassIfAny.isAssignableFrom(candidateValueClass);
}
+
+ /**
+ * Overridable default implementation.
+ * @param value
+ * @return
+ */
+ @Override
+ public String enstring(@NonNull T value) {
+ return value.toString();
+ }
+
}
+ /**
+ * Provided for backward compatibility with some v1 Ids that used a prefix to determine their actual type.
+ *
+ * <p>
+ * (In v2 we provide this so in the constructor, so there's no need to encode the type in the stringified form
+ * of the value).
+ * </p>
+ *
+ * @param <T>
+ */
abstract class AbstractWithPrefix<T> extends Abstract<T> {
private final String prefix;
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/bookmark/idstringifiers/IdStringifierForBigDecimal.java b/api/applib/src/main/java/org/apache/isis/applib/services/bookmark/idstringifiers/IdStringifierForBigDecimal.java
index f84308c325..4034e6e033 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/bookmark/idstringifiers/IdStringifierForBigDecimal.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/bookmark/idstringifiers/IdStringifierForBigDecimal.java
@@ -32,14 +32,14 @@ import lombok.NonNull;
@Component
@Priority(PriorityPrecedence.LATE)
-public class IdStringifierForBigDecimal extends IdStringifier.AbstractWithPrefix<BigDecimal> {
+public class IdStringifierForBigDecimal extends IdStringifier.Abstract<BigDecimal> {
public IdStringifierForBigDecimal() {
- super(BigDecimal.class, "D");
+ super(BigDecimal.class);
}
@Override
- protected BigDecimal doDestring(final @NonNull String stringified, @NonNull Class<?> targetEntityClass) {
+ public BigDecimal destring(final @NonNull String stringified, @NonNull Class<?> targetEntityClass) {
return new BigDecimal(stringified);
}
}
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/bookmark/idstringifiers/IdStringifierForBigInteger.java b/api/applib/src/main/java/org/apache/isis/applib/services/bookmark/idstringifiers/IdStringifierForBigInteger.java
index 47529bf523..a26f51535d 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/bookmark/idstringifiers/IdStringifierForBigInteger.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/bookmark/idstringifiers/IdStringifierForBigInteger.java
@@ -32,14 +32,14 @@ import lombok.NonNull;
@Component
@Priority(PriorityPrecedence.LATE)
-public class IdStringifierForBigInteger extends IdStringifier.AbstractWithPrefix<BigInteger> {
+public class IdStringifierForBigInteger extends IdStringifier.Abstract<BigInteger> {
public IdStringifierForBigInteger() {
- super(BigInteger.class, "I");
+ super(BigInteger.class);
}
@Override
- protected BigInteger doDestring(final @NonNull String stringified, @NonNull Class<?> targetEntityClass) {
+ public BigInteger destring(final @NonNull String stringified, @NonNull Class<?> targetEntityClass) {
return new BigInteger(stringified);
}
}
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/bookmark/idstringifiers/IdStringifierForByte.java b/api/applib/src/main/java/org/apache/isis/applib/services/bookmark/idstringifiers/IdStringifierForByte.java
index f1b903852c..af75dd86b3 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/bookmark/idstringifiers/IdStringifierForByte.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/bookmark/idstringifiers/IdStringifierForByte.java
@@ -30,14 +30,14 @@ import lombok.NonNull;
@Component
@Priority(PriorityPrecedence.LATE)
-public class IdStringifierForByte extends IdStringifier.AbstractWithPrefix<Byte> {
+public class IdStringifierForByte extends IdStringifier.Abstract<Byte> {
public IdStringifierForByte() {
- super(Byte.class, "b", byte.class);
+ super(Byte.class, byte.class);
}
@Override
- protected Byte doDestring(final @NonNull String stringified, @NonNull Class<?> targetEntityClass) {
+ public Byte destring(final @NonNull String stringified, @NonNull Class<?> targetEntityClass) {
return Byte.parseByte(stringified);
}
}
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/bookmark/idstringifiers/IdStringifierForInteger.java b/api/applib/src/main/java/org/apache/isis/applib/services/bookmark/idstringifiers/IdStringifierForInteger.java
index 0f17364d13..8a82a6dcdf 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/bookmark/idstringifiers/IdStringifierForInteger.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/bookmark/idstringifiers/IdStringifierForInteger.java
@@ -30,14 +30,14 @@ import lombok.NonNull;
@Component
@Priority(PriorityPrecedence.LATE)
-public class IdStringifierForInteger extends IdStringifier.AbstractWithPrefix<Integer> {
+public class IdStringifierForInteger extends IdStringifier.Abstract<Integer> {
public IdStringifierForInteger() {
- super(Integer.class, "i", int.class);
+ super(Integer.class, int.class);
}
@Override
- protected Integer doDestring(final @NonNull String stringified, @NonNull Class<?> targetEntityClass) {
+ public Integer destring(final @NonNull String stringified, @NonNull Class<?> targetEntityClass) {
return Integer.parseInt(stringified);
}
}
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/bookmark/idstringifiers/IdStringifierForLong.java b/api/applib/src/main/java/org/apache/isis/applib/services/bookmark/idstringifiers/IdStringifierForLong.java
index 717ef92448..b4a8700179 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/bookmark/idstringifiers/IdStringifierForLong.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/bookmark/idstringifiers/IdStringifierForLong.java
@@ -30,14 +30,14 @@ import lombok.NonNull;
@Component
@Priority(PriorityPrecedence.LATE)
-public class IdStringifierForLong extends IdStringifier.AbstractWithPrefix<Long> {
+public class IdStringifierForLong extends IdStringifier.Abstract<Long> {
public IdStringifierForLong() {
- super(Long.class, "l", long.class);
+ super(Long.class, long.class);
}
@Override
- protected Long doDestring(final @NonNull String stringified, @NonNull Class<?> targetEntityClass) {
+ public Long destring(final @NonNull String stringified, @NonNull Class<?> targetEntityClass) {
return Long.parseLong(stringified);
}
}
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/bookmark/idstringifiers/IdStringifierForShort.java b/api/applib/src/main/java/org/apache/isis/applib/services/bookmark/idstringifiers/IdStringifierForShort.java
index 25f50ed112..0674da6c93 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/bookmark/idstringifiers/IdStringifierForShort.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/bookmark/idstringifiers/IdStringifierForShort.java
@@ -30,14 +30,14 @@ import lombok.NonNull;
@Component
@Priority(PriorityPrecedence.LATE)
-public class IdStringifierForShort extends IdStringifier.AbstractWithPrefix<Short> {
+public class IdStringifierForShort extends IdStringifier.Abstract<Short> {
public IdStringifierForShort() {
- super(Short.class, "s", short.class);
+ super(Short.class, short.class);
}
@Override
- protected Short doDestring(final @NonNull String stringified, @NonNull Class<?> targetEntityClass) {
+ public Short destring(final @NonNull String stringified, @NonNull Class<?> targetEntityClass) {
return Short.parseShort(stringified);
}
}
diff --git a/examples/demo/domain/pom.xml b/examples/demo/domain/pom.xml
index 6639a4fb01..1efa11e03c 100644
--- a/examples/demo/domain/pom.xml
+++ b/examples/demo/domain/pom.xml
@@ -147,12 +147,6 @@
<artifactId>h2</artifactId>
</dependency>
- <dependency>
- <groupId>org.projectlombok</groupId>
- <artifactId>lombok</artifactId>
- <scope>provided</scope>
- </dependency>
-
<dependency>
<groupId>org.apache.isis.valuetypes</groupId>
<artifactId>isis-valuetypes-markdown-applib</artifactId>
diff --git a/examples/demo/pom.xml b/examples/demo/pom.xml
index 3adea23db4..8eb7cdd4bc 100644
--- a/examples/demo/pom.xml
+++ b/examples/demo/pom.xml
@@ -186,41 +186,49 @@
</dependency>
</dependencies>
+ <modules>
+ <module>domain</module>
+ <module>web</module>
+ <module>wicket/common</module>
+ <module>wicket/jdo</module>
+ <module>wicket/jpa</module>
+ </modules>
+
<profiles>
<profile>
- <id>module-all</id>
+ <id>demo-jpa-and-graphql</id>
<activation>
<property>
- <name>module-all</name>
+ <name>demo-jpa-and-graphql</name>
</property>
</activation>
<modules>
- <module>domain</module>
- <module>javafx</module>
- <module>web</module>
- <module>wicket/common</module>
- <module>wicket/jdo</module>
- <module>wicket/jpa</module>
<module>wicket/jpa-and-graphql</module>
+ </modules>
+ </profile>
+ <profile>
+ <id>demo-vaadin</id>
+ <activation>
+ <property>
+ <name>demo-vaadin</name>
+ </property>
+ </activation>
+ <modules>
<module>vaadin</module>
</modules>
</profile>
-
<profile>
- <id>module-all-except-incubator</id>
+ <id>demo-javafx</id>
<activation>
<property>
- <name>module-all-except-incubator</name>
+ <name>demo-javafx</name>
</property>
</activation>
<modules>
- <module>domain</module>
- <module>web</module>
- <module>wicket/common</module>
- <module>wicket/jdo</module>
- <module>wicket/jpa</module>
+ <module>javafx</module>
</modules>
</profile>
+
</profiles>
</project>
diff --git a/extensions/core/commandlog/persistence-jpa/src/main/java/org/apache/isis/extensions/commandlog/jpa/dom/CommandLogEntryPK.java b/extensions/core/commandlog/persistence-jpa/src/main/java/org/apache/isis/extensions/commandlog/jpa/dom/CommandLogEntryPK.java
index 94a9e7d920..2b979e88bd 100644
--- a/extensions/core/commandlog/persistence-jpa/src/main/java/org/apache/isis/extensions/commandlog/jpa/dom/CommandLogEntryPK.java
+++ b/extensions/core/commandlog/persistence-jpa/src/main/java/org/apache/isis/extensions/commandlog/jpa/dom/CommandLogEntryPK.java
@@ -60,19 +60,19 @@ public class CommandLogEntryPK implements Serializable {
@Component
- public static class Stringifier extends IdStringifier.AbstractWithPrefix<CommandLogEntryPK> {
+ public static class Stringifier extends IdStringifier.Abstract<CommandLogEntryPK> {
public Stringifier() {
- super(CommandLogEntryPK.class, "u");
+ super(CommandLogEntryPK.class);
}
@Override
- public String doEnstring(CommandLogEntryPK value) {
+ public String enstring(CommandLogEntryPK value) {
return value.getInteractionId().toString();
}
@Override
- protected CommandLogEntryPK doDestring(@NonNull String stringified, @NonNull Class<?> targetEntityClass) {
+ public CommandLogEntryPK destring(@NonNull String stringified, @NonNull Class<?> targetEntityClass) {
return new CommandLogEntryPK(UUID.fromString(stringified));
}
}
diff --git a/extensions/security/sessionlog/persistence-jpa/src/main/java/org/apache/isis/extensions/sessionlog/jpa/dom/SessionLogEntryPK.java b/extensions/security/sessionlog/persistence-jpa/src/main/java/org/apache/isis/extensions/sessionlog/jpa/dom/SessionLogEntryPK.java
index 73dbe5d170..7512d6b86e 100644
--- a/extensions/security/sessionlog/persistence-jpa/src/main/java/org/apache/isis/extensions/sessionlog/jpa/dom/SessionLogEntryPK.java
+++ b/extensions/security/sessionlog/persistence-jpa/src/main/java/org/apache/isis/extensions/sessionlog/jpa/dom/SessionLogEntryPK.java
@@ -60,19 +60,19 @@ public class SessionLogEntryPK implements Serializable {
@Component
- public static class Stringifier extends IdStringifier.AbstractWithPrefix<SessionLogEntryPK> {
+ public static class Stringifier extends IdStringifier.Abstract<SessionLogEntryPK> {
public Stringifier() {
- super(SessionLogEntryPK.class, "u");
+ super(SessionLogEntryPK.class);
}
@Override
- public String doEnstring(SessionLogEntryPK value) {
+ public String enstring(SessionLogEntryPK value) {
return value.getSessionGuid().toString();
}
@Override
- protected SessionLogEntryPK doDestring(@NonNull String stringified, @NonNull Class<?> targetEntityClass) {
+ public SessionLogEntryPK destring(@NonNull String stringified, @NonNull Class<?> targetEntityClass) {
return new SessionLogEntryPK(UUID.fromString(stringified));
}
}
diff --git a/extensions/sse/pom.xml b/extensions/sse/pom.xml
index 7daf56c8df..80fd835f7e 100644
--- a/extensions/sse/pom.xml
+++ b/extensions/sse/pom.xml
@@ -1,13 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!-- 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
+<!-- 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. -->
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
@@ -26,6 +26,26 @@
<packaging>pom</packaging>
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.isis.extensions</groupId>
+ <artifactId>isis-extensions-sse-applib</artifactId>
+ <version>2.0.0-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.isis.extensions</groupId>
+ <artifactId>isis-extensions-sse-metamodel</artifactId>
+ <version>2.0.0-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.isis.extensions</groupId>
+ <artifactId>isis-extensions-sse-wicket</artifactId>
+ <version>2.0.0-SNAPSHOT</version>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+
<modules>
<module>applib</module>
<module>metamodel</module>
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/metamodel/facets/entity/IdStringifierForByteId.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/metamodel/facets/entity/IdStringifierForByteId.java
index eb36346bf3..0443d90324 100644
--- a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/metamodel/facets/entity/IdStringifierForByteId.java
+++ b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/metamodel/facets/entity/IdStringifierForByteId.java
@@ -30,14 +30,14 @@ import lombok.NonNull;
@Component
@Priority(PriorityPrecedence.LATE)
-public class IdStringifierForByteId extends IdStringifier.AbstractWithPrefix<ByteId> {
+public class IdStringifierForByteId extends IdStringifier.Abstract<ByteId> {
public IdStringifierForByteId() {
- super(ByteId.class, "b");
+ super(ByteId.class);
}
@Override
- protected ByteId doDestring(final @NonNull String stringified, final @NonNull Class<?> targetEntityClass) {
+ public ByteId destring(final @NonNull String stringified, final @NonNull Class<?> targetEntityClass) {
return new ByteId(targetEntityClass, stringified);
}
}
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/metamodel/facets/entity/IdStringifierForByteIdentity.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/metamodel/facets/entity/IdStringifierForByteIdentity.java
index bf8cab9c3a..219ccce367 100644
--- a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/metamodel/facets/entity/IdStringifierForByteIdentity.java
+++ b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/metamodel/facets/entity/IdStringifierForByteIdentity.java
@@ -30,14 +30,14 @@ import lombok.NonNull;
@Component
@Priority(PriorityPrecedence.LATE)
-public class IdStringifierForByteIdentity extends IdStringifier.AbstractWithPrefix<ByteIdentity> {
+public class IdStringifierForByteIdentity extends IdStringifier.Abstract<ByteIdentity> {
public IdStringifierForByteIdentity() {
- super(ByteIdentity.class, "b");
+ super(ByteIdentity.class);
}
@Override
- protected ByteIdentity doDestring(final @NonNull String stringified, final @NonNull Class<?> targetEntityClass) {
+ public ByteIdentity destring(final @NonNull String stringified, final @NonNull Class<?> targetEntityClass) {
return new ByteIdentity(targetEntityClass, stringified);
}
}
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/metamodel/facets/entity/IdStringifierForIntId.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/metamodel/facets/entity/IdStringifierForIntId.java
index d891690f0a..13285c40f6 100644
--- a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/metamodel/facets/entity/IdStringifierForIntId.java
+++ b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/metamodel/facets/entity/IdStringifierForIntId.java
@@ -31,14 +31,14 @@ import lombok.NonNull;
@Component
@Priority(PriorityPrecedence.LATE)
-public class IdStringifierForIntId extends IdStringifier.AbstractWithPrefix<IntId> {
+public class IdStringifierForIntId extends IdStringifier.Abstract<IntId> {
public IdStringifierForIntId() {
- super(IntId.class, "i");
+ super(IntId.class);
}
@Override
- protected IntId doDestring(final @NonNull String stringified, final @NonNull Class<?> targetEntityClass) {
+ public IntId destring(final @NonNull String stringified, final @NonNull Class<?> targetEntityClass) {
return new IntId(targetEntityClass, stringified);
}
}
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/metamodel/facets/entity/IdStringifierForIntIdentity.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/metamodel/facets/entity/IdStringifierForIntIdentity.java
index bbf89516ed..5a849f4d12 100644
--- a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/metamodel/facets/entity/IdStringifierForIntIdentity.java
+++ b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/metamodel/facets/entity/IdStringifierForIntIdentity.java
@@ -30,14 +30,14 @@ import lombok.NonNull;
@Component
@Priority(PriorityPrecedence.LATE)
-public class IdStringifierForIntIdentity extends IdStringifier.AbstractWithPrefix<IntIdentity> {
+public class IdStringifierForIntIdentity extends IdStringifier.Abstract<IntIdentity> {
public IdStringifierForIntIdentity() {
- super(IntIdentity.class, "i");
+ super(IntIdentity.class);
}
@Override
- protected IntIdentity doDestring(final @NonNull String stringified, final @NonNull Class<?> targetEntityClass) {
+ public IntIdentity destring(final @NonNull String stringified, final @NonNull Class<?> targetEntityClass) {
return new IntIdentity(targetEntityClass, stringified);
}
}
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/metamodel/facets/entity/IdStringifierForLongId.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/metamodel/facets/entity/IdStringifierForLongId.java
index c4ac428c0b..e58dcb237c 100644
--- a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/metamodel/facets/entity/IdStringifierForLongId.java
+++ b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/metamodel/facets/entity/IdStringifierForLongId.java
@@ -31,14 +31,14 @@ import lombok.NonNull;
@Component
@Priority(PriorityPrecedence.LATE)
-public class IdStringifierForLongId extends IdStringifier.AbstractWithPrefix<LongId> {
+public class IdStringifierForLongId extends IdStringifier.Abstract<LongId> {
public IdStringifierForLongId() {
- super(LongId.class, "l");
+ super(LongId.class);
}
@Override
- protected LongId doDestring(final @NonNull String stringified, final @NonNull Class<?> targetEntityClass) {
+ public LongId destring(final @NonNull String stringified, final @NonNull Class<?> targetEntityClass) {
return new LongId(targetEntityClass, stringified);
}
}
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/metamodel/facets/entity/IdStringifierForLongIdentity.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/metamodel/facets/entity/IdStringifierForLongIdentity.java
index 4c059c723b..c288e61829 100644
--- a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/metamodel/facets/entity/IdStringifierForLongIdentity.java
+++ b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/metamodel/facets/entity/IdStringifierForLongIdentity.java
@@ -30,14 +30,14 @@ import lombok.NonNull;
@Component
@Priority(PriorityPrecedence.LATE)
-public class IdStringifierForLongIdentity extends IdStringifier.AbstractWithPrefix<LongIdentity> {
+public class IdStringifierForLongIdentity extends IdStringifier.Abstract<LongIdentity> {
public IdStringifierForLongIdentity() {
- super(LongIdentity.class, "l");
+ super(LongIdentity.class);
}
@Override
- protected LongIdentity doDestring(final @NonNull String stringified, final @NonNull Class<?> targetEntityClass) {
+ public LongIdentity destring(final @NonNull String stringified, final @NonNull Class<?> targetEntityClass) {
return new LongIdentity(targetEntityClass, stringified);
}
}
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/metamodel/facets/entity/IdStringifierForShortId.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/metamodel/facets/entity/IdStringifierForShortId.java
index 1a588375e0..f84d5cf027 100644
--- a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/metamodel/facets/entity/IdStringifierForShortId.java
+++ b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/metamodel/facets/entity/IdStringifierForShortId.java
@@ -31,14 +31,14 @@ import lombok.NonNull;
@Component
@Priority(PriorityPrecedence.LATE)
-public class IdStringifierForShortId extends IdStringifier.AbstractWithPrefix<ShortId> {
+public class IdStringifierForShortId extends IdStringifier.Abstract<ShortId> {
public IdStringifierForShortId() {
- super(ShortId.class, "t");
+ super(ShortId.class);
}
@Override
- protected ShortId doDestring(final @NonNull String stringified, final @NonNull Class<?> targetEntityClass) {
+ public ShortId destring(final @NonNull String stringified, final @NonNull Class<?> targetEntityClass) {
return new ShortId(targetEntityClass, stringified);
}
}
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/metamodel/facets/entity/IdStringifierForShortIdentity.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/metamodel/facets/entity/IdStringifierForShortIdentity.java
index 3f55a8e9f1..01929e2e57 100644
--- a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/metamodel/facets/entity/IdStringifierForShortIdentity.java
+++ b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/metamodel/facets/entity/IdStringifierForShortIdentity.java
@@ -30,14 +30,14 @@ import lombok.NonNull;
@Component
@Priority(PriorityPrecedence.LATE)
-public class IdStringifierForShortIdentity extends IdStringifier.AbstractWithPrefix<ShortIdentity> {
+public class IdStringifierForShortIdentity extends IdStringifier.Abstract<ShortIdentity> {
public IdStringifierForShortIdentity() {
- super(ShortIdentity.class, "s");
+ super(ShortIdentity.class);
}
@Override
- protected ShortIdentity doDestring(final @NonNull String stringified, final @NonNull Class<?> targetEntityClass) {
+ public ShortIdentity destring(final @NonNull String stringified, final @NonNull Class<?> targetEntityClass) {
return new ShortIdentity(targetEntityClass, stringified);
}
}
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/common/bootstrap/css/bootstrap-overrides-all-v2.css b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/common/bootstrap/css/bootstrap-overrides-all-v2.css
index 224238d960..de3fb3caa0 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/common/bootstrap/css/bootstrap-overrides-all-v2.css
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/common/bootstrap/css/bootstrap-overrides-all-v2.css
@@ -37,8 +37,16 @@ body {
margin-bottom: 0px;
}
+.navbar.primary ul.dropdown-menu,
+.navbar-nav.secondary ul.dropdown-menu,
+.navbar-nav.tertiary ul.dropdown-menu {
+ max-height: 600px;
+ overflow-y: auto;
+ overflow-x: hidden;
+}
+
/* emulate .dropdown-menu-right for secondary and tertiary dropdown menus */
-.navbar-nav.secondary .dropdown-menu,
+.navbar-nav.secondary .dropdown-menu,
.navbar-nav.tertiary .dropdown-menu {
right: 0;
left: auto;
@@ -106,7 +114,7 @@ td .badge,
color: var(--link-color);
}
.nav-link:focus, .nav-link:hover,
-a:focus, a:hover,
+a:focus, a:hover,
.btn-link:focus, .btn-link:hover {
color: var(--link-color-hover);
}
@@ -836,6 +844,7 @@ div.referencePanel.scalarNameAndValueComponentType {
.scalarValueWrapper ul.additionalLinkList {
padding-bottom: 5px;
+ margin-left: -6.4px;
}
.scalarValueWrapper ul.additionalLinkListInline li.additionalLinkItem {
@@ -971,10 +980,10 @@ footer .footer-image {
margin-bottom: 4px;
}
-/* fit button-group inside surrounding value input box
+/* fit button-group inside surrounding value input box
obsolete when changing button size more generally
.scalarValueInput .btn-group-sm > .btn {
- padding: .20rem .5rem;
+ padding: .20rem .5rem;
}
*/
@@ -1247,8 +1256,8 @@ ul.navbar-wrap {
}
span.wkt-component-with-tooltip,
-label.wkt-component-with-tooltip,
-.wkt-component-with-tooltip label,
+label.wkt-component-with-tooltip,
+.wkt-component-with-tooltip label,
strong.wkt-component-with-tooltip {
text-decoration-line: underline;
text-decoration-style: dotted;