Importer.java revision 4895
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk * CDDL HEADER START
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk * The contents of this file are subject to the terms of the
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk * Common Development and Distribution License, Version 1.0 only
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk * (the "License"). You may not use this file except in compliance
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk * with the License.
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk * You can obtain a copy of the license at
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk * trunk/opends/resource/legal-notices/OpenDS.LICENSE
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk * or https://OpenDS.dev.java.net/OpenDS.LICENSE.
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk * See the License for the specific language governing permissions
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk * and limitations under the License.
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk * When distributing Covered Code, include this CDDL HEADER in each
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk * file and include the License file at
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk * trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk * add the following below this CDDL HEADER, with the fields enclosed
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk * by brackets "[]" replaced with your own identifying information:
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk * Portions Copyright [yyyy] [name of copyright owner]
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk * CDDL HEADER END
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk * Copyright 2008-2009 Sun Microsystems, Inc.
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkpackage org.opends.server.backends.jeb.importLDIF;
public class Importer
private final boolean skipDNValidation;
private int migratedCount;
private void initialize()
f.delete();
skipDNValidation = true;
f.delete();
return suffix;
throws InitializationException
if(!skipDNValidation)
message =
return null;
return null;
boolean keep = true;
keep = false;
if(!keep)
boolean keep = false;
keep = true;
if(!keep)
public LDIFImportResult
private void switchContainers()
s.setIndexesTrusted();
p += cacheSizes;
private int cacheSizeFromDirectMemory()
return cacheSize;
private int cacheSizeFromFreeMemory()
return cacheSize;
private void stopIndexWriterTasks()
byte[] bytes =
suffix);
catch (Exception e)
message =
closeCursors();
return null;
null);
byte[] begin =
catch(Exception e)
message =
closeCursors();
return null;
return null;
closeCursors();
catch(Exception e)
return null;
if(!skipDNValidation)
return null;
closeCursors();
catch (Exception e)
return null;
if(!skipDNValidation)
if(!skipDNValidation)
throws DatabaseException
boolean insert)
throws ConfigException
return id;
return indexBuffer;
throws ConfigException
throws DatabaseException
private final int cacheSize;
directBuffer = b;
p += cacheSize;
return bufferSet;
Buffer b;
if(b.hasMoreData())
b.getNextRecord();
cleanUP();
catch (Exception e)
e.getMessage());
e.printStackTrace();
return null;
else if(skipDNValidation)
class DNState
parentID =
return nodeID;
boolean clearMap)
if(clearMap)
private boolean poisonSeen = false;
public void run()
long bufferLen;
l.clear();
bufferCount++;
if(poisonSeen)
catch (IOException e)
e.getMessage());
return bufferLen;
throws IOException
if(b.isPoison())
poisonSeen = true;
if(b.hasMoreData())
b.getNextRecord();
return bufferLen;
return null;
return null;
throws FileNotFoundException
boolean isDN = false;
synchronized(synObj)
isDN = true;
private long offset;
private byte[] key;
private boolean doCount;
if(b == null)
cache = b;
loadCache();
long bytesToRead;
public byte[] getKey()
return key;
return insertIDSet;
return deleteIDSet;
public long getBufferID()
return id;
return indexID;
getNextKey();
private void getContainerParameters()
doCount = false;
if(insert)
long l = getLong();
if(insert)
loadCache();
loadCache();
int returnCode;
getIndexID();
return returnCode;
if(this.equals(o))
getIndexID();
o.getIndexID();
return returnCode;
private final class IndexManager
private boolean done = false;
private long totalDNS;
private final boolean isDN;
return bufferList;
return file;
public boolean deleteIndexFile()
public void setFileLength()
public void setDone()
this.done = true;
public long getDNCount()
return totalDNS;
public boolean isDN2ID()
return isDN;
if(!done)
public void incrementKeyCount()
return fileName;
private final boolean rebuildAll;
if(rebuildAll) {
} catch (Exception e) {
e.printStackTrace();
return null;
if(rebuildAll)
if(rebuildAll)
int indexCount;
if(!rebuildAll)
return indexCount;
return indexCount;
indexCount++;
indexCount++;
indexCount++;
indexCount++;
indexCount++;
indexCount++;
indexCount++;
boolean found = false;
found = true;
if(found)
if(!found) {
indexCount++;
indexCount++;
indexCount++;
indexCount++;
indexCount++;
indexCount++;
boolean shared = false;
indexCount++;
if(!shared)
shared=true;
indexCount++;
return indexCount;
throws DatabaseException
throws DatabaseException
public long getEntriesProcess()
public long getTotEntries()
return this.totalEntries;
private long previousTime;
public void run()
long nCacheMiss =
catch (DatabaseException e)
private long previousTime;
private boolean evicting = false;
public FirstPhaseProgressTask()
catch (DatabaseException e)
throw new RuntimeException(e);
public void run()
message =
long cleanerEntriesRead =
if (!evicting)
evicting = true;
message =
message =
message =
message =
catch (DatabaseException e)
private long previousTime;
private boolean evicting = false;
private long latestCount;
long latestCount)
catch (DatabaseException e)
throw new RuntimeException(e);
public void run()
message =
if (!evicting)
evicting = true;
message =
message =
message =
catch (DatabaseException e)
public class EntryInformation
return suffix;
return entryID;
public enum ImportIndexType {
DN,
public class IndexKey {
boolean returnCode = false;
returnCode = true;
return returnCode;
public int hashCode()
return type;
return indexType;