List of usage examples for org.apache.commons.lang.time DateFormatUtils formatUTC
public static String formatUTC(Date date, String pattern)
Formats a date/time into a specific pattern using the UTC time zone.
From source file:org.dspace.app.cris.discovery.CrisSearchService.java
private void commonsIndexerTimestamp(HasTimeStampInfo dso, SolrInputDocument doc, String schema) { try {//from w w w . j a v a2 s . c o m if (dso.getTimeStampInfo() != null && dso.getTimeStampInfo().getTimestampCreated() != null && dso.getTimeStampInfo().getTimestampCreated().getTimestamp() != null) { doc.addField(schema + ".time_creation_dt", dso.getTimeStampInfo().getTimestampCreated().getTimestamp()); doc.addField("crisDateIssued.year", DateFormatUtils .formatUTC(dso.getTimeStampInfo().getTimestampCreated().getTimestamp(), "yyyy")); } if (dso.getTimeStampInfo() != null && dso.getTimeStampInfo().getTimestampLastModified() != null && dso.getTimeStampInfo().getTimestampLastModified().getTimestamp() != null) { doc.addField(schema + ".time_lastmodified_dt", dso.getTimeStampInfo().getTimestampLastModified().getTimestamp()); doc.addField("crisDateIssued.year_lastmodified", DateFormatUtils .formatUTC(dso.getTimeStampInfo().getTimestampCreated().getTimestamp(), "yyyy")); } } catch (Exception e) { log.error(e.getMessage(), e); } }
From source file:org.dspace.discovery.SolrServiceImpl.java
/** * Build a Lucene document for a DSpace Item and write the index * * @param context Users Context//w w w .ja va 2 s .c o m * @param item The DSpace Item to be indexed * @throws SQLException * @throws IOException */ protected void buildDocument(Context context, Item item) throws SQLException, IOException { String handle = item.getHandle(); if (handle == null) { handle = HandleManager.findHandle(context, item); } // get the location string (for searching by collection & community) List<String> locations = getItemLocations(item); SolrInputDocument doc = buildDocument(Constants.ITEM, item.getID(), handle, locations); log.debug("Building Item: " + handle); doc.addField("withdrawn", item.isWithdrawn()); doc.addField("discoverable", item.isDiscoverable()); //Keep a list of our sort values which we added, sort values can only be added once List<String> sortFieldsAdded = new ArrayList<String>(); Set<String> hitHighlightingFields = new HashSet<String>(); try { List<DiscoveryConfiguration> discoveryConfigurations = SearchUtils.getAllDiscoveryConfigurations(item); //A map used to save each sidebarFacet config by the metadata fields Map<String, List<DiscoverySearchFilter>> searchFilters = new HashMap<String, List<DiscoverySearchFilter>>(); Map<String, DiscoverySortFieldConfiguration> sortFields = new HashMap<String, DiscoverySortFieldConfiguration>(); Map<String, DiscoveryRecentSubmissionsConfiguration> recentSubmissionsConfigurationMap = new HashMap<String, DiscoveryRecentSubmissionsConfiguration>(); Set<String> moreLikeThisFields = new HashSet<String>(); for (DiscoveryConfiguration discoveryConfiguration : discoveryConfigurations) { for (int i = 0; i < discoveryConfiguration.getSearchFilters().size(); i++) { DiscoverySearchFilter discoverySearchFilter = discoveryConfiguration.getSearchFilters().get(i); for (int j = 0; j < discoverySearchFilter.getMetadataFields().size(); j++) { String metadataField = discoverySearchFilter.getMetadataFields().get(j); List<DiscoverySearchFilter> resultingList; if (searchFilters.get(metadataField) != null) { resultingList = searchFilters.get(metadataField); } else { //New metadata field, create a new list for it resultingList = new ArrayList<DiscoverySearchFilter>(); } resultingList.add(discoverySearchFilter); searchFilters.put(metadataField, resultingList); } } DiscoverySortConfiguration sortConfiguration = discoveryConfiguration.getSearchSortConfiguration(); if (sortConfiguration != null) { for (DiscoverySortFieldConfiguration discoverySortConfiguration : sortConfiguration .getSortFields()) { sortFields.put(discoverySortConfiguration.getMetadataField(), discoverySortConfiguration); } } DiscoveryRecentSubmissionsConfiguration recentSubmissionConfiguration = discoveryConfiguration .getRecentSubmissionConfiguration(); if (recentSubmissionConfiguration != null) { recentSubmissionsConfigurationMap.put(recentSubmissionConfiguration.getMetadataSortField(), recentSubmissionConfiguration); } DiscoveryHitHighlightingConfiguration hitHighlightingConfiguration = discoveryConfiguration .getHitHighlightingConfiguration(); if (hitHighlightingConfiguration != null) { List<DiscoveryHitHighlightFieldConfiguration> fieldConfigurations = hitHighlightingConfiguration .getMetadataFields(); for (DiscoveryHitHighlightFieldConfiguration fieldConfiguration : fieldConfigurations) { hitHighlightingFields.add(fieldConfiguration.getField()); } } DiscoveryMoreLikeThisConfiguration moreLikeThisConfiguration = discoveryConfiguration .getMoreLikeThisConfiguration(); if (moreLikeThisConfiguration != null) { for (String metadataField : moreLikeThisConfiguration.getSimilarityMetadataFields()) { moreLikeThisFields.add(metadataField); } } } List<String> toProjectionFields = new ArrayList<String>(); String projectionFieldsString = new DSpace().getConfigurationService() .getProperty("discovery.index.projection"); if (projectionFieldsString != null) { if (projectionFieldsString.indexOf(",") != -1) { for (int i = 0; i < projectionFieldsString.split(",").length; i++) { toProjectionFields.add(projectionFieldsString.split(",")[i].trim()); } } else { toProjectionFields.add(projectionFieldsString); } } DCValue[] mydc = item.getMetadata(Item.ANY, Item.ANY, Item.ANY, Item.ANY); for (DCValue meta : mydc) { String field = meta.schema + "." + meta.element; String unqualifiedField = field; String value = meta.value; if (value == null) { continue; } if (meta.qualifier != null && !meta.qualifier.trim().equals("")) { field += "." + meta.qualifier; } List<String> toIgnoreMetadataFields = SearchUtils.getIgnoredMetadataFields(item.getType()); //We are not indexing provenance, this is useless if (toIgnoreMetadataFields != null && (toIgnoreMetadataFields.contains(field) || toIgnoreMetadataFields.contains(unqualifiedField + "." + Item.ANY))) { continue; } String authority = null; String preferedLabel = null; List<String> variants = null; boolean isAuthorityControlled = MetadataAuthorityManager.getManager() .isAuthorityControlled(meta.schema, meta.element, meta.qualifier); int minConfidence = isAuthorityControlled ? MetadataAuthorityManager.getManager().getMinConfidence(meta.schema, meta.element, meta.qualifier) : Choices.CF_ACCEPTED; if (isAuthorityControlled && meta.authority != null && meta.confidence >= minConfidence) { boolean ignoreAuthority = new DSpace().getConfigurationService().getPropertyAsType( "discovery.index.authority.ignore." + field, new DSpace().getConfigurationService() .getPropertyAsType("discovery.index.authority.ignore", new Boolean(false)), true); if (!ignoreAuthority) { authority = meta.authority; boolean ignorePrefered = new DSpace().getConfigurationService() .getPropertyAsType("discovery.index.authority.ignore-prefered." + field, new DSpace().getConfigurationService().getPropertyAsType( "discovery.index.authority.ignore-prefered", new Boolean(false)), true); if (!ignorePrefered) { preferedLabel = ChoiceAuthorityManager.getManager().getLabel(meta.schema, meta.element, meta.qualifier, meta.authority, meta.language); } boolean ignoreVariants = new DSpace().getConfigurationService() .getPropertyAsType("discovery.index.authority.ignore-variants." + field, new DSpace().getConfigurationService().getPropertyAsType( "discovery.index.authority.ignore-variants", new Boolean(false)), true); if (!ignoreVariants) { variants = ChoiceAuthorityManager.getManager().getVariants(meta.schema, meta.element, meta.qualifier, meta.authority, meta.language); } } } if ((searchFilters.get(field) != null || searchFilters.get(unqualifiedField + "." + Item.ANY) != null)) { List<DiscoverySearchFilter> searchFilterConfigs = searchFilters.get(field); if (searchFilterConfigs == null) { searchFilterConfigs = searchFilters.get(unqualifiedField + "." + Item.ANY); } for (DiscoverySearchFilter searchFilter : searchFilterConfigs) { Date date = null; String separator = new DSpace().getConfigurationService() .getProperty("discovery.solr.facets.split.char"); if (separator == null) { separator = FILTER_SEPARATOR; } if (searchFilter.getType().equals(DiscoveryConfigurationParameters.TYPE_DATE)) { //For our search filters that are dates we format them properly date = toDate(value); if (date != null) { //TODO: make this date format configurable ! value = DateFormatUtils.formatUTC(date, "yyyy-MM-dd"); } } doc.addField(searchFilter.getIndexFieldName(), value); doc.addField(searchFilter.getIndexFieldName() + "_keyword", value); if (authority != null && preferedLabel == null) { doc.addField(searchFilter.getIndexFieldName() + "_keyword", value + AUTHORITY_SEPARATOR + authority); doc.addField(searchFilter.getIndexFieldName() + "_authority", authority); doc.addField(searchFilter.getIndexFieldName() + "_acid", value.toLowerCase() + separator + value + AUTHORITY_SEPARATOR + authority); } if (preferedLabel != null) { doc.addField(searchFilter.getIndexFieldName(), preferedLabel); doc.addField(searchFilter.getIndexFieldName() + "_keyword", preferedLabel); doc.addField(searchFilter.getIndexFieldName() + "_keyword", preferedLabel + AUTHORITY_SEPARATOR + authority); doc.addField(searchFilter.getIndexFieldName() + "_authority", authority); doc.addField(searchFilter.getIndexFieldName() + "_acid", preferedLabel.toLowerCase() + separator + preferedLabel + AUTHORITY_SEPARATOR + authority); } if (variants != null) { for (String var : variants) { doc.addField(searchFilter.getIndexFieldName() + "_keyword", var); doc.addField(searchFilter.getIndexFieldName() + "_acid", var.toLowerCase() + separator + var + AUTHORITY_SEPARATOR + authority); } } //Add a dynamic fields for auto complete in search doc.addField(searchFilter.getIndexFieldName() + "_ac", value.toLowerCase() + separator + value); if (preferedLabel != null) { doc.addField(searchFilter.getIndexFieldName() + "_ac", preferedLabel.toLowerCase() + separator + preferedLabel); } if (variants != null) { for (String var : variants) { doc.addField(searchFilter.getIndexFieldName() + "_ac", var.toLowerCase() + separator + var); } } if (searchFilter.getFilterType().equals(DiscoverySearchFilterFacet.FILTER_TYPE_FACET)) { if (searchFilter.getType().equals(DiscoveryConfigurationParameters.TYPE_TEXT)) { //Add a special filter //We use a separator to split up the lowercase and regular case, this is needed to get our filters in regular case //Solr has issues with facet prefix and cases if (authority != null) { String facetValue = preferedLabel != null ? preferedLabel : value; doc.addField(searchFilter.getIndexFieldName() + "_filter", facetValue.toLowerCase() + separator + facetValue + AUTHORITY_SEPARATOR + authority); } else { doc.addField(searchFilter.getIndexFieldName() + "_filter", value.toLowerCase() + separator + value); } } else if (searchFilter.getType().equals(DiscoveryConfigurationParameters.TYPE_DATE)) { if (date != null) { String indexField = searchFilter.getIndexFieldName() + ".year"; doc.addField(searchFilter.getIndexFieldName() + "_keyword", DateFormatUtils.formatUTC(date, "yyyy")); doc.addField(indexField, DateFormatUtils.formatUTC(date, "yyyy")); //Also save a sort value of this year, this is required for determining the upper & lower bound year of our facet if (doc.getField(indexField + "_sort") == null) { //We can only add one year so take the first one doc.addField(indexField + "_sort", DateFormatUtils.formatUTC(date, "yyyy")); } } } else if (searchFilter.getType() .equals(DiscoveryConfigurationParameters.TYPE_HIERARCHICAL)) { HierarchicalSidebarFacetConfiguration hierarchicalSidebarFacetConfiguration = (HierarchicalSidebarFacetConfiguration) searchFilter; String[] subValues = value .split(hierarchicalSidebarFacetConfiguration.getSplitter()); if (hierarchicalSidebarFacetConfiguration.isSkipFirstNodeLevel() && 1 < subValues.length) { //Remove the first element of our array subValues = (String[]) ArrayUtils.subarray(subValues, 1, subValues.length); } for (int i = 0; i < subValues.length; i++) { StringBuilder valueBuilder = new StringBuilder(); for (int j = 0; j <= i; j++) { valueBuilder.append(subValues[j]); if (j < i) { valueBuilder .append(hierarchicalSidebarFacetConfiguration.getSplitter()); } } String indexValue = valueBuilder.toString().trim(); doc.addField(searchFilter.getIndexFieldName() + "_tax_" + i + "_filter", indexValue.toLowerCase() + separator + indexValue); //We add the field x times that it has occurred for (int j = i; j < subValues.length; j++) { doc.addField(searchFilter.getIndexFieldName() + "_filter", indexValue.toLowerCase() + separator + indexValue); doc.addField(searchFilter.getIndexFieldName() + "_keyword", indexValue); } } } } } } if ((sortFields.get(field) != null || recentSubmissionsConfigurationMap.get(field) != null) && !sortFieldsAdded.contains(field)) { //Only add sort value once String type; if (sortFields.get(field) != null) { type = sortFields.get(field).getType(); } else { type = recentSubmissionsConfigurationMap.get(field).getType(); } if (type.equals(DiscoveryConfigurationParameters.TYPE_DATE)) { Date date = toDate(value); if (date != null) { doc.addField(field + "_dt", date); } else { log.warn("Error while indexing sort date field, item: " + item.getHandle() + " metadata field: " + field + " date value: " + date); } } else { doc.addField(field + "_sort", value); } sortFieldsAdded.add(field); } if (hitHighlightingFields.contains(field) || hitHighlightingFields.contains("*") || hitHighlightingFields.contains(unqualifiedField + "." + Item.ANY)) { doc.addField(field + "_hl", value); } if (moreLikeThisFields.contains(field) || moreLikeThisFields.contains(unqualifiedField + "." + Item.ANY)) { doc.addField(field + "_mlt", value); } doc.addField(field, value); if (toProjectionFields.contains(field) || toProjectionFields.contains(unqualifiedField + "." + Item.ANY)) { StringBuffer variantsToStore = new StringBuffer(); if (variants != null) { for (String var : variants) { variantsToStore.append(VARIANTS_STORE_SEPARATOR); variantsToStore.append(var); } } doc.addField(field + "_stored", value + STORE_SEPARATOR + preferedLabel + STORE_SEPARATOR + (variantsToStore.length() > VARIANTS_STORE_SEPARATOR.length() ? variantsToStore.substring(VARIANTS_STORE_SEPARATOR.length()) : "null") + STORE_SEPARATOR + authority + STORE_SEPARATOR + meta.language); } if (meta.language != null && !meta.language.trim().equals("")) { String langField = field + "." + meta.language; doc.addField(langField, value); } } } catch (Exception e) { log.error(e.getMessage(), e); } log.debug(" Added Metadata"); try { DCValue[] values = item.getMetadata("dc.relation.ispartof"); if (values != null && values.length > 0 && values[0] != null && values[0].value != null) { // group on parent String handlePrefix = ConfigurationManager.getProperty("handle.canonical.prefix"); if (handlePrefix == null || handlePrefix.length() == 0) { handlePrefix = "http://hdl.handle.net/"; } doc.addField("publication_grp", values[0].value.replaceFirst(handlePrefix, "")); } else { // group on self doc.addField("publication_grp", item.getHandle()); } } catch (Exception e) { log.error(e.getMessage(), e); } log.debug(" Added Grouping"); Vector<InputStreamReader> readers = new Vector<InputStreamReader>(); try { // now get full text of any bitstreams in the TEXT bundle // trundle through the bundles Bundle[] myBundles = item.getBundles(); for (Bundle myBundle : myBundles) { if ((myBundle.getName() != null) && myBundle.getName().equals("TEXT")) { // a-ha! grab the text out of the bitstreams Bitstream[] myBitstreams = myBundle.getBitstreams(); for (Bitstream myBitstream : myBitstreams) { try { InputStreamReader is = new InputStreamReader(myBitstream.retrieve()); // get input readers.add(is); // Add each InputStream to the Indexed Document String value = IOUtils.toString(is); doc.addField("fulltext", value); if (hitHighlightingFields.contains("*") || hitHighlightingFields.contains("fulltext")) { doc.addField("fulltext_hl", value); } log.debug(" Added BitStream: " + myBitstream.getStoreNumber() + " " + myBitstream.getSequenceID() + " " + myBitstream.getName()); } catch (Exception e) { // this will never happen, but compiler is now // happy. log.trace(e.getMessage(), e); } } } } } catch (RuntimeException e) { log.error(e.getMessage(), e); } finally { Iterator<InputStreamReader> itr = readers.iterator(); while (itr.hasNext()) { InputStreamReader reader = itr.next(); if (reader != null) { reader.close(); } } log.debug("closed " + readers.size() + " readers"); } //Do any additional indexing, depends on the plugins List<SolrServiceIndexPlugin> solrServiceIndexPlugins = new DSpace().getServiceManager() .getServicesByType(SolrServiceIndexPlugin.class); for (SolrServiceIndexPlugin solrServiceIndexPlugin : solrServiceIndexPlugins) { solrServiceIndexPlugin.additionalIndex(context, item, doc); } // write the index and close the inputstreamreaders try { writeDocument(doc); log.info("Wrote Item: " + handle + " to Index"); } catch (RuntimeException e) { log.error("Error while writing item to discovery index: " + handle + " message:" + e.getMessage(), e); } }
From source file:org.eclipse.gyrex.jobs.internal.commands.LsCmd.java
private void printJob(final JobImpl job) throws Exception { final StrBuilder info = new StrBuilder(); info.appendln(job.getId());// ww w . j a v a2s . c o m info.appendFixedWidthPadLeft("type: ", 26, ' ').appendln(job.getTypeId()); info.appendFixedWidthPadLeft("state: ", 26, ' ').appendln(job.getState()); info.appendFixedWidthPadLeft("last start time: ", 26, ' ') .appendln(job.getLastStart() > -1 ? DateFormatUtils.formatUTC(job.getLastStart(), "yyyy-MM-dd 'at' HH:mm:ss z") : "never"); info.appendFixedWidthPadLeft("last successfull finish: ", 26, ' ') .appendln(job.getLastSuccessfulFinish() > -1 ? DateFormatUtils.formatUTC(job.getLastSuccessfulFinish(), "yyyy-MM-dd 'at' HH:mm:ss z") : "never"); info.appendFixedWidthPadLeft("last result: ", 26, ' ') .appendln(job.getLastResult() != null ? job.getLastResult().getMessage() : "(not available)"); final String activeNodeId = getActiveNodeId(job.getStorageKey()); info.appendFixedWidthPadLeft("active on: ", 26, ' ') .appendln(null != activeNodeId ? activeNodeId : "(not active)"); final IEclipsePreferences historyNode = CloudPreferncesJobHistoryStorage.getJobsHistoryNode(); if (historyNode.nodeExists(job.getStorageKey())) { final IEclipsePreferences jobHistory = CloudPreferncesJobHistoryStorage .getHistoryNode(job.getStorageKey()); final String[] childrenNames = jobHistory.childrenNames(); final SortedSet<IJobHistoryEntry> entries = new TreeSet<IJobHistoryEntry>(); for (final String entryId : childrenNames) { entries.add(new StorableBackedJobHistoryEntry( CloudPreferncesJobHistoryStorage.readItem(jobHistory.node(entryId)))); } info.appendNewLine(); for (final IJobHistoryEntry entry : entries) { info.appendln(entry.toString()); } } printf("%s", info.toString()); }
From source file:org.eclipse.skalli.commons.FormatUtils.java
/** * Returns the given timestamp in the ISO 8601 format <tt>"yyyy-MM-dd'T'HH:mm:ss'Z'"</tt>. * Note, the given format also meets the requirement of the xsd:dateTime format used in * the REST API. Timezone is always UTC. * * @param millis the timestamp to convert. *///from ww w . j ava2 s .c o m public static String formatUTC(long millis) { return DateFormatUtils.formatUTC(millis, "yyyy-MM-dd'T'HH:mm:ss'Z'"); //$NON-NLS-1$ }
From source file:org.eclipse.skalli.commons.FormatUtils.java
/** * Returns the given timestamp in the ISO 8601 format <tt>"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"</tt> * including the milliseconds. Timezone is always UTC. * * @param millis the timestamp to convert. *//*from w w w .j a v a 2s . c om*/ public static String formatUTCWithMillis(long millis) { return DateFormatUtils.formatUTC(millis, "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"); //$NON-NLS-1$ }
From source file:org.eclipse.skalli.core.rest.JSONRestReaderTest.java
@Test public void testObjectVariousValues() throws Exception { UUID uuid = UUID.randomUUID(); URL url = URLUtils.stringToURL("http://localhost:8080/path"); long now = (System.currentTimeMillis() / 1000) * 1000; // cut off milliseconds JSONRestReader json = getRestReader("{\"a\":\"string\",\"b\":4711,\"c\":3.14,\"d\":true," + "\"e\":[\"x\",\"y\"],\"f\":\"\",\"g\":{\"x\":\"string\"},\"h\":\"" + uuid.toString() + "\"," + "\"i\":\"" + url.toExternalForm() + "\"," + "\"j\":\"" + DateFormatUtils.formatUTC(now, "yyyy-MM-dd'T'HH:mm:ss'Z'") + "\"}"); json.object();//from w w w .java 2s .c o m assertTrue(json.hasMore()); assertTrue(json.isKey()); assertTrue(json.isKeyAnyOf("b", "a", "c")); assertFalse(json.isKeyAnyOf("x", "y", "z")); assertEquals("a", json.key()); assertFalse(json.isKey()); assertEquals("string", json.valueString()); assertTrue(json.hasMore()); assertEquals("b", json.key()); assertEquals(4711L, json.valueLong()); assertTrue(json.hasMore()); assertEquals("c", json.key()); assertEquals(3.14d, json.valueDouble(), 0.1d); assertTrue(json.hasMore()); assertEquals("d", json.key()); assertTrue(json.valueBoolean()); assertTrue(json.hasMore()); assertEquals("e", json.key()); assertTrue(json.isArray()); json.array(); assertTrue(json.hasMore()); assertEquals("x", json.valueString()); assertTrue(json.hasMore()); assertEquals("y", json.valueString()); assertFalse(json.hasMore()); json.end(); assertTrue(json.hasMore()); assertEquals("f", json.key()); assertEquals("", json.valueString()); assertTrue(json.hasMore()); assertEquals("g", json.key()); assertTrue(json.isObject()); json.object(); assertTrue(json.hasMore()); assertEquals("x", json.key()); assertEquals("string", json.valueString()); assertFalse(json.hasMore()); json.end(); assertTrue(json.hasMore()); assertEquals("h", json.key()); assertEquals(uuid, json.valueUUID()); assertTrue(json.hasMore()); assertEquals("i", json.key()); assertEquals(url, json.valueURL()); assertTrue(json.hasMore()); assertEquals("j", json.key()); assertEquals(now, json.valueDatetime().getTimeInMillis()); assertFalse(json.hasMore()); json.end(); }
From source file:org.eclipse.skalli.core.rest.JSONRestReaderTest.java
@Test public void testAttributes() throws Exception { UUID uuid = UUID.randomUUID(); URL url = URLUtils.stringToURL("http://localhost:8080/path"); long now = (System.currentTimeMillis() / 1000) * 1000; // cut off milliseconds JSONRestReader json = getRestReader("{\"a\":\"string\",\"b\":4711,\"c\":3.14,\"d\":true," + "\"e\":\"" + uuid.toString() + "\"," + "\"f\":\"" + url.toExternalForm() + "\"," + "\"g\":\"" + DateFormatUtils.formatUTC(now, "yyyy-MM-dd'T'HH:mm:ss'Z'") + "\"}"); assertAttributes(json, uuid, url, now); }
From source file:org.eclipse.skalli.core.rest.JSONRestReaderTest.java
@Test public void testPrefixedAttributes() throws Exception { UUID uuid = UUID.randomUUID(); URL url = URLUtils.stringToURL("http://localhost:8080/path"); long now = (System.currentTimeMillis() / 1000) * 1000; // cut off milliseconds JSONRestReader json = getRestReader("{\"@a\":\"string\",\"@b\":4711,\"@c\":3.14,\"@d\":true," + "\"@e\":\"" + uuid.toString() + "\"," + "\"@f\":\"" + url.toExternalForm() + "\"," + "\"@g\":\"" + DateFormatUtils.formatUTC(now, "yyyy-MM-dd'T'HH:mm:ss'Z'") + "\"}"); json.set(JSONRestReader.PREFIXED_ATTRIBUTES); assertAttributes(json, uuid, url, now); }
From source file:org.eclipse.skalli.core.rest.JSONRestWriter.java
@Override public RestWriter date(long millis) throws IOException { return value(DateFormatUtils.formatUTC(millis, "yyyy-MM-dd")); //$NON-NLS-1$ }
From source file:org.eclipse.skalli.core.rest.JSONRestWriter.java
@Override public RestWriter date(String key, long millis) throws IOException { return object(key).pair(MILLIS_KEY, millis).value(DateFormatUtils.formatUTC(millis, "yyyy-MM-dd")); //$NON-NLS-1$ }