@Command public void onNewIndex() throws SearchLibException, InterruptedException, IOException, NamingException { String msg = null; if (indexName == null) msg = "Please enter a valid name for the new index"; else if (indexName.length() == 0) msg = "Please enter a valid name for the new index"; else if (ClientCatalog.exists(getLoggedUser(), indexName)) msg = "The name already exists"; if (msg != null) { new AlertController(msg); return; } ClientCatalog.createIndex(getLoggedUser(), indexName, indexTemplate.getTemplate(), null); setClient(ClientCatalog.getClient(indexName)); }
public void setClientName(ClientCatalogItem item) throws SearchLibException, NamingException { if (item == null) return; Client client = ClientCatalog.getClient(item.getIndexName()); if (client == null) return; setClient(client); selectedClientCatalogItem = item; }
public Client getClient() { try { return ClientCatalog.getClient(indexName); } catch (SearchLibException e) { Logging.error(e); return null; } }
@Override @NotifyChange("#indexList") protected void onYes() throws SearchLibException { try { ClientCatalog.eraseIndex(getLoggedUser(), indexName); setClient(null); } catch (NamingException e) { throw new SearchLibException(e); } catch (IOException e) { throw new SearchLibException(e); } }
@Override protected void doRequest(ServletTransaction transaction) throws ServletException { try { User user = transaction.getLoggedUser(); if (user != null && !user.isAdmin()) throw new SearchLibException("Not permitted"); Client client = transaction.getClient(); String cmd = transaction.getParameterString("cmd"); if (CALL_XML_CMD_INIT.equals(cmd)) { transaction.addXmlResponse(CALL_XML_KEY_CMD, CALL_XML_CMD_INIT); ClientCatalog.receive_init(client); transaction.addXmlResponse(XML_CALL_KEY_STATUS, XML_CALL_KEY_STATUS_OK); return; } if (CALL_XML_CMD_SWITCH.equals(cmd)) { transaction.addXmlResponse(CALL_XML_KEY_CMD, CALL_XML_CMD_SWITCH); ClientCatalog.receive_switch(transaction.getWebApp(), client); transaction.addXmlResponse(XML_CALL_KEY_STATUS, XML_CALL_KEY_STATUS_OK); return; } if (CALL_XML_CMD_MERGE.equals(cmd)) { transaction.addXmlResponse(CALL_XML_KEY_CMD, CALL_XML_CMD_MERGE); ClientCatalog.receive_merge(transaction.getWebApp(), client); transaction.addXmlResponse(XML_CALL_KEY_STATUS, XML_CALL_KEY_STATUS_OK); return; } if (CALL_XML_CMD_ABORT.equals(cmd)) { transaction.addXmlResponse(CALL_XML_KEY_CMD, CALL_XML_CMD_ABORT); ClientCatalog.receive_abort(client); transaction.addXmlResponse(XML_CALL_KEY_STATUS, XML_CALL_KEY_STATUS_OK); return; } String filePath = transaction.getParameterString(CALL_XML_CMD_FILEPATH); Long lastModified = transaction.getParameterLong("lastModified", 0L); Long length = transaction.getParameterLong("length", 0L); if (CALL_XML_CMD_EXISTS.equals(cmd)) { transaction.addXmlResponse(CALL_XML_KEY_CMD, CALL_XML_CMD_EXISTS); boolean exist = ClientCatalog.receive_file_exists(client, filePath, lastModified, length); transaction.addXmlResponse(CALL_XML_KEY_EXISTS, Boolean.toString(exist)); transaction.addXmlResponse(XML_CALL_KEY_STATUS, XML_CALL_KEY_STATUS_OK); return; } transaction.addXmlResponse(CALL_XML_KEY_CMD, CALL_XML_CMD_FILEPATH); if (FilenameUtils.getName(filePath).startsWith(".")) { transaction.addXmlResponse(XML_CALL_KEY_STATUS, XML_CALL_KEY_STATUS_OK); return; } filePath = FileUtils.unixToSystemPath(filePath); if (transaction.getParameterBoolean("type", "dir", false)) ClientCatalog.receive_dir(client, filePath); else ClientCatalog.receive_file(client, filePath, lastModified, transaction.getInputStream()); transaction.addXmlResponse(XML_CALL_KEY_STATUS, XML_CALL_KEY_STATUS_OK); } catch (SearchLibException e) { throw new ServletException(e); } catch (NamingException e) { throw new ServletException(e); } catch (InterruptedException e) { throw new ServletException(e); } catch (IOException e) { throw new ServletException(e); } }
public void computeInfos() throws SearchLibException { lastModifiedAndSize = ClientCatalog.getLastModifiedAndSize(indexName); }
public Set<ClientCatalogItem> getClientCatalog() throws SearchLibException { if (catalogItems != null) return catalogItems; catalogItems = ClientCatalog.getClientCatalog(getLoggedUser()); return catalogItems; }