summaryrefslogtreecommitdiff
path: root/src/de/lmu/ifi/dbs/elki/persistent
diff options
context:
space:
mode:
Diffstat (limited to 'src/de/lmu/ifi/dbs/elki/persistent')
-rw-r--r--src/de/lmu/ifi/dbs/elki/persistent/AbstractExternalizablePage.java (renamed from src/de/lmu/ifi/dbs/elki/persistent/AbstractPage.java)26
-rw-r--r--src/de/lmu/ifi/dbs/elki/persistent/AbstractPageFile.java6
-rw-r--r--src/de/lmu/ifi/dbs/elki/persistent/AbstractStoringPageFile.java14
-rw-r--r--src/de/lmu/ifi/dbs/elki/persistent/ByteArrayUtil.java2
-rw-r--r--src/de/lmu/ifi/dbs/elki/persistent/ByteBufferInputStream.java2
-rw-r--r--src/de/lmu/ifi/dbs/elki/persistent/ByteBufferOutputStream.java2
-rw-r--r--src/de/lmu/ifi/dbs/elki/persistent/ByteBufferSerializer.java2
-rw-r--r--src/de/lmu/ifi/dbs/elki/persistent/DefaultPageHeader.java2
-rw-r--r--src/de/lmu/ifi/dbs/elki/persistent/ExternalizablePage.java36
-rw-r--r--src/de/lmu/ifi/dbs/elki/persistent/FixedSizeByteBufferSerializer.java2
-rw-r--r--src/de/lmu/ifi/dbs/elki/persistent/LRUCache.java8
-rw-r--r--src/de/lmu/ifi/dbs/elki/persistent/MemoryPageFile.java12
-rw-r--r--src/de/lmu/ifi/dbs/elki/persistent/OnDiskArray.java6
-rw-r--r--src/de/lmu/ifi/dbs/elki/persistent/OnDiskArrayPageFile.java4
-rw-r--r--src/de/lmu/ifi/dbs/elki/persistent/OnDiskUpperTriangleMatrix.java2
-rw-r--r--src/de/lmu/ifi/dbs/elki/persistent/Page.java10
-rw-r--r--src/de/lmu/ifi/dbs/elki/persistent/PageFile.java4
-rw-r--r--src/de/lmu/ifi/dbs/elki/persistent/PageFileStatistics.java2
-rw-r--r--src/de/lmu/ifi/dbs/elki/persistent/PageFileUtil.java2
-rw-r--r--src/de/lmu/ifi/dbs/elki/persistent/PageHeader.java2
-rw-r--r--src/de/lmu/ifi/dbs/elki/persistent/PersistentPageFile.java8
-rw-r--r--src/de/lmu/ifi/dbs/elki/persistent/package-info.java2
22 files changed, 92 insertions, 64 deletions
diff --git a/src/de/lmu/ifi/dbs/elki/persistent/AbstractPage.java b/src/de/lmu/ifi/dbs/elki/persistent/AbstractExternalizablePage.java
index 25ed8b7f..194b594f 100644
--- a/src/de/lmu/ifi/dbs/elki/persistent/AbstractPage.java
+++ b/src/de/lmu/ifi/dbs/elki/persistent/AbstractExternalizablePage.java
@@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.persistent;
This file is part of ELKI:
Environment for Developing KDD-Applications Supported by Index-Structures
- Copyright (C) 2011
+ Copyright (C) 2012
Ludwig-Maximilians-Universität München
Lehr- und Forschungseinheit für Datenbanksysteme
ELKI Development Team
@@ -31,11 +31,9 @@ import java.io.ObjectOutput;
* Abstract superclass for pages.
*
* @author Elke Achtert
- *
- * @apiviz.uses PageFile
*/
// todo elke revise comments
-public abstract class AbstractPage implements Page {
+public abstract class AbstractExternalizablePage implements ExternalizablePage {
/**
* Serial version
*/
@@ -44,7 +42,7 @@ public abstract class AbstractPage implements Page {
/**
* The unique id if this page.
*/
- private Integer id;
+ private int id;
/**
* The dirty flag of this page.
@@ -54,8 +52,9 @@ public abstract class AbstractPage implements Page {
/**
* Empty constructor for Externalizable interface.
*/
- public AbstractPage() {
+ public AbstractExternalizablePage() {
super();
+ this.id = -1;
}
/**
@@ -64,7 +63,7 @@ public abstract class AbstractPage implements Page {
* @return the unique id of this Page
*/
@Override
- public final Integer getPageID() {
+ public final int getPageID() {
return id;
}
@@ -140,12 +139,7 @@ public abstract class AbstractPage implements Page {
*/
@Override
public String toString() {
- if(id != null) {
- return Integer.toString(id);
- }
- else {
- return "null";
- }
+ return Integer.toString(id);
}
/**
@@ -164,9 +158,9 @@ public abstract class AbstractPage implements Page {
return false;
}
- final AbstractPage that = (AbstractPage) o;
+ final AbstractExternalizablePage that = (AbstractExternalizablePage) o;
- return id.equals(that.getPageID());
+ return id == that.getPageID();
}
/**
@@ -176,6 +170,6 @@ public abstract class AbstractPage implements Page {
*/
@Override
public int hashCode() {
- return id.hashCode();
+ return id;
}
} \ No newline at end of file
diff --git a/src/de/lmu/ifi/dbs/elki/persistent/AbstractPageFile.java b/src/de/lmu/ifi/dbs/elki/persistent/AbstractPageFile.java
index 54aa7e39..e05c20c3 100644
--- a/src/de/lmu/ifi/dbs/elki/persistent/AbstractPageFile.java
+++ b/src/de/lmu/ifi/dbs/elki/persistent/AbstractPageFile.java
@@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.persistent;
This file is part of ELKI:
Environment for Developing KDD-Applications Supported by Index-Structures
- Copyright (C) 2011
+ Copyright (C) 2012
Ludwig-Maximilians-Universität München
Lehr- und Forschungseinheit für Datenbanksysteme
ELKI Development Team
@@ -61,7 +61,7 @@ public abstract class AbstractPageFile<P extends Page> implements PageFile<P> {
*/
@Override
public final synchronized int writePage(P page) {
- Integer pageid = setPageID(page);
+ int pageid = setPageID(page);
writePage(pageid, page);
return pageid;
}
@@ -72,7 +72,7 @@ public abstract class AbstractPageFile<P extends Page> implements PageFile<P> {
* @param pageid Page id
* @param page Page to write
*/
- protected abstract void writePage(Integer pageid, P page);
+ protected abstract void writePage(int pageid, P page);
@Override
public void close() {
diff --git a/src/de/lmu/ifi/dbs/elki/persistent/AbstractStoringPageFile.java b/src/de/lmu/ifi/dbs/elki/persistent/AbstractStoringPageFile.java
index bb4e915d..7151e6dd 100644
--- a/src/de/lmu/ifi/dbs/elki/persistent/AbstractStoringPageFile.java
+++ b/src/de/lmu/ifi/dbs/elki/persistent/AbstractStoringPageFile.java
@@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.persistent;
This file is part of ELKI:
Environment for Developing KDD-Applications Supported by Index-Structures
- Copyright (C) 2011
+ Copyright (C) 2012
Ludwig-Maximilians-Universität München
Lehr- und Forschungseinheit für Datenbanksysteme
ELKI Development Team
@@ -67,11 +67,11 @@ public abstract class AbstractStoringPageFile<P extends Page> extends AbstractPa
* @param page the page to set the id
*/
@Override
- public Integer setPageID(P page) {
- Integer pageID = page.getPageID();
- if(pageID == null) {
+ public int setPageID(P page) {
+ int pageID = page.getPageID();
+ if(pageID == -1) {
pageID = getNextEmptyPageID();
- if(pageID == null) {
+ if(pageID == -1) {
pageID = nextPageID++;
}
page.setPageID(pageID);
@@ -95,12 +95,12 @@ public abstract class AbstractStoringPageFile<P extends Page> extends AbstractPa
*
* @return the next empty page id
*/
- private Integer getNextEmptyPageID() {
+ private int getNextEmptyPageID() {
if(!emptyPages.empty()) {
return emptyPages.pop();
}
else {
- return null;
+ return -1;
}
}
diff --git a/src/de/lmu/ifi/dbs/elki/persistent/ByteArrayUtil.java b/src/de/lmu/ifi/dbs/elki/persistent/ByteArrayUtil.java
index f4959167..42466558 100644
--- a/src/de/lmu/ifi/dbs/elki/persistent/ByteArrayUtil.java
+++ b/src/de/lmu/ifi/dbs/elki/persistent/ByteArrayUtil.java
@@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.persistent;
This file is part of ELKI:
Environment for Developing KDD-Applications Supported by Index-Structures
- Copyright (C) 2011
+ Copyright (C) 2012
Ludwig-Maximilians-Universität München
Lehr- und Forschungseinheit für Datenbanksysteme
ELKI Development Team
diff --git a/src/de/lmu/ifi/dbs/elki/persistent/ByteBufferInputStream.java b/src/de/lmu/ifi/dbs/elki/persistent/ByteBufferInputStream.java
index 3fd7b35f..586d5535 100644
--- a/src/de/lmu/ifi/dbs/elki/persistent/ByteBufferInputStream.java
+++ b/src/de/lmu/ifi/dbs/elki/persistent/ByteBufferInputStream.java
@@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.persistent;
This file is part of ELKI:
Environment for Developing KDD-Applications Supported by Index-Structures
- Copyright (C) 2011
+ Copyright (C) 2012
Ludwig-Maximilians-Universität München
Lehr- und Forschungseinheit für Datenbanksysteme
ELKI Development Team
diff --git a/src/de/lmu/ifi/dbs/elki/persistent/ByteBufferOutputStream.java b/src/de/lmu/ifi/dbs/elki/persistent/ByteBufferOutputStream.java
index 6c6c5c43..2a2971d9 100644
--- a/src/de/lmu/ifi/dbs/elki/persistent/ByteBufferOutputStream.java
+++ b/src/de/lmu/ifi/dbs/elki/persistent/ByteBufferOutputStream.java
@@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.persistent;
This file is part of ELKI:
Environment for Developing KDD-Applications Supported by Index-Structures
- Copyright (C) 2011
+ Copyright (C) 2012
Ludwig-Maximilians-Universität München
Lehr- und Forschungseinheit für Datenbanksysteme
ELKI Development Team
diff --git a/src/de/lmu/ifi/dbs/elki/persistent/ByteBufferSerializer.java b/src/de/lmu/ifi/dbs/elki/persistent/ByteBufferSerializer.java
index 0a9403ac..e10a365d 100644
--- a/src/de/lmu/ifi/dbs/elki/persistent/ByteBufferSerializer.java
+++ b/src/de/lmu/ifi/dbs/elki/persistent/ByteBufferSerializer.java
@@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.persistent;
This file is part of ELKI:
Environment for Developing KDD-Applications Supported by Index-Structures
- Copyright (C) 2011
+ Copyright (C) 2012
Ludwig-Maximilians-Universität München
Lehr- und Forschungseinheit für Datenbanksysteme
ELKI Development Team
diff --git a/src/de/lmu/ifi/dbs/elki/persistent/DefaultPageHeader.java b/src/de/lmu/ifi/dbs/elki/persistent/DefaultPageHeader.java
index e2be5aaf..e1ca2a41 100644
--- a/src/de/lmu/ifi/dbs/elki/persistent/DefaultPageHeader.java
+++ b/src/de/lmu/ifi/dbs/elki/persistent/DefaultPageHeader.java
@@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.persistent;
This file is part of ELKI:
Environment for Developing KDD-Applications Supported by Index-Structures
- Copyright (C) 2011
+ Copyright (C) 2012
Ludwig-Maximilians-Universität München
Lehr- und Forschungseinheit für Datenbanksysteme
ELKI Development Team
diff --git a/src/de/lmu/ifi/dbs/elki/persistent/ExternalizablePage.java b/src/de/lmu/ifi/dbs/elki/persistent/ExternalizablePage.java
new file mode 100644
index 00000000..703187ac
--- /dev/null
+++ b/src/de/lmu/ifi/dbs/elki/persistent/ExternalizablePage.java
@@ -0,0 +1,36 @@
+package de.lmu.ifi.dbs.elki.persistent;
+
+import java.io.Externalizable;
+
+/*
+ This file is part of ELKI:
+ Environment for Developing KDD-Applications Supported by Index-Structures
+
+ Copyright (C) 2012
+ Ludwig-Maximilians-Universität München
+ Lehr- und Forschungseinheit für Datenbanksysteme
+ ELKI Development Team
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/**
+ * Base interface for externalizable pages.
+ *
+ * @author Erich Schubert
+ */
+// TODO: replace with the newer ByteSerializers
+public interface ExternalizablePage extends Page, Externalizable {
+ // Empty
+}
diff --git a/src/de/lmu/ifi/dbs/elki/persistent/FixedSizeByteBufferSerializer.java b/src/de/lmu/ifi/dbs/elki/persistent/FixedSizeByteBufferSerializer.java
index d68ac994..56f1f9b3 100644
--- a/src/de/lmu/ifi/dbs/elki/persistent/FixedSizeByteBufferSerializer.java
+++ b/src/de/lmu/ifi/dbs/elki/persistent/FixedSizeByteBufferSerializer.java
@@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.persistent;
This file is part of ELKI:
Environment for Developing KDD-Applications Supported by Index-Structures
- Copyright (C) 2011
+ Copyright (C) 2012
Ludwig-Maximilians-Universität München
Lehr- und Forschungseinheit für Datenbanksysteme
ELKI Development Team
diff --git a/src/de/lmu/ifi/dbs/elki/persistent/LRUCache.java b/src/de/lmu/ifi/dbs/elki/persistent/LRUCache.java
index e93924f0..3b6f67dc 100644
--- a/src/de/lmu/ifi/dbs/elki/persistent/LRUCache.java
+++ b/src/de/lmu/ifi/dbs/elki/persistent/LRUCache.java
@@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.persistent;
This file is part of ELKI:
Environment for Developing KDD-Applications Supported by Index-Structures
- Copyright (C) 2011
+ Copyright (C) 2012
Ludwig-Maximilians-Universität München
Lehr- und Forschungseinheit für Datenbanksysteme
ELKI Development Team
@@ -111,7 +111,7 @@ public class LRUCache<P extends Page> extends AbstractPageFile<P> {
}
@Override
- public synchronized void writePage(Integer pageID, P page) {
+ public synchronized void writePage(int pageID, P page) {
writeAccess++;
page.setDirty(true);
map.put(pageID, page);
@@ -142,8 +142,8 @@ public class LRUCache<P extends Page> extends AbstractPageFile<P> {
}
@Override
- public Integer setPageID(P page) {
- Integer pageID = file.setPageID(page);
+ public int setPageID(P page) {
+ int pageID = file.setPageID(page);
return pageID;
}
diff --git a/src/de/lmu/ifi/dbs/elki/persistent/MemoryPageFile.java b/src/de/lmu/ifi/dbs/elki/persistent/MemoryPageFile.java
index 13e3ec04..7aba9a21 100644
--- a/src/de/lmu/ifi/dbs/elki/persistent/MemoryPageFile.java
+++ b/src/de/lmu/ifi/dbs/elki/persistent/MemoryPageFile.java
@@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.persistent;
This file is part of ELKI:
Environment for Developing KDD-Applications Supported by Index-Structures
- Copyright (C) 2011
+ Copyright (C) 2012
Ludwig-Maximilians-Universität München
Lehr- und Forschungseinheit für Datenbanksysteme
ELKI Development Team
@@ -23,8 +23,8 @@ package de.lmu.ifi.dbs.elki.persistent;
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-import java.util.HashMap;
-import java.util.Map;
+import gnu.trove.map.TIntObjectMap;
+import gnu.trove.map.hash.TIntObjectHashMap;
/**
* A memory based implementation of a PageFile that simulates I/O-access.<br>
@@ -38,7 +38,7 @@ public class MemoryPageFile<P extends Page> extends AbstractStoringPageFile<P> {
/**
* Holds the pages.
*/
- private final Map<Integer, P> file;
+ private final TIntObjectMap<P> file;
/**
* Creates a new MemoryPageFile that is supported by a cache with the
@@ -48,7 +48,7 @@ public class MemoryPageFile<P extends Page> extends AbstractStoringPageFile<P> {
*/
public MemoryPageFile(int pageSize) {
super(pageSize);
- this.file = new HashMap<Integer, P>();
+ this.file = new TIntObjectHashMap<P>();
}
@Override
@@ -58,7 +58,7 @@ public class MemoryPageFile<P extends Page> extends AbstractStoringPageFile<P> {
}
@Override
- protected void writePage(Integer pageID, P page) {
+ protected void writePage(int pageID, P page) {
writeAccess++;
file.put(pageID, page);
page.setDirty(false);
diff --git a/src/de/lmu/ifi/dbs/elki/persistent/OnDiskArray.java b/src/de/lmu/ifi/dbs/elki/persistent/OnDiskArray.java
index 2290398c..7c62173d 100644
--- a/src/de/lmu/ifi/dbs/elki/persistent/OnDiskArray.java
+++ b/src/de/lmu/ifi/dbs/elki/persistent/OnDiskArray.java
@@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.persistent;
This file is part of ELKI:
Environment for Developing KDD-Applications Supported by Index-Structures
- Copyright (C) 2011
+ Copyright (C) 2012
Ludwig-Maximilians-Universität München
Lehr- und Forschungseinheit für Datenbanksysteme
ELKI Development Team
@@ -129,8 +129,8 @@ public class OnDiskArray implements Serializable {
this.filename = filename;
this.writable = true;
- // do not allow overwriting.
- if(filename.exists()) {
+ // do not allow overwriting, unless empty
+ if(filename.exists() && filename.length() > 0) {
throw new IOException(ExceptionMessages.FILE_EXISTS);
}
diff --git a/src/de/lmu/ifi/dbs/elki/persistent/OnDiskArrayPageFile.java b/src/de/lmu/ifi/dbs/elki/persistent/OnDiskArrayPageFile.java
index d7a546fe..37a16384 100644
--- a/src/de/lmu/ifi/dbs/elki/persistent/OnDiskArrayPageFile.java
+++ b/src/de/lmu/ifi/dbs/elki/persistent/OnDiskArrayPageFile.java
@@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.persistent;
This file is part of ELKI:
Environment for Developing KDD-Applications Supported by Index-Structures
- Copyright (C) 2011
+ Copyright (C) 2012
Ludwig-Maximilians-Universität München
Lehr- und Forschungseinheit für Datenbanksysteme
ELKI Development Team
@@ -139,7 +139,7 @@ public class OnDiskArrayPageFile<P extends Page> extends AbstractStoringPageFile
* @param page the page which has to be written to disk
*/
@Override
- public void writePage(Integer pageID, P page) {
+ public void writePage(int pageID, P page) {
if(page.isDirty()) {
try {
writeAccess++;
diff --git a/src/de/lmu/ifi/dbs/elki/persistent/OnDiskUpperTriangleMatrix.java b/src/de/lmu/ifi/dbs/elki/persistent/OnDiskUpperTriangleMatrix.java
index 6d38348a..638d85cd 100644
--- a/src/de/lmu/ifi/dbs/elki/persistent/OnDiskUpperTriangleMatrix.java
+++ b/src/de/lmu/ifi/dbs/elki/persistent/OnDiskUpperTriangleMatrix.java
@@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.persistent;
This file is part of ELKI:
Environment for Developing KDD-Applications Supported by Index-Structures
- Copyright (C) 2011
+ Copyright (C) 2012
Ludwig-Maximilians-Universität München
Lehr- und Forschungseinheit für Datenbanksysteme
ELKI Development Team
diff --git a/src/de/lmu/ifi/dbs/elki/persistent/Page.java b/src/de/lmu/ifi/dbs/elki/persistent/Page.java
index d296a840..2c3fb252 100644
--- a/src/de/lmu/ifi/dbs/elki/persistent/Page.java
+++ b/src/de/lmu/ifi/dbs/elki/persistent/Page.java
@@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.persistent;
This file is part of ELKI:
Environment for Developing KDD-Applications Supported by Index-Structures
- Copyright (C) 2011
+ Copyright (C) 2012
Ludwig-Maximilians-Universität München
Lehr- und Forschungseinheit für Datenbanksysteme
ELKI Development Team
@@ -23,21 +23,19 @@ package de.lmu.ifi.dbs.elki.persistent;
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-import java.io.Externalizable;
-
/**
* Defines the requirements for objects that can be stored in a cache and can be
* persistently saved.
*
* @author Elke Achtert
*/
-public interface Page extends Externalizable {
+public interface Page {
/**
* Returns the unique id of this Page.
*
- * @return the unique id of this Page. May be {@code null}.
+ * @return the unique id of this Page. Return -1 for unassigned page numbers.
*/
- Integer getPageID();
+ int getPageID();
/**
* Sets the unique id of this Page.
diff --git a/src/de/lmu/ifi/dbs/elki/persistent/PageFile.java b/src/de/lmu/ifi/dbs/elki/persistent/PageFile.java
index a65fabeb..f50e829e 100644
--- a/src/de/lmu/ifi/dbs/elki/persistent/PageFile.java
+++ b/src/de/lmu/ifi/dbs/elki/persistent/PageFile.java
@@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.persistent;
This file is part of ELKI:
Environment for Developing KDD-Applications Supported by Index-Structures
- Copyright (C) 2011
+ Copyright (C) 2012
Ludwig-Maximilians-Universität München
Lehr- und Forschungseinheit für Datenbanksysteme
ELKI Development Team
@@ -38,7 +38,7 @@ public interface PageFile<P extends Page> extends PageFileStatistics {
* @param page the page to set the id
* @return the page id
*/
- public Integer setPageID(P page);
+ public int setPageID(P page);
/**
* Writes a page into this file. The method tests if the page has already an
diff --git a/src/de/lmu/ifi/dbs/elki/persistent/PageFileStatistics.java b/src/de/lmu/ifi/dbs/elki/persistent/PageFileStatistics.java
index 2f2bd821..df3de612 100644
--- a/src/de/lmu/ifi/dbs/elki/persistent/PageFileStatistics.java
+++ b/src/de/lmu/ifi/dbs/elki/persistent/PageFileStatistics.java
@@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.persistent;
This file is part of ELKI:
Environment for Developing KDD-Applications Supported by Index-Structures
- Copyright (C) 2011
+ Copyright (C) 2012
Ludwig-Maximilians-Universität München
Lehr- und Forschungseinheit für Datenbanksysteme
ELKI Development Team
diff --git a/src/de/lmu/ifi/dbs/elki/persistent/PageFileUtil.java b/src/de/lmu/ifi/dbs/elki/persistent/PageFileUtil.java
index 6a0dbb92..5fe11432 100644
--- a/src/de/lmu/ifi/dbs/elki/persistent/PageFileUtil.java
+++ b/src/de/lmu/ifi/dbs/elki/persistent/PageFileUtil.java
@@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.persistent;
This file is part of ELKI:
Environment for Developing KDD-Applications Supported by Index-Structures
- Copyright (C) 2011
+ Copyright (C) 2012
Ludwig-Maximilians-Universität München
Lehr- und Forschungseinheit für Datenbanksysteme
ELKI Development Team
diff --git a/src/de/lmu/ifi/dbs/elki/persistent/PageHeader.java b/src/de/lmu/ifi/dbs/elki/persistent/PageHeader.java
index 911e81c2..70a31190 100644
--- a/src/de/lmu/ifi/dbs/elki/persistent/PageHeader.java
+++ b/src/de/lmu/ifi/dbs/elki/persistent/PageHeader.java
@@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.persistent;
This file is part of ELKI:
Environment for Developing KDD-Applications Supported by Index-Structures
- Copyright (C) 2011
+ Copyright (C) 2012
Ludwig-Maximilians-Universität München
Lehr- und Forschungseinheit für Datenbanksysteme
ELKI Development Team
diff --git a/src/de/lmu/ifi/dbs/elki/persistent/PersistentPageFile.java b/src/de/lmu/ifi/dbs/elki/persistent/PersistentPageFile.java
index b40e56f5..618707a5 100644
--- a/src/de/lmu/ifi/dbs/elki/persistent/PersistentPageFile.java
+++ b/src/de/lmu/ifi/dbs/elki/persistent/PersistentPageFile.java
@@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.persistent;
This file is part of ELKI:
Environment for Developing KDD-Applications Supported by Index-Structures
- Copyright (C) 2011
+ Copyright (C) 2012
Ludwig-Maximilians-Universität München
Lehr- und Forschungseinheit für Datenbanksysteme
ELKI Development Team
@@ -47,7 +47,7 @@ import de.lmu.ifi.dbs.elki.utilities.exceptions.AbortException;
*
* @param <P> Page type
*/
-public class PersistentPageFile<P extends Page> extends AbstractStoringPageFile<P> {
+public class PersistentPageFile<P extends ExternalizablePage> extends AbstractStoringPageFile<P> {
/**
* Our logger
*/
@@ -156,7 +156,7 @@ public class PersistentPageFile<P extends Page> extends AbstractStoringPageFile<
* @param page the page which has to be written to disk
*/
@Override
- public void writePage(Integer pageID, P page) {
+ public void writePage(int pageID, P page) {
try {
writeAccess++;
byte[] array = pageToByteArray(page);
@@ -167,7 +167,7 @@ public class PersistentPageFile<P extends Page> extends AbstractStoringPageFile<
page.setDirty(false);
}
catch(IOException e) {
- throw new RuntimeException(e);
+ throw new RuntimeException("Error writing to page file.", e);
}
}
diff --git a/src/de/lmu/ifi/dbs/elki/persistent/package-info.java b/src/de/lmu/ifi/dbs/elki/persistent/package-info.java
index ce083c88..c2d8614c 100644
--- a/src/de/lmu/ifi/dbs/elki/persistent/package-info.java
+++ b/src/de/lmu/ifi/dbs/elki/persistent/package-info.java
@@ -5,7 +5,7 @@
This file is part of ELKI:
Environment for Developing KDD-Applications Supported by Index-Structures
-Copyright (C) 2011
+Copyright (C) 2012
Ludwig-Maximilians-Universität München
Lehr- und Forschungseinheit für Datenbanksysteme
ELKI Development Team