@Override public <T extends AbstractReadHandle> T read(String modulePath, T readHandle) throws ResourceNotFoundException, ForbiddenUserException, FailedRequestException { return services.getResource(requestLogger, modulePath, null, readHandle); } @Override
@Override public <T extends AbstractReadHandle> T read(String modulePath, T readHandle) throws ResourceNotFoundException, ForbiddenUserException, FailedRequestException { checkPath(modulePath); return services.getResource(requestLogger, modulePath, null, null, readHandle); } @Override
@Override public <R extends AbstractReadHandle> R get(RequestParameters params, Transaction transaction, R output) { return services.getResource(requestLogger, getResourcePath(), prepareParams(params, transaction), output); } @Override
@Override public <R extends AbstractReadHandle> R get(RequestParameters params, Transaction transaction, R output) { return services.getResource(requestLogger, getResourcePath(), transaction, prepareParams(params), output); } @Override
public ForestConfigurationImpl readForestConfig() { List<ForestImpl> forests = new ArrayList<>(); JsonNode results = ((DatabaseClientImpl) client).getServices() .getResource(null, "internal/forestinfo", null, null, new JacksonHandle()) .get(); for ( JsonNode forestNode : results ) { String id = forestNode.get("id").asText(); String name = forestNode.get("name").asText(); String database = forestNode.get("database").asText(); String host = forestNode.get("host").asText(); String openReplicaHost = null; if ( forestNode.get("openReplicaHost") != null ) openReplicaHost = forestNode.get("openReplicaHost").asText(); String requestHost = null; if ( forestNode.get("requestHost") != null ) requestHost = forestNode.get("requestHost").asText(); String alternateHost = null; if ( forestNode.get("alternateHost") != null ) alternateHost = forestNode.get("alternateHost").asText(); // Since we added the forestinfo end point to populate both alternateHost and requestHost // in case we have a requestHost so that we don't break the existing API code, we will make the // alternateHost as null if both alternateHost and requestHost is set. if ( requestHost != null && alternateHost != null ) alternateHost = null; boolean isUpdateable = "all".equals(forestNode.get("updatesAllowed").asText()); boolean isDeleteOnly = false; // TODO: get this for real after we start using a REST endpoint forests.add( new ForestImpl(host, openReplicaHost, requestHost, alternateHost, database, name, id, isUpdateable, isDeleteOnly) ); } return new ForestConfigurationImpl(forests.toArray(new ForestImpl[forests.size()])); }
@Override public ExtensionLibraryDescriptor[] list(String directory) throws ResourceNotFoundException, ForbiddenUserException, FailedRequestException { XMLEventReaderHandle handle = services.getResource(requestLogger, directory, null, new XMLEventReaderHandle()); XMLEventReader reader = handle.get(); List<ExtensionLibraryDescriptor> modules = new ArrayList<ExtensionLibraryDescriptor>(); while (reader.hasNext()) { XMLEvent event; try { event = reader.nextEvent(); if (event.isCharacters()) { String modulePath = event.asCharacters().getData(); ExtensionLibraryDescriptor module = new ExtensionLibraryDescriptor(); module.setPath(modulePath); modules.add(module); } } catch (XMLStreamException e) { throw new MarkLogicIOException(e); } } return modules.toArray(new ExtensionLibraryDescriptor[] {}); }
@Override public ExtensionLibraryDescriptor[] list(String directory) throws ResourceNotFoundException, ForbiddenUserException, FailedRequestException { XMLEventReaderHandle handle = services.getResource(requestLogger, directory, null, null, new XMLEventReaderHandle()); XMLEventReader reader = handle.get(); List<ExtensionLibraryDescriptor> modules = new ArrayList<>(); while (reader.hasNext()) { XMLEvent event; try { event = reader.nextEvent(); if (event.isCharacters()) { String modulePath = event.asCharacters().getData(); ExtensionLibraryDescriptor module = new ExtensionLibraryDescriptor(); module.setPath(modulePath); modules.add(module); } } catch (XMLStreamException e) { throw new MarkLogicIOException(e); } } return modules.toArray(new ExtensionLibraryDescriptor[] {}); }