Esempio n. 1
0
    private List<String> getDSConfigCommandLineArguments() {
      List<String> args = new ArrayList<>();
      args.add("set-backend-index-prop");
      args.add("--backend-name");
      args.add(backendName);

      args.add("--index-name");
      args.add(attributeName);

      if (!indexTypes.equals(indexToModify.getTypes())) {
        // To add
        Set<IndexTypeDescriptor> toAdd = new TreeSet<>();
        for (IndexTypeDescriptor newType : indexTypes) {
          if (!indexToModify.getTypes().contains(newType)) {
            toAdd.add(newType);
          }
        }
        // To delete
        Set<IndexTypeDescriptor> toDelete = new TreeSet<>();
        for (IndexTypeDescriptor oldType : indexToModify.getTypes()) {
          if (!indexTypes.contains(oldType)) {
            toDelete.add(oldType);
          }
        }
        for (IndexTypeDescriptor newType : toDelete) {
          args.add("--remove");
          args.add("index-type:" + newType);
        }
        for (IndexTypeDescriptor newType : toAdd) {
          args.add("--add");
          args.add("index-type:" + newType.toBackendIndexType());
        }
      }
      if (entryLimitValue != indexToModify.getEntryLimit()) {
        args.add("--set");
        args.add("index-entry-limit:" + entryLimitValue);
      }
      args.addAll(getConnectionCommandLineArguments());
      args.add("--no-prompt");
      return args;
    }
Esempio n. 2
0
    private void modifyBackendIndexOnline(final PluggableBackendCfgClient backend)
        throws OpenDsException {
      final BackendIndexCfgClient index = backend.getBackendIndex(attributeName);
      if (!indexTypes.equals(indexToModify.getTypes())) {
        index.setIndexType(IndexTypeDescriptor.toBackendIndexTypes(indexTypes));
      }

      if (entryLimitValue != index.getIndexEntryLimit()) {
        index.setIndexEntryLimit(entryLimitValue);
      }
      index.commit();
    }