CategoryTree

This commit is contained in:
gexce
2017-09-28 19:09:11 +02:00
parent 22dc51df7a
commit 37ed0f291e
9 changed files with 236 additions and 109 deletions
@@ -0,0 +1,62 @@
package com.bayer.edam.migration.attic;
import java.util.ArrayList;
import java.util.List;
public class Tesssst {
public static void main(String[] args) {
List<String> entryCategories = new ArrayList<String>();
entryCategories.add("aaa/bbb");
entryCategories.add("aaa/bbb/ccc/ddd");
entryCategories.add("aaa");
entryCategories.add("xxx/yyy/zzz");
entryCategories.add("xxx/yyy/zzz/nnn");
entryCategories.add("xxx/yyy/zzz");
entryCategories.add("xxx/yyy/zzz");
entryCategories.add("xxx/yyy/zzz/ttt");
List<String> categories = new ArrayList<String>();
for (String entryCategory : entryCategories) {
List<String> tmpCategories = new ArrayList<String>();
boolean match = false;
for (String category : categories) {
if (match) {
System.out.println("Adding " + category);
tmpCategories.add(category);
continue;
}
if (category.length() < entryCategory.length() && category.equals(entryCategory.substring(0, category.length()))) {
System.out.println("Adding " + entryCategory);
tmpCategories.add(entryCategory);
match = true;
}
else if (category.length() >= entryCategory.length() && entryCategory.equals(category.substring(0, entryCategory.length()))) {
System.out.println("Adding " + category);
tmpCategories.add(category);
match = true;
}
else {
System.out.println("Adding " + category);
tmpCategories.add(category);
}
}
if (!match) {
System.out.println("Adding " + entryCategory);
tmpCategories.add(entryCategory);
match = true;
}
categories = tmpCategories;
}
System.out.println("\nOutcome:");
for (String s : categories) {
System.out.println(s);
}
}
}