mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

Fabio Pistolesi
24.35.2015 642e1f844e7b37d2d8306c4d4300123f46f85558
opendj-server-legacy/src/main/java/org/opends/server/backends/persistit/PersistItStorage.java
@@ -231,7 +231,7 @@
    {
      try
      {
        final Tree tree = volume.getTree(treeName.toString(), true);
        final Tree tree = volume.getTree(mangleTreeName(treeName), true);
        trees.put(treeName, tree);
      }
      catch (final PersistitException e)
@@ -401,8 +401,7 @@
    }
    @Override
    public void renameTree(final TreeName oldTreeName,
        final TreeName newTreeName)
    public void renameTree(final TreeName oldTreeName, final TreeName newTreeName)
    {
      throw new UnsupportedOperationException();
    }
@@ -473,6 +472,12 @@
      }
      exchanges.clear();
    }
    private Exchange getNewExchange(final TreeName treeName, final boolean create)
        throws PersistitException
    {
      return db.getExchange(volume, mangleTreeName(treeName), create);
    }
  }
  private static void clearAndCreateDbDir(final File dbDir)
@@ -640,10 +645,21 @@
    return new ImporterImpl();
  }
  /** {@inheritDoc} */
  public String toSafeSuffixName(final String suffix)
  private String mangleTreeName(final TreeName treeName)
  {
    return suffix.replaceAll("[,=]", "_");
    StringBuilder mangled = new StringBuilder();
    String name = treeName.toString();
    for (int idx = 0; idx < name.length(); idx++)
    {
      char ch = name.charAt(idx);
      if (ch == '=' || ch == ',')
      {
        ch = '_';
      }
      mangled.append(ch);
    }
    return mangled.toString();
  }
  /** {@inheritDoc} */
@@ -722,12 +738,6 @@
    return value;
  }
  private Exchange getNewExchange(final TreeName treeName, final boolean create)
      throws PersistitException
  {
    return db.getExchange(volume, treeName.toString(), create);
  }
  private ByteString keyToBytes(final Key key)
  {
    return ByteString.wrap(key.reset().decodeByteArray());