From 7bd77c670dc60862b9f6abffe93b287880084f3d Mon Sep 17 00:00:00 2001 From: tilman Date: Sun, 14 May 2017 15:51:21 +0200 Subject: [PATCH] done --- AH-TreeReader/.~lock.Categories.ods# | 1 + AH-TreeReader/Categories.ods | Bin 0 -> 14314 bytes AH-TreeReader/categories.txt | 577 ++++++++++++++++++ AH-TreeReader/pom.xml | 5 + .../de/tilman/AHTreeReader/AHTreeReader.java | 46 +- .../src/de/tilman/AHTreeReader/PlainApp.java | 2 +- .../src/de/tilman/AHTreeReader/Tree.java | 6 +- 7 files changed, 611 insertions(+), 26 deletions(-) create mode 100644 AH-TreeReader/.~lock.Categories.ods# create mode 100644 AH-TreeReader/Categories.ods create mode 100644 AH-TreeReader/categories.txt diff --git a/AH-TreeReader/.~lock.Categories.ods# b/AH-TreeReader/.~lock.Categories.ods# new file mode 100644 index 0000000..6b563a2 --- /dev/null +++ b/AH-TreeReader/.~lock.Categories.ods# @@ -0,0 +1 @@ +,tilman,tilman-ThinkPad-T420,14.05.2017 15:51,file:///home/tilman/.config/libreoffice/4; \ No newline at end of file diff --git a/AH-TreeReader/Categories.ods b/AH-TreeReader/Categories.ods new file mode 100644 index 0000000000000000000000000000000000000000..39813e29907745222ad3e31e9c5cd5cf09864008 GIT binary patch literal 14314 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 4.5.3 + + commons-io + commons-io + 2.5 + diff --git a/AH-TreeReader/src/de/tilman/AHTreeReader/AHTreeReader.java b/AH-TreeReader/src/de/tilman/AHTreeReader/AHTreeReader.java index a774976..8e2736b 100644 --- a/AH-TreeReader/src/de/tilman/AHTreeReader/AHTreeReader.java +++ b/AH-TreeReader/src/de/tilman/AHTreeReader/AHTreeReader.java @@ -1,6 +1,7 @@ package de.tilman.AHTreeReader; import java.io.ByteArrayInputStream; +import java.io.File; import java.nio.charset.StandardCharsets; import javax.xml.parsers.DocumentBuilder; @@ -10,6 +11,7 @@ import javax.xml.xpath.XPathConstants; import javax.xml.xpath.XPathExpression; import javax.xml.xpath.XPathFactory; +import org.apache.commons.io.FileUtils; import org.apache.http.HttpEntity; import org.apache.http.HttpHost; import org.apache.http.client.methods.CloseableHttpResponse; @@ -37,6 +39,8 @@ public class AHTreeReader { DocumentBuilder builder; XPath xpath = XPathFactory.newInstance().newXPath(); + File file = new File("categories.txt"); + public AHTreeReader() { System.out.println("Aloha, funky time"); @@ -53,18 +57,26 @@ public class AHTreeReader { builder = factory.newDocumentBuilder(); getMainCategories(); - getSubcategories(tree.root); + getSubcategories(tree.root, 1); } catch (Exception e) { e.printStackTrace(); } } - private void getSubcategories(TreeNode node) throws Exception { + private void getSubcategories(TreeNode node, int level) throws Exception { for (TreeNode n : node.children) { - System.out.println("\n----------------"); - System.out.println("Looking for " + n.key + "\n"); + // 1. Write node into file + StringBuffer csvLine = new StringBuffer(); + for (int i=0; i < level; i++) { + csvLine.append(";"); + } + csvLine.append(n.value); + csvLine.append('\n'); + FileUtils.writeStringToFile(file, csvLine.toString(), StandardCharsets.UTF_8, true); + + // 2. Retrieve children and recurse httpPost = new HttpPost("https://media-assistant.animalhealth.bayer.com/assets/php/ajax_getCategoryFolderSubnavi.php"); httpPost.setHeader("Cookie", cookie); @@ -86,30 +98,19 @@ public class AHTreeReader { if (content.indexOf("