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;