List of usage examples for java.time Instant ofEpochSecond
public static Instant ofEpochSecond(long epochSecond)
From source file:com.yahoo.egads.models.tsmm.OlympicModel2.java
/** * Sets the index into the DataSequence object for each window along with * calculating the window times. The index or timestamp for each window will * be one of the following: - -1 to show that there isn't any data for that * window - An index where the timestamp is the exact value of the seek time * - An index where the timestamp is a value greater than the seek time * //from ww w. j av a 2 s .co m * @param data * A non-null and non-empty data sequence object to read from. * @throws IllegalArgumentException * if the data object was null or empty. */ @VisibleForTesting void initializeIndices(final DataSequence data, final long start) { if (data == null || data.size() < 1) { throw new IllegalArgumentException("DataSequence cannot be null or empty."); } final ZonedDateTime base = Instant.ofEpochSecond(start).atZone(zone); for (int i = 0; i < pastWindows; i++) { final ZonedDateTime seek = base.minus((windowDistanceInterval * (pastWindows - i)), windowDistanceIntervalUnits); final long seek_time = seek.toEpochSecond(); // cut down on iterations by dividing the data idx int idx = data.size() / (pastWindows - i); if (idx >= data.size()) { idx = data.size() - 1; } if (data.get(idx).time == seek_time) { // woot, found it! } else if (data.get(idx).time < seek_time) { while (idx < data.size() && data.get(idx).time < seek_time) { idx++; } } else { while (idx > 0 && data.get(idx - 1).time >= seek_time) { idx--; } } // reset to avoid OOB exceptions. if (idx >= data.size()) { idx = -1; } windowTimes[i] = seek; indices[i] = idx; if (LOG.isDebugEnabled()) { LOG.debug("Initializing index: " + i + " to " + idx + " at " + seek); } } }
From source file:nl.knaw.huygens.alexandria.service.TinkerPopService.java
private AlexandriaResource deframeResource(ResourceVF rvf) { TentativeAlexandriaProvenance provenance = deframeProvenance(rvf); UUID uuid = getUUID(rvf);/* w w w. j a v a 2s.c o m*/ AlexandriaResource resource = new AlexandriaResource(uuid, provenance); resource.setCargo(rvf.getCargo()); resource.setState(AlexandriaState.valueOf(rvf.getState())); resource.setStateSince(Instant.ofEpochSecond(rvf.getStateSince())); for (AnnotationVF annotationVF : rvf.getAnnotatedBy()) { AlexandriaAnnotation annotation = deframeAnnotation(annotationVF); resource.addAnnotation(annotation); } ResourceVF parentResource = rvf.getParentResource(); if (parentResource != null) { resource.setParentResourcePointer( new IdentifiablePointer<>(AlexandriaResource.class, parentResource.getUuid())); } rvf.getSubResources().stream()// .forEach(vf -> resource .addSubResourcePointer(new IdentifiablePointer<>(AlexandriaResource.class, vf.getUuid()))); return resource; }
From source file:nl.knaw.huygens.alexandria.service.TinkerPopService.java
private AlexandriaAnnotation deframeAnnotation(AnnotationVF annotationVF) { TentativeAlexandriaProvenance provenance = deframeProvenance(annotationVF); UUID uuid = getUUID(annotationVF); AlexandriaAnnotationBody body = deframeAnnotationBody(annotationVF.getBody()); AlexandriaAnnotation annotation = new AlexandriaAnnotation(uuid, body, provenance); annotation.setState(AlexandriaState.valueOf(annotationVF.getState())); annotation.setStateSince(Instant.ofEpochSecond(annotationVF.getStateSince())); if (annotationVF.getRevision() == null) { // update old data annotationVF.setRevision(0);//from w w w. j a v a2 s. com } annotation.setRevision(annotationVF.getRevision()); AnnotationVF annotatedAnnotation = annotationVF.getAnnotatedAnnotation(); if (annotatedAnnotation == null) { ResourceVF annotatedResource = annotationVF.getAnnotatedResource(); if (annotatedResource != null) { annotation.setAnnotatablePointer( new IdentifiablePointer<>(AlexandriaResource.class, annotatedResource.getUuid())); } } else { annotation.setAnnotatablePointer( new IdentifiablePointer<>(AlexandriaAnnotation.class, annotatedAnnotation.getUuid())); } for (AnnotationVF avf : annotationVF.getAnnotatedBy()) { AlexandriaAnnotation annotationAnnotation = deframeAnnotation(avf); annotation.addAnnotation(annotationAnnotation); } return annotation; }
From source file:com.inqool.dcap.office.indexer.indexer.SolrBulkIndexer.java
protected SolrInputDocument modelToSolrInputDoc(ZdoModel model) { logger.debug("Constructing new SolrInputDocument..."); final Map<String, SolrInputField> fields = new HashMap<>(); //Add all Dublin Core terms for (String property : DCTools.getDcTermList()) { SolrInputField field = new SolrInputField(property); List<String> values = model.getAll(new PropertyImpl("http://purl.org/dc/terms/" + property)); if (values.isEmpty()) continue; //Skip fields that were not ticked to be published String visible = model.get(new PropertyImpl("http://purl.org/dc/terms/" + property + "_visibility")); if ("false".equals(visible) || "0".equals(visible)) { //0 should not occur any more continue; }//from ww w . j a v a2 s . c o m if ("isPartOf".equals(property)) { //remove ip address from isPartOf values.set(0, store.getOnlyIdFromUrl(values.get(0))); } if ("".equals(values.get(0))) { values.set(0, "unknown"); } field.addValue(values, INDEX_TIME_BOOST); fields.put(property, field); //Suggester data if ("title".equals(property) || "creator".equals(property)) { SolrInputDocument suggesterDoc = new SolrInputDocument(); String suggestVal = values.get(0).trim(); if (!suggestVal.isEmpty() && !suggestVal.equals("unknown")) { suggesterDoc.addField("suggesterData", values.get(0).trim()); dataForSuggester.add(suggesterDoc); } } } //Add system fields SolrInputField field = new SolrInputField("id"); field.addValue(store.getOnlyIdFromUrl(model.getUrl()), INDEX_TIME_BOOST); fields.put("id", field); addSolrFieldFromFedoraProperty("inventoryId", ZdoTerms.inventoryId, model, fields); addSolrFieldFromFedoraProperty("zdoType", ZdoTerms.zdoType, model, fields); addSolrFieldFromFedoraProperty("zdoGroup", ZdoTerms.group, model, fields); addSolrFieldFromFedoraProperty("orgIdmId", ZdoTerms.organization, model, fields); addSolrFieldFromFedoraProperty("allowContentPublicly", ZdoTerms.allowContentPublicly, model, fields); addSolrFieldFromFedoraProperty("allowPdfExport", ZdoTerms.allowPdfExport, model, fields); addSolrFieldFromFedoraProperty("allowEpubExport", ZdoTerms.allowEpubExport, model, fields); addSolrFieldFromFedoraProperty("watermark", ZdoTerms.watermark, model, fields); addSolrFieldFromFedoraProperty("watermarkPosition", ZdoTerms.watermarkPosition, model, fields); addSolrFieldFromFedoraProperty("imgThumb", ZdoTerms.imgThumb, model, fields); addSolrFieldFromFedoraProperty("imgNormal", ZdoTerms.imgNormal, model, fields); String publishFromStr = model.get(ZdoTerms.publishFrom); if (publishFromStr != null) { String publishFromUtc = ZonedDateTime .ofInstant(Instant.ofEpochSecond(Long.valueOf(publishFromStr)), ZoneId.systemDefault()) .withZoneSameInstant(ZoneOffset.UTC).format(DateTimeFormatter.ISO_OFFSET_DATE_TIME); addSolrField("publishFrom", publishFromUtc, fields); } String publishToStr = model.get(ZdoTerms.publishTo); if (publishToStr != null) { String publishToUtc = ZonedDateTime .ofInstant(Instant.ofEpochSecond(Long.valueOf(publishToStr)), ZoneId.systemDefault()) .withZoneSameInstant(ZoneOffset.UTC).format(DateTimeFormatter.ISO_OFFSET_DATE_TIME); addSolrField("publishTo", publishToUtc, fields); } String created = model.get(DCTerms.created); if (created != null) { AtomicInteger yearStart = new AtomicInteger(); AtomicInteger yearEnd = new AtomicInteger(); AtomicBoolean startValid = new AtomicBoolean(); AtomicBoolean endValid = new AtomicBoolean(); YearNormalizer.normalizeCreatedYear(created, yearStart, startValid, yearEnd, endValid); if (startValid.get()) { addSolrField("yearStart", yearStart.get(), fields); } else { logger.warn("Year could not be normalized for input string " + created); } if (endValid.get()) { addSolrField("yearEnd", yearEnd.get(), fields); } } String orgName = orgNameMapping.get(model.get(ZdoTerms.organization)); if (orgName == null) { orgName = "Neznm"; } addSolrField("organization", orgName, fields); String documentTypeId = model.get(ZdoTerms.documentType); //type and subtype names must be found for id String documentSubTypeId = model.get(ZdoTerms.documentSubType); if (documentTypeId != null) { addSolrField("documentType", documentTypeAccess.getTypeNameForId(Integer.valueOf(documentTypeId)), fields); } if (documentSubTypeId != null) { addSolrField("documentSubType", documentTypeAccess.getSubTypeNameForId(Integer.valueOf(documentSubTypeId)), fields); } //Add customFields int fieldIndex = 0; //we actually start from 1 do { fieldIndex++; String fieldName = model .get(new PropertyImpl("http://inqool.cz/zdo/1.0/customField_" + fieldIndex + "_name")); if (fieldName == null) break; fieldName = "customField_" + fieldName; String visible = model .get(new PropertyImpl("http://inqool.cz/zdo/1.0/customField_" + fieldIndex + "_visibility")); if ("false".equals(visible) || "0".equals(visible)) continue; List<String> fieldValues = model .getAll(new PropertyImpl("http://inqool.cz/zdo/1.0/customField_" + fieldIndex)); if ("".equals(fieldValues.get(0))) { fieldValues.set(0, "unknown"); } SolrInputField customField = new SolrInputField(fieldName); customField.addValue(fieldValues, INDEX_TIME_BOOST); fields.put(fieldName, customField); } while (true); SolrInputDocument solrInputDocument = new SolrInputDocument(fields); return solrInputDocument; }
From source file:org.openhab.binding.darksky.internal.handler.DarkSkyWeatherAndForecastHandler.java
private State getDateTimeTypeState(int value) { return new DateTimeType(ZonedDateTime.ofInstant(Instant.ofEpochSecond(value), ZoneId.systemDefault())); }