cleanup
authorDmitry Avdeev <Dmitry.Avdeev@jetbrains.com>
Fri, 10 Dec 2010 12:58:16 +0000 (15:58 +0300)
committerDmitry Avdeev <Dmitry.Avdeev@jetbrains.com>
Fri, 10 Dec 2010 13:03:41 +0000 (16:03 +0300)
platform/platform-impl/src/com/intellij/util/io/ByteBufferIntObjectMap.java [deleted file]
platform/platform-impl/src/com/intellij/util/io/ByteBufferMap.java [deleted file]
platform/platform-impl/src/com/intellij/util/io/ByteBufferMapWriteHandler.java [deleted file]
platform/platform-impl/src/com/intellij/util/io/ByteBufferRADataInput.java [deleted file]
platform/platform-impl/src/com/intellij/util/io/FileKeyProvider.java [deleted file]
platform/platform-impl/src/com/intellij/util/io/IntArrayValueProvider.java [deleted file]
platform/platform-impl/src/com/intellij/util/io/IntValueProvider.java [deleted file]
platform/platform-impl/src/com/intellij/util/io/IntegerKeyProvider.java [deleted file]
platform/platform-impl/src/com/intellij/util/io/StringKeyProvider.java [deleted file]
platform/platform-impl/src/com/intellij/util/io/WriteableMapAdapter.java [deleted file]
platform/util/src/com/intellij/util/io/MappedFile.java [deleted file]

diff --git a/platform/platform-impl/src/com/intellij/util/io/ByteBufferIntObjectMap.java b/platform/platform-impl/src/com/intellij/util/io/ByteBufferIntObjectMap.java
deleted file mode 100644 (file)
index 1b5a16b..0000000
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- * Copyright 2000-2009 JetBrains s.r.o.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.intellij.util.io;
-
-import com.intellij.openapi.diagnostic.Logger;
-import gnu.trove.TIntArrayList;
-import org.jetbrains.annotations.NotNull;
-
-import java.io.IOException;
-
-public class ByteBufferIntObjectMap<V> {
-  private static final Logger LOG = Logger.getInstance("#com.intellij.util.io.ByteBufferMap");
-
-  private final RandomAccessDataInput myBuffer;
-  private final int myStartOffset;
-  private final ByteBufferMap.ValueProvider<V> myValueProvider;
-  private int myMod;
-  private final int myEndOffset;
-
-  public ByteBufferIntObjectMap(@NotNull MappedBufferWrapper buffer,
-                       int startOffset,
-                       int endOffset,
-                       @NotNull ByteBufferMap.ValueProvider<V> valueProvider) {
-    assert startOffset < endOffset;
-
-    myBuffer = new ByteBufferRADataInput(buffer);
-    myStartOffset = startOffset;
-    myEndOffset = endOffset;
-    myValueProvider = valueProvider;
-
-    myBuffer.setPosition(startOffset);
-    try {
-      myMod = myBuffer.readInt();
-    }
-    catch (IOException e) {
-      LOG.error(e);
-    }
-  }
-
-  public V get(int key) {
-    int hash = hash(key);
-    int keyGroupOffset = readKeyGroupOffset(hash);
-    if (keyGroupOffset == -1) return null;
-    if (!(myStartOffset < keyGroupOffset && keyGroupOffset < myEndOffset)){
-      LOG.error("keyGroupOffset = " + keyGroupOffset + " myStartOffset = " + myStartOffset + " myEndOffset = " + myEndOffset);
-    }
-
-    try {
-      myBuffer.setPosition(keyGroupOffset);
-      int keyGroupSize = myBuffer.readInt();
-      assert (keyGroupSize > 0);
-      for (int i = 0; i < keyGroupSize; i++) {
-        if (key == myBuffer.readInt()) {
-          int valueOffset = myBuffer.readInt();
-          assert (valueOffset > 0);
-
-          myBuffer.setPosition(myStartOffset + valueOffset);
-          return myValueProvider.get(myBuffer);
-        }
-        else {
-          myBuffer.readInt(); //read offset;
-        }
-      }
-    }
-    catch (IOException e) {
-      LOG.error(e);
-    }
-
-    return null;
-  }
-
-  public TIntArrayList getKeys() {
-    TIntArrayList result = new TIntArrayList();
-    getKeys(result);
-    return result;
-  }
-
-  public void getKeys(TIntArrayList dst) {
-    try {
-      myBuffer.setPosition(myStartOffset + 4 /* mod */);
-
-      int firstKeyGroupOffset = -1;
-      int lastKeyGroupOffset = -1;
-      for (int i = 0; i < myMod; i++) {
-        int value = myBuffer.readInt();
-        if (value != -1) {
-          int offset = value + myStartOffset;
-          if (firstKeyGroupOffset == -1) firstKeyGroupOffset = offset;
-          lastKeyGroupOffset = offset;
-        }
-      }
-      if (firstKeyGroupOffset == -1) {
-        return;
-      }
-      assert (firstKeyGroupOffset > myStartOffset);
-      assert (lastKeyGroupOffset > myStartOffset);
-      assert (lastKeyGroupOffset >= firstKeyGroupOffset);
-
-      int firstValueOffset = -1;
-
-      myBuffer.setPosition(firstKeyGroupOffset);
-      while (myBuffer.getPosition() <= lastKeyGroupOffset) {
-        int groupSize = myBuffer.readInt();
-        for (int i = 0; i < groupSize; i++) {
-          dst.add(myBuffer.readInt());
-
-          int valueOffset = myBuffer.readInt(); /* value offset */
-          if( firstValueOffset == -1 ) firstValueOffset = valueOffset + myStartOffset;
-        }
-      }
-      assert myBuffer.getPosition() == firstValueOffset;
-    }
-    catch (IOException e) {
-      LOG.error(e);
-    }
-  }
-
-  private int readKeyGroupOffset(int hash) {
-    myBuffer.setPosition(myStartOffset + 4 /* mod */ + 4 * hash);
-    int offset = -1;
-    try {
-      offset = myBuffer.readInt();
-    }
-    catch (IOException e) {
-      LOG.error(e);
-    }
-    if (offset == -1) return -1;
-    return offset + myStartOffset;
-  }
-
-  private int hash(int hashCode) {
-    return Math.abs(hashCode) % myMod;
-  }
-}
diff --git a/platform/platform-impl/src/com/intellij/util/io/ByteBufferMap.java b/platform/platform-impl/src/com/intellij/util/io/ByteBufferMap.java
deleted file mode 100644 (file)
index 1068e8d..0000000
+++ /dev/null
@@ -1,199 +0,0 @@
-/*
- * Copyright 2000-2009 JetBrains s.r.o.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.intellij.util.io;
-
-import com.intellij.openapi.diagnostic.Logger;
-import org.jetbrains.annotations.NotNull;
-
-import java.io.DataInput;
-import java.io.DataOutput;
-import java.io.IOException;
-import java.lang.reflect.Array;
-import java.util.ArrayList;
-import java.util.Collection;
-
-public class ByteBufferMap<K,V> {
-  private static final Logger LOG = Logger.getInstance("#com.intellij.util.io.ByteBufferMap");
-
-  private final RandomAccessDataInput myBuffer;
-  private final int myStartOffset;
-  private final KeyProvider<K> myKeyProvider;
-  private final ValueProvider<V> myValueProvider;
-  private int myMod;
-  private final int myEndOffset;
-
-  public static interface KeyProvider<K> {
-    int hashCode(K key);
-
-    void write(DataOutput out, K key) throws IOException;
-
-    int length(K key);
-
-    K get(DataInput in) throws IOException;
-
-    /**
-     * Should move the buffer pointer to the key end.
-     */
-    boolean equals(DataInput in, K key) throws IOException;
-  }
-
-  public static interface ValueProvider<V> {
-    void write(DataOutput out, V value) throws IOException;
-
-    int length(V value);
-
-    V get(DataInput in) throws IOException;
-  }
-
-  public static <V> void writeMap(DataOutput stream,
-                              ValueProvider<V> valueProvider,
-                              WriteableMap<V> map,
-                              double searchFactor) throws IOException {
-    new ByteBufferMapWriteHandler<V>(stream, valueProvider, map, searchFactor).execute();
-  }
-
-  public static <V> int calcMapLength(ValueProvider<V> valueProvider,
-                                  WriteableMap<V> map,
-                                  double searchFactor) throws IOException {
-    return new ByteBufferMapWriteHandler<V>(null, valueProvider, map, searchFactor).calcLength();
-  }
-
-  public ByteBufferMap(@NotNull MappedBufferWrapper holder,
-                       int startOffset,
-                       int endOffset,
-                       @NotNull KeyProvider<K> keyProvider,
-                       @NotNull ValueProvider<V> valueProvider) {
-    this(new ByteBufferRADataInput(holder), startOffset, endOffset, keyProvider, valueProvider);
-  }
-
-  public ByteBufferMap(@NotNull RandomAccessDataInput buffer,
-                       int startOffset,
-                       int endOffset,
-                       @NotNull KeyProvider<K> keyProvider,
-                       @NotNull ValueProvider<V> valueProvider) {
-    assert startOffset < endOffset;
-
-    myBuffer = buffer;
-    myStartOffset = startOffset;
-    myEndOffset = endOffset;
-    myKeyProvider = keyProvider;
-    myValueProvider = valueProvider;
-
-    buffer.setPosition(startOffset);
-    try {
-      myMod = buffer.readInt();
-    }
-    catch (IOException e) {
-      LOG.error(e);
-    }
-  }
-
-  public V get(K key) {
-    int hash = hash(myKeyProvider.hashCode(key));
-    int keyGroupOffset = readKeyGroupOffset(hash);
-    if (keyGroupOffset == -1) return null;
-    if (!(myStartOffset < keyGroupOffset && keyGroupOffset < myEndOffset)){
-      LOG.error("keyGroupOffset = " + keyGroupOffset + " myStartOffset = " + myStartOffset + " myEndOffset = " + myEndOffset);
-    }
-
-    try {
-      myBuffer.setPosition(keyGroupOffset);
-      int keyGroupSize = myBuffer.readInt();
-      assert (keyGroupSize > 0);
-      for (int i = 0; i < keyGroupSize; i++) {
-        if (myKeyProvider.equals(myBuffer, key)) {
-          int valueOffset = myBuffer.readInt();
-          assert (valueOffset > 0);
-
-          myBuffer.setPosition(myStartOffset + valueOffset);
-          return myValueProvider.get(myBuffer);
-        }
-        else {
-          myBuffer.readInt(); //read offset;
-        }
-      }
-    }
-    catch (IOException e) {
-      LOG.error(e);
-    }
-
-    return null;
-  }
-
-  @SuppressWarnings({"unchecked"})
-  public K[] getKeys(Class<K> keyClass) {
-    ArrayList<K> result = new ArrayList<K>();
-    getKeys(keyClass, result);
-    return result.toArray((K[])Array.newInstance(keyClass, result.size()));
-  }
-
-  public void getKeys(Class<K> keyClass, Collection<K> dst) {
-    try {
-      myBuffer.setPosition(myStartOffset + 4 /* mod */);
-
-      int firstKeyGroupOffset = -1;
-      int lastKeyGroupOffset = -1;
-      for (int i = 0; i < myMod; i++) {
-        int value = myBuffer.readInt();
-        if (value != -1) {
-          int offset = value + myStartOffset;
-          if (firstKeyGroupOffset == -1) firstKeyGroupOffset = offset;
-          lastKeyGroupOffset = offset;
-        }
-      }
-      if (firstKeyGroupOffset == -1) {
-        return;
-      }
-      assert (firstKeyGroupOffset > myStartOffset);
-      assert (lastKeyGroupOffset > myStartOffset);
-      assert (lastKeyGroupOffset >= firstKeyGroupOffset);
-
-      int firstValueOffset = -1;
-
-      myBuffer.setPosition(firstKeyGroupOffset);
-      while (myBuffer.getPosition() <= lastKeyGroupOffset) {
-        int groupSize = myBuffer.readInt();
-        for (int i = 0; i < groupSize; i++) {
-          dst.add(myKeyProvider.get(myBuffer));
-
-          int valueOffset = myBuffer.readInt(); /* value offset */
-          if( firstValueOffset == -1 ) firstValueOffset = valueOffset + myStartOffset;
-        }
-      }
-      assert myBuffer.getPosition() == firstValueOffset;
-    }
-    catch (IOException e) {
-      LOG.error(e);
-    }
-  }
-
-  private int readKeyGroupOffset(int hash) {
-    myBuffer.setPosition(myStartOffset + 4 /* mod */ + 4 * hash);
-    int offset = -1;
-    try {
-      offset = myBuffer.readInt();
-    }
-    catch (IOException e) {
-      LOG.error(e);
-    }
-    if (offset == -1) return -1;
-    return offset + myStartOffset;
-  }
-
-  private int hash(int hashCode) {
-    return Math.abs(hashCode) % myMod;
-  }
-}
diff --git a/platform/platform-impl/src/com/intellij/util/io/ByteBufferMapWriteHandler.java b/platform/platform-impl/src/com/intellij/util/io/ByteBufferMapWriteHandler.java
deleted file mode 100644 (file)
index 3987c02..0000000
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * Copyright 2000-2009 JetBrains s.r.o.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.intellij.util.io;
-
-import com.intellij.openapi.diagnostic.Logger;
-
-import java.io.DataOutput;
-import java.io.IOException;
-import java.util.Arrays;
-
-class ByteBufferMapWriteHandler<V> {
-  private static final Logger LOG = Logger.getInstance("#com.intellij.util.io.ByteBufferMapWriteHandler");
-
-  private final ByteBufferMap.ValueProvider<V> myValueProvider;
-  private final WriteableMap<V> myMap;
-
-  private final int[] myKeyHashes;
-  private final int myMod;
-  private final DataOutput myOut;
-
-  public ByteBufferMapWriteHandler(DataOutput stream, /*ByteBufferMap.KeyProvider keyProvider, */ByteBufferMap.ValueProvider<V> valueProvider, WriteableMap<V> map, double searchFactor) {
-    myValueProvider = valueProvider;
-    myMap = map;
-
-    myKeyHashes = myMap.getHashCodesArray();
-    int mod = (int)(myKeyHashes.length / searchFactor);
-    myMod = mod != 0 ? mod : 1;
-    myOut = stream;
-  }
-
-  public void execute() throws IOException {
-
-    executeImpl( true );
-  }
-
-  public int calcLength() throws IOException {
-    return executeImpl( false );
-  }
-
-  public int executeImpl( boolean write ) throws IOException {
-    if( write ) myOut.writeInt(myMod);
-    int offset = 4;
-
-    int[] overflowList = new int[myKeyHashes.length];
-    int[] firstOverflowElem = new int[myMod];
-    int[] occurs = new int[myMod];
-    Arrays.fill(firstOverflowElem, -1);
-
-    // Creating hash table and overflow lists
-    for( int i = myKeyHashes.length-1; i >= 0; i-- ) {
-      int hashhash = hash(myKeyHashes[i]);
-      overflowList[i] = firstOverflowElem[hashhash];
-      firstOverflowElem[hashhash] = i;
-      occurs[hashhash]++;
-    }
-
-    offset += 4 * myMod; // hash table size
-    // writing hash table
-    for( int i = 0; i < myMod; i++ ) {
-      if( write ) myOut.writeInt( occurs[i] != 0 ? offset : -1 );
-      if( occurs[i] != 0 ) offset += 4; // key group size, if key group present
-      int occurs_i = 0;
-      for( int j = firstOverflowElem[i]; j != -1; j = overflowList[j] ) {
-        offset += myMap.getKeyLength( j ) + 4 /* value offset */;
-        occurs_i++;
-      }
-      LOG.assertTrue( occurs_i == occurs[i] );
-    }
-
-    // writing key table
-    for( int i = 0; i < myMod; i++ ) {
-      if( occurs[i] == 0 ) continue;
-
-      if( write ) myOut.writeInt( occurs[i] );
-      for( int j = firstOverflowElem[i]; j != -1; j = overflowList[j] ) {
-        if( write ) {
-          myMap.writeKey( myOut, j );
-          myOut.writeInt( offset );
-        }
-        V value = myMap.getValue(j);
-        offset += myValueProvider.length(value);
-      }
-    }
-
-    // writing value table
-    for( int i = 0; i < myMod; i++ ) {
-      for( int j = firstOverflowElem[i]; j != -1; j = overflowList[j] ) {
-        V value = myMap.getValue(j);
-        if( write ) myValueProvider.write( myOut, value );
-      }
-    }
-
-    return offset; // total resulting length
-  }
-
-  private int hash(int hashCode){
-    return Math.abs(hashCode) % myMod;
-  }
-}
diff --git a/platform/platform-impl/src/com/intellij/util/io/ByteBufferRADataInput.java b/platform/platform-impl/src/com/intellij/util/io/ByteBufferRADataInput.java
deleted file mode 100644 (file)
index 65d5474..0000000
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * Copyright 2000-2009 JetBrains s.r.o.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.intellij.util.io;
-
-import com.intellij.openapi.diagnostic.Logger;
-
-import java.io.DataInputStream;
-import java.io.IOException;
-import java.nio.ByteBuffer;
-
-/**
- * @author max
- */
-public class ByteBufferRADataInput implements RandomAccessDataInput {
-  private static final Logger LOG = Logger.getInstance("com.intellij.util.io.ByteBufferRADataInput");
-
-  private final MappedBufferWrapper myBuffer;
-
-  public ByteBufferRADataInput(MappedBufferWrapper buffer) {
-    myBuffer = buffer;
-  }
-
-  public void setPosition(int pos) {
-    getBuffer().position(pos);
-  }
-
-  public int getPosition() {
-    return getBuffer().position();
-  }
-
-  public void readFully(byte[] b) throws IOException {
-    getBuffer().get(b);
-  }
-
-  public void readFully(byte[] b, int off, int len) throws IOException {
-    getBuffer().get(b, off, len);
-  }
-
-  public int skipBytes(int n) throws IOException {
-    int newPos = getPosition() + n;
-    setPosition(newPos);
-    return newPos;
-  }
-
-  public boolean readBoolean() throws IOException {
-    return getBuffer().get() == 1;
-  }
-
-  public byte readByte() throws IOException {
-    return getBuffer().get();
-  }
-
-  public int readUnsignedByte() throws IOException {
-    return 0xFF & ((int)getBuffer().get());
-  }
-
-  public short readShort() throws IOException {
-    return getBuffer().getShort();
-  }
-
-  public int readUnsignedShort() throws IOException {
-    return 0xFFFF & ((int)getBuffer().getShort());
-  }
-
-  public char readChar() throws IOException {
-    return getBuffer().getChar();
-  }
-
-  public int readInt() throws IOException {
-    return getBuffer().getInt();
-  }
-
-  public long readLong() throws IOException {
-    return getBuffer().getLong();
-  }
-
-  public float readFloat() throws IOException {
-    return getBuffer().getFloat();
-  }
-
-  public double readDouble() throws IOException {
-    return getBuffer().getDouble();
-  }
-
-  public String readLine() throws IOException {
-    LOG.error("Not implemented");
-    return null;
-  }
-
-  public String readUTF() throws IOException {
-    return DataInputStream.readUTF(this);
-  }
-
-  public ByteBuffer getBuffer() {
-    return myBuffer.buf();
-  }
-}
diff --git a/platform/platform-impl/src/com/intellij/util/io/FileKeyProvider.java b/platform/platform-impl/src/com/intellij/util/io/FileKeyProvider.java
deleted file mode 100644 (file)
index 5bffe1b..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright 2000-2009 JetBrains s.r.o.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.intellij.util.io;
-
-import com.intellij.openapi.diagnostic.Logger;
-import com.intellij.openapi.vfs.VirtualFile;
-import gnu.trove.TObjectIntHashMap;
-
-import java.io.DataInput;
-import java.io.DataOutput;
-import java.io.IOException;
-
-public class FileKeyProvider implements ByteBufferMap.KeyProvider<VirtualFile>{
-  private static final Logger LOG = Logger.getInstance("#com.intellij.util.io.FileKeyProvider");
-
-  private final VirtualFile[] myFileIndex;
-  private final TObjectIntHashMap<VirtualFile> myFileToIndexMap;
-
-  public FileKeyProvider(VirtualFile[] fileIndex, TObjectIntHashMap<VirtualFile> fileToIndexMap) {
-    myFileIndex = fileIndex;
-    myFileToIndexMap = fileToIndexMap;
-  }
-
-  public int hashCode(VirtualFile key) {
-    int index = myFileToIndexMap.get(key) - 1;
-    return index;
-  }
-
-  public void write(DataOutput out, VirtualFile key) throws IOException {
-    int index = myFileToIndexMap.get(key) - 1;
-    LOG.assertTrue(index >= 0);
-    out.writeInt(index);
-  }
-
-  public int length(VirtualFile key) {
-    return 4;
-  }
-
-  public VirtualFile get(DataInput in) throws IOException {
-    int index = in.readInt();
-    return myFileIndex[index];
-  }
-
-  public boolean equals(DataInput in, VirtualFile key) throws IOException {
-    int index = in.readInt();
-    return key.equals(myFileIndex[index]);
-  }
-}
diff --git a/platform/platform-impl/src/com/intellij/util/io/IntArrayValueProvider.java b/platform/platform-impl/src/com/intellij/util/io/IntArrayValueProvider.java
deleted file mode 100644 (file)
index 1a395c0..0000000
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * Copyright 2000-2009 JetBrains s.r.o.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.intellij.util.io;
-
-import com.intellij.openapi.diagnostic.Logger;
-import com.intellij.util.ArrayUtil;
-
-import java.io.DataInput;
-import java.io.DataOutput;
-import java.io.IOException;
-
-public class IntArrayValueProvider implements ByteBufferMap.ValueProvider<int[]> {
-  private static final Logger LOG = Logger.getInstance("#com.intellij.util.io.IntArrayValueProvider");
-  public static final IntArrayValueProvider INSTANCE = new IntArrayValueProvider(-1);
-
-  private final int myArraySize;
-
-  public IntArrayValueProvider(int arraySize) {
-    myArraySize = arraySize;
-  }
-
-  public void write(DataOutput out, int[] value) throws IOException {
-    //if (value instanceof IntArrayList) {
-    //  IntArrayList list = (IntArrayList) value;
-    //  LOG.assertTrue(myArraySize == -1 || list.size() == myArraySize);
-    //  if (myArraySize == -1) out.writeInt(list.size());
-    //  for (int i = 0; i < list.size(); i++) {
-    //    out.writeInt(list.get(i));
-    //  }
-    //} else if (value instanceof TIntArrayList) {
-    //  TIntArrayList list = (TIntArrayList) value;
-    //  LOG.assertTrue(myArraySize == -1 || list.size() == myArraySize);
-    //  if (myArraySize == -1) out.writeInt(list.size());
-    //  for (int i = 0; i < list.size(); i++) {
-    //    out.writeInt(list.get(i));
-    //  }
-    //} else {
-      int[] array = (int[])value;
-      LOG.assertTrue(myArraySize == -1 || array.length == myArraySize);
-      if (myArraySize == -1) out.writeInt(array.length);
-      for(int i = 0; i < array.length; i++){
-        out.writeInt(array[i]);
-      }
-    //}
-  }
-
-  public int length(int[] value) {
-    //if (value instanceof IntArrayList) {
-    //  IntArrayList list = (IntArrayList) value;
-    //  LOG.assertTrue(myArraySize == -1 || list.size() == myArraySize);
-    //
-    //  if (myArraySize == -1) return 4 * (list.size() + 1);
-    //
-    //  return 4 * myArraySize;
-    //} else if (value instanceof TIntArrayList) {
-    //  TIntArrayList list = (TIntArrayList) value;
-    //  LOG.assertTrue(myArraySize == -1 || list.size() == myArraySize);
-    //
-    //  if (myArraySize == -1) return 4 * (list.size() + 1);
-    //
-    //  return 4 * myArraySize;
-    //} else {
-      int[] array = (int[])value;
-      LOG.assertTrue(myArraySize == -1 || array.length == myArraySize);
-
-      if (myArraySize == -1) return 4 * (array.length + 1);
-
-      return 4 * myArraySize;
-    //}
-  }
-
-  public int[] get(DataInput in) throws IOException {
-    final int[] result;
-
-    if (myArraySize >= 0) {
-      result = ArrayUtil.newIntArray(myArraySize);
-    } else {
-      result = ArrayUtil.newIntArray(in.readInt());
-    }
-
-    for(int i = 0; i < result.length; i++){
-      result[i] = in.readInt();
-    }
-    return result;
-  }
-}
diff --git a/platform/platform-impl/src/com/intellij/util/io/IntValueProvider.java b/platform/platform-impl/src/com/intellij/util/io/IntValueProvider.java
deleted file mode 100644 (file)
index 8c30fd8..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Copyright 2000-2009 JetBrains s.r.o.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.intellij.util.io;
-
-import java.io.DataInput;
-import java.io.DataOutput;
-import java.io.IOException;
-
-/**
- * @author max
- */
-public class IntValueProvider implements ByteBufferMap.ValueProvider<Integer> {
-  public static IntValueProvider INSTANCE = new IntValueProvider();
-
-  private IntValueProvider() {
-  }
-
-  public void write(DataOutput out, Integer value) throws IOException {
-    out.writeInt(((Integer)value).intValue());
-  }
-
-  public int length(Integer value) {
-    return 4;
-  }
-
-  public Integer get(DataInput in) throws IOException {
-    return new Integer(in.readInt());
-  }
-}
diff --git a/platform/platform-impl/src/com/intellij/util/io/IntegerKeyProvider.java b/platform/platform-impl/src/com/intellij/util/io/IntegerKeyProvider.java
deleted file mode 100644 (file)
index ff10086..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright 2000-2009 JetBrains s.r.o.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.intellij.util.io;
-
-import com.intellij.openapi.diagnostic.Logger;
-
-import java.io.DataInput;
-import java.io.DataOutput;
-import java.io.IOException;
-
-/**
-   * @deprecated use {@link ByteBufferIntObjectMap} instead
- */
-public class IntegerKeyProvider implements ByteBufferMap.KeyProvider<Integer> {
-  private static final Logger LOG = Logger.getInstance("#com.intellij.util.io.StringKeyProvider");
-
-  public static final IntegerKeyProvider INSTANCE = new IntegerKeyProvider();
-
-  private IntegerKeyProvider() {
-  }
-
-  public int hashCode(Integer key) {
-    return key.hashCode();
-  }
-
-  public void write(DataOutput out, Integer key) throws IOException {
-    out.writeInt(key.intValue());
-  }
-
-  public int length(Integer key) {
-    return 4;
-  }
-
-  public Integer get(DataInput in) throws IOException {
-    return new Integer(in.readInt());
-  }
-
-  public boolean equals(DataInput in, Integer key) throws IOException {
-    return key.intValue() == in.readInt();
-  }
-}
diff --git a/platform/platform-impl/src/com/intellij/util/io/StringKeyProvider.java b/platform/platform-impl/src/com/intellij/util/io/StringKeyProvider.java
deleted file mode 100644 (file)
index f3a7e64..0000000
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * Copyright 2000-2009 JetBrains s.r.o.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.intellij.util.io;
-
-import com.intellij.openapi.diagnostic.Logger;
-
-import java.io.DataInput;
-import java.io.DataOutput;
-import java.io.IOException;
-import java.io.UnsupportedEncodingException;
-
-import org.jetbrains.annotations.NonNls;
-
-public class StringKeyProvider implements ByteBufferMap.KeyProvider<String>{
-  private static final Logger LOG = Logger.getInstance("#com.intellij.util.io.StringKeyProvider");
-
-  public static final StringKeyProvider INSTANCE = new StringKeyProvider();
-  @NonNls public static final String UTF_8_CHARSET_NAME = "UTF-8";
-
-  private StringKeyProvider() {
-  }
-
-  public int hashCode(String key) {
-    return key.hashCode();
-  }
-
-  public void write(DataOutput out, String key) throws IOException {
-    String keyString = (String)key;
-    byte[] keyBytes = keyString.getBytes(UTF_8_CHARSET_NAME);
-    out.writeInt(keyBytes.length);
-    out.write(keyBytes);
-  }
-
-  public int length(String key) {
-    try{
-      String keyString = (String)key;
-      byte[] keyBytes = keyString.getBytes(UTF_8_CHARSET_NAME);
-      return 4 + keyBytes.length;
-    }
-    catch(UnsupportedEncodingException e){
-      LOG.error(e);
-      return 0;
-    }
-  }
-
-  public String get(DataInput in) throws IOException {
-    int length = in.readInt();
-    byte[] bytes = new byte[length];
-    in.readFully(bytes);
-    try {
-      return new String(bytes, UTF_8_CHARSET_NAME);
-    }
-    catch (UnsupportedEncodingException e) {
-      LOG.error(e);
-      return null;
-    }
-  }
-
-  public boolean equals(DataInput in, String key) throws IOException {
-    try {
-      String keyString = (String)key;
-      byte[] keyBytes = keyString.getBytes(UTF_8_CHARSET_NAME);
-
-      int length = in.readInt();
-      byte[] inputBytes = new byte[length];
-      in.readFully(inputBytes);
-      if (length != keyBytes.length) return false;
-      for (int i = 0; i < length; i++) {
-        if (keyBytes[i] != inputBytes[i]) return false;
-      }
-
-      return true;
-    }
-    catch (UnsupportedEncodingException e) {
-      LOG.error(e);
-      return false;
-    }
-  }
-}
diff --git a/platform/platform-impl/src/com/intellij/util/io/WriteableMapAdapter.java b/platform/platform-impl/src/com/intellij/util/io/WriteableMapAdapter.java
deleted file mode 100644 (file)
index 2375d37..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright 2000-2009 JetBrains s.r.o.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.intellij.util.io;
-
-import java.io.DataOutput;
-import java.io.IOException;
-import java.util.Map;
-
-/**
- * @author max
- */
-public class WriteableMapAdapter<K,V> implements WriteableMap<V> {
-  private final Map<K,V> myMap;
-  private final ByteBufferMap.KeyProvider myKeyProvider;
-  private final K[] myKeys;
-
-  public WriteableMapAdapter(Map<K,V> map, ByteBufferMap.KeyProvider provider) {
-    myMap = map;
-    myKeyProvider = provider;
-    myKeys = (K[]) myMap.keySet().toArray();
-  }
-
-  public int[] getHashCodesArray() {
-    int[] keyHashCodes = new int[ myKeys.length ];
-    for( int i = 0; i < myKeys.length; i++ )
-      keyHashCodes[i] = myKeyProvider.hashCode(myKeys[i]);
-    return keyHashCodes;
-  }
-
-  public V getValue( int n ) {
-    return myMap.get( myKeys[n] );
-  }
-
-  public int getKeyLength( int n ) {
-    return myKeyProvider.length( myKeys[n] );
-  }
-
-  public void writeKey( DataOutput out, int n ) throws IOException {
-    myKeyProvider.write( out, myKeys[n] );
-  }
-}
diff --git a/platform/util/src/com/intellij/util/io/MappedFile.java b/platform/util/src/com/intellij/util/io/MappedFile.java
deleted file mode 100644 (file)
index 494ffe9..0000000
+++ /dev/null
@@ -1,355 +0,0 @@
-/*
- * Copyright 2000-2009 JetBrains s.r.o.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.intellij.util.io;
-
-import com.intellij.openapi.Forceable;
-import com.intellij.openapi.diagnostic.Logger;
-import org.jetbrains.annotations.NonNls;
-
-import java.io.*;
-import java.nio.ByteBuffer;
-import java.nio.MappedByteBuffer;
-
-/**
- * @author max
- */
-public class MappedFile implements Forceable {
-  private static final Logger LOG = Logger.getInstance("#com.intellij.util.io.MappedFile");
-
-  private MappedBufferWrapper myHolder;
-  private final File myFile;
-
-  private long myRealSize;
-  private long mySize;
-  private long myPosition;
-  private boolean myIsDirty = false;
-
-  @NonNls private static final String UTF_8_CHARSET_NAME = "UTF-8";
-  @NonNls private static final String RW = "rw";
-  private final byte[] buffer = new byte[8];
-
-  public MappedFile(File file, int initialSize) throws IOException {
-    myFile = file;
-    if (!file.exists() || file.length() == 0) {
-      writeLength(0);
-    }
-
-    myPosition = 0;
-    map();
-
-    mySize = readLength();
-    if (mySize == 0) {
-      resize(initialSize);
-    }
-  }
-
-  private long readLength() {
-    File lengthFile = getLengthFile();
-    DataInputStream stream = null;
-    try {
-      stream = new DataInputStream(new FileInputStream(lengthFile));
-      return stream.readLong();
-    }
-    catch (IOException e) {
-      writeLength(myRealSize);
-      return myRealSize;
-    }
-    finally {
-      if (stream != null) {
-        try {
-          stream.close();
-        }
-        catch (IOException e) {
-          LOG.error(e);
-        }
-      }
-    }
-  }
-
-  private File getLengthFile() {
-    return new File(myFile.getPath() + ".len");
-  }
-
-  private void writeLength(final long len) {
-    File lengthFile = getLengthFile();
-    DataOutputStream stream = null;
-    try {
-      stream = new DataOutputStream(new FileOutputStream(lengthFile));
-      stream.writeLong(len);
-    }
-    catch (FileNotFoundException e) {
-      LOG.error(e);
-    }
-    catch (IOException e) {
-      LOG.error(e);
-    }
-    finally {
-      if (stream != null) {
-        try {
-          stream.close();
-        }
-        catch (IOException e) {
-          LOG.error(e);
-        }
-      }
-    }
-  }
-
-  private void map() {
-    myHolder = new ReadWriteMappedBufferWrapper(myFile);
-    myRealSize = myFile.length();
-    if (LOG.isDebugEnabled()) {
-      LOG.assertTrue(myPosition > 0L && myPosition < myRealSize || myPosition == 0 && myRealSize == 0, "myPosition=" + myPosition + ", myRealSize=" + myRealSize);
-    }
-    myHolder.buf().position((int)myPosition);
-  }
-
-  public short getShort(int index) throws IOException {
-    seek(index);
-    return readShort();
-  }
-
-  public short readShort() throws IOException {
-    get(buffer, 0, 2);
-
-    return Bits.getShort(buffer, 0);
-  }
-
-  public void putShort(int index, short value) throws IOException {
-    seek(index);
-    writeShort(value);
-  }
-
-  public void writeShort(int value) throws IOException {
-    Bits.putShort(buffer, 0, (short)value);
-    put(buffer, 0, 2);
-  }
-
-  public int getInt(int index) throws IOException {
-    seek(index);
-    return readInt();
-  }
-
-  public long getLong(final int index) throws IOException {
-    seek(index);
-    return readLong();
-  }
-
-  public void putInt(int index, int value) throws IOException {
-    seek(index);
-    writeInt(value);
-  }
-
-  public void putLong(final int index, final long value) throws IOException {
-    seek(index);
-    writeLong(value);
-  }
-
-  public byte get(int index) throws IOException {
-    seek(index);
-    return readByte();
-  }
-
-  public void put(int index, byte value) throws IOException {
-    seek(index);
-    writeByte(value);
-  }
-
-  public void get(int index, byte[] dst, int offset, int length) throws IOException {
-    seek(index);
-    get(dst, offset, length);
-  }
-
-  public void get(final byte[] dst, final int offset, final int length) throws IOException {
-    if (myPosition + length > mySize) {
-      throw new EOFException();
-    }
-
-    buf().get(dst, offset, length);
-    myPosition += length;
-  }
-
-  public void put(int index, byte[] src, int offset, int length) throws IOException {
-    seek(index);
-    put(src, offset, length);
-  }
-
-  public void seek(long pos) throws IOException {
-    ensureSize(pos);
-    buf().position((int)pos);
-    myPosition = pos;
-    if (pos > mySize) {
-      mySize = pos;
-    }
-  }
-
-  private ByteBuffer buf() {
-    if (!isMapped()) {
-      map();
-    }
-
-    return myHolder.buf();
-  }
-
-  private void ensureSize(final long pos) throws IOException {
-    while (pos >= myRealSize) {
-      expand();
-    }
-  }
-
-  private void expand() throws IOException {
-    resize((int)((myRealSize + 1) * 13) >> 3);
-  }
-
-  public void put(final byte[] src, final int offset, final int length) throws IOException {
-    ensureSize(myPosition + length);
-    myIsDirty = true;
-    buf().put(src, offset, length);
-    myPosition += length;
-    if (myPosition > mySize) {
-      mySize = myPosition;
-    }
-  }
-
-  public void flush() {
-    if (myIsDirty) {
-      writeLength(mySize);
-      final ByteBuffer buf = buf();
-      if (buf instanceof MappedByteBuffer) {
-        MappedBufferWrapper.tryForce(buf);
-      }
-      myIsDirty = false;
-    }
-  }
-
-  public void force() {
-    flush();
-  }
-
-  public boolean isDirty() {
-    return myIsDirty;
-  }
-
-  public void close() {
-    if (myIsDirty) {
-      writeLength(mySize);
-    }
-    unmap();
-  }
-
-  public void resize(int size) throws IOException {
-    final int current = (int)myRealSize;
-    if (current == size) return;
-    unmap();
-    RandomAccessFile raf = new RandomAccessFile(myFile, RW);
-    try {
-      raf.setLength(size);
-    }
-    finally {
-      raf.close();
-    }
-    map();
-  }
-
-  public final long length() {
-    return mySize;
-  }
-
-  public long getFilePointer() {
-    return myPosition;
-  }
-
-  public int readInt() throws IOException {
-    get(buffer, 0, 4);
-    return Bits.getInt(buffer, 0);
-  }
-
-  public long readLong() throws IOException {
-    get(buffer, 0, 8);
-    return Bits.getLong(buffer, 0);
-  }
-
-  public void writeInt(int value) throws IOException {
-    Bits.putInt(buffer, 0, value);
-    put(buffer, 0, 4);
-  }
-
-  public void writeLong(long value) throws IOException {
-    Bits.putLong(buffer, 0, value);
-    put(buffer, 0, 8);
-  }
-
-  public String readUTF() throws IOException {
-    try {
-      int len = readInt();
-      byte[] bytes = new byte[ len ];
-      get(bytes, 0, len);
-      return new String(bytes, UTF_8_CHARSET_NAME);
-    }
-    catch (UnsupportedEncodingException e) {
-      // Can't be
-      return "";
-    }
-  }
-
-  public void writeUTF(String value) throws IOException {
-    try {
-      final byte[] bytes = value.getBytes(UTF_8_CHARSET_NAME);
-      writeInt(bytes.length);
-      put(bytes, 0, bytes.length);
-    }
-    catch (UnsupportedEncodingException e) {
-      // Can't be
-    }
-  }
-
-  public int readUnsignedShort() throws IOException {
-    get(buffer, 0, 2);
-
-    int ch1 = buffer[0] & 0xff;
-    int ch2 = buffer[1] & 0xff;
-    return (ch1 << 8) + ch2;
-  }
-
-  public char readChar() throws IOException {
-    return (char)readUnsignedShort();
-  }
-
-  public void writeChar(char value) throws IOException {
-    writeShort(value);
-  }
-
-  public byte readByte() throws IOException {
-    get(buffer, 0, 1);
-    return buffer[0];
-  }
-
-  public void writeByte(byte value) throws IOException {
-    buffer[0] = value;
-    put(buffer, 0, 1);
-  }
-
-  private void unmap() {
-    if (myHolder != null) {
-     /* flush(); TODO: Don't commit... */
-      myHolder.unmap();
-    }
-  }
-
-  public boolean isMapped() {
-    return myHolder.isMapped();
-  }
-}