Example usage for org.joda.time.format ISODateTimeFormat dateTime

List of usage examples for org.joda.time.format ISODateTimeFormat dateTime

Introduction

In this page you can find the example usage for org.joda.time.format ISODateTimeFormat dateTime.

Prototype

public static DateTimeFormatter dateTime() 

Source Link

Document

Returns a formatter that combines a full date and time, separated by a 'T' (yyyy-MM-dd'T'HH:mm:ss.SSSZZ).

Usage

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();
    }

}