You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by mb...@apache.org on 2018/08/02 23:11:25 UTC
[commons-weaver] branch master updated: WEAVER-16 handle classes
with no package
This is an automated email from the ASF dual-hosted git repository.
mbenson pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-weaver.git
The following commit(s) were added to refs/heads/master by this push:
new 2602313 WEAVER-16 handle classes with no package
2602313 is described below
commit 26023136195cff65a6629c45756ea8332b50cc0a
Author: Matt Benson <mb...@apache.org>
AuthorDate: Thu Aug 2 18:11:19 2018 -0500
WEAVER-16 handle classes with no package
---
.../src/main/java/org/apache/commons/weaver/model/ScanResult.java | 5 ++++-
.../main/java/org/apache/commons/weaver/model/WeavablePackage.java | 4 +++-
2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/processor/src/main/java/org/apache/commons/weaver/model/ScanResult.java b/processor/src/main/java/org/apache/commons/weaver/model/ScanResult.java
index 7f3ce0e..71bcf10 100644
--- a/processor/src/main/java/org/apache/commons/weaver/model/ScanResult.java
+++ b/processor/src/main/java/org/apache/commons/weaver/model/ScanResult.java
@@ -26,6 +26,7 @@ import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.Iterator;
import java.util.NoSuchElementException;
+import java.util.Optional;
import java.util.concurrent.ConcurrentNavigableMap;
import java.util.concurrent.ConcurrentSkipListMap;
@@ -181,7 +182,9 @@ public class ScanResult {
* @return {@link WeavablePackage}
*/
public WeavablePackage getWeavable(final Package pkg) {
- final String key = pkg.getName();
+ final String key =
+ Optional.ofNullable(pkg).map(Package::getName).orElse("");
+
if (packages.containsKey(key)) {
return packages.get(key);
}
diff --git a/processor/src/main/java/org/apache/commons/weaver/model/WeavablePackage.java b/processor/src/main/java/org/apache/commons/weaver/model/WeavablePackage.java
index e1a5c9a..e789a5f 100644
--- a/processor/src/main/java/org/apache/commons/weaver/model/WeavablePackage.java
+++ b/processor/src/main/java/org/apache/commons/weaver/model/WeavablePackage.java
@@ -19,6 +19,7 @@
package org.apache.commons.weaver.model;
import java.util.Collections;
+import java.util.Comparator;
import java.util.concurrent.ConcurrentNavigableMap;
import java.util.concurrent.ConcurrentSkipListMap;
@@ -26,6 +27,7 @@ import java.util.concurrent.ConcurrentSkipListMap;
* {@link Weavable} {@link Package}.
*/
public class WeavablePackage extends Weavable<WeavablePackage, Package> {
+ private static final Comparator<WeavablePackage> CMP = Comparator.nullsFirst(Comparator.comparing(WeavablePackage::getTarget, Comparator.nullsFirst(Comparator.comparing(Package::getName))));
private final ConcurrentNavigableMap<String, WeavableClass<?>> clazzes = new ConcurrentSkipListMap<>();
@@ -71,6 +73,6 @@ public class WeavablePackage extends Weavable<WeavablePackage, Package> {
*/
@Override
public int compareTo(final WeavablePackage arg0) {
- return getTarget().getName().compareTo(arg0.getTarget().getName());
+ return CMP.compare(this, arg0);
}
}