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 2020/09/16 08:00:42 UTC

[isis] branch master updated: ISIS-2426: move isis-tooling-commons stuff to isis-commons and remove isis-tooling-commons

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 a141af1  ISIS-2426: move isis-tooling-commons stuff to isis-commons and remove isis-tooling-commons
a141af1 is described below

commit a141af1a798b8661b6a183283b2c48fa98853adc
Author: Andi Huber <ah...@apache.org>
AuthorDate: Wed Sep 16 10:00:25 2020 +0200

    ISIS-2426: move isis-tooling-commons stuff to isis-commons and remove
    isis-tooling-commons
---
 .../isis/core/commons/internal/base}/_Files.java   | 55 +++++++++++++++++++++-
 tooling/commons/pom.xml                            | 38 ---------------
 tooling/javamodel/pom.xml                          |  4 +-
 .../tooling/javamodel/AnalyzerConfigFactory.java   |  5 +-
 .../isis/tooling/javamodel/test/AnalyzerTest.java  | 12 +++--
 tooling/model4adoc/pom.xml                         |  4 +-
 .../isis/tooling/model4adoc/AsciiDocWriter.java    |  2 +-
 .../model4adoc/ast/ContentNodeAbstract.java        |  2 +-
 .../tooling/adocmodel/test/AsciiDocWriterTest.java |  9 ++--
 .../apache/isis/tooling/adocmodel/test/Util.java}  | 33 +------------
 tooling/pom.xml                                    |  5 +-
 tooling/projectmodel/pom.xml                       |  4 +-
 .../tooling/projectmodel/ProjectNodeFactory.java   |  2 +-
 .../projectmodel/maven/SimpleModelResolver.java    |  3 +-
 14 files changed, 81 insertions(+), 97 deletions(-)

