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 2022/01/09 09:14:16 UTC
[isis] branch master updated: ISIS-2856: applib, commons: handle deprecations
This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git
The following commit(s) were added to refs/heads/master by this push:
new 1e9c683 ISIS-2856: applib, commons: handle deprecations
1e9c683 is described below
commit 1e9c68327e7d297bbc6c731a7d6811835802e79a
Author: Andi Huber <ah...@apache.org>
AuthorDate: Sun Jan 9 10:13:26 2022 +0100
ISIS-2856: applib, commons: handle deprecations
- removals and update of comments and java-doc
---
.../org/apache/isis/applib/clock/VirtualClock.java | 24 ++--
.../events/ActionArgumentUsabilityEvent.java | 10 +-
.../events/ActionArgumentVisibilityEvent.java | 9 +-
.../internal/context/_Context_ThreadLocal.java | 148 ---------------------
.../apache/isis/commons/internal/debug/_Debug.java | 2 +-
5 files changed, 19 insertions(+), 174 deletions(-)
diff --git a/api/applib/src/main/java/org/apache/isis/applib/clock/VirtualClock.java b/api/applib/src/main/java/org/apache/isis/applib/clock/VirtualClock.java
index 6aadde2..9a638ac 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/clock/VirtualClock.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/clock/VirtualClock.java
@@ -108,7 +108,7 @@ public interface VirtualClock extends Serializable {
/**
* @deprecated convert use java.time variant instead (Joda Time is deprecated)
*/
- @Deprecated
+ @Deprecated // forRemoval=? ideally applib should no longer depend on joda.time, use converters instead
static VirtualClock nowAt(@NonNull final org.joda.time.LocalDate virtualNow) {
return nowAt(virtualNow.toDate());
}
@@ -116,7 +116,7 @@ public interface VirtualClock extends Serializable {
/**
* @deprecated convert use java.time variant instead (Joda Time is deprecated)
*/
- @Deprecated
+ @Deprecated // forRemoval=? ideally applib should no longer depend on joda.time, use converters instead
static VirtualClock nowAt(@NonNull final org.joda.time.LocalDateTime virtualNow) {
return nowAt(virtualNow.toDate());
}
@@ -124,7 +124,7 @@ public interface VirtualClock extends Serializable {
/**
* @deprecated convert use java.time variant instead (Joda Time is deprecated)
*/
- @Deprecated
+ @Deprecated // forRemoval=? ideally applib should no longer depend on joda.time, use converters instead
static VirtualClock nowAt(@NonNull final org.joda.time.DateTime virtualNow) {
return nowAt(virtualNow.toDate());
}
@@ -160,7 +160,7 @@ public interface VirtualClock extends Serializable {
/**
* @deprecated use java.time variant instead (Joda Time is deprecated)
*/
- @Deprecated
+ @Deprecated // forRemoval=? ideally applib should no longer depend on joda.time, use converters instead
static VirtualClock frozenAt(@NonNull final org.joda.time.LocalDate frozenAt) {
return frozenAt(frozenAt.toDate());
}
@@ -168,7 +168,7 @@ public interface VirtualClock extends Serializable {
/**
* @deprecated use java.time variant instead (Joda Time is deprecated)
*/
- @Deprecated
+ @Deprecated // forRemoval=? ideally applib should no longer depend on joda.time, use converters instead
static VirtualClock frozenAt(@NonNull final org.joda.time.LocalDateTime frozenAt) {
return frozenAt(frozenAt.toDate());
}
@@ -176,7 +176,7 @@ public interface VirtualClock extends Serializable {
/**
* @deprecated use java.time variant instead (Joda Time is deprecated)
*/
- @Deprecated
+ @Deprecated // forRemoval=? ideally applib should no longer depend on joda.time, use converters instead
static VirtualClock frozenAt(@NonNull final org.joda.time.DateTime frozenAt) {
return frozenAt(frozenAt.toDate());
}
@@ -295,7 +295,7 @@ public interface VirtualClock extends Serializable {
* @see #nowAsJodaDateTime()
* @deprecated use java.time variant instead (Joda Time is deprecated)
*/
- @Deprecated
+ @Deprecated // forRemoval=? ideally applib should no longer depend on joda.time, use converters instead
default org.joda.time.DateTime nowAsJodaDateTime(final @NonNull ZoneId zoneId) {
return new org.joda.time.DateTime(nowAsEpochMilli(), DateTimeZone.forID(zoneId.getId()));
}
@@ -308,7 +308,7 @@ public interface VirtualClock extends Serializable {
* @see #nowAsJodaDateTime(ZoneId)
* @deprecated use java.time variant instead (Joda Time is deprecated)
*/
- @Deprecated
+ @Deprecated // forRemoval=? ideally applib should no longer depend on joda.time, use converters instead
default org.joda.time.DateTime nowAsJodaDateTime() {
return nowAsJodaDateTime(ZoneId.systemDefault());
}
@@ -322,7 +322,7 @@ public interface VirtualClock extends Serializable {
*//**
* @deprecated use java.time variant instead (Joda Time is deprecated)
*/
- @Deprecated
+ @Deprecated // forRemoval=? ideally applib should no longer depend on joda.time, use converters instead
default org.joda.time.LocalDateTime nowAsJodaLocalDateTime(final @NonNull ZoneId zoneId) {
return nowAsJodaDateTime(zoneId).toLocalDateTime();
}
@@ -335,7 +335,7 @@ public interface VirtualClock extends Serializable {
* @see #nowAsJodaDateTime(ZoneId)
* @deprecated use java.time variant instead (Joda Time is deprecated)
*/
- @Deprecated
+ @Deprecated // forRemoval=? ideally applib should no longer depend on joda.time, use converters instead
default org.joda.time.LocalDateTime nowAsJodaLocalDateTime() {
return nowAsJodaDateTime().toLocalDateTime();
}
@@ -348,7 +348,7 @@ public interface VirtualClock extends Serializable {
* @see #nowAsJodaDateTime()
* @deprecated use java.time variant instead (Joda Time is deprecated)
*/
- @Deprecated
+ @Deprecated // forRemoval=? ideally applib should no longer depend on joda.time, use converters instead
default org.joda.time.LocalDate nowAsJodaLocalDate(final @NonNull ZoneId zoneId) {
return new org.joda.time.LocalDate(nowAsEpochMilli(), DateTimeZone.forID(zoneId.getId()));
}
@@ -361,7 +361,7 @@ public interface VirtualClock extends Serializable {
* @see #nowAsJodaLocalDate(ZoneId)
* @deprecated use java.time variant instead (Joda Time is deprecated)
*/
- @Deprecated
+ @Deprecated // forRemoval=? ideally applib should no longer depend on joda.time, use converters instead
default org.joda.time.LocalDate nowAsJodaLocalDate() {
val zoneId = ZoneId.systemDefault();
return nowAsJodaLocalDate(zoneId);
diff --git a/api/applib/src/main/java/org/apache/isis/applib/events/ActionArgumentUsabilityEvent.java b/api/applib/src/main/java/org/apache/isis/applib/events/ActionArgumentUsabilityEvent.java
index 0c4de01..e7190b5 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/events/ActionArgumentUsabilityEvent.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/events/ActionArgumentUsabilityEvent.java
@@ -22,17 +22,12 @@ import org.apache.isis.applib.Identifier;
import org.apache.isis.applib.services.wrapper.events.UsabilityEvent;
/**
- * <i>Supported only by {@link org.apache.isis.applib.services.wrapper.WrapperFactory} service, </i>
- * represents a check as to whether a particular argument for an action is disabled
+ * Represents a check as to whether a particular argument for an action is disabled
* or not.
- *
* <p>
* If {@link #getReason()} is not <tt>null</tt> then provides the reason why the
* argument's parameter should be disabled; otherwise the parameter can be entered.
- *
- * @deprecated
*/
-@Deprecated
public class ActionArgumentUsabilityEvent extends UsabilityEvent {
private final Object[] args;
@@ -59,7 +54,8 @@ public class ActionArgumentUsabilityEvent extends UsabilityEvent {
@Override
public String getReasonMessage() {
- return String.format("Invalid action argument. Position: %s. Reason: %s", this.getPosition(), super.getReasonMessage());
+ return String.format("Invalid action argument. Position: %s. Reason: %s",
+ this.getPosition(), super.getReasonMessage());
}
}
diff --git a/api/applib/src/main/java/org/apache/isis/applib/events/ActionArgumentVisibilityEvent.java b/api/applib/src/main/java/org/apache/isis/applib/events/ActionArgumentVisibilityEvent.java
index 2919df5..ecbf041 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/events/ActionArgumentVisibilityEvent.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/events/ActionArgumentVisibilityEvent.java
@@ -22,16 +22,12 @@ import org.apache.isis.applib.Identifier;
import org.apache.isis.applib.services.wrapper.events.VisibilityEvent;
/**
- * <i>Supported only by {@link org.apache.isis.applib.services.wrapper.WrapperFactory} service, </i> represents a check as to whether a particular parameter for an action is visible
+ * Check as to whether a particular parameter for an action is visible
* or not.
- *
* <p>
* If {@link #getReason()} is not <tt>null</tt> then provides the reason why the
* argument's parameter should be hidden; otherwise the parameter is shown.
- *
- * @deprecated
*/
-@Deprecated
public class ActionArgumentVisibilityEvent extends VisibilityEvent {
private final Object[] args;
@@ -58,7 +54,8 @@ public class ActionArgumentVisibilityEvent extends VisibilityEvent {
@Override
public String getReasonMessage() {
- return String.format("Invalid action argument. Position: %s. Reason: %s", this.getPosition(), super.getReasonMessage());
+ return String.format("Invalid action argument. Position: %s. Reason: %s",
+ this.getPosition(), super.getReasonMessage());
}
}
diff --git a/commons/src/main/java/org/apache/isis/commons/internal/context/_Context_ThreadLocal.java b/commons/src/main/java/org/apache/isis/commons/internal/context/_Context_ThreadLocal.java
deleted file mode 100644
index 4b06d67..0000000
--- a/commons/src/main/java/org/apache/isis/commons/internal/context/_Context_ThreadLocal.java
+++ /dev/null
@@ -1,148 +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.commons.internal.context;
-
-import java.util.Map;
-
-import org.apache.isis.commons.collections.Can;
-import org.apache.isis.commons.internal.base._Casts;
-import org.apache.isis.commons.internal.collections._Maps;
-import org.apache.isis.commons.internal.collections._Multimaps;
-
-import lombok.NonNull;
-import lombok.Value;
-import lombok.val;
-
-/**
- * <h1>- internal use only -</h1>
- * <p>
- * Package private mixin for _Context.
- * Provides a context for storing and retrieving thread local object references.
- * </p>
- * <p>
- * <b>WARNING</b>: Do <b>NOT</b> use any of the classes provided by this package! <br/>
- * These may be changed or removed without notice!
- * </p>
- *
- * @since 2.0
- *
- */
-@Deprecated // no longer in use
-final class _Context_ThreadLocal {
-
- // -- MIXINS
-
- @Value(staticConstructor = "of")
- private static final class ThreadKey {
- long threadId;
- int threadHashCode;
- static ThreadKey of(final Thread thread) {
- return of(thread.getId(), thread.hashCode());
- }
- }
-
- static <T> Runnable put(final @NonNull Class<? super T> type, final @NonNull T variant) {
- val threadLocalMap = getOrCreateThreadLocalMap();
- threadLocalMap
- .compute(type, (k, v) -> v == null
- ? Can.<T>ofSingleton(variant)
- : Can.<T>concat(_Casts.uncheckedCast(v), variant));
-
- val key = THREAD_LOCAL_MAP_KEY.get();
-
- return ()->{MAPS_BY_KEY.remove(key);};
- }
-
- static <T> Can<T> select(final Class<? super T> type, final Class<? super T> instanceOf) {
- val bin = _Context_ThreadLocal.<T>get(type);
- return bin.filter(t -> isInstanceOf(t, instanceOf));
- }
-
- private static boolean isInstanceOf(final Object obj, final Class<?> type) {
- return type.isAssignableFrom(obj.getClass());
- }
-
- static <T> Can<T> get(final Class<? super T> type) {
- val threadLocalMap = getThreadLocalMap();
- if(threadLocalMap==null) {
- return Can.empty();
- }
- val bin = threadLocalMap.get(type);
- if(bin==null) {
- return Can.empty();
- }
- return _Casts.uncheckedCast(bin);
- }
-
- static void clear(final Class<?> type) {
- val threadLocalMap = getThreadLocalMap();
- if(threadLocalMap==null) {
- return;
- }
- threadLocalMap.remove(type);
- }
-
- static void cleanupThread() {
- val key = THREAD_LOCAL_MAP_KEY.get();
- THREAD_LOCAL_MAP_KEY.remove();
- MAPS_BY_KEY.remove(key);
- }
-
- // -- HELPER
-
- private _Context_ThreadLocal(){}
-
- static void clear() {
- MAPS_BY_KEY.clear();
- }
-
- // /**
- // * Inheritable... allows to have concurrent computations utilizing the ForkJoinPool.
- // */
- // private static final ThreadLocal<Map<Class<?>, Bin<?>>> THREAD_LOCAL_MAP =
- // InheritableThreadLocal.withInitial(HashMap::new);
-
- /**
- * Inheritable... allows to have concurrent computations utilizing the ForkJoinPool.
- */
- private static final ThreadLocal<ThreadKey> THREAD_LOCAL_MAP_KEY =
- InheritableThreadLocal.withInitial(()->ThreadKey.of(Thread.currentThread()));
-
-
- private static final _Multimaps.MapMultimap<ThreadKey, Class<?>, Can<?>> MAPS_BY_KEY =
- _Multimaps.newConcurrentMapMultimap();
-
- private static Map<Class<?>, Can<?>> getThreadLocalMap() {
- val key = THREAD_LOCAL_MAP_KEY.get(); // non-null
- val threadLocalMap = MAPS_BY_KEY.get(key); // might be null
- return threadLocalMap;
- }
-
- private static Map<Class<?>, Can<?>> getOrCreateThreadLocalMap() {
- val key = THREAD_LOCAL_MAP_KEY.get(); // non-null
- val threadLocalMap = MAPS_BY_KEY.get(key); // might be null
- if(threadLocalMap!=null) {
- return threadLocalMap;
- }
- val map = _Maps.<Class<?>, Can<?>>newHashMap();
- MAPS_BY_KEY.put(key, map);
- return map;
- }
-
-}
diff --git a/commons/src/main/java/org/apache/isis/commons/internal/debug/_Debug.java b/commons/src/main/java/org/apache/isis/commons/internal/debug/_Debug.java
index 74588b0..4e76158 100644
--- a/commons/src/main/java/org/apache/isis/commons/internal/debug/_Debug.java
+++ b/commons/src/main/java/org/apache/isis/commons/internal/debug/_Debug.java
@@ -43,7 +43,7 @@ import lombok.experimental.UtilityClass;
* to indicate that any call to this class is temporary for debugging purposes
* and should be removed ultimately
*/
-@Deprecated // do not remove, see java-doc
+@Deprecated(forRemoval = false) // do not remove, see java-doc
@UtilityClass
public class _Debug {