/** * Creates an instance of this type using the default constructor. It is a generic factory method. * @return A new instance of this type with default field values. */ public org.ccsds.moims.mo.mal.structures.Element createElement() { return new org.ccsds.moims.mo.com.archive.structures.ArchiveQuery(); }
@Override public void retrieveRange(FineTime from, FineTime until, ObjectTypeList objectTypes, Identifier compression, RetrieveRangeInteraction interaction) throws MALInteractionException, MALException { final Dispatcher dispatcher = new Dispatcher(interaction); long interactionTicket = interaction.getInteraction().getMessageHeader().getTransactionId(); dispatchers.put(interactionTicket, dispatcher); lastSync.set(HelperTime.getTimestamp().getValue()); interaction.sendAcknowledgement(interactionTicket); Runnable processQueriedObjs = dispatcher.getProcessingRunnable(); Runnable flushProcessedObjs = dispatcher.getFlushingRunnable(); executor.execute(processQueriedObjs); executor.execute(flushProcessedObjs); ArrayList<COMObjectEntity> perObjs; for (int i = 0; i < objectTypes.size(); i++) { ArchiveQuery archiveQuery = new ArchiveQuery(); archiveQuery.setStartTime(from); archiveQuery.setEndTime(until); archiveQuery.setDomain(null); archiveQuery.setNetwork(null); archiveQuery.setProvider(null); archiveQuery.setRelated(new Long(0)); archiveQuery.setSource(null); archiveQuery.setSortFieldName(null); perObjs = manager.queryCOMObjectEntity(objectTypes.get(i), archiveQuery, null); dispatcher.addObjects(perObjs); } dispatcher.setQueriesAreDone(true); Logger.getLogger(ArchiveSyncProviderServiceImpl.class.getName()).log(Level.INFO, "Stage 1: The objects were queried and are now being sent back to the consumer!"); }
@Override public ArrayList<COMObjectEntity> call() { final boolean relatedContainsWildcard = (archiveQuery.getRelated().equals((long) 0)); final boolean startTimeContainsWildcard = (archiveQuery.getStartTime() == null); final boolean endTimeContainsWildcard = (archiveQuery.getEndTime() == null); final boolean providerURIContainsWildcard = (archiveQuery.getProvider() == null); final boolean networkContainsWildcard = (archiveQuery.getNetwork() == null); final boolean sourceContainsWildcard = (archiveQuery.getSource() == null); boolean sourceObjIdContainsWildcard = true; sourceObjIdContainsWildcard = (archiveQuery.getSource().getKey().getInstId() == null || archiveQuery.getSource().getKey().getInstId() == 0); queryString += generateQueryStringFromLists("PU.objectTypeId", objTypeIds); queryString += (relatedContainsWildcard) ? "" : "PU.relatedLink=" + archiveQuery.getRelated() + " AND "; queryString += (startTimeContainsWildcard) ? "" : "PU.timestampArchiveDetails>=" + archiveQuery.getStartTime().getValue() + " AND "; queryString += (endTimeContainsWildcard) ? "" : "PU.timestampArchiveDetails<=" + archiveQuery.getEndTime().getValue() + " AND "; queryString += (providerURIContainsWildcard) ? "" : "PU.providerURI=" + providerURIId + " AND "; queryString += (networkContainsWildcard) ? "" : "PU.network=" + networkId + " AND "; if(archiveQuery.getSortOrder() != null){ sortOrder = (archiveQuery.getSortOrder()) ? "ASC " : "DESC ";
if (tmpArchiveQuery.getEndTime() != null && tmpArchiveQuery.getStartTime() == null && perObjs.size() > 0) { ArchivePersistenceObject latestPerObj = perObjs.get(0); if (tmpArchiveQuery.getSortOrder() != null) { try { // requirement: 3.4.4.2.26 perObjs = SortByField.sortPersistenceObjects(perObjs, tmpArchiveQuery.getSortFieldName(), tmpArchiveQuery.getSortOrder()); } catch (NoSuchFieldException ex) { || HelperCOM.domainContainsWildcard(lArchiveQueryList.get(index).getDomain())) { // Any wilcards? if so, then send the updates separately interaction.sendUpdate(null, lArchiveQueryList.get(index).getDomain(), outArchiveDetailsList, outObjectList); // requirement: 3.4.4.2.17 } else { interaction.sendResponse(null, lArchiveQueryList.get(index).getDomain(), outArchiveDetailsList, outObjectList); // requirement: 3.4.4.2.17
protected ArrayList<COMObjectEntity> queryCOMObjectEntity(final ObjectType objType, final ArchiveQuery archiveQuery, final QueryFilter filter) { final IntegerList objTypeIds = this.fastObjectType.getObjectTypeIds(objType); final IntegerList domainIds = this.fastDomain.getDomainIds(archiveQuery.getDomain()); final Integer providerURIId = (archiveQuery.getProvider() != null) ? this.fastProviderURI.getProviderURIId(archiveQuery.getProvider()) : null; final Integer networkId = (archiveQuery.getNetwork() != null) ? this.fastNetwork.getNetworkId(archiveQuery.getNetwork()) : null; final SourceLinkContainer sourceLink = this.createSourceContainerFromObjectId(archiveQuery.getSource()); if (archiveQuery.getSource() != null) { if (archiveQuery.getSource().getKey().getDomain() != null) { sourceLink.setDomainIds(this.fastDomain.getDomainIds(archiveQuery.getSource().getKey().getDomain())); } if (archiveQuery.getSource().getKey().getTypeShortForm() != null) { sourceLink.setObjectTypeIds(this.fastObjectType.getObjectTypeIds(archiveQuery.getSource().getType())); } } return this.dbProcessor.query(objTypeIds, archiveQuery, domainIds, providerURIId, networkId, sourceLink, filter); }
if (tmpArchiveQuery.getEndTime() != null && tmpArchiveQuery.getStartTime() == null && perObjs.size() > 0) { ArchivePersistenceObject latestPerObj = perObjs.get(0); if (tmpArchiveQuery.getSortOrder() != null) { try { // requirement: 3.4.4.2.26 perObjs = SortByField.sortPersistenceObjects(perObjs, tmpArchiveQuery.getSortFieldName(), tmpArchiveQuery.getSortOrder()); } catch (NoSuchFieldException ex) {
/** * Creates an instance of the source type using the default constructor. It is a generic factory method. * @return A new instance of the source type with default field values. */ public org.ccsds.moims.mo.mal.structures.Element createElement() { return new org.ccsds.moims.mo.com.archive.structures.ArchiveQuery(); }
/** * Decodes the value of this object using the provided MALDecoder. * @param decoder decoder - the decoder to use for decoding. * @return Returns this object. * @throws org.ccsds.moims.mo.mal.MALException if any decoding errors are detected. */ public org.ccsds.moims.mo.mal.structures.Element decode(org.ccsds.moims.mo.mal.MALDecoder decoder) throws org.ccsds.moims.mo.mal.MALException { org.ccsds.moims.mo.mal.MALListDecoder listDecoder = decoder.createListDecoder(this); int decodedSize = listDecoder.size(); if (decodedSize > 0) { ensureCapacity(decodedSize); } while (listDecoder.hasNext()) { add((org.ccsds.moims.mo.com.archive.structures.ArchiveQuery) listDecoder.decodeNullableElement(new org.ccsds.moims.mo.com.archive.structures.ArchiveQuery())); } return this; }