diff --git a/tooling/commons/src/main/java/org/apache/isis/tooling/_infra/_Files.java b/commons/src/main/java/org/apache/isis/core/commons/internal/base/_Files.java
similarity index 50%
rename from tooling/commons/src/main/java/org/apache/isis/tooling/_infra/_Files.java
rename to commons/src/main/java/org/apache/isis/core/commons/internal/base/_Files.java
index 11e54a9..0a84c96 100644
--- a/tooling/commons/src/main/java/org/apache/isis/tooling/_infra/_Files.java
+++ b/commons/src/main/java/org/apache/isis/core/commons/internal/base/_Files.java
@@ -1,4 +1,22 @@
-package org.apache.isis.tooling._infra;
+/*
+ *  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.commons.internal.base;
 
 import java.io.File;
 import java.io.IOException;
@@ -18,6 +36,16 @@ import lombok.val;
 
 public class _Files {
 
+    /**
+     * Recursive file search, starting at {@code dir}, going deeper based on predicate 
+     * {@code dirFilter}, collecting files (not directories) based on predicate 
+     * {@code fileFilter}.
+     * @param dir
+     * @param dirFilter
+     * @param fileFilter
+     * @return set of matching files
+     * @throws IOException
+     */
     public static Set<File> searchFiles(
             final File dir, 
             final Predicate<File> dirFilter, 
@@ -28,7 +56,16 @@ public class _Files {
         return fileList;
     }
     
-    /** recursive file search */
+    /**
+     * Recursive file search, starting at {@code dir}, going deeper based on predicate 
+     * {@code dirFilter}, consuming files (not directories) based on predicate 
+     * {@code fileFilter}.
+     * @param dir
+     * @param dirFilter
+     * @param fileFilter
+     * @param onFileFound
+     * @throws IOException
+     */
     public static void searchFiles(
             final File dir, 
             final Predicate<File> dirFilter, 
@@ -52,6 +89,13 @@ public class _Files {
         }
     }
     
+    /**
+     * 
+     * @param file
+     * @return optionally {@code file.getCanonicalPath()} based on whether {@code file} 
+     * is not {@code null} and the 'file I/O system' can handle this call without 
+     * throwing an exception.
+     */
     public static Optional<String> canonicalPath(@Nullable File file) {
         if(file==null) {
             return Optional.empty();
@@ -63,6 +107,13 @@ public class _Files {
         }
     }
     
+    /**
+     * 
+     * @param commonPath
+     * @param absolutePath
+     * @return prefix removed from {@code absolutePath}, if {@code commonPath} appears to be a prefix 
+     * of {@code absolutePath}, otherwise returns the {@code absolutePath} unmodified. 
+     */
     public static String toRelativePath(@NonNull String commonPath, @NonNull String absolutePath) {
         if(absolutePath.startsWith(commonPath)) {
             return absolutePath.substring(commonPath.length());
diff --git a/tooling/commons/pom.xml b/tooling/commons/pom.xml
deleted file mode 100644
index ba4434c..0000000
--- a/tooling/commons/pom.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-<?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 
-	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"
-	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-
-	<parent>
-		<groupId>org.apache.isis.tooling</groupId>
-		<artifactId>isis-tooling</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
-	</parent>
-
-	<artifactId>isis-tooling-commons</artifactId>
-
-	<name>Apache Isis Tooling - Commons</name>
-	<description>
-        Shared tooling classes.
-    </description>
-
-	<properties>
-	</properties>
-
-	<dependencies>
-	</dependencies>
-
-</project>
-
-
diff --git a/tooling/javamodel/pom.xml b/tooling/javamodel/pom.xml
index 7e8ee26..c47c7d8 100644
--- a/tooling/javamodel/pom.xml
+++ b/tooling/javamodel/pom.xml
@@ -34,8 +34,8 @@
 	<dependencies>
 
 		<dependency>
-			<groupId>org.apache.isis.tooling</groupId>
-			<artifactId>isis-tooling-commons</artifactId>
+			<groupId>org.apache.isis.commons</groupId>
+			<artifactId>isis-commons</artifactId>
 		</dependency>
 		
 		<dependency>
diff --git a/tooling/javamodel/src/main/java/org/apache/isis/tooling/javamodel/AnalyzerConfigFactory.java b/tooling/javamodel/src/main/java/org/apache/isis/tooling/javamodel/AnalyzerConfigFactory.java
index 805efa8..537653c 100644
--- a/tooling/javamodel/src/main/java/org/apache/isis/tooling/javamodel/AnalyzerConfigFactory.java
+++ b/tooling/javamodel/src/main/java/org/apache/isis/tooling/javamodel/AnalyzerConfigFactory.java
@@ -22,12 +22,13 @@ import java.io.File;
 import java.util.EnumSet;
 import java.util.List;
 
-import org.apache.isis.tooling._infra._Files;
+import org.apache.isis.core.commons.internal.base._Files;
+
+import lombok.experimental.UtilityClass;
 
 import guru.nidi.codeassert.config.AnalyzerConfig;
 import guru.nidi.codeassert.config.Language;
 import guru.nidi.codeassert.config.ProjectLayout.Maven;
-import lombok.experimental.UtilityClass;
 
 @UtilityClass
 public class AnalyzerConfigFactory {
diff --git a/tooling/javamodel/src/test/java/org/apache/isis/tooling/javamodel/test/AnalyzerTest.java b/tooling/javamodel/src/test/java/org/apache/isis/tooling/javamodel/test/AnalyzerTest.java
index 4b61fc7..6b20c8e 100644
--- a/tooling/javamodel/src/test/java/org/apache/isis/tooling/javamodel/test/AnalyzerTest.java
+++ b/tooling/javamodel/src/test/java/org/apache/isis/tooling/javamodel/test/AnalyzerTest.java
@@ -18,9 +18,6 @@
  */
 package org.apache.isis.tooling.javamodel.test;
 
-import static guru.nidi.codeassert.config.Language.JAVA;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-
 import java.io.File;
 import java.util.Set;
 import java.util.stream.Collectors;
@@ -29,12 +26,17 @@ import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
-import org.apache.isis.tooling._infra._Files;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
+import org.apache.isis.core.commons.internal.base._Files;
 import org.apache.isis.tooling.javamodel.AnalyzerConfigFactory;
 
-import guru.nidi.codeassert.config.Language;
 import lombok.val;
 
+import guru.nidi.codeassert.config.Language;
+
+import static guru.nidi.codeassert.config.Language.JAVA;
+
 class AnalyzerTest {
 
     File projDir;
diff --git a/tooling/model4adoc/pom.xml b/tooling/model4adoc/pom.xml
index fe32007..3dfe085 100644
--- a/tooling/model4adoc/pom.xml
+++ b/tooling/model4adoc/pom.xml
@@ -40,8 +40,8 @@
 	<dependencies>
 
 		<dependency>
-			<groupId>org.apache.isis.tooling</groupId>
-			<artifactId>isis-tooling-commons</artifactId>
+			<groupId>org.apache.isis.commons</groupId>
+			<artifactId>isis-commons</artifactId>
 		</dependency>
 
 		<dependency>
diff --git a/tooling/model4adoc/src/main/java/org/apache/isis/tooling/model4adoc/AsciiDocWriter.java b/tooling/model4adoc/src/main/java/org/apache/isis/tooling/model4adoc/AsciiDocWriter.java
index ff47b07..18dd2c2 100644
--- a/tooling/model4adoc/src/main/java/org/apache/isis/tooling/model4adoc/AsciiDocWriter.java
+++ b/tooling/model4adoc/src/main/java/org/apache/isis/tooling/model4adoc/AsciiDocWriter.java
@@ -30,7 +30,7 @@ import org.asciidoctor.ast.Block;
 import org.asciidoctor.ast.Document;
 import org.asciidoctor.ast.Table;
 
-import org.apache.isis.tooling._infra._Strings;
+import org.apache.isis.core.commons.internal.base._Strings;
 
 import lombok.RequiredArgsConstructor;
 import lombok.val;
diff --git a/tooling/model4adoc/src/main/java/org/apache/isis/tooling/model4adoc/ast/ContentNodeAbstract.java b/tooling/model4adoc/src/main/java/org/apache/isis/tooling/model4adoc/ast/ContentNodeAbstract.java
index 6d68934..dd9acfb 100644
--- a/tooling/model4adoc/src/main/java/org/apache/isis/tooling/model4adoc/ast/ContentNodeAbstract.java
+++ b/tooling/model4adoc/src/main/java/org/apache/isis/tooling/model4adoc/ast/ContentNodeAbstract.java
@@ -26,7 +26,7 @@ import java.util.Map;
 import org.asciidoctor.ast.ContentNode;
 import org.asciidoctor.ast.Document;
 
-import org.apache.isis.tooling._infra._Strings;
+import org.apache.isis.core.commons.internal.base._Strings;
 
 import lombok.Getter;
 import lombok.Setter;
diff --git a/tooling/model4adoc/src/test/java/org/apache/isis/tooling/adocmodel/test/AsciiDocWriterTest.java b/tooling/model4adoc/src/test/java/org/apache/isis/tooling/adocmodel/test/AsciiDocWriterTest.java
index 279f0a6..272fd90 100644
--- a/tooling/model4adoc/src/test/java/org/apache/isis/tooling/adocmodel/test/AsciiDocWriterTest.java
+++ b/tooling/model4adoc/src/test/java/org/apache/isis/tooling/adocmodel/test/AsciiDocWriterTest.java
@@ -31,7 +31,6 @@ import org.junit.jupiter.api.Test;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-import org.apache.isis.tooling._infra._Strings;
 import org.apache.isis.tooling.model4adoc.AsciiDocWriter;
 
 import static org.apache.isis.tooling.model4adoc.AsciiDocFactory.*;
@@ -67,7 +66,7 @@ class AsciiDocWriterTest {
     @Test
     void testSimpleTable() throws IOException {
         
-        val adocRef = _Strings.readResource(this, "simple-table.adoc");
+        val adocRef = Util.readResource(this, "simple-table.adoc");
         
         val table = table(doc);
         table.setTitle("Table");
@@ -95,7 +94,7 @@ class AsciiDocWriterTest {
     @Test
     void testAttributedTable() throws IOException {
         
-        val adocRef = _Strings.readResource(this, "attributed-table.adoc");
+        val adocRef = Util.readResource(this, "attributed-table.adoc");
         
         val table = table(doc);
         table.setTitle("Some table");
@@ -119,7 +118,7 @@ class AsciiDocWriterTest {
     @Test @Disabled
     void testSimpleTableModel() throws IOException {
     
-        val adocRef = _Strings.readResource(this, "simple-table.adoc");
+        val adocRef = Util.readResource(this, "simple-table.adoc");
         val asciidoctor = Asciidoctor.Factory.create();
         val refDoc = asciidoctor.load(adocRef, new HashMap<String, Object>());
         
@@ -136,7 +135,7 @@ class AsciiDocWriterTest {
     @Test
     void testAttributedTableModel() throws IOException {
     
-        val adocRef = _Strings.readResource(this, "attributed-table.adoc");
+        val adocRef = Util.readResource(this, "attributed-table.adoc");
         val asciidoctor = Asciidoctor.Factory.create();
         val refDoc = asciidoctor.load(adocRef, new HashMap<String, Object>());
         
diff --git a/tooling/commons/src/main/java/org/apache/isis/tooling/_infra/_Strings.java b/tooling/model4adoc/src/test/java/org/apache/isis/tooling/adocmodel/test/Util.java
similarity index 51%
rename from tooling/commons/src/main/java/org/apache/isis/tooling/_infra/_Strings.java
rename to tooling/model4adoc/src/test/java/org/apache/isis/tooling/adocmodel/test/Util.java
index ce5e596..2f89f7f 100644
--- a/tooling/commons/src/main/java/org/apache/isis/tooling/_infra/_Strings.java
+++ b/tooling/model4adoc/src/test/java/org/apache/isis/tooling/adocmodel/test/Util.java
@@ -1,4 +1,4 @@
-package org.apache.isis.tooling._infra;
+package org.apache.isis.tooling.adocmodel.test;
 
 import java.io.InputStream;
 import java.nio.charset.StandardCharsets;
@@ -6,36 +6,7 @@ import java.util.Scanner;
 
 import javax.annotation.Nullable;
 
-public final class _Strings {
-    
-    /**
-     * @return whether {@code x} is of zero length or null.
-     */
-    public static boolean isNullOrEmpty(final @Nullable CharSequence x){
-        return x==null || x.length()==0;
-    }
-    
-    /**
-     * @param input
-     * @return null if the {@code input} is null or empty, the {@code input} otherwise 
-     */
-    public static @Nullable String emptyToNull(final @Nullable String input) {
-        if(isNullOrEmpty(input)) {
-            return null;
-        }
-        return input;
-    }
-
-    /**
-     * @param input
-     * @return the empty string if the {@code input} is null, the {@code input} otherwise 
-     */
-    public static String nullToEmpty(final @Nullable String input) {
-        if(input==null) {
-            return "";
-        }
-        return input;
-    }
+final class Util {
     
     // -- RESOURCE LOADING
 
diff --git a/tooling/pom.xml b/tooling/pom.xml
index b2113a1..4243a41 100644
--- a/tooling/pom.xml
+++ b/tooling/pom.xml
@@ -97,8 +97,8 @@
 			<!-- INTERNAL -->
 		
 			<dependency>
-				<groupId>org.apache.isis.tooling</groupId>
-				<artifactId>isis-tooling-commons</artifactId>
+				<groupId>org.apache.isis.commons</groupId>
+				<artifactId>isis-commons</artifactId>
 				<version>${project.version}</version>
 			</dependency>
 		
@@ -206,7 +206,6 @@
 	</dependencies>
 
 	<modules>
-		<module>commons</module>
 		<module>javamodel</module>
 		<module>model4adoc</module>
 		<module>projectmodel</module>
diff --git a/tooling/projectmodel/pom.xml b/tooling/projectmodel/pom.xml
index 14b0f4c..ceb830f 100644
--- a/tooling/projectmodel/pom.xml
+++ b/tooling/projectmodel/pom.xml
@@ -33,8 +33,8 @@
 	<dependencies>
 
 		<dependency>
-			<groupId>org.apache.isis.tooling</groupId>
-			<artifactId>isis-tooling-commons</artifactId>
+			<groupId>org.apache.isis.commons</groupId>
+			<artifactId>isis-commons</artifactId>
 		</dependency>
 
 		<dependency>
diff --git a/tooling/projectmodel/src/main/java/org/apache/isis/tooling/projectmodel/ProjectNodeFactory.java b/tooling/projectmodel/src/main/java/org/apache/isis/tooling/projectmodel/ProjectNodeFactory.java
index 8ed4423..9fcd6e7 100644
--- a/tooling/projectmodel/src/main/java/org/apache/isis/tooling/projectmodel/ProjectNodeFactory.java
+++ b/tooling/projectmodel/src/main/java/org/apache/isis/tooling/projectmodel/ProjectNodeFactory.java
@@ -30,7 +30,7 @@ import org.apache.maven.model.Model;
 import org.gradle.tooling.GradleConnector;
 import org.gradle.tooling.model.GradleProject;
 
-import org.apache.isis.tooling._infra._Strings;
+import org.apache.isis.core.commons.internal.base._Strings;
 import org.apache.isis.tooling.projectmodel.maven.MavenModelFactory;
 import org.apache.isis.tooling.projectmodel.maven.SimpleModelResolver;
 
diff --git a/tooling/projectmodel/src/main/java/org/apache/isis/tooling/projectmodel/maven/SimpleModelResolver.java b/tooling/projectmodel/src/main/java/org/apache/isis/tooling/projectmodel/maven/SimpleModelResolver.java
index 37f8151..551ab22 100644
--- a/tooling/projectmodel/src/main/java/org/apache/isis/tooling/projectmodel/maven/SimpleModelResolver.java
+++ b/tooling/projectmodel/src/main/java/org/apache/isis/tooling/projectmodel/maven/SimpleModelResolver.java
@@ -19,7 +19,6 @@
 package org.apache.isis.tooling.projectmodel.maven;
 
 import java.io.File;
-import java.io.IOException;
 import java.net.URL;
 import java.util.HashMap;
 import java.util.HashSet;
@@ -38,7 +37,7 @@ import org.apache.maven.model.resolution.InvalidRepositoryException;
 import org.apache.maven.model.resolution.ModelResolver;
 import org.apache.maven.model.resolution.UnresolvableModelException;
 
-import org.apache.isis.tooling._infra._Files;
+import org.apache.isis.core.commons.internal.base._Files;
 
 import lombok.Getter;
 import lombok.SneakyThrows;