Cleanup (formatting; explicit assertions; dead code)
authorRoman Shevchenko <roman.shevchenko@jetbrains.com>
Fri, 9 Jan 2015 12:40:23 +0000 (13:40 +0100)
committerRoman Shevchenko <roman.shevchenko@jetbrains.com>
Fri, 9 Jan 2015 20:09:27 +0000 (21:09 +0100)
17 files changed:
java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/libraryEditor/JavadocOrderRootTypeUIFactory.java
java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/libraryEditor/SourcesOrderRootTypeUIFactory.java
java/java-impl/src/com/intellij/ide/navigationToolbar/JavaNavBarExtension.java
java/java-impl/src/com/intellij/ide/projectView/impl/JavaProjectViewDirectoryHelper.java
java/java-impl/src/com/intellij/psi/impl/JavaDirectoryIconProvider.java
platform/core-impl/src/com/intellij/psi/impl/file/PsiDirectoryImpl.java
platform/lang-impl/src/com/intellij/ide/navigationToolbar/AbstractNavBarModelExtension.java
platform/lang-impl/src/com/intellij/ide/navigationToolbar/DefaultNavBarExtension.java
platform/lang-impl/src/com/intellij/ide/navigationToolbar/NavBarItem.java
platform/lang-impl/src/com/intellij/ide/navigationToolbar/NavBarListCellRenderer.java [deleted file]
platform/lang-impl/src/com/intellij/ide/navigationToolbar/NavBarModelExtension.java
platform/lang-impl/src/com/intellij/ide/projectView/impl/nodes/PsiDirectoryNode.java
platform/platform-impl/src/com/intellij/util/io/FileByteBuffer.java [deleted file]
platform/platform-impl/src/com/intellij/util/io/FileTypeFilter.java [deleted file]
platform/platform-impl/src/com/intellij/util/io/UrlConnectionUtil.java [deleted file]
platform/platform-impl/src/com/intellij/util/io/WriteableMap.java [deleted file]
platform/platform-impl/src/com/intellij/util/io/WriteableTIntObjectMapAdapter.java [deleted file]

index 01a7ce658fa761d2bb83be5b47dbbddf6d3020ce..7fcb3f0365b409db463b25da2ae5abdddef8af8d 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright 2000-2012 JetBrains s.r.o.
+ * Copyright 2000-2015 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.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
-/*
- * User: anna
- * Date: 26-Dec-2007
- */
 package com.intellij.openapi.roots.ui.configuration.libraryEditor;
 
 import com.intellij.icons.AllIcons;
 import com.intellij.openapi.actionSystem.AnActionEvent;
 import com.intellij.openapi.actionSystem.CustomShortcutSet;
+import com.intellij.openapi.fileChooser.FileChooserDescriptor;
 import com.intellij.openapi.fileChooser.FileChooserDescriptorFactory;
 import com.intellij.openapi.project.ProjectBundle;
 import com.intellij.openapi.projectRoots.Sdk;
@@ -40,11 +36,14 @@ import com.intellij.util.IconUtil;
 
 import javax.swing.*;
 
+/**
+ * @author anna
+ * @since 26-Dec-2007
+ */
 public class JavadocOrderRootTypeUIFactory implements OrderRootTypeUIFactory {
-
   @Override
   public SdkPathEditor createPathEditor(Sdk sdk) {
-    return new JavadocPathsEditor(sdk);
+    return new JavadocPathsEditor(sdk, FileChooserDescriptorFactory.createMultipleJavaPathDescriptor());
   }
 
   @Override
@@ -57,13 +56,11 @@ public class JavadocOrderRootTypeUIFactory implements OrderRootTypeUIFactory {
     return ProjectBundle.message("library.javadocs.node");
   }
 
-  static class JavadocPathsEditor extends SdkPathEditor {
+  private static class JavadocPathsEditor extends SdkPathEditor {
     private final Sdk mySdk;
 
-    public JavadocPathsEditor(Sdk sdk) {
-      super(ProjectBundle.message("sdk.configure.javadoc.tab"),
-            JavadocOrderRootType.getInstance(),
-            FileChooserDescriptorFactory.createMultipleJavaPathDescriptor());
+    public JavadocPathsEditor(Sdk sdk, FileChooserDescriptor descriptor) {
+      super(ProjectBundle.message("sdk.configure.javadoc.tab"), JavadocOrderRootType.getInstance(), descriptor);
       mySdk = sdk;
     }
 
@@ -86,9 +83,9 @@ public class JavadocOrderRootTypeUIFactory implements OrderRootTypeUIFactory {
     }
 
     private void onSpecifyUrlButtonClicked() {
-      final String defaultDocsUrl = mySdk == null ? "" : StringUtil.notNullize(((SdkType) mySdk.getSdkType()).getDefaultDocumentationUrl(mySdk), "");
-      VirtualFile virtualFile  = Util.showSpecifyJavadocUrlDialog(myPanel, defaultDocsUrl);
-      if(virtualFile != null){
+      String defaultDocsUrl = mySdk == null ? "" : StringUtil.notNullize(((SdkType)mySdk.getSdkType()).getDefaultDocumentationUrl(mySdk), "");
+      VirtualFile virtualFile = Util.showSpecifyJavadocUrlDialog(myPanel, defaultDocsUrl);
+      if (virtualFile != null) {
         addElement(virtualFile);
         setModified(true);
         requestDefaultFocus();
index 7d2f766eb66bb06a41054c57c76e6ea466a17fa2..7bd294d5c4b32c2a4e8652ac0d4d28036a4771e6 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright 2000-2009 JetBrains s.r.o.
+ * Copyright 2000-2015 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.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
-/*
- * User: anna
- * Date: 26-Dec-2007
- */
 package com.intellij.openapi.roots.ui.configuration.libraryEditor;
 
 import com.intellij.icons.AllIcons;
@@ -34,19 +29,15 @@ import com.intellij.openapi.vfs.VirtualFile;
 import javax.swing.*;
 import java.awt.*;
 
+/**
+ * @author anna
+ * @since 26-Dec-2007
+ */
 public class SourcesOrderRootTypeUIFactory implements OrderRootTypeUIFactory {
-
   @Override
   public SdkPathEditor createPathEditor(final Sdk sdk) {
-    return new SdkPathEditor(ProjectBundle.message("sdk.configure.sourcepath.tab"), OrderRootType.SOURCES, new FileChooserDescriptor(true, true, true, false, true, true)) {
-      @Override
-      protected VirtualFile[] adjustAddedFileSet(final Component component, final VirtualFile[] files) {
-        if (sdk.getSdkType() instanceof JavaSdkType) {
-          return PathUIUtils.scanAndSelectDetectedJavaSourceRoots(component, files);
-        }
-        return super.adjustAddedFileSet(component, files);
-      }
-    };
+    FileChooserDescriptor descriptor = new FileChooserDescriptor(true, true, true, false, true, true);
+    return new SourcesPathEditor(sdk, descriptor);
   }
 
   @Override
@@ -58,4 +49,21 @@ public class SourcesOrderRootTypeUIFactory implements OrderRootTypeUIFactory {
   public String getNodeText() {
     return ProjectBundle.message("library.sources.node");
   }
+
+  private static class SourcesPathEditor extends SdkPathEditor {
+    private final Sdk mySdk;
+
+    public SourcesPathEditor(Sdk sdk, FileChooserDescriptor descriptor) {
+      super(ProjectBundle.message("sdk.configure.sourcepath.tab"), OrderRootType.SOURCES, descriptor);
+      mySdk = sdk;
+    }
+
+    @Override
+    protected VirtualFile[] adjustAddedFileSet(final Component component, final VirtualFile[] files) {
+      if (mySdk.getSdkType() instanceof JavaSdkType) {
+        return PathUIUtils.scanAndSelectDetectedJavaSourceRoots(component, files);
+      }
+      return super.adjustAddedFileSet(component, files);
+    }
+  }
 }
index a9ad81bb9dc690ae39f1af9afa43169fafe9c157..c5db82aca2e7cce9f47b698452f378b7b627d0c6 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright 2000-2009 JetBrains s.r.o.
+ * Copyright 2000-2015 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.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
-/*
- * User: anna
- * Date: 04-Feb-2008
- */
 package com.intellij.ide.navigationToolbar;
 
 import com.intellij.analysis.AnalysisScopeBundle;
-import com.intellij.lang.StdLanguages;
+import com.intellij.lang.java.JavaLanguage;
 import com.intellij.openapi.roots.ProjectFileIndex;
 import com.intellij.openapi.roots.ProjectRootManager;
 import com.intellij.openapi.vfs.VirtualFile;
@@ -30,7 +25,12 @@ import com.intellij.psi.presentation.java.ClassPresentationUtil;
 import org.jetbrains.annotations.Nullable;
 import org.jetbrains.jps.model.java.JavaModuleSourceRootTypes;
 
+/**
+ * @author anna
+ * @since 04-Feb-2008
+ */
 public class JavaNavBarExtension extends AbstractNavBarModelExtension {
+  @Override
   public String getPresentableText(final Object object) {
     if (object instanceof PsiClass) {
       return ClassPresentationUtil.getNameForClass((PsiClass)object, false);
@@ -42,6 +42,7 @@ public class JavaNavBarExtension extends AbstractNavBarModelExtension {
     return null;
   }
 
+  @Override
   public PsiElement getParent(final PsiElement psiElement) {
     if (psiElement instanceof PsiPackage) {
       final PsiPackage parentPackage = ((PsiPackage)psiElement).getParentPackage();
@@ -52,24 +53,27 @@ public class JavaNavBarExtension extends AbstractNavBarModelExtension {
     return null;
   }
 
-
   @Nullable
+  @Override
   public PsiElement adjustElement(final PsiElement psiElement) {
     final ProjectFileIndex index = ProjectRootManager.getInstance(psiElement.getProject()).getFileIndex();
     final PsiFile containingFile = psiElement.getContainingFile();
     if (containingFile != null) {
       final VirtualFile file = containingFile.getVirtualFile();
-      if (file != null && (index.isUnderSourceRootOfType(file, JavaModuleSourceRootTypes.SOURCES) || index.isInLibraryClasses(file) || index.isInLibrarySource(file))) {
+      if (file != null &&
+          (index.isUnderSourceRootOfType(file, JavaModuleSourceRootTypes.SOURCES) || index.isInLibraryClasses(file) || index.isInLibrarySource(file))) {
         if (psiElement instanceof PsiJavaFile) {
           final PsiJavaFile psiJavaFile = (PsiJavaFile)psiElement;
-          if (psiJavaFile.getViewProvider().getBaseLanguage() == StdLanguages.JAVA) {
+          if (psiJavaFile.getViewProvider().getBaseLanguage() == JavaLanguage.INSTANCE) {
             final PsiClass[] psiClasses = psiJavaFile.getClasses();
             if (psiClasses.length == 1) {
               return psiClasses[0];
             }
           }
         }
-        if (psiElement instanceof PsiClass) return psiElement;
+        if (psiElement instanceof PsiClass) {
+          return psiElement;
+        }
       }
       return containingFile;
     }
index 5504c981918e4e954e2b0c2978e4ebe3bcc91c4d..78fedc9034bf47a3f17e62632ed93da1ec214e46 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright 2000-2009 JetBrains s.r.o.
+ * Copyright 2000-2015 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.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
-/*
- * User: anna
- * Date: 23-Jan-2008
- */
 package com.intellij.ide.projectView.impl;
 
 import com.intellij.ide.projectView.ViewSettings;
@@ -35,6 +30,10 @@ import org.jetbrains.annotations.Nullable;
 
 import java.util.Arrays;
 
+/**
+ * @author anna
+ * @since 23-Jan-2008
+ */
 public class JavaProjectViewDirectoryHelper extends ProjectViewDirectoryHelper {
   public JavaProjectViewDirectoryHelper(Project project, DirectoryIndex index) {
     super(project, index);
@@ -52,12 +51,11 @@ public class JavaProjectViewDirectoryHelper extends ProjectViewDirectoryHelper {
   @Override
   public boolean isShowFQName(final ViewSettings settings, final Object parentValue, final PsiDirectory value) {
     PsiPackage aPackage;
-        return value != null
-               && !(parentValue instanceof Project)
-               && settings.isFlattenPackages()
-               && (aPackage = JavaDirectoryService.getInstance().getPackage(value)) != null
-               && !aPackage.getQualifiedName().isEmpty();
-
+    return value != null &&
+           !(parentValue instanceof Project) &&
+           settings.isFlattenPackages() &&
+           (aPackage = JavaDirectoryService.getInstance().getPackage(value)) != null &&
+           !aPackage.getQualifiedName().isEmpty();
   }
 
   @Nullable
@@ -66,9 +64,7 @@ public class JavaProjectViewDirectoryHelper extends ProjectViewDirectoryHelper {
     PsiPackage aPackage = JavaDirectoryService.getInstance().getPackage(directory);
 
     PsiPackage parentPackage;
-    if (!ProjectRootsUtil.isSourceRoot(directory) && aPackage != null && !aPackage.getQualifiedName().isEmpty() &&
-                              parentValue instanceof PsiDirectory) {
-
+    if (!ProjectRootsUtil.isSourceRoot(directory) && aPackage != null && !aPackage.getQualifiedName().isEmpty() && parentValue instanceof PsiDirectory) {
       parentPackage = JavaDirectoryService.getInstance().getPackage(((PsiDirectory)parentValue));
     }
     else if (ProjectRootsUtil.isSourceRoot(directory) && aPackage != null) {   //package prefix
@@ -80,7 +76,6 @@ public class JavaProjectViewDirectoryHelper extends ProjectViewDirectoryHelper {
     }
 
     return PackageUtil.getNodeName(settings, aPackage, parentPackage, directory.getName(), isShowFQName(settings, parentValue, directory));
-
   }
 
   @Override
index e87e95f79086ed8815fdb9e63bd42bbb8c4228fd..b80324ad0aeef0415fc2d18a1cb7a939aa0fb382 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright 2000-2009 JetBrains s.r.o.
+ * Copyright 2000-2015 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.
@@ -48,23 +48,17 @@ public class JavaDirectoryIconProvider extends IconProvider implements DumbAware
       final PsiDirectory psiDirectory = (PsiDirectory)element;
       final VirtualFile vFile = psiDirectory.getVirtualFile();
       final Project project = psiDirectory.getProject();
-      boolean isJarRoot = vFile.getParent() == null && vFile.getFileSystem() instanceof JarFileSystem;
-      boolean isContentRoot = ProjectRootsUtil.isModuleContentRoot(vFile, project);
-      SourceFolder sourceFolder = ProjectRootsUtil.getModuleSourceRoot(vFile, project);
+
+      SourceFolder sourceFolder;
       Icon symbolIcon;
-      if (isJarRoot) {
+      if (vFile.getParent() == null && vFile.getFileSystem() instanceof JarFileSystem) {
         symbolIcon = PlatformIcons.JAR_ICON;
       }
-      else if (isContentRoot) {
+      else if (ProjectRootsUtil.isModuleContentRoot(vFile, project)) {
         Module module = ProjectRootManager.getInstance(project).getFileIndex().getModuleForFile(vFile);
-        if (module != null) {
-          symbolIcon = ModuleType.get(module).getIcon();
-        }
-        else {
-          symbolIcon = PlatformIcons.CONTENT_ROOT_ICON_CLOSED;
-        }
+        symbolIcon = module != null ? ModuleType.get(module).getIcon() : PlatformIcons.CONTENT_ROOT_ICON_CLOSED;
       }
-      else if (sourceFolder != null) {
+      else if ((sourceFolder = ProjectRootsUtil.getModuleSourceRoot(vFile, project)) != null) {
         symbolIcon = SourceRootPresentation.getSourceRootIcon(sourceFolder);
       }
       else if (JavaDirectoryService.getInstance().getPackage(psiDirectory) != null) {
@@ -76,8 +70,10 @@ public class JavaDirectoryIconProvider extends IconProvider implements DumbAware
       else {
         symbolIcon = PlatformIcons.DIRECTORY_CLOSED_ICON;
       }
+
       return ElementBase.createLayeredIcon(element, symbolIcon, 0);
     }
+
     return null;
   }
 }
index 8bdd768c91f194730e132b7cd82c285d0de5c539..079d5e87e740bd85ec3d0bd08992f77278e02347 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright 2000-2014 JetBrains s.r.o.
+ * Copyright 2000-2015 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.
@@ -13,7 +13,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package com.intellij.psi.impl.file;
 
 import com.intellij.ide.util.PsiNavigationSupport;
@@ -105,15 +104,6 @@ public class PsiDirectoryImpl extends PsiElementBase implements PsiDirectory, Qu
   public PsiElement setName(@NotNull String name) throws IncorrectOperationException {
     checkSetName(name);
 
-    /*
-    final String oldName = myFile.getName();
-    PsiTreeChangeEventImpl event = new PsiTreeChangeEventImpl(myManager);
-    event.setElement(this);
-    event.setPropertyName(PsiTreeChangeEvent.PROP_DIRECTORY_NAME);
-    event.setOldValue(oldName);
-    myManager.beforePropertyChange(event);
-    */
-
     try {
       myFile.rename(myManager, name);
     }
@@ -121,26 +111,6 @@ public class PsiDirectoryImpl extends PsiElementBase implements PsiDirectory, Qu
       throw new IncorrectOperationException(e.toString());
     }
 
-    /*
-    PsiUndoableAction undoableAction = new PsiUndoableAction(){
-      public void undo() throws IncorrectOperationException {
-        if (!PsiDirectoryImpl.this.isValid()){
-          throw new IncorrectOperationException();
-        }
-        setName(oldName);
-      }
-    };
-    */
-
-    /*
-    event = new PsiTreeChangeEventImpl(myManager);
-    event.setElement(this);
-    event.setPropertyName(PsiTreeChangeEvent.PROP_DIRECTORY_NAME);
-    event.setOldValue(oldName);
-    event.setNewValue(name);
-    event.setUndoableAction(undoableAction);
-    myManager.propertyChanged(event);
-    */
     return this;
   }
 
index 50079c02b0276144fa441d6cfe464912eb543e6a..28af5fcbb17fd89536d2e10ce5d9226f54db991d 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright 2000-2014 JetBrains s.r.o.
+ * Copyright 2000-2015 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.
@@ -19,6 +19,7 @@ import com.intellij.openapi.project.Project;
 import com.intellij.openapi.vfs.VirtualFile;
 import com.intellij.psi.PsiElement;
 import com.intellij.util.Processor;
+import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
 import java.util.Collection;
@@ -44,12 +45,13 @@ public abstract class AbstractNavBarModelExtension implements NavBarModelExtensi
     return null;
   }
 
-  public boolean processChildren(Object object, Object rootElement, Processor<Object> processor) {
-    return true;
-  }
-
+  @NotNull
   @Override
   public Collection<VirtualFile> additionalRoots(Project project) {
     return Collections.emptyList();
   }
+
+  public boolean processChildren(Object object, Object rootElement, Processor<Object> processor) {
+    return true;
+  }
 }
index 9bfd75e0b4f9520e967933f2bbb1cbaed1a39160..06928197028d0940b93b93a2c04ef9078bfc4f1d 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright 2000-2009 JetBrains s.r.o.
+ * Copyright 2000-2015 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.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
-/*
- * User: anna
- * Date: 04-Feb-2008
- */
 package com.intellij.ide.navigationToolbar;
 
 import com.intellij.analysis.AnalysisScopeBundle;
@@ -38,6 +33,10 @@ import com.intellij.util.Processor;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
+/**
+ * @author anna
+ * @since 04-Feb-2008
+ */
 public class DefaultNavBarExtension extends AbstractNavBarModelExtension {
   @Override
   @Nullable
index c286e89548350a05f5dc52e45b66ab2a49bbffe3..94e43362b349f4ee33090a15eaf8ec674e449c7a 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright 2000-2013 JetBrains s.r.o.
+ * Copyright 2000-2015 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.
@@ -28,11 +28,9 @@ import javax.swing.*;
 import java.awt.*;
 
 /**
-* @author Konstantin Bulenkov
-*/
+ * @author Konstantin Bulenkov
+ */
 public class NavBarItem extends SimpleColoredComponent implements Disposable {
-  //private static int count = 0;
-
   private final String myText;
   private final SimpleTextAttributes myAttributes;
   private final int myIndex;
@@ -43,24 +41,25 @@ public class NavBarItem extends SimpleColoredComponent implements Disposable {
   private final NavBarUI myUI;
 
   public NavBarItem(NavBarPanel panel, Object object, int idx, Disposable parent) {
-    //count++;
-    //System.out.println(count);
     myPanel = panel;
     myUI = panel.getNavBarUI();
     myObject = object;
     myIndex = idx;
     isPopupElement = idx == -1;
+
     if (object != null) {
-      final NavBarPresentation presentation = myPanel.getPresentation();
+      NavBarPresentation presentation = myPanel.getPresentation();
       myText = presentation.getPresentableText(object);
       Icon icon = presentation.getIcon(object);
       myIcon = icon != null ? icon : EmptyIcon.create(5);
       myAttributes = presentation.getTextAttributes(object, false);
-    } else {
+    }
+    else {
       myText = "Sample";
       myIcon = PlatformIcons.DIRECTORY_CLOSED_ICON;
       myAttributes = SimpleTextAttributes.REGULAR_ATTRIBUTES;
     }
+
     Disposer.register(parent == null ? panel : parent, this);
 
     setOpaque(false);
@@ -71,14 +70,10 @@ public class NavBarItem extends SimpleColoredComponent implements Disposable {
       setBorder(null);
       setPaintFocusBorder(false);
     }
+
     update();
   }
 
-  /**
-   * item for node popup
-   * @param panel
-   * @param object
-   */
   public NavBarItem(NavBarPanel panel, Object object, Disposable parent) {
     this(panel, object, -1, parent);
   }
@@ -133,18 +128,16 @@ public class NavBarItem extends SimpleColoredComponent implements Disposable {
   protected void doPaint(Graphics2D g) {
     if (isPopupElement) {
       super.doPaint(g);
-    } else {
+    }
+    else {
       myUI.doPaintNavBarItem(g, this, myPanel);
     }
   }
 
-
   public int doPaintText(Graphics2D g, int offset) {
     return super.doPaintText(g, offset, false);
   }
 
-
-
   public boolean isLastElement() {
     return myIndex == myPanel.getModel().size() - 1;
   }
@@ -181,8 +174,6 @@ public class NavBarItem extends SimpleColoredComponent implements Disposable {
     return focusOwner == myPanel && !myPanel.isNodePopupShowing();
   }
 
-
-
   public boolean isSelected() {
     final NavBarModel model = myPanel.getModel();
     return isPopupElement ? myPanel.isSelectedInPopup(myObject) : model.getSelectedIndex() == myIndex;
@@ -203,31 +194,8 @@ public class NavBarItem extends SimpleColoredComponent implements Disposable {
     return false;
   }
 
-  private Icon wrapIcon(final Icon openIcon, final Icon closedIcon, final int idx) {
-    return new Icon() {
-      @Override
-      public void paintIcon(Component c, Graphics g, int x, int y) {
-        closedIcon.paintIcon(c, g, x, y);
-      }
-
-      @Override
-      public int getIconWidth() {
-        return closedIcon.getIconWidth();
-      }
-
-      @Override
-      public int getIconHeight() {
-        return openIcon.getIconHeight();
-      }
-    };
-  }
-
   @Override
-  public void dispose() {
-    //count--;
-    //System.out.println(count);
-  }
-
+  public void dispose() { }
 
   public boolean isNextSelected() {
     return myIndex == myPanel.getModel().getSelectedIndex() - 1;
diff --git a/platform/lang-impl/src/com/intellij/ide/navigationToolbar/NavBarListCellRenderer.java b/platform/lang-impl/src/com/intellij/ide/navigationToolbar/NavBarListCellRenderer.java
deleted file mode 100644 (file)
index 03b6967..0000000
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * Copyright 2000-2012 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.ide.navigationToolbar;
-
-import com.intellij.openapi.editor.markup.EffectType;
-import com.intellij.openapi.editor.markup.TextAttributes;
-import com.intellij.openapi.module.Module;
-import com.intellij.openapi.module.ModuleManager;
-import com.intellij.openapi.project.Project;
-import com.intellij.openapi.vcs.FileStatus;
-import com.intellij.openapi.vcs.FileStatusManager;
-import com.intellij.openapi.vfs.VirtualFile;
-import com.intellij.problems.WolfTheProblemSolver;
-import com.intellij.psi.PsiElement;
-import com.intellij.psi.PsiFile;
-import com.intellij.ui.ColoredListCellRenderer;
-import com.intellij.ui.JBColor;
-import com.intellij.ui.SimpleTextAttributes;
-import com.intellij.util.ui.UIUtil;
-
-import javax.swing.*;
-import java.awt.*;
-
-/**
-* @author Konstantin Bulenkov
-*/
-public class NavBarListCellRenderer extends ColoredListCellRenderer {
-  private final Project myProject;
-  private final NavBarPanel myPanel;
-
-  NavBarListCellRenderer(Project project, NavBarPanel panel) {
-    myProject = project;
-    myPanel = panel;
-  }
-
-  @Override
-  protected void customizeCellRenderer(JList list, Object value, int index, boolean selected, boolean hasFocus) {
-    setFocusBorderAroundIcon(false);
-    final String name = myPanel.getPresentation().getPresentableText(value);
-
-    Color color = list.getForeground();
-    boolean isProblemFile = false;
-    if (value instanceof PsiElement) {
-      final PsiElement psiElement = (PsiElement)value;
-      PsiFile psiFile = psiElement.getContainingFile();
-      if (psiFile != null) {
-        VirtualFile vFile = psiFile.getVirtualFile();
-        if (vFile != null) {
-          if (WolfTheProblemSolver.getInstance(myProject).isProblemFile(vFile)) {
-            isProblemFile = true;
-          }
-          FileStatus status = FileStatusManager.getInstance(myProject).getStatus(vFile);
-          color = status.getColor();
-        }
-      }
-      else {
-        isProblemFile = NavBarPresentation.wolfHasProblemFilesBeneath(psiElement);
-      }
-    }
-    else if (value instanceof Module) {
-      final Module module = (Module)value;
-      isProblemFile = WolfTheProblemSolver.getInstance(myProject).hasProblemFilesBeneath(module);
-    }
-    else if (value instanceof Project) {
-      final Module[] modules = ModuleManager.getInstance((Project)value).getModules();
-      for (Module module : modules) {
-        if (WolfTheProblemSolver.getInstance(myProject).hasProblemFilesBeneath(module)) {
-          isProblemFile = true;
-          break;
-        }
-      }
-    }
-    final SimpleTextAttributes nameAttributes;
-    if (isProblemFile) {
-      TextAttributes attributes = new TextAttributes(color, null, JBColor.RED, EffectType.WAVE_UNDERSCORE, Font.PLAIN);
-      nameAttributes = SimpleTextAttributes.fromTextAttributes(attributes);
-    }
-    else {
-      nameAttributes = new SimpleTextAttributes(Font.PLAIN, color);
-    }
-    append(name, nameAttributes);
-    // manually set icon opaque to prevent background artifacts
-    setIconOpaque(false);
-    setIcon(myPanel.getPresentation().getIcon(value));
-    setPaintFocusBorder(false);
-    setBackground(selected ? UIUtil.getListSelectionBackground() : UIUtil.getListBackground());
-  }
-}
index e324197abb71060ded60e7b0ed56a9e2add8aadd..ced39195f65a4600000342dd4ac9e170a9c62906 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright 2000-2009 JetBrains s.r.o.
+ * Copyright 2000-2015 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.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
-/*
- * User: anna
- * Date: 04-Feb-2008
- */
 package com.intellij.ide.navigationToolbar;
 
 import com.intellij.openapi.extensions.ExtensionPointName;
 import com.intellij.openapi.project.Project;
 import com.intellij.openapi.vfs.VirtualFile;
 import com.intellij.psi.PsiElement;
+import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
 import java.util.Collection;
 
+/**
+ * @author anna
+ * @since 04-Feb-2008
+ */
 public interface NavBarModelExtension {
   ExtensionPointName<NavBarModelExtension> EP_NAME = ExtensionPointName.create("com.intellij.navbar");
 
@@ -40,5 +40,6 @@ public interface NavBarModelExtension {
   @Nullable
   PsiElement adjustElement(PsiElement psiElement);
 
+  @NotNull
   Collection<VirtualFile> additionalRoots(Project project);
 }
index 7447fa3006c5f0bd0230a7315f1f0ba56db08d62..e7ed67c9e7ff6fd097c23ca5daede1cc85bab246 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright 2000-2013 JetBrains s.r.o.
+ * Copyright 2000-2015 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.
@@ -13,7 +13,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package com.intellij.ide.projectView.impl.nodes;
 
 import com.intellij.ide.IconProvider;
@@ -59,6 +58,7 @@ import org.jetbrains.annotations.NotNull;
 
 import javax.swing.*;
 import java.util.Collection;
+import java.util.Locale;
 
 public class PsiDirectoryNode extends BasePsiNode<PsiDirectory> implements NavigatableWithText {
   public PsiDirectoryNode(Project project, PsiDirectory value, ViewSettings viewSettings) {
@@ -71,11 +71,13 @@ public class PsiDirectoryNode extends BasePsiNode<PsiDirectory> implements Navig
 
   @Override
   protected void updateImpl(PresentationData data) {
-    final Project project = getProject();
-    final PsiDirectory psiDirectory = getValue();
-    final VirtualFile directoryFile = psiDirectory.getVirtualFile();
+    Project project = getProject();
+    assert project != null : this;
+    PsiDirectory psiDirectory = getValue();
+    assert psiDirectory != null : this;
+    VirtualFile directoryFile = psiDirectory.getVirtualFile();
+    Object parentValue = getParentValue();
 
-    final Object parentValue = getParentValue();
     if (ProjectRootsUtil.isModuleContentRoot(directoryFile, project)) {
       ProjectFileIndex fi = ProjectRootManager.getInstance(project).getFileIndex();
       Module module = fi.getModuleForFile(directoryFile);
@@ -106,7 +108,7 @@ public class PsiDirectoryNode extends BasePsiNode<PsiDirectory> implements Navig
           SourceFolder sourceRoot = ProjectRootsUtil.getModuleSourceRoot(directoryFile, project);
           if (sourceRoot != null) {
             String rootTypeName = ModuleSourceRootEditHandler.getEditHandler(sourceRoot.getRootType()).getRootTypeName();
-            data.addText(" (" + rootTypeName.toLowerCase() + " root)",  SimpleTextAttributes.GRAY_ATTRIBUTES);
+            data.addText(" (" + rootTypeName.toLowerCase(Locale.getDefault()) + " root)",  SimpleTextAttributes.GRAY_ATTRIBUTES);
           }
         }
 
@@ -116,9 +118,9 @@ public class PsiDirectoryNode extends BasePsiNode<PsiDirectory> implements Navig
       }
     }
 
-    final String name = parentValue instanceof Project
-                        ? psiDirectory.getVirtualFile().getPresentableUrl()
-                        : ProjectViewDirectoryHelper.getInstance(psiDirectory.getProject()).getNodeName(getSettings(), parentValue, psiDirectory);
+    String name = parentValue instanceof Project
+                  ? psiDirectory.getVirtualFile().getPresentableUrl()
+                  : ProjectViewDirectoryHelper.getInstance(psiDirectory.getProject()).getNodeName(getSettings(), parentValue, psiDirectory);
     if (name == null) {
       setValue(null);
       return;
diff --git a/platform/platform-impl/src/com/intellij/util/io/FileByteBuffer.java b/platform/platform-impl/src/com/intellij/util/io/FileByteBuffer.java
deleted file mode 100644 (file)
index ce34564..0000000
+++ /dev/null
@@ -1,269 +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.IOException;
-import java.io.RandomAccessFile;
-
-public class FileByteBuffer {
-  private static final Logger LOG = Logger.getInstance("#com.intellij.util.io.FileByteBuffer");
-  
-  private final RandomAccessFile myFile;
-
-  public FileByteBuffer(RandomAccessFile file) {
-    myFile = file;
-  }
-
-  public byte get() {
-    try{
-      return myFile.readByte();
-    }
-    catch(IOException e){
-      LOG.error(e);
-      return 0;
-    }
-  }
-
-  public FileByteBuffer put(byte b) {
-    try{
-      myFile.write(b);
-    }
-    catch(IOException e){
-      LOG.error(e);
-    }
-    return this;
-  }
-
-  public byte get(int index) {
-    try{
-      myFile.seek(index);
-      return myFile.readByte();
-    }
-    catch(IOException e){
-      LOG.error(e);
-      return 0;
-    }
-  }
-
-  public FileByteBuffer put(int index, byte b) {
-    try{
-      myFile.seek(index);
-      myFile.write(b);
-    }
-    catch(IOException e){
-      LOG.error(e);
-    }
-    return this;
-  }
-
-  public char getChar() {
-    try{
-      return myFile.readChar();
-    }
-    catch(IOException e){
-      LOG.error(e);
-      return 0;
-    }
-  }
-
-  public FileByteBuffer putChar(char value) {
-    try{
-      myFile.writeChar(value);
-    }
-    catch(IOException e){
-      LOG.error(e);
-    }
-    return this;
-  }
-
-  public char getChar(int index) {
-    try{
-      myFile.seek(index);
-      return myFile.readChar();
-    }
-    catch(IOException e){
-      LOG.error(e);
-      return 0;
-    }
-  }
-
-  public FileByteBuffer putChar(int index, char value) {
-    try{
-      myFile.seek(index);
-      myFile.writeChar(value);
-    }
-    catch(IOException e){
-      LOG.error(e);
-    }
-    return this;
-  }
-
-  public short getShort() {
-    try{
-      return myFile.readShort();
-    }
-    catch(IOException e){
-      LOG.error(e);
-      return 0;
-    }
-  }
-
-  public FileByteBuffer putShort(short value) {
-    try{
-      myFile.writeShort(value);
-    }
-    catch(IOException e){
-      LOG.error(e);
-    }
-    return this;
-  }
-
-  public short getShort(int index) {
-    try{
-      myFile.seek(index);
-      return myFile.readShort();
-    }
-    catch(IOException e){
-      LOG.error(e);
-      return 0;
-    }
-  }
-
-  public FileByteBuffer putShort(int index, short value) {
-    try{
-      myFile.seek(index);
-      myFile.writeShort(value);
-    }
-    catch(IOException e){
-      LOG.error(e);
-    }
-    return this;
-  }
-
-  public int getInt() {
-    try{
-      return myFile.readInt();
-    }
-    catch(IOException e){
-      LOG.error(e);
-      return 0;
-    }
-  }
-
-  public FileByteBuffer putInt(int value) {
-    try{
-      myFile.writeInt(value);
-    }
-    catch(IOException e){
-      LOG.error(e);
-    }
-    return this;
-  }
-
-  public int getInt(int index) {
-    try{
-      myFile.seek(index);
-      return myFile.readInt();
-    }
-    catch(IOException e){
-      LOG.error(e);
-      return 0;
-    }
-  }
-
-  public FileByteBuffer putInt(int index, int value) {
-    try{
-      myFile.seek(index);
-      myFile.writeInt(value);
-    }
-    catch(IOException e){
-      LOG.error(e);
-    }
-    return this;
-  }
-
-  public long getLong() {
-    try{
-      return myFile.readLong();
-    }
-    catch(IOException e){
-      LOG.error(e);
-      return 0;
-    }
-  }
-
-  public FileByteBuffer putLong(long value) {
-    try{
-      myFile.writeLong(value);
-    }
-    catch(IOException e){
-      LOG.error(e);
-    }
-    return this;
-  }
-
-  public long getLong(int index) {
-    try{
-      myFile.seek(index);
-      return myFile.readLong();
-    }
-    catch(IOException e){
-      LOG.error(e);
-      return 0;
-    }
-  }
-
-  public FileByteBuffer putLong(int index, long value) {
-    try{
-      myFile.seek(index);
-      myFile.writeLong(value);
-    }
-    catch(IOException e){
-      LOG.error(e);
-    }
-    return this;
-  }
-
-  public void position(int index) {
-    try{
-      myFile.seek(index);
-    }
-    catch(IOException e){
-      LOG.error(e);
-    }
-  }
-
-  public void put(byte[] src, int offset, int length) {
-    try{
-      myFile.write(src, offset, length);
-    }
-    catch(IOException e){
-      LOG.error(e);
-    }
-  }
-
-  public FileByteBuffer get(byte[] dst, int offset, int length) {
-    try{
-      myFile.read(dst, offset, length);
-    }
-    catch(IOException e){
-      LOG.error(e);
-    }
-    return this;
-  }
-}
diff --git a/platform/platform-impl/src/com/intellij/util/io/FileTypeFilter.java b/platform/platform-impl/src/com/intellij/util/io/FileTypeFilter.java
deleted file mode 100644 (file)
index 1796f33..0000000
+++ /dev/null
@@ -1,43 +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.fileTypes.FileType;
-import com.intellij.openapi.fileTypes.FileTypeManager;
-
-import javax.swing.filechooser.FileFilter;
-import java.io.File;
-
-public class FileTypeFilter extends FileFilter {
-  private final FileType myType;
-
-  public FileTypeFilter(FileType fileType) {
-    myType = fileType;
-    myDescription = myType.getDescription();
-  }
-
-  public boolean accept(File f) {
-    if (f.isDirectory()) return true;
-    FileType type = FileTypeManager.getInstance().getFileTypeByFileName(f.getName());
-    return myType == type;
-  }
-
-  public String getDescription() {
-    return myDescription;
-  }
-
-  private final String myDescription;
-}
diff --git a/platform/platform-impl/src/com/intellij/util/io/UrlConnectionUtil.java b/platform/platform-impl/src/com/intellij/util/io/UrlConnectionUtil.java
deleted file mode 100644 (file)
index 8ea9b53..0000000
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- * Copyright 2000-2014 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.application.ApplicationManager;
-import com.intellij.openapi.progress.ProcessCanceledException;
-import com.intellij.openapi.progress.ProgressIndicator;
-import org.jetbrains.annotations.NotNull;
-import org.jetbrains.annotations.Nullable;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URLConnection;
-import java.util.concurrent.Future;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.TimeoutException;
-
-/**
- * @author nik
- */
-public class UrlConnectionUtil {
-  private UrlConnectionUtil() {
-  }
-
-  @Nullable
-  public static InputStream getConnectionInputStream(@NotNull URLConnection connection, @Nullable ProgressIndicator progressIndicator) {
-    try {
-      return getConnectionInputStreamWithException(connection, progressIndicator);
-    }
-    catch (ProcessCanceledException e) {
-      return null;
-    }
-    catch (IOException e) {
-      return null;
-    }
-  }
-
-  @NotNull
-  public static InputStream getConnectionInputStreamWithException(@NotNull URLConnection connection, @Nullable ProgressIndicator progressIndicator) throws IOException {
-    if (ApplicationManager.getApplication() == null) {
-      return connection.getInputStream();
-    }
-
-    InputStreamGetter getter = new InputStreamGetter(connection);
-    final Future<?> getterFuture = ApplicationManager.getApplication().executeOnPooledThread(getter);
-    while (true) {
-      if (progressIndicator != null) {
-        progressIndicator.checkCanceled();
-      }
-
-      try {
-        try {
-          getterFuture.get(50, TimeUnit.MILLISECONDS);
-        }
-        catch (TimeoutException ignored) {
-        }
-
-        if (progressIndicator != null) {
-          progressIndicator.setIndeterminate(true);
-          progressIndicator.setText(progressIndicator.getText());
-        }
-
-        if (getterFuture.isDone()) {
-          break;
-        }
-      }
-      catch (Exception e) {
-        throw new ProcessCanceledException(e);
-      }
-    }
-    //noinspection ThrowableResultOfMethodCallIgnored
-    if (getter.getException() != null) {
-      throw getter.getException();
-    }
-
-    return getter.getInputStream();
-  }
-
-  public static class InputStreamGetter implements Runnable {
-    private InputStream myInputStream;
-    private final URLConnection myUrlConnection;
-    private IOException myException;
-
-    public InputStreamGetter(URLConnection urlConnection) {
-      myUrlConnection = urlConnection;
-    }
-
-    public IOException getException() {
-      return myException;
-    }
-
-    public InputStream getInputStream() {
-      return myInputStream;
-    }
-
-    @Override
-    public void run() {
-      try {
-        myInputStream = myUrlConnection.getInputStream();
-      }
-      catch (IOException e) {
-        myException = e;
-        myInputStream = null;
-      }
-      catch (Exception e) {
-        myException = new IOException();
-        myException.initCause(e);
-        myInputStream = null;
-      }
-    }
-  }
-}
diff --git a/platform/platform-impl/src/com/intellij/util/io/WriteableMap.java b/platform/platform-impl/src/com/intellij/util/io/WriteableMap.java
deleted file mode 100644 (file)
index b8bfbb2..0000000
+++ /dev/null
@@ -1,32 +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.io.UnsupportedEncodingException;
-
-/**
- * @author max
- */
-public interface WriteableMap<V> {
-//Object[] keySet();
-//V get(K key);
-  int[] getHashCodesArray(); // Returns array of all key hash codes in the map
-  V getValue( int pos );
-  void writeKey( DataOutput stream, int pos ) throws IOException;
-  int getKeyLength( int pos );
-}
diff --git a/platform/platform-impl/src/com/intellij/util/io/WriteableTIntObjectMapAdapter.java b/platform/platform-impl/src/com/intellij/util/io/WriteableTIntObjectMapAdapter.java
deleted file mode 100644 (file)
index aa82c0a..0000000
+++ /dev/null
@@ -1,49 +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 gnu.trove.TIntObjectHashMap;
-
-import java.io.DataOutput;
-import java.io.IOException;
-
-/**
- * @author Dmitry.Shtukenberg
- */
-public class WriteableTIntObjectMapAdapter <V> implements WriteableMap<V> {
-  private final TIntObjectHashMap<V> hashmap;
-  private int[] hashkeys;
-
-  public WriteableTIntObjectMapAdapter(TIntObjectHashMap<V> map) {
-    hashmap = map;
-  }
-
-  public int[] getHashCodesArray() {
-    return hashkeys = hashmap.keys();
-  }
-
-  public V getValue(int pos) {
-    return hashmap.get(hashkeys[pos]);
-  }
-
-  public int getKeyLength(int pos) {
-    return 4;
-  }
-
-  public void writeKey(DataOutput out, int pos) throws IOException {
-    out.writeInt(hashkeys[pos]);
-  }
-}