Move nested type to top level
git-svn-id: https://svn.apache.org/repos/asf/creadur/tentacles/trunk@1462981 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/main/java/org/apache/creadur/tentacles/Archive.java b/src/main/java/org/apache/creadur/tentacles/Archive.java
index d7373dd..4c9ebcd 100644
--- a/src/main/java/org/apache/creadur/tentacles/Archive.java
+++ b/src/main/java/org/apache/creadur/tentacles/Archive.java
@@ -27,7 +27,6 @@
import java.util.Set;
import org.apache.creadur.tentacles.Main.License;
-import org.apache.creadur.tentacles.Main.Notice;
public class Archive {
diff --git a/src/main/java/org/apache/creadur/tentacles/Main.java b/src/main/java/org/apache/creadur/tentacles/Main.java
index 8bf4d3e..8e62499 100644
--- a/src/main/java/org/apache/creadur/tentacles/Main.java
+++ b/src/main/java/org/apache/creadur/tentacles/Main.java
@@ -287,7 +287,7 @@
existing = notice;
}
- existing.locations.add(file);
+ existing.getLocations().add(file);
existing.getArchives().add(archive);
archive.getNotices().add(existing);
}
@@ -448,73 +448,6 @@
}
}
- public class Notice {
- private final String text;
- private final String key;
- private final Set<Archive> archives = new HashSet<Archive>();
- private final List<File> locations = new ArrayList<File>();
-
- public Notice(final String text) {
- this.text = text.intern();
- this.key =
- text.replaceAll("[ \\n\\t\\r]+", "").toLowerCase().intern();
- }
-
- public String getText() {
- return this.text;
- }
-
- public String getKey() {
- return this.key;
- }
-
- public Set<Archive> getArchives() {
- return this.archives;
- }
-
- public Set<URI> locations(final Archive archive) {
- final URI contents = archive.contentsURI();
- final Set<URI> locations = new HashSet<URI>();
- for (final File file : this.locations) {
- final URI uri = file.toURI();
- final URI relativize = contents.relativize(uri);
- if (!relativize.equals(uri)) {
- locations.add(relativize);
- }
- }
-
- return locations;
- }
-
- @Override
- public boolean equals(final Object o) {
- if (this == o) {
- return true;
- }
- if (o == null || getClass() != o.getClass()) {
- return false;
- }
-
- final Notice notice = (Notice) o;
-
- if (!this.key.equals(notice.key)) {
- return false;
- }
-
- return true;
- }
-
- @Override
- public int hashCode() {
- return this.key.hashCode();
- }
-
- public boolean implies(final Notice fullLicense) {
- return fullLicense.key.contains(this.key);
- }
-
- }
-
private File copyToMirror(final File src) throws IOException {
final URI uri = src.toURI();
diff --git a/src/main/java/org/apache/creadur/tentacles/Notice.java b/src/main/java/org/apache/creadur/tentacles/Notice.java
new file mode 100644
index 0000000..492e8cb
--- /dev/null
+++ b/src/main/java/org/apache/creadur/tentacles/Notice.java
@@ -0,0 +1,96 @@
+/**
+ * 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.creadur.tentacles;
+
+import java.io.File;
+import java.net.URI;
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+public class Notice {
+ private final String text;
+ private final String key;
+ private final Set<Archive> archives = new HashSet<Archive>();
+ private final List<File> locations = new ArrayList<File>();
+
+ public Notice(final String text) {
+ this.text = text.intern();
+ this.key = text.replaceAll("[ \\n\\t\\r]+", "").toLowerCase().intern();
+ }
+
+ public String getText() {
+ return this.text;
+ }
+
+ public String getKey() {
+ return this.key;
+ }
+
+ public Set<Archive> getArchives() {
+ return this.archives;
+ }
+
+ public List<File> getLocations() {
+ return this.locations;
+ }
+
+ public Set<URI> locations(final Archive archive) {
+ final URI contents = archive.contentsURI();
+ final Set<URI> locations = new HashSet<URI>();
+ for (final File file : this.locations) {
+ final URI uri = file.toURI();
+ final URI relativize = contents.relativize(uri);
+ if (!relativize.equals(uri)) {
+ locations.add(relativize);
+ }
+ }
+
+ return locations;
+ }
+
+ @Override
+ public boolean equals(final Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+
+ final Notice notice = (Notice) o;
+
+ if (!this.key.equals(notice.key)) {
+ return false;
+ }
+
+ return true;
+ }
+
+ @Override
+ public int hashCode() {
+ return this.key.hashCode();
+ }
+
+ public boolean implies(final Notice fullLicense) {
+ return fullLicense.key.contains(this.key);
+ }
+
+}
\ No newline at end of file