From b0e9a9feef7e260eafd0c01e2d6fb375cee87c93 Mon Sep 17 00:00:00 2001 From: Thorsten Vitt <thorsten.vitt@uni-wuerzburg.de> Date: Mon, 27 May 2013 11:44:37 +0000 Subject: [PATCH] Skeleton for infrastructure to collect aggregation trees git-svn-id: https://develop.sub.uni-goettingen.de/repos/textgrid/trunk/services/aggregator@14087 7c539038-3410-0410-b1ec-0f2a7bf1c452 --- .../services/aggregator/tree/Aggregation.java | 11 ++++++ .../aggregator/tree/AggregationEntry.java | 18 ++++++++++ .../tree/AggregationTreeFactory.java | 35 +++++++++++++++++++ 3 files changed, 64 insertions(+) create mode 100644 src/main/java/info/textgrid/services/aggregator/tree/Aggregation.java create mode 100644 src/main/java/info/textgrid/services/aggregator/tree/AggregationEntry.java create mode 100644 src/main/java/info/textgrid/services/aggregator/tree/AggregationTreeFactory.java diff --git a/src/main/java/info/textgrid/services/aggregator/tree/Aggregation.java b/src/main/java/info/textgrid/services/aggregator/tree/Aggregation.java new file mode 100644 index 0000000..c34f630 --- /dev/null +++ b/src/main/java/info/textgrid/services/aggregator/tree/Aggregation.java @@ -0,0 +1,11 @@ +package info.textgrid.services.aggregator.tree; + +import info.textgrid.namespaces.metadata.core._2010.ObjectType; + +public class Aggregation extends AggregationEntry { + + public Aggregation(final ObjectType metadata) { + super(metadata); + } + +} diff --git a/src/main/java/info/textgrid/services/aggregator/tree/AggregationEntry.java b/src/main/java/info/textgrid/services/aggregator/tree/AggregationEntry.java new file mode 100644 index 0000000..6f29b92 --- /dev/null +++ b/src/main/java/info/textgrid/services/aggregator/tree/AggregationEntry.java @@ -0,0 +1,18 @@ +package info.textgrid.services.aggregator.tree; + +import info.textgrid.namespaces.metadata.core._2010.ObjectType; + + +public class AggregationEntry { + + private final ObjectType metadata; + + public AggregationEntry(final ObjectType metadata) { + this.metadata = metadata; + } + + public ObjectType getMetadata() { + return metadata; + } + +} diff --git a/src/main/java/info/textgrid/services/aggregator/tree/AggregationTreeFactory.java b/src/main/java/info/textgrid/services/aggregator/tree/AggregationTreeFactory.java new file mode 100644 index 0000000..943bd95 --- /dev/null +++ b/src/main/java/info/textgrid/services/aggregator/tree/AggregationTreeFactory.java @@ -0,0 +1,35 @@ +package info.textgrid.services.aggregator.tree; + +import info.textgrid.namespaces.metadata.core._2010.ObjectType; +import info.textgrid.services.aggregator.AggregationTreeWalker; + +import java.util.Deque; + +import com.google.common.collect.Lists; + +public class AggregationTreeFactory extends AggregationTreeWalker { + + private final Deque<AggregationEntry> stack = Lists.newLinkedList(); + private final Aggregation root; + + protected AggregationTreeFactory(final ObjectType root) { + super(); + this.root = new Aggregation(root); + stack.push(this.root); + walkAggregation(root, false); + } + + @Override + protected boolean walk(final ObjectType object, final boolean again) { + // TODO Auto-generated method stub + return super.walk(object, again); + } + + @Override + protected void walkAggregation(final ObjectType aggregation, + final boolean again) { + // TODO Auto-generated method stub + super.walkAggregation(aggregation, again); + } + +} -- GitLab