@Override public <T extends StructureReadHandle> T get(T handle) { HandleAccessor.receiveContent(handle, item); return handle; } @Override
@Override public <T extends RuleListReadHandle> T match(QueryDefinition docQuery, long start, long pageLength, String[] candidateRules, T ruleListHandle, ServerTransform transform) { HandleAccessor.receiveContent(ruleListHandle, services.match(docQuery, start, pageLength, candidateRules, transform)); ; return ruleListHandle; }
@Override public <T extends RuleListReadHandle> T match(String[] docIds, String[] candidateRules, T ruleListHandle, ServerTransform transform) { HandleAccessor.receiveContent(ruleListHandle, services.match(docIds, candidateRules, transform)); return ruleListHandle; }
@Override public <T extends RuleListReadHandle> T match(QueryDefinition docQuery, long start, long pageLength, String[] candidateRules, T ruleListHandle, ServerTransform transform) { HandleAccessor.receiveContent(ruleListHandle, services.match(docQuery, start, pageLength, candidateRules, transform)); ; return ruleListHandle; }
@Override public <T extends RuleListReadHandle> T match(String[] docIds, String[] candidateRules, T ruleListHandle, ServerTransform transform) { HandleAccessor.receiveContent(ruleListHandle, services.match(docIds, candidateRules, transform)); return ruleListHandle; }
protected void receiveContent(InputStream content) { rules = new ArrayList<RuleDefinition>(); DOMHandle domHandle = new DOMHandle(); HandleAccessor.receiveContent(domHandle, content); Document document = domHandle.get(); NodeList ruleNodes = document.getElementsByTagNameNS(RequestConstants.RESTAPI_NS, "rule"); for (int i=0; i < ruleNodes.getLength(); i++) { Element ruleElement = (Element) ruleNodes.item(i); RuleDefinition ruleDefinition = new RuleDefinition(); ruleDefinition.receiveElement(ruleElement); rules.add(ruleDefinition); } } }
protected void receiveContent(InputStream content) { DOMHandle handle = new DOMHandle(); HandleAccessor.receiveContent(handle, content); Element ruleElement = handle.get().getDocumentElement(); receiveElement(ruleElement); }
@Override protected void receiveContent(InputStream content) { rules = new ArrayList<>(); DOMHandle domHandle = new DOMHandle(); HandleAccessor.receiveContent(domHandle, content); Document document = domHandle.get(); NodeList ruleNodes = document.getElementsByTagNameNS(RequestConstants.RESTAPI_NS, "rule"); int ruleNodesLength = ruleNodes.getLength(); for (int i=0; i < ruleNodesLength; i++) { Element ruleElement = (Element) ruleNodes.item(i); RuleDefinition ruleDefinition = new RuleDefinition(); ruleDefinition.receiveElement(ruleElement); rules.add(ruleDefinition); } } }
@Override protected void receiveContent(InputStream content) { DOMHandle handle = new DOMHandle(); HandleAccessor.receiveContent(handle, content); Element ruleElement = handle.get().getDocumentElement(); receiveElement(ruleElement); }
@Override public <T> T getAs(Class<T> as) { ContentHandle<T> readHandle = DatabaseClientFactory.getHandleRegistry().makeHandle(as); if ( readHandle == null ) return null; HandleAccessor.receiveContent(readHandle, item); return readHandle.get(); } }
@SuppressWarnings("rawtypes") @Override public <T extends RuleListReadHandle> T match(StructureWriteHandle document, String[] candidateRules, T ruleListHandle, ServerTransform transform) { HandleImplementation searchBase = HandleAccessor.checkHandle(document, "match"); Format searchFormat = searchBase.getFormat(); switch(searchFormat) { case UNKNOWN: searchFormat = Format.XML; break; case JSON: case XML: break; default: throw new UnsupportedOperationException("Only XML and JSON queries can filter for rule matches."); } String mimeType = searchFormat.getDefaultMimetype(); HandleAccessor.receiveContent(ruleListHandle, services.match(document, candidateRules, mimeType, transform)); return ruleListHandle; }
@SuppressWarnings("rawtypes") @Override public <T extends RuleListReadHandle> T match(StructureWriteHandle document, String[] candidateRules, T ruleListHandle, ServerTransform transform) { HandleImplementation searchBase = HandleAccessor.checkHandle(document, "match"); Format searchFormat = searchBase.getFormat(); switch(searchFormat) { case UNKNOWN: searchFormat = Format.XML; break; case JSON: case XML: break; default: throw new UnsupportedOperationException("Only XML and JSON queries can filter for rule matches."); } String mimeType = searchFormat.getDefaultMimetype(); HandleAccessor.receiveContent(ruleListHandle, services.match(document, candidateRules, mimeType, transform)); return ruleListHandle; }
private void validateClosingHandleClosesUnderlyingStream(AbstractReadHandle handle, String content) throws Exception { MockInputStream stream = new MockInputStream(content.getBytes()); HandleAccessor.receiveContent(handle, stream); if ( handle instanceof Closeable ) { ((Closeable) handle).close(); } assertTrue("Handle " + handle.getClass().getName() + " did not close underlying InputStream", stream.isClosed()); }
private CombinedQueryDefinitionImpl parseCombinedQuery(RawCombinedQueryDefinition qdef) { DOMHandle handle = new DOMHandle(); HandleAccessor.receiveContent(handle, HandleAccessor.contentAsString(qdef.getHandle())); Document combinedQueryXml = handle.get(); DOMImplementationLS domImplementation = (DOMImplementationLS) combinedQueryXml.getImplementation();