List of usage examples for org.joda.time.format ISODateTimeFormat dateTime
public static DateTimeFormatter dateTime()
From source file:org.codice.ddf.spatial.ogc.csw.catalog.converter.GetRecordsResponseConverter.java
License:Open Source License
@Override public void marshal(Object source, HierarchicalStreamWriter writer, MarshallingContext context) { LOGGER.debug("Entering GetRecordsResponseConverter.marshal()"); if (source == null || !(source instanceof CswRecordCollection)) { LOGGER.warn("Failed to marshal CswRecordCollection: {}", source); return;/* ww w . j a va 2 s . co m*/ } CswRecordCollection cswRecordCollection = (CswRecordCollection) source; for (Entry<String, String> entry : defaultCswRecordMap.getPrefixToUriMapping().entrySet()) { writer.addAttribute(XMLConstants.XMLNS_ATTRIBUTE + CswConstants.NAMESPACE_DELIMITER + entry.getKey(), entry.getValue()); } long start = 1; String elementSet = null; String recordSchema = CswConstants.CSW_OUTPUT_SCHEMA; if (cswRecordCollection.getStartPosition() > 0) { start = cswRecordCollection.getStartPosition(); } if (StringUtils.isNotBlank(cswRecordCollection.getOutputSchema())) { recordSchema = cswRecordCollection.getOutputSchema(); } context.put(CswConstants.OUTPUT_SCHEMA_PARAMETER, recordSchema); if (cswRecordCollection.getElementSetType() != null) { context.put(CswConstants.ELEMENT_SET_TYPE, cswRecordCollection.getElementSetType()); elementSet = cswRecordCollection.getElementSetType().value(); } else if (cswRecordCollection.getElementName() != null) { context.put(CswConstants.ELEMENT_NAMES, cswRecordCollection.getElementName()); } long nextRecord = start + cswRecordCollection.getNumberOfRecordsReturned(); if (nextRecord > cswRecordCollection.getNumberOfRecordsMatched()) { nextRecord = 0; } if (!cswRecordCollection.isById()) { writer.addAttribute(VERSION_ATTRIBUTE, CswConstants.VERSION_2_0_2); writer.startNode( CswConstants.CSW_NAMESPACE_PREFIX + CswConstants.NAMESPACE_DELIMITER + SEARCH_STATUS_NODE_NAME); writer.addAttribute(TIMESTAMP_ATTRIBUTE, ISODateTimeFormat.dateTime().print(new DateTime())); writer.endNode(); writer.startNode(CswConstants.CSW_NAMESPACE_PREFIX + CswConstants.NAMESPACE_DELIMITER + SEARCH_RESULTS_NODE_NAME); writer.addAttribute(NUMBER_OF_RECORDS_MATCHED_ATTRIBUTE, Long.toString(cswRecordCollection.getNumberOfRecordsMatched())); if (!ResultType.HITS.equals(cswRecordCollection.getResultType())) { writer.addAttribute(NUMBER_OF_RECORDS_RETURNED_ATTRIBUTE, Long.toString(cswRecordCollection.getNumberOfRecordsReturned())); } else { writer.addAttribute(NUMBER_OF_RECORDS_RETURNED_ATTRIBUTE, Long.toString(0)); } writer.addAttribute(NEXT_RECORD_ATTRIBUTE, Long.toString(nextRecord)); writer.addAttribute(RECORD_SCHEMA_ATTRIBUTE, recordSchema); if (StringUtils.isNotBlank(elementSet)) { writer.addAttribute(ELEMENT_SET_ATTRIBUTE, elementSet); } } context.put(CswConstants.WRITE_NAMESPACES, cswRecordCollection.isDoWriteNamespaces()); if (!ResultType.HITS.equals(cswRecordCollection.getResultType())) { LOGGER.debug("Transforming individual metacards."); for (Metacard mc : cswRecordCollection.getCswRecords()) { context.convertAnother(mc, transformProvider); } } if (!cswRecordCollection.isById()) { writer.endNode(); } }
From source file:org.codice.ddf.spatial.ogc.csw.catalog.converter.impl.CswRecordConverter.java
License:Open Source License
@Override public void marshal(Object source, HierarchicalStreamWriter writer, MarshallingContext context) { if (source == null || !(source instanceof Metacard)) { LOGGER.warn("Failed to marshal Metacard: {}", source); return;/*from w ww. j av a2 s . c om*/ } Metacard metacard = (Metacard) source; if (fieldsToWrite != null) { for (QName qName : fieldsToWrite) { if (qName != null && !qName.equals(CswRecordMetacardType.OWS_BOUNDING_BOX_QNAME)) { String attrName = DefaultCswRecordMap.getDefaultCswRecordMap() .getDefaultMetacardFieldFor(qName); AttributeDescriptor ad = metacard.getMetacardType().getAttributeDescriptor(attrName); if (ad == null) { ad = new AttributeDescriptorImpl(attrName, false, false, false, false, BasicTypes.STRING_TYPE); } writeAttribute(writer, context, metacard, ad, qName); } } } else { // write all fields Set<AttributeDescriptor> attrDescs = metacard.getMetacardType().getAttributeDescriptors(); for (AttributeDescriptor ad : attrDescs) { List<QName> qNames = DefaultCswRecordMap.getDefaultCswRecordMap().getCswFieldsFor(ad.getName()); for (QName qName : qNames) { writeAttribute(writer, context, metacard, ad, qName); } } } if ((fieldsToWrite == null || fieldsToWrite.contains(CswRecordMetacardType.CSW_TEMPORAL_QNAME)) && metacard.getEffectiveDate() != null && metacard.getExpirationDate() != null) { StringBuilder sb = new StringBuilder(); sb.append(ISODateTimeFormat.dateTime().print(((Date) metacard.getEffectiveDate()).getTime())) .append(" to ") .append(ISODateTimeFormat.dateTime().print(((Date) metacard.getExpirationDate()).getTime())); writeValue(writer, context, null, CswRecordMetacardType.CSW_TEMPORAL_QNAME, sb.toString()); } if ((fieldsToWrite == null || fieldsToWrite.contains(CswRecordMetacardType.CSW_SOURCE_QNAME)) && metacard.getSourceId() != null) { writeValue(writer, context, null, CswRecordMetacardType.CSW_SOURCE_QNAME, metacard.getSourceId()); } if (fieldsToWrite == null || fieldsToWrite.contains(CswRecordMetacardType.OWS_BOUNDING_BOX_QNAME)) { writeBoundingBox(writer, context, metacard); } }
From source file:org.codice.ddf.spatial.ogc.csw.catalog.converter.impl.GetRecordsResponseConverter.java
License:Open Source License
@Override public void marshal(Object source, HierarchicalStreamWriter writer, MarshallingContext context) { if (source == null || !(source instanceof CswRecordCollection)) { LOGGER.warn("Failed to marshal CswRecordCollection: {}", source); return;/*from w w w . java 2 s. c o m*/ } CswRecordCollection cswRecordCollection = (CswRecordCollection) source; for (Entry<String, String> entry : defaultCswRecordMap.getPrefixToUriMapping().entrySet()) { writer.addAttribute(XMLConstants.XMLNS_ATTRIBUTE + CswConstants.NAMESPACE_DELIMITER + entry.getKey(), entry.getValue()); } long start = 1; String elementSet = "full"; String recordSchema = CswConstants.CSW_OUTPUT_SCHEMA; GetRecordsType request = cswRecordCollection.getRequest(); QueryType query = null; List<QName> elementsToWrite = null; ElementSetType elementSetType = ElementSetType.FULL; if (request != null) { if (request.isSetStartPosition()) { start = request.getStartPosition().longValue(); } if (request.isSetAbstractQuery() && request.getAbstractQuery().getValue() instanceof QueryType) { query = (QueryType) request.getAbstractQuery().getValue(); } } if (StringUtils.isNotBlank(cswRecordCollection.getOutputSchema())) { recordSchema = cswRecordCollection.getOutputSchema(); } RecordConverterFactory converterFactory = null; for (RecordConverterFactory factory : converterFactories) { LOGGER.debug("Factory recordSchema == {}", factory.getOutputSchema()); if (StringUtils.equals(factory.getOutputSchema(), recordSchema)) { converterFactory = factory; } } if (converterFactory == null) { throw new ConversionException("Unable to locate converter for outputSchema."); } if (cswRecordCollection.getElementSetType() != null) { elementSetType = cswRecordCollection.getElementSetType(); elementSet = elementSetType.value(); switch (elementSetType) { case BRIEF: elementsToWrite = CswRecordMetacardType.BRIEF_CSW_RECORD_FIELDS; break; case SUMMARY: elementsToWrite = CswRecordMetacardType.SUMMARY_CSW_RECORD_FIELDS; break; case FULL: default: elementsToWrite = CswRecordMetacardType.FULL_CSW_RECORD_FIELDS; break; } } else if (query != null && query.isSetElementName()) { elementsToWrite = query.getElementName(); } long nextRecord = start + cswRecordCollection.getNumberOfRecordsReturned(); if (nextRecord > cswRecordCollection.getNumberOfRecordsMatched()) { nextRecord = 0; } if (!cswRecordCollection.isById()) { writer.addAttribute(VERSION_ATTRIBUTE, CswConstants.VERSION_2_0_2); writer.startNode( CswConstants.CSW_NAMESPACE_PREFIX + CswConstants.NAMESPACE_DELIMITER + SEARCH_STATUS_NODE_NAME); writer.addAttribute(TIMESTAMP_ATTRIBUTE, ISODateTimeFormat.dateTime().print(new DateTime())); writer.endNode(); writer.startNode(CswConstants.CSW_NAMESPACE_PREFIX + CswConstants.NAMESPACE_DELIMITER + SEARCH_RESULTS_NODE_NAME); writer.addAttribute(NUMBER_OF_RECORDS_MATCHED_ATTRIBUTE, Long.toString(cswRecordCollection.getNumberOfRecordsMatched())); writer.addAttribute(NUMBER_OF_RECORDS_RETURNED_ATTRIBUTE, Long.toString(cswRecordCollection.getNumberOfRecordsReturned())); writer.addAttribute(NEXT_RECORD_ATTRIBUTE, Long.toString(nextRecord)); writer.addAttribute(RECORD_SCHEMA_ATTRIBUTE, recordSchema); writer.addAttribute(ELEMENT_SET_ATTRIBUTE, elementSet); } // TODO - need to pass good values here. RecordConverter recordConverter = converterFactory.createConverter(null, defaultCswRecordMap.getPrefixToUriMapping(), null, null, null, true); recordConverter.setFieldsToWrite(elementsToWrite); for (Metacard mc : cswRecordCollection.getCswRecords()) { String rootElementName = recordConverter.getRootElementName(elementSetType.toString()); if (StringUtils.isNotBlank(rootElementName)) { writer.startNode(rootElementName); context.convertAnother(mc, recordConverter); writer.endNode(); } else { context.convertAnother(mc, recordConverter); } } if (!cswRecordCollection.isById()) { writer.endNode(); } }
From source file:org.codice.ddf.spatial.ogc.csw.catalog.transformer.CswQueryResponseTransformer.java
License:Open Source License
private String convert(CswRecordCollection cswRecordCollection, List<Result> results, Map<String, Serializable> arguments) throws CatalogTransformerException { PrintWriter writer = writerProvider.build(Metacard.class); writer.setRawValue(XML_DECL);// w w w. j av a 2s .c om if (cswRecordCollection.isById()) { writer.startNode(RECORD_BY_ID_RESPONSE_QNAME); } else { writer.startNode(RECORDS_RESPONSE_QNAME); } for (Map.Entry<String, String> entry : DefaultCswRecordMap.getDefaultCswRecordMap().getPrefixToUriMapping() .entrySet()) { writer.addAttribute(XML_PREFIX + entry.getKey(), entry.getValue()); } long start = (cswRecordCollection.getStartPosition() > 0) ? cswRecordCollection.getStartPosition() : 1; long nextRecord = start + cswRecordCollection.getNumberOfRecordsReturned(); if (nextRecord > cswRecordCollection.getNumberOfRecordsMatched()) { nextRecord = 0; } String metacardsString = null; AtomicLong numReturned = new AtomicLong(cswRecordCollection.getNumberOfRecordsReturned()); if (!ResultType.HITS.equals(cswRecordCollection.getResultType())) { arguments.put(CswConstants.OMIT_XML_DECLARATION, Boolean.TRUE); metacardsString = multiThreadedMarshal(results, numReturned, cswRecordCollection.getOutputSchema(), arguments); } if (!cswRecordCollection.isById()) { writer.addAttribute(VERSION_ATTRIBUTE, CswConstants.VERSION_2_0_2); if (cswRecordCollection.getRequest() != null && StringUtils.isNotBlank(cswRecordCollection.getRequest().getRequestId())) { writer.startNode(REQUEST_ID_QNAME); writer.setValue(cswRecordCollection.getRequest().getRequestId()); writer.endNode(); } writer.startNode(SEARCH_STATUS_QNAME); writer.addAttribute(TIMESTAMP_ATTRIBUTE, ISODateTimeFormat.dateTime().print(new DateTime())); writer.endNode(); writer.startNode(SEARCH_RESULTS_QNAME); writer.addAttribute(NUMBER_OF_RECORDS_MATCHED_ATTRIBUTE, Long.toString(cswRecordCollection.getNumberOfRecordsMatched())); if (ResultType.HITS.equals(cswRecordCollection.getResultType())) { writer.addAttribute(NUMBER_OF_RECORDS_RETURNED_ATTRIBUTE, Long.toString(0)); } else { writer.addAttribute(NUMBER_OF_RECORDS_RETURNED_ATTRIBUTE, numReturned.toString()); writer.addAttribute(NEXT_RECORD_ATTRIBUTE, Long.toString(nextRecord)); } writer.addAttribute(RECORD_SCHEMA_ATTRIBUTE, cswRecordCollection.getOutputSchema()); if (cswRecordCollection.getElementSetType() != null && StringUtils.isNotBlank(cswRecordCollection.getElementSetType().value())) { writer.addAttribute(ELEMENT_SET_ATTRIBUTE, cswRecordCollection.getElementSetType().value()); } } if (!ResultType.HITS.equals(cswRecordCollection.getResultType())) { writer.setRawValue(metacardsString); } if (!cswRecordCollection.isById()) { writer.endNode(); // SEARCH_RESULTS_QNAME } writer.endNode(); // RECORDS_RESPONSE_QNAME return writer.makeString(); }
From source file:org.craftercms.search.service.impl.DateTimeConverter.java
License:Open Source License
@Override public Object convert(String name, String value) { DateTimeFormatter incomingFormatter = DateTimeFormat.forPattern(dateTimeFieldPattern).withZoneUTC(); DateTimeFormatter outgoingFormatter = ISODateTimeFormat.dateTime(); return outgoingFormatter.print(incomingFormatter.parseDateTime(value)); }
From source file:org.craftercms.search.service.impl.SolrDocumentBuilder.java
License:Open Source License
protected String convertToISODateTimeString(String dateTimeStr) { DateTimeFormatter incomingFormatter = DateTimeFormat.forPattern(dateTimeFieldPattern); DateTimeFormatter outgoingFormatter = ISODateTimeFormat.dateTime(); return outgoingFormatter.print(incomingFormatter.parseDateTime(dateTimeStr)); }
From source file:org.craftercms.search.service.impl.SolrDocumentBuilderImpl.java
License:Open Source License
protected String formatAsIso(DateTime dateTime) { return ISODateTimeFormat.dateTime().withZoneUTC().print(dateTime); }
From source file:org.cups4j.PrintJobAttributes.java
License:Open Source License
public DateTime getCreateDate(CupsClient clt) throws Exception { DateTimeFormatter dtf = ISODateTimeFormat.dateTime(); return getCreateDate(clt, dtf); }
From source file:org.cups4j.PrintJobAttributes.java
License:Open Source License
public DateTime getCompleteDate(CupsClient clt) throws Exception { DateTimeFormatter dtf = ISODateTimeFormat.dateTime(); return getCompleteDate(clt, dtf); }
From source file:org.cups4j.PrintJobAttributes.java
License:Open Source License
public String toString(CupsClient clt, DateTimeFormatter dtf) { try {/*ww w. j a v a 2 s . c o m*/ StringBuilder buff = new StringBuilder(); DateTimeFormatter fmt; if (dtf == null) { fmt = ISODateTimeFormat.dateTime(); } else { fmt = dtf; } Date createDate; Date completeDate; DateTime createTime; DateTime completeTime; if (clt != null) { createDate = clt.getJobAttributes(getJobID()).getJobCreateTime(); completeDate = clt.getJobAttributes(getJobID()).getJobCompleteTime(); createTime = new DateTime(createDate.getTime()); completeTime = new DateTime(completeDate.getTime()); buff.append("CreateTime : [").append(createTime.toString(fmt)).append("]\n"); buff.append("CompleteTime : [").append(completeTime.toString(fmt)).append("]\n"); } return buff.toString(); } catch (Exception ex) { logger.error("Not able to get creation and completion Dates fo Job", ex); return toString(); } }