diff options
Diffstat (limited to 'src/de/lmu/ifi/dbs/elki/datasource/ArrayAdapterDatabaseConnection.java')
-rw-r--r-- | src/de/lmu/ifi/dbs/elki/datasource/ArrayAdapterDatabaseConnection.java | 19 |
1 files changed, 4 insertions, 15 deletions
diff --git a/src/de/lmu/ifi/dbs/elki/datasource/ArrayAdapterDatabaseConnection.java b/src/de/lmu/ifi/dbs/elki/datasource/ArrayAdapterDatabaseConnection.java index 1779f851..244033c2 100644 --- a/src/de/lmu/ifi/dbs/elki/datasource/ArrayAdapterDatabaseConnection.java +++ b/src/de/lmu/ifi/dbs/elki/datasource/ArrayAdapterDatabaseConnection.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.datasource; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2013 + Copyright (C) 2014 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team @@ -31,8 +31,7 @@ import de.lmu.ifi.dbs.elki.data.DoubleVector; import de.lmu.ifi.dbs.elki.data.type.SimpleTypeInformation; import de.lmu.ifi.dbs.elki.data.type.TypeUtil; import de.lmu.ifi.dbs.elki.data.type.VectorFieldTypeInformation; -import de.lmu.ifi.dbs.elki.database.ids.DBID; -import de.lmu.ifi.dbs.elki.database.ids.DBIDUtil; +import de.lmu.ifi.dbs.elki.database.ids.DBIDFactory; import de.lmu.ifi.dbs.elki.datasource.bundle.MultipleObjectsBundle; import de.lmu.ifi.dbs.elki.utilities.exceptions.AbortException; @@ -97,11 +96,7 @@ public class ArrayAdapterDatabaseConnection implements DatabaseConnection { public MultipleObjectsBundle loadData() { MultipleObjectsBundle b = new MultipleObjectsBundle(); if(startid != null) { - List<DBID> ids = new ArrayList<>(data.length); - for(int i = 0; i < data.length; i++) { - ids.add(DBIDUtil.importInteger(startid.intValue() + i)); - } - b.appendColumn(TypeUtil.DBID, Arrays.asList(labels)); + b.setDBIDs(DBIDFactory.FACTORY.generateStaticDBIDRange(startid, data.length)); } int mind = Integer.MAX_VALUE; @@ -112,13 +107,7 @@ public class ArrayAdapterDatabaseConnection implements DatabaseConnection { maxd = Math.max(maxd, data[i].length); vecs.add(new DoubleVector(data[i])); } - SimpleTypeInformation<DoubleVector> type; - if(mind == maxd) { - type = new VectorFieldTypeInformation<>(DoubleVector.FACTORY, mind); - } - else { - type = new SimpleTypeInformation<>(DoubleVector.class); - } + SimpleTypeInformation<DoubleVector> type = new VectorFieldTypeInformation<>(DoubleVector.FACTORY, mind, maxd, DoubleVector.FACTORY.getDefaultSerializer()); b.appendColumn(type, vecs); if(labels != null) { if(labels.length != data.length) { |