@Override public String readPrefix(String prefix) throws ForbiddenUserException, FailedRequestException { if (prefix == null) throw new IllegalArgumentException("Cannot read namespace for null prefix"); if (prefix.length() == 0) throw new IllegalArgumentException("Server does not maintain a default namespace"); String binding = services.getValue( requestLogger, "config/namespaces", prefix, true, "application/xml", String.class); if (binding == null) return null; Matcher matcher = NAMESPACE_PATTERN.matcher(binding); if (!matcher.find()) { if (logger.isWarnEnabled()) logger.warn("Failed to extract namespace from {}", binding); return null; } return matcher.toMatchResult().group(3); } @Override
@Override public String readPrefix(String prefix) throws ForbiddenUserException, FailedRequestException { if (prefix == null) throw new IllegalArgumentException("Cannot read namespace for null prefix"); if (prefix.length() == 0) throw new IllegalArgumentException("Server does not maintain a default namespace"); String binding = services.getValue( requestLogger, "config/namespaces", prefix, true, "application/xml", String.class); if (binding == null) return null; Matcher matcher = NAMESPACE_PATTERN.matcher(binding); if (!matcher.find()) { if (logger.isWarnEnabled()) logger.warn("Failed to extract namespace from {}", binding); return null; } return matcher.toMatchResult().group(3); } @Override
private <T extends AbstractReadHandle> T readTransform( String transformName, String sourceMimetype, T sourceHandle) throws ResourceNotFoundException, ForbiddenUserException, FailedRequestException { if (transformName == null) throw new IllegalArgumentException("Reading transform with null name"); if (logger.isInfoEnabled()) logger.info("Reading transform source for {}", transformName); HandleImplementation sourceBase = HandleAccessor.checkHandle(sourceHandle, "transform"); sourceBase.receiveContent( services.getValue(requestLogger, "config/transforms", transformName, true, sourceMimetype, sourceBase.receiveAs()) ); return sourceHandle; }
@Override public <T extends TextReadHandle> T readServices(String resourceName, T sourceHandle) { if (resourceName == null) throw new IllegalArgumentException("Reading resource services source with null name"); if (logger.isInfoEnabled()) logger.info("Reading resource services source for {}", resourceName); HandleImplementation sourceBase = HandleAccessor.checkHandle(sourceHandle, "resource"); sourceBase.receiveContent( services.getValue(requestLogger, "config/resources", resourceName, true, "application/xquery", sourceBase.receiveAs()) ); return sourceHandle; }
private <T extends AbstractReadHandle> T readTransform( String transformName, String sourceMimetype, T sourceHandle) throws ResourceNotFoundException, ForbiddenUserException, FailedRequestException { if (transformName == null) throw new IllegalArgumentException("Reading transform with null name"); if (logger.isInfoEnabled()) logger.info("Reading transform source for {}", transformName); HandleImplementation sourceBase = HandleAccessor.checkHandle(sourceHandle, "transform"); sourceBase.receiveContent( services.getValue(requestLogger, "config/transforms", transformName, true, sourceMimetype, sourceBase.receiveAs()) ); return sourceHandle; }
@Override public <T extends TextReadHandle> T readServices(String resourceName, T sourceHandle) { if (resourceName == null) throw new IllegalArgumentException("Reading resource services source with null name"); if (logger.isInfoEnabled()) logger.info("Reading resource services source for {}", resourceName); HandleImplementation sourceBase = HandleAccessor.checkHandle(sourceHandle, "resource"); sourceBase.receiveContent( services.getValue(requestLogger, "config/resources", resourceName, true, sourceBase.getMimetype(), sourceBase.receiveAs()) ); return sourceHandle; }
@Override @SuppressWarnings({ "unchecked", "rawtypes" }) public <T extends RuleReadHandle> T readRule(String ruleName, T ruleHandle) throws ResourceNotFoundException, ForbiddenUserException, FailedRequestException { if (ruleName == null) { throw new IllegalArgumentException("Cannot read null rule name"); } HandleImplementation ruleBase = HandleAccessor.checkHandle(ruleHandle, "rule"); Format ruleFormat = ruleBase.getFormat(); switch (ruleFormat) { case UNKNOWN: ruleFormat = Format.XML; break; case JSON: case XML: break; default: throw new UnsupportedOperationException( "Only JSON and XML rules are possible."); } String mimetype = ruleFormat.getDefaultMimetype(); ruleBase.receiveContent(services.getValue(requestLogger, RULES_BASE, ruleName, false, mimetype, ruleBase.receiveAs())); return ruleHandle; }
@Override @SuppressWarnings({ "rawtypes", "unchecked" }) public <T extends StructureReadHandle> T readStatus(T handle) throws ForbiddenUserException, FailedRequestException { if (handle == null) throw new IllegalArgumentException("reading transaction status with null handle"); HandleImplementation handleBase = HandleAccessor.checkHandle(handle, "structure"); handleBase.receiveContent( services.getValue( null, "transactions", getTransactionId(), false, handleBase.getMimetype(), handleBase.receiveAs() ) ); return handle; }
@Override @SuppressWarnings({ "rawtypes", "unchecked" }) public <T extends QueryOptionsReadHandle> T readOptions(String name, T queryOptionsHandle) throws ResourceNotFoundException, ForbiddenUserException, FailedRequestException { if (name == null) { throw new IllegalArgumentException( "Cannot read options for null name"); } HandleImplementation queryOptionsBase = HandleAccessor.checkHandle( queryOptionsHandle, "query options"); Format queryOptionsFormat = queryOptionsBase.getFormat(); switch (queryOptionsFormat) { case UNKNOWN: queryOptionsFormat = Format.XML; break; case JSON: case XML: break; default: throw new UnsupportedOperationException( "Only JSON and XML query options are possible."); } String mimetype = queryOptionsFormat.getDefaultMimetype(); queryOptionsBase.receiveContent(services.getValue( requestLogger, QUERY_OPTIONS_BASE, name, false, mimetype, queryOptionsBase.receiveAs())); return queryOptionsHandle; }
@Override @SuppressWarnings({ "unchecked", "rawtypes" }) public <T extends RuleReadHandle> T readRule(String ruleName, T ruleHandle) throws ResourceNotFoundException, ForbiddenUserException, FailedRequestException { if (ruleName == null) { throw new IllegalArgumentException("Cannot read null rule name"); } HandleImplementation ruleBase = HandleAccessor.checkHandle(ruleHandle, "rule"); Format ruleFormat = ruleBase.getFormat(); switch (ruleFormat) { case UNKNOWN: ruleFormat = Format.XML; break; case JSON: case XML: break; default: throw new UnsupportedOperationException( "Only JSON and XML rules are possible."); } String mimetype = ruleFormat.getDefaultMimetype(); ruleBase.receiveContent(services.getValue(requestLogger, RULES_BASE, ruleName, false, mimetype, ruleBase.receiveAs())); return ruleHandle; }
@Override @SuppressWarnings({ "rawtypes", "unchecked" }) public <T extends StructureReadHandle> T readStatus(T handle) throws ForbiddenUserException, FailedRequestException { if (handle == null) throw new IllegalArgumentException("reading transaction status with null handle"); HandleImplementation handleBase = HandleAccessor.checkHandle(handle, "structure"); handleBase.receiveContent( services.getValue( null, "transactions", getTransactionId(), this, false, handleBase.getMimetype(), handleBase.receiveAs() ) ); return handle; }
@Override @SuppressWarnings({ "rawtypes", "unchecked" }) public <T extends QueryOptionsReadHandle> T readOptions(String name, T queryOptionsHandle) throws ResourceNotFoundException, ForbiddenUserException, FailedRequestException { if (name == null) { throw new IllegalArgumentException( "Cannot read options for null name"); } HandleImplementation queryOptionsBase = HandleAccessor.checkHandle( queryOptionsHandle, "query options"); Format queryOptionsFormat = queryOptionsBase.getFormat(); switch (queryOptionsFormat) { case UNKNOWN: queryOptionsFormat = Format.XML; break; case JSON: case XML: break; default: throw new UnsupportedOperationException( "Only JSON and XML query options are possible."); } String mimetype = queryOptionsFormat.getDefaultMimetype(); queryOptionsBase.receiveContent(services.getValue( requestLogger, QUERY_OPTIONS_BASE, name, false, mimetype, queryOptionsBase.receiveAs())); return queryOptionsHandle; }