summaryrefslogtreecommitdiff
path: root/src/de/lmu/ifi/dbs/elki/datasource/GeneratorXMLDatabaseConnection.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/de/lmu/ifi/dbs/elki/datasource/GeneratorXMLDatabaseConnection.java')
-rw-r--r--src/de/lmu/ifi/dbs/elki/datasource/GeneratorXMLDatabaseConnection.java50
1 files changed, 36 insertions, 14 deletions
diff --git a/src/de/lmu/ifi/dbs/elki/datasource/GeneratorXMLDatabaseConnection.java b/src/de/lmu/ifi/dbs/elki/datasource/GeneratorXMLDatabaseConnection.java
index 5d3dbbf9..faf557f0 100644
--- a/src/de/lmu/ifi/dbs/elki/datasource/GeneratorXMLDatabaseConnection.java
+++ b/src/de/lmu/ifi/dbs/elki/datasource/GeneratorXMLDatabaseConnection.java
@@ -52,7 +52,7 @@ import de.lmu.ifi.dbs.elki.data.synthetic.bymodel.GeneratorStatic;
import de.lmu.ifi.dbs.elki.datasource.bundle.MultipleObjectsBundle;
import de.lmu.ifi.dbs.elki.logging.Logging;
import de.lmu.ifi.dbs.elki.math.linearalgebra.Vector;
-import de.lmu.ifi.dbs.elki.math.statistics.distribution.Distribution;
+import de.lmu.ifi.dbs.elki.math.statistics.distribution.DistributionWithRandom;
import de.lmu.ifi.dbs.elki.math.statistics.distribution.GammaDistribution;
import de.lmu.ifi.dbs.elki.math.statistics.distribution.NormalDistribution;
import de.lmu.ifi.dbs.elki.math.statistics.distribution.UniformDistribution;
@@ -73,6 +73,8 @@ import de.lmu.ifi.dbs.elki.utilities.xml.XMLNodeIterator;
* supported) data sets that satisfy a given specification file.
*
* @author Erich Schubert
+ *
+ * @apiviz.composedOf GeneratorMain
*/
public class GeneratorXMLDatabaseConnection implements DatabaseConnection {
/**
@@ -237,7 +239,9 @@ public class GeneratorXMLDatabaseConnection implements DatabaseConnection {
testAgainstModel = (Integer.valueOf(testmod) != 0);
}
// TODO: check for unknown attributes.
- for(Node child : new XMLNodeIterator(cur.getFirstChild())) {
+ XMLNodeIterator iter = new XMLNodeIterator(cur.getFirstChild());
+ while(iter.hasNext()) {
+ Node child = iter.next();
if(child.getNodeName() == "cluster") {
processElementCluster(gen, child);
}
@@ -285,7 +289,9 @@ public class GeneratorXMLDatabaseConnection implements DatabaseConnection {
GeneratorSingleCluster cluster = new GeneratorSingleCluster(name, size, overweight, newRand);
// TODO: check for unknown attributes.
- for(Node child : new XMLNodeIterator(cur.getFirstChild())) {
+ XMLNodeIterator iter = new XMLNodeIterator(cur.getFirstChild());
+ while(iter.hasNext()) {
+ Node child = iter.next();
if(child.getNodeName() == "uniform") {
processElementUniform(cluster, child);
}
@@ -334,11 +340,13 @@ public class GeneratorXMLDatabaseConnection implements DatabaseConnection {
// *** new uniform generator
Random random = cluster.getNewRandomGenerator();
- Distribution generator = new UniformDistribution(min, max, random);
+ DistributionWithRandom generator = new UniformDistribution(min, max, random);
cluster.addGenerator(generator);
// TODO: check for unknown attributes.
- for(Node child : new XMLNodeIterator(cur.getFirstChild())) {
+ XMLNodeIterator iter = new XMLNodeIterator(cur.getFirstChild());
+ while(iter.hasNext()) {
+ Node child = iter.next();
if(child.getNodeType() == Node.ELEMENT_NODE) {
logger.warning("Unknown element in XML specification file: " + child.getNodeName());
}
@@ -366,11 +374,13 @@ public class GeneratorXMLDatabaseConnection implements DatabaseConnection {
// *** New normal distribution generator
Random random = cluster.getNewRandomGenerator();
- Distribution generator = new NormalDistribution(mean, stddev, random);
+ DistributionWithRandom generator = new NormalDistribution(mean, stddev, random);
cluster.addGenerator(generator);
// TODO: check for unknown attributes.
- for(Node child : new XMLNodeIterator(cur.getFirstChild())) {
+ XMLNodeIterator iter = new XMLNodeIterator(cur.getFirstChild());
+ while(iter.hasNext()) {
+ Node child = iter.next();
if(child.getNodeType() == Node.ELEMENT_NODE) {
logger.warning("Unknown element in XML specification file: " + child.getNodeName());
}
@@ -398,11 +408,13 @@ public class GeneratorXMLDatabaseConnection implements DatabaseConnection {
// *** New normal distribution generator
Random random = cluster.getNewRandomGenerator();
- Distribution generator = new GammaDistribution(k, theta, random);
+ DistributionWithRandom generator = new GammaDistribution(k, theta, random);
cluster.addGenerator(generator);
// TODO: check for unknown attributes.
- for(Node child : new XMLNodeIterator(cur.getFirstChild())) {
+ XMLNodeIterator iter = new XMLNodeIterator(cur.getFirstChild());
+ while(iter.hasNext()) {
+ Node child = iter.next();
if(child.getNodeType() == Node.ELEMENT_NODE) {
logger.warning("Unknown element in XML specification file: " + child.getNodeName());
}
@@ -447,7 +459,9 @@ public class GeneratorXMLDatabaseConnection implements DatabaseConnection {
cluster.addRotation(axis1 - 1, axis2 - 1, Math.toRadians(angle));
// TODO: check for unknown attributes.
- for(Node child : new XMLNodeIterator(cur.getFirstChild())) {
+ XMLNodeIterator iter = new XMLNodeIterator(cur.getFirstChild());
+ while(iter.hasNext()) {
+ Node child = iter.next();
if(child.getNodeType() == Node.ELEMENT_NODE) {
logger.warning("Unknown element in XML specification file: " + child.getNodeName());
}
@@ -475,7 +489,9 @@ public class GeneratorXMLDatabaseConnection implements DatabaseConnection {
cluster.addTranslation(offset);
// TODO: check for unknown attributes.
- for(Node child : new XMLNodeIterator(cur.getFirstChild())) {
+ XMLNodeIterator iter = new XMLNodeIterator(cur.getFirstChild());
+ while(iter.hasNext()) {
+ Node child = iter.next();
if(child.getNodeType() == Node.ELEMENT_NODE) {
logger.warning("Unknown element in XML specification file: " + child.getNodeName());
}
@@ -509,7 +525,9 @@ public class GeneratorXMLDatabaseConnection implements DatabaseConnection {
cluster.setClipping(cmin, cmax);
// TODO: check for unknown attributes.
- for(Node child : new XMLNodeIterator(cur.getFirstChild())) {
+ XMLNodeIterator iter = new XMLNodeIterator(cur.getFirstChild());
+ while(iter.hasNext()) {
+ Node child = iter.next();
if(child.getNodeType() == Node.ELEMENT_NODE) {
logger.warning("Unknown element in XML specification file: " + child.getNodeName());
}
@@ -531,7 +549,9 @@ public class GeneratorXMLDatabaseConnection implements DatabaseConnection {
ArrayList<Vector> points = new ArrayList<Vector>();
// TODO: check for unknown attributes.
- for(Node child : new XMLNodeIterator(cur.getFirstChild())) {
+ XMLNodeIterator iter = new XMLNodeIterator(cur.getFirstChild());
+ while(iter.hasNext()) {
+ Node child = iter.next();
if(child.getNodeName() == "point") {
processElementPoint(points, child);
}
@@ -569,7 +589,9 @@ public class GeneratorXMLDatabaseConnection implements DatabaseConnection {
points.add(point);
// TODO: check for unknown attributes.
- for(Node child : new XMLNodeIterator(cur.getFirstChild())) {
+ XMLNodeIterator iter = new XMLNodeIterator(cur.getFirstChild());
+ while(iter.hasNext()) {
+ Node child = iter.next();
if(child.getNodeType() == Node.ELEMENT_NODE) {
logger.warning("Unknown element in XML specification file: " + child.getNodeName());
}