@Override @SuppressWarnings("rawtypes") public List<NodePropertyEntity> selectNodePropertiesByTypes(Set<QName> qnames) { final List<NodePropertyEntity> properties = new ArrayList<NodePropertyEntity>(); // qnames of properties that are encrypted Set<Long> qnameIds = qnameDAO.convertQNamesToIds(qnames, false); if(qnameIds.size() > 0) { IdsEntity param = new IdsEntity(); param.setIds(new ArrayList<Long>(qnameIds)); // TODO - use a callback approach template.select(SELECT_PROPERTIES_BY_TYPES, param, new ResultHandler() { @Override public void handleResult(ResultContext context) { properties.add((NodePropertyEntity)context.getResultObject()); } }); } return properties; }
@Override @SuppressWarnings("rawtypes") public List<NodePropertyEntity> selectNodePropertiesByTypes(Set<QName> qnames) { final List<NodePropertyEntity> properties = new ArrayList<NodePropertyEntity>(); // qnames of properties that are encrypted Set<Long> qnameIds = qnameDAO.convertQNamesToIds(qnames, false); if(qnameIds.size() > 0) { IdsEntity param = new IdsEntity(); param.setIds(new ArrayList<Long>(qnameIds)); // TODO - use a callback approach template.select(SELECT_PROPERTIES_BY_TYPES, param, new ResultHandler() { @Override public void handleResult(ResultContext context) { properties.add((NodePropertyEntity)context.getResultObject()); } }); } return properties; }
template.select(SELECT_CONTENT_SIZES_NEW, params, resultHandler);
template.select(SELECT_USERS_WITHOUT_USAGE, params, resultHandler);
template.select(SELECT_USERS_WITH_USAGE, params, resultHandler);
template.select(SELECT_USERS_WITHOUT_USAGE, params, resultHandler);
template.select(SELECT_USERS_WITH_USAGE, params, resultHandler);
@SuppressWarnings("rawtypes") @Override public List<NodePropertyEntity> selectNodePropertiesByDataType(QName dataType, long minNodeId, long maxNodeId) { int typeOrdinal = NodePropertyValue.convertToTypeOrdinal(dataType); IdsEntity ids = new IdsEntity(); ids.setIdOne((long)typeOrdinal); ids.setIdTwo(minNodeId); ids.setIdThree(maxNodeId); final List<NodePropertyEntity> properties = new ArrayList<NodePropertyEntity>(); template.select(SELECT_PROPERTIES_BY_ACTUAL_TYPE, ids, new ResultHandler() { @Override public void handleResult(ResultContext context) { properties.add((NodePropertyEntity)context.getResultObject()); } }); return properties; }
@SuppressWarnings("rawtypes") @Override public List<NodePropertyEntity> selectNodePropertiesByDataType(QName dataType, long minNodeId, long maxNodeId) { int typeOrdinal = NodePropertyValue.convertToTypeOrdinal(dataType); IdsEntity ids = new IdsEntity(); ids.setIdOne((long)typeOrdinal); ids.setIdTwo(minNodeId); ids.setIdThree(maxNodeId); final List<NodePropertyEntity> properties = new ArrayList<NodePropertyEntity>(); template.select(SELECT_PROPERTIES_BY_ACTUAL_TYPE, ids, new ResultHandler() { @Override public void handleResult(ResultContext context) { properties.add((NodePropertyEntity)context.getResultObject()); } }); return properties; }
@Override protected void selectNodesWithAspects( List<Long> qnameIds, Long minNodeId, Long maxNodeId, final NodeRefQueryCallback resultsCallback) { @SuppressWarnings("rawtypes") ResultHandler resultHandler = new ResultHandler() { public void handleResult(ResultContext context) { NodeEntity entity = (NodeEntity) context.getResultObject(); Pair<Long, NodeRef> nodePair = new Pair<Long, NodeRef>(entity.getId(), entity.getNodeRef()); resultsCallback.handle(nodePair); } }; IdsEntity parameters = new IdsEntity(); parameters.setIdOne(minNodeId); parameters.setIdTwo(maxNodeId); parameters.setIds(qnameIds); template.select(SELECT_NODES_WITH_ASPECT_IDS, parameters, resultHandler); }
@Override protected void findPropertiesByIds(List<Long> ids, final PropertyFinderCallback callback) { ResultHandler valueResultHandler = new ResultHandler() { public void handleResult(ResultContext context) { PropertyIdQueryResult result = (PropertyIdQueryResult) context.getResultObject(); Long id = result.getPropId(); // Make the serializable value List<PropertyIdSearchRow> rows = result.getPropValues(); Serializable value = convertPropertyIdSearchRows(rows); callback.handleProperty(id, value); } }; // A row handler to roll up individual rows Configuration configuration = template.getConfiguration(); RollupResultHandler rollupResultHandler = new RollupResultHandler( configuration, KEY_COLUMNS_FINDBYIDS, "propValues", valueResultHandler); // Query using the IDs PropertyIdQueryParameter params = new PropertyIdQueryParameter(); params.setRootPropIds(ids); template.select(SELECT_PROPERTIES_BY_IDS, params, rollupResultHandler); // Process any remaining results rollupResultHandler.processLastResults(); // Done }
@Override protected void selectNodesWithAspects( List<Long> qnameIds, Long minNodeId, Long maxNodeId, final NodeRefQueryCallback resultsCallback) { @SuppressWarnings("rawtypes") ResultHandler resultHandler = new ResultHandler() { public void handleResult(ResultContext context) { NodeEntity entity = (NodeEntity) context.getResultObject(); Pair<Long, NodeRef> nodePair = new Pair<Long, NodeRef>(entity.getId(), entity.getNodeRef()); resultsCallback.handle(nodePair); } }; IdsEntity parameters = new IdsEntity(); parameters.setIdOne(minNodeId); parameters.setIdTwo(maxNodeId); parameters.setIds(qnameIds); template.select(SELECT_NODES_WITH_ASPECT_IDS, parameters, resultHandler); }
@Override protected void selectChildAssocsByChildTypes( Long parentNodeId, Set<QName> childNodeTypeQNames, ChildAssocRefQueryCallback resultsCallback) { ChildAssocEntity assoc = new ChildAssocEntity(); // Parent NodeEntity parentNode = new NodeEntity(); parentNode.setId(parentNodeId); assoc.setParentNode(parentNode); // Child Node Type QNames Set<Long> childNodeTypeQNameIds = qnameDAO.convertQNamesToIds(childNodeTypeQNames, false); if (childNodeTypeQNameIds.size() == 0) { resultsCallback.done(); return; // Shortcut as they don't exist } assoc.setChildNodeTypeQNameIds(new ArrayList<Long>(childNodeTypeQNameIds)); // Ordered assoc.setOrdered(resultsCallback.orderResults()); ChildAssocResultHandler resultHandler = new ChildAssocResultHandler(resultsCallback); template.select(SELECT_CHILD_ASSOCS_OF_PARENT, assoc, resultHandler); resultsCallback.done(); }
@Override protected void selectChildAssocs( Long parentNodeId, Set<QName> assocTypeQNames, ChildAssocRefQueryCallback resultsCallback) { ChildAssocEntity assoc = new ChildAssocEntity(); // Parent NodeEntity parentNode = new NodeEntity(); parentNode.setId(parentNodeId); assoc.setParentNode(parentNode); // Type QNames Set<Long> assocTypeQNameIds = qnameDAO.convertQNamesToIds(assocTypeQNames, false); if (assocTypeQNameIds.size() == 0) { resultsCallback.done(); return; // Shortcut as they don't exist } assoc.setTypeQNameIds(new ArrayList<Long>(assocTypeQNameIds)); // Ordered assoc.setOrdered(resultsCallback.orderResults()); ChildAssocResultHandler resultHandler = new ChildAssocResultHandler(resultsCallback); template.select(SELECT_CHILD_ASSOCS_OF_PARENT, assoc, resultHandler); resultsCallback.done(); }
@Override protected void selectChildAssocs( Long parentNodeId, Set<QName> assocTypeQNames, ChildAssocRefQueryCallback resultsCallback) { ChildAssocEntity assoc = new ChildAssocEntity(); // Parent NodeEntity parentNode = new NodeEntity(); parentNode.setId(parentNodeId); assoc.setParentNode(parentNode); // Type QNames Set<Long> assocTypeQNameIds = qnameDAO.convertQNamesToIds(assocTypeQNames, false); if (assocTypeQNameIds.size() == 0) { resultsCallback.done(); return; // Shortcut as they don't exist } assoc.setTypeQNameIds(new ArrayList<Long>(assocTypeQNameIds)); // Ordered assoc.setOrdered(resultsCallback.orderResults()); ChildAssocResultHandler resultHandler = new ChildAssocResultHandler(resultsCallback); template.select(SELECT_CHILD_ASSOCS_OF_PARENT, assoc, resultHandler); resultsCallback.done(); }
@Override protected void selectChildAssocsByChildTypes( Long parentNodeId, Set<QName> childNodeTypeQNames, ChildAssocRefQueryCallback resultsCallback) { ChildAssocEntity assoc = new ChildAssocEntity(); // Parent NodeEntity parentNode = new NodeEntity(); parentNode.setId(parentNodeId); assoc.setParentNode(parentNode); // Child Node Type QNames Set<Long> childNodeTypeQNameIds = qnameDAO.convertQNamesToIds(childNodeTypeQNames, false); if (childNodeTypeQNameIds.size() == 0) { resultsCallback.done(); return; // Shortcut as they don't exist } assoc.setChildNodeTypeQNameIds(new ArrayList<Long>(childNodeTypeQNameIds)); // Ordered assoc.setOrdered(resultsCallback.orderResults()); ChildAssocResultHandler resultHandler = new ChildAssocResultHandler(resultsCallback); template.select(SELECT_CHILD_ASSOCS_OF_PARENT, assoc, resultHandler); resultsCallback.done(); }
@Override protected void selectChildAssocsByPropertyValue(Long parentNodeId, QName propertyQName, NodePropertyValue nodeValue, ChildAssocRefQueryCallback resultsCallback) { ChildPropertyEntity assocProp = new ChildPropertyEntity(); // Parent assocProp.setParentNodeId(parentNodeId); // Property name Pair<Long,QName> propName = qnameDAO.getQName(propertyQName); if (propName == null) { resultsCallback.done(); return; } // Property assocProp.setValue(nodeValue); assocProp.setPropertyQNameId(propName.getFirst()); ChildAssocResultHandler resultHandler = new ChildAssocResultHandler(resultsCallback); template.select(SELECT_CHILD_ASSOCS_BY_PROPERTY_VALUE, assocProp, resultHandler); resultsCallback.done(); }
@Override protected void selectChildAssocsByPropertyValue(Long parentNodeId, QName propertyQName, NodePropertyValue nodeValue, ChildAssocRefQueryCallback resultsCallback) { ChildPropertyEntity assocProp = new ChildPropertyEntity(); // Parent assocProp.setParentNodeId(parentNodeId); // Property name Pair<Long,QName> propName = qnameDAO.getQName(propertyQName); if (propName == null) { resultsCallback.done(); return; } // Property assocProp.setValue(nodeValue); assocProp.setPropertyQNameId(propName.getFirst()); ChildAssocResultHandler resultHandler = new ChildAssocResultHandler(resultsCallback); template.select(SELECT_CHILD_ASSOCS_BY_PROPERTY_VALUE, assocProp, resultHandler); resultsCallback.done(); }
@Override protected void selectChildAssocsWithoutParentAssocsOfType( Long parentNodeId, QName assocTypeQName, ChildAssocRefQueryCallback resultsCallback) { ChildAssocEntity assoc = new ChildAssocEntity(); // Parent NodeEntity parentNode = new NodeEntity(); parentNode.setId(parentNodeId); assoc.setParentNode(parentNode); // Type QName if (!assoc.setTypeQNameAll(qnameDAO, assocTypeQName, false)) { resultsCallback.done(); return; // Shortcut } // Ordered assoc.setOrdered(resultsCallback.orderResults()); ChildAssocResultHandler resultHandler = new ChildAssocResultHandler(resultsCallback); template.select(SELECT_CHILD_ASSOCS_OF_PARENT_WITHOUT_PARENT_ASSOCS_OF_TYPE, assoc, resultHandler); resultsCallback.done(); }
@Override protected void selectChildAssocsWithoutParentAssocsOfType( Long parentNodeId, QName assocTypeQName, ChildAssocRefQueryCallback resultsCallback) { ChildAssocEntity assoc = new ChildAssocEntity(); // Parent NodeEntity parentNode = new NodeEntity(); parentNode.setId(parentNodeId); assoc.setParentNode(parentNode); // Type QName if (!assoc.setTypeQNameAll(qnameDAO, assocTypeQName, false)) { resultsCallback.done(); return; // Shortcut } // Ordered assoc.setOrdered(resultsCallback.orderResults()); ChildAssocResultHandler resultHandler = new ChildAssocResultHandler(resultsCallback); template.select(SELECT_CHILD_ASSOCS_OF_PARENT_WITHOUT_PARENT_ASSOCS_OF_TYPE, assoc, resultHandler); resultsCallback.done(); }