@Override public int execute(final String fullCommand, final CommandLine cl, final Shell shellState) throws AccumuloException, AccumuloSecurityException, IOException { Map<String,String> namespaces = new TreeMap<>( shellState.getAccumuloClient().namespaceOperations().namespaceIdMap()); Iterator<String> it = Iterators.transform(namespaces.entrySet().iterator(), entry -> { String name = entry.getKey(); if (Namespace.DEFAULT.equals(name)) name = DEFAULT_NAMESPACE_DISPLAY_NAME; String id = entry.getValue(); if (cl.hasOption(namespaceIdOption.getOpt())) return String.format(TablesCommand.NAME_AND_ID_FORMAT, name, id); else return name; }); shellState.printLines(it, !cl.hasOption(disablePaginationOpt.getOpt())); return 0; }
@Override public int execute(final String fullCommand, final CommandLine cl, final Shell shellState) throws AccumuloException, AccumuloSecurityException, IOException { Map<String,String> namespaces = new TreeMap<>( shellState.getConnector().namespaceOperations().namespaceIdMap()); Iterator<String> it = Iterators.transform(namespaces.entrySet().iterator(), new Function<Entry<String,String>,String>() { @Override public String apply(Map.Entry<String,String> entry) { String name = entry.getKey(); if (Namespaces.DEFAULT_NAMESPACE.equals(name)) name = DEFAULT_NAMESPACE_DISPLAY_NAME; String id = entry.getValue(); if (cl.hasOption(namespaceIdOption.getOpt())) return String.format(TablesCommand.NAME_AND_ID_FORMAT, name, id); else return name; } }); shellState.printLines(it, !cl.hasOption(disablePaginationOpt.getOpt())); return 0; }
@Override public Map<String,String> namespaceIdMap(ByteBuffer login) throws org.apache.accumulo.proxy.thrift.AccumuloException, org.apache.accumulo.proxy.thrift.AccumuloSecurityException, TException { try { return getConnector(login).namespaceOperations().namespaceIdMap(); } catch (Exception e) { handleException(e); return null; } }
@Test public void listNamespaces() throws Exception { SortedSet<String> namespaces = c.namespaceOperations().list(); Map<String,String> map = c.namespaceOperations().namespaceIdMap(); assertEquals(2, namespaces.size()); assertEquals(2, map.size()); map = c.namespaceOperations().namespaceIdMap(); assertEquals(3, namespaces.size()); assertEquals(3, map.size()); map = c.namespaceOperations().namespaceIdMap(); assertEquals(2, namespaces.size()); assertEquals(2, map.size());
@Test public void renameNamespaceWithTable() throws Exception { String namespace2 = namespace + "_renamed"; String t1 = namespace + ".t"; String t2 = namespace2 + ".t"; c.namespaceOperations().create(namespace); c.tableOperations().create(t1); assertTrue(c.namespaceOperations().exists(namespace)); assertTrue(c.tableOperations().exists(t1)); assertFalse(c.namespaceOperations().exists(namespace2)); assertFalse(c.tableOperations().exists(t2)); String namespaceId = c.namespaceOperations().namespaceIdMap().get(namespace); String tableId = c.tableOperations().tableIdMap().get(t1); c.namespaceOperations().rename(namespace, namespace2); assertFalse(c.namespaceOperations().exists(namespace)); assertFalse(c.tableOperations().exists(t1)); assertTrue(c.namespaceOperations().exists(namespace2)); assertTrue(c.tableOperations().exists(t2)); // verify id's didn't change String namespaceId2 = c.namespaceOperations().namespaceIdMap().get(namespace2); String tableId2 = c.tableOperations().tableIdMap().get(t2); assertEquals(namespaceId, namespaceId2); assertEquals(tableId, tableId2); }