List of usage examples for org.joda.time Duration Duration
public Duration(Object duration)
From source file:net.solarnetwork.util.JodaDurationEditor.java
License:Open Source License
@Override public void setAsText(String text) throws IllegalArgumentException { try {/*from w w w. j a va 2 s.c o m*/ Long ms = Long.valueOf(text); setValue(new Duration(ms)); } catch (NumberFormatException e) { throw new IllegalArgumentException("Not a valid ms duration"); } }
From source file:net.sourceforge.fenixedu.domain.Teacher.java
License:Open Source License
public Duration getLecturedDurationOnExecutionCourse(ExecutionCourse executionCourse) { Duration duration = Duration.ZERO; Professorship professorship = getProfessorshipByExecutionCourse(executionCourse); TeacherService teacherService = getTeacherServiceByExecutionPeriod(executionCourse.getExecutionPeriod()); if (teacherService != null) { List<DegreeTeachingService> teachingServices = teacherService .getDegreeTeachingServiceByProfessorship(professorship); for (DegreeTeachingService teachingService : teachingServices) { duration = duration.plus(new Duration(new Double((teachingService.getPercentage() / 100) * teachingService.getShift().getCourseLoadWeeklyAverage().doubleValue() * 3600 * 1000) .longValue())); }//from w ww . j a v a 2 s. co m } return duration; }
From source file:nl.welteninstituut.tel.la.tasks.BigQuerySyncTask.java
License:Open Source License
public TableRow xAPItoRow(String postData, String uuid, String origin) { try {/* w w w . j av a 2 s . c o m*/ JSONObject jsonObject = new JSONObject(postData); JSONObject actorObject = jsonObject.getJSONObject("actor"); long timestampLong = 0l; if (jsonObject.has("timestamp")) { String timestamp = jsonObject.getString("timestamp"); try { timestampLong = isoParser.parse(timestamp).getTime(); } catch (Exception ex) { try { timestampLong = df.parse(timestamp).getTime(); } catch (ParseException e) { timestampLong = df2.parse(timestamp).getTime(); } } } String actorType = actorObject.getString("objectType"); String actorId = StringPool.BLANK; if (actorObject.has("account")) { actorId = actorObject.getJSONObject("account").getString("name"); } else { actorId = actorObject.getString("mbox"); } String verbId = jsonObject.getJSONObject("verb").getString("id"); String objectType = StringPool.BLANK;//jsonObject.getJSONObject("object").getString("objectType"); String objectId = StringPool.BLANK;//jsonObject.getJSONObject("object").getString("id"); String objectDefinition = ""; String objectAccountId = StringPool.BLANK; String courseId = StringPool.BLANK; String resultResponse = StringPool.BLANK; String objectDescription = StringPool.BLANK; String objectDefinitionName = StringPool.BLANK; double resultDuration = 0l; if (jsonObject.has("result")) { JSONObject resultObject = jsonObject.getJSONObject("result"); if (resultObject.has("response")) { resultResponse = resultObject.getString("response"); } else if (resultObject.has("duration")) { resultDuration = (double) new Duration(resultObject.getString("duration")).getStandardSeconds(); } } Double lat = -1d; Double lng = -1d; if (jsonObject.has("context")) { JSONObject context = jsonObject.getJSONObject("context"); if (context.has("extensions")) { JSONObject extensions = context.getJSONObject("extensions"); if (extensions.has("http://activitystrea.ms/schema/1.0/place")) { JSONObject pace = extensions.getJSONObject("http://activitystrea.ms/schema/1.0/place"); if (pace.has("geojson")) { JSONObject geojson = pace.getJSONObject("geojson"); if (geojson.has("features")) { JSONObject features = geojson.getJSONArray("features").getJSONObject(0); if (features.has("geometry")) { JSONObject geometry = features.getJSONObject("geometry"); if (geometry.has("coordinates")) { JSONArray coordinates = geometry.getJSONArray("coordinates"); if (coordinates.length() >= 2) { lng = Double.parseDouble("" + coordinates.get(0)); lat = Double.parseDouble("" + coordinates.get(1)); } } } } } } } if (context.has("contextActivities")) { JSONObject contextActivities = context.getJSONObject("contextActivities"); if (contextActivities.has("parent")) { Object parentObject = contextActivities.get("parent"); JSONObject parent = null; if (parentObject instanceof JSONArray) { parent = ((JSONArray) parentObject).getJSONObject(0); } else { parent = ((JSONObject) parentObject); } //JSONObject parent = contextActivities.getJSONArray("parent").getJSONObject(0); if (parent.has("id") && parent.has("definition") && parent.getJSONObject("definition").has("type") && parent.getJSONObject("definition").getString("type") .equals("http://adlnet.gov/expapi/activities/course")) { courseId = parent.getString("id"); } } } } try { JSONObject object = jsonObject.getJSONObject("object"); if (object.has("objectType")) objectType = object.getString("objectType"); if (object.has("id")) objectId = object.getString("id"); if (object.has("account")) { if (object.getJSONObject("account").has("name")) { objectAccountId = object.getJSONObject("account").getString("name"); } else { objectAccountId = object.getString("mbox"); } } if (object.has("definition")) { JSONObject objectDefinitionJObject = object.getJSONObject("definition"); if (objectDefinitionJObject.has("type")) { objectDefinition = objectDefinitionJObject.getString("type"); } if (objectDefinitionJObject.has("name")) { JSONObject objectDefinitionNameJObject = objectDefinitionJObject.getJSONObject("name"); if (objectDefinitionNameJObject.has("en-US")) { objectDefinitionName = objectDefinitionNameJObject.getString("en-US"); } else { if (objectDefinitionNameJObject.length() >= 1) { objectDefinitionName = objectDefinitionNameJObject .getString((String) objectDefinitionNameJObject.keys().next()); } //if (objectDefinitionNameJObject.) } } if (objectDefinitionJObject.has("description")) { JSONObject objectDescriptionJObject = objectDefinitionJObject.getJSONObject("description"); if (objectDescriptionJObject.has("en-US")) { objectDescription = objectDescriptionJObject.getString("en-US"); } else { if (objectDescriptionJObject.length() >= 1) { objectDescription = objectDescriptionJObject .getString((String) objectDescriptionJObject.keys().next()); } } } } if (courseId == StringPool.BLANK && objectId != null) { if (objectId.contains("https://hub0.ecolearning.eu/course/smooc-step-by-step")) courseId = "oai:eu.ecolearning.hub0:2"; if (objectId.contains("https://hub0.ecolearning.eu/course/smooc-step-by-step-2ed")) courseId = "oai:eu.ecolearning.hub0:4"; if (objectId.contains( "https://hub1.ecolearning.eu/course/innovacion-educativa-y-desarrollo-profesional-posi")) courseId = "oai:eu.ecolearning.hub1:6"; if (objectId.contains( "https://hub2.ecolearning.eu/course/videos-for-teaching-learning-and-communication")) courseId = "oai:eu.ecolearning.hub2:1"; if (objectId.contains( "https://hub4.ecolearning.eu/course/introducao-aos-sistemas-de-informacao-geografica")) courseId = "oai:eu.ecolearning.hub4:1"; if (objectId.contains( "https://hub4.ecolearning.eu/course/introducao-sistemas-informacao-geografica-3ed")) courseId = "oai:eu.ecolearning.hub4:12"; if (objectId.contains( "https://hub4.ecolearning.eu/course/necessidades-educativas-especiais-como-ensinar-com")) courseId = "oai:eu.ecolearning.hub4:2"; if (objectId .contains("https://hub4.ecolearning.eu/course/necessidades-educativas-especiais-3ed/")) courseId = "oai:eu.ecolearning.hub4:11"; if (objectId.contains("https://hub5.ecolearning.eu/course/diy-do-it-yourself")) courseId = "oai:eu.ecolearning.hub5:1"; if (objectId.contains("https://hub5.ecolearning.eu/course/mpsw-ma-pedagogie-a-la-sauce-web-20")) courseId = "oai:eu.ecolearning.hub5:2"; if (objectId.contains( "https://hub7.ecolearning.eu/course/competencias-artisticas-y-creativas-del-profesorad")) courseId = "oai:eu.ecolearning.hub7:1"; if (objectId.contains( "https://hub7.ecolearning.eu/course/competencias-artisticas-creativas-profesorado-3ed")) courseId = "oai:eu.ecolearning.hub7:5"; if (objectId.contains( "https://hub8.ecolearning.eu/course/recursos-educativos-abiertos-aplicaciones-pedagogi")) courseId = "oai:eu.ecolearning.hub8:7"; if (objectId.contains( "https://hub8.ecolearning.eu/course/alfabetizacion-digital-para-personas-en-riesgo-de")) courseId = "oai:eu.ecolearning.hub8:8"; if (objectId.contains("https://hub8.ecolearning.eu/course/comunicacion-y-aprendizaje-movil")) courseId = "oai:eu.ecolearning.hub8:9"; if (objectId.contains("https://hub8.ecolearning.eu/course/educacion-sexual")) courseId = "oai:eu.ecolearning.hub8:10"; if (objectId.contains("https://hub8.ecolearning.eu/course/teoria-del-arte-ii")) courseId = "oai:eu.ecolearning.hub8:18"; if (objectId.contains("https://hub8.ecolearning.eu/course/artes-y-tecnologias-para-educar")) courseId = "oai:eu.ecolearning.hub8:19"; if (objectId.contains( "https://hub8.ecolearning.eu/course/estrategia-en-la-gestion-de-comunidades-online-el")) courseId = "oai:eu.ecolearning.hub8:20"; if (objectId.contains( "https://hub8.ecolearning.eu/course/how-to-succeed-in-the-english-b1-level-exam")) courseId = "oai:eu.ecolearning.hub8:56"; } if (courseId != null && courseId.startsWith("oai:eu.ecolearning.hub")) courseId = courseId.substring(4); if (objectId != null && objectId.startsWith("oai:eu.ecolearning.hub")) objectId = objectId.substring(4); // objectDefinition = jsonObject.getJSONObject("object").getJSONObject("definition").getString("type"); } catch (Exception e) { e.printStackTrace(); log.log(Level.SEVERE, "exception occured with " + uuid, e); return null; } return createTableRow(uuid, timestampLong, actorType, actorId, verbId, objectType, objectId, objectDefinition, lat, lng, courseId, origin, resultResponse, resultDuration, objectDefinitionName, objectDescription, objectAccountId); } catch (JSONException e) { log.log(Level.SEVERE, e.getMessage(), e); e.printStackTrace(); } catch (IOException e) { log.log(Level.SEVERE, e.getMessage(), e); e.printStackTrace(); } catch (ParseException e) { log.log(Level.SEVERE, e.getMessage(), e); log.log(Level.SEVERE, "in parse exception"); e.printStackTrace(); } System.out.println("uuid " + uuid + " failed "); return null; }
From source file:org.agatom.springatom.web.validator.AppointmentValidator.java
License:Open Source License
private void validateDates(final NAppointment appointment, final ValidationContext context) { final MessageContext messageContext = context.getMessageContext(); final MessageBuilder messageBuilder = new MessageBuilder(); final DateTime begin = appointment.getBegin(); final DateTime end = appointment.getEnd(); final int beginHourOfDay = begin.getHourOfDay(); final int endHourOfDay = end.getHourOfDay(); if (beginHourOfDay < this.minTime) { messageContext.addMessage(messageBuilder.source("begin").error() .defaultText(String.format("Begin hour must not be lower than %d", this.minTime)).build()); }/*from ww w.ja v a 2s . c o m*/ if (endHourOfDay > this.maxTime) { messageContext.addMessage(messageBuilder.source("end").error() .defaultText(String.format("End hour must not be higher than %d", this.maxTime)).build()); } if (begin.isAfter(end)) { messageContext.addMessage( messageBuilder.source("begin").error().defaultText("Begin must be before End").build()); } else { final Duration duration = new Duration(end.minus(begin.getMillis()).getMillis()); if (duration.isShorterThan(new Duration(this.minDiffBetweenDates))) { messageContext .addMessage( messageBuilder.source("interval").warning() .defaultText(String.format("Time of appointment is shorter than %d minutes", TimeUnit.MILLISECONDS.toMinutes(this.minDiffBetweenDates))) .build()); } else if (duration.isLongerThan(new Duration(this.maxDiffBetweenDates))) { messageContext.addMessage(messageBuilder.source("interval").warning() .defaultText(String.format("Time of appointment is longer than %d days", TimeUnit.MILLISECONDS.toDays(this.maxDiffBetweenDates))) .build()); } } }
From source file:org.alfresco.serializers.PropertiesTypeConverter.java
License:Open Source License
@SuppressWarnings("rawtypes") private PropertiesTypeConverter() { ///*from w w w. j ava 2 s . c o m*/ // From string // addConverter(String.class, Class.class, new TypeConverter.Converter<String, Class>() { public Class convert(String source) { try { return Class.forName(source); } catch (ClassNotFoundException e) { throw new TypeConversionException("Failed to convert string to class: " + source, e); } } }); addConverter(String.class, Boolean.class, new TypeConverter.Converter<String, Boolean>() { public Boolean convert(String source) { return Boolean.valueOf(source); } }); addConverter(String.class, Character.class, new TypeConverter.Converter<String, Character>() { public Character convert(String source) { if ((source == null) || (source.length() == 0)) { return null; } return Character.valueOf(source.charAt(0)); } }); addConverter(String.class, Number.class, new TypeConverter.Converter<String, Number>() { public Number convert(String source) { try { return DecimalFormat.getNumberInstance().parse(source); } catch (ParseException e) { throw new TypeConversionException("Failed to parse number " + source, e); } } }); addConverter(String.class, Byte.class, new TypeConverter.Converter<String, Byte>() { public Byte convert(String source) { return Byte.valueOf(source); } }); addConverter(String.class, Short.class, new TypeConverter.Converter<String, Short>() { public Short convert(String source) { return Short.valueOf(source); } }); addConverter(String.class, Integer.class, new TypeConverter.Converter<String, Integer>() { public Integer convert(String source) { return Integer.valueOf(source); } }); addConverter(String.class, Long.class, new TypeConverter.Converter<String, Long>() { public Long convert(String source) { return Long.valueOf(source); } }); addConverter(String.class, Float.class, new TypeConverter.Converter<String, Float>() { public Float convert(String source) { return Float.valueOf(source); } }); addConverter(String.class, Double.class, new TypeConverter.Converter<String, Double>() { public Double convert(String source) { return Double.valueOf(source); } }); addConverter(String.class, BigInteger.class, new TypeConverter.Converter<String, BigInteger>() { public BigInteger convert(String source) { return new BigInteger(source); } }); addConverter(String.class, BigDecimal.class, new TypeConverter.Converter<String, BigDecimal>() { public BigDecimal convert(String source) { return new BigDecimal(source); } }); addConverter(JSON.class, BigDecimal.class, new TypeConverter.Converter<JSON, BigDecimal>() { public BigDecimal convert(JSON source) { String type = (String) source.get("t"); if (type.equals("FIXED_POINT")) { String number = (String) source.get("n"); Integer precision = (Integer) source.get("p"); MathContext ctx = new MathContext(precision); return new BigDecimal(number, ctx); } else { throw new IllegalArgumentException( "Invalid source object for conversion " + source + ", expected a Fixed Decimal object"); } } }); addConverter(String.class, Date.class, new TypeConverter.Converter<String, Date>() { public Date convert(String source) { try { Date date = ISO8601DateFormat.parse(source); return date; } catch (PlatformRuntimeException e) { throw new TypeConversionException("Failed to convert date " + source + " to string", e); } catch (AlfrescoRuntimeException e) { throw new TypeConversionException("Failed to convert date " + source + " to string", e); } } }); addConverter(String.class, Duration.class, new TypeConverter.Converter<String, Duration>() { public Duration convert(String source) { return new Duration(source); } }); addConverter(String.class, QName.class, new TypeConverter.Converter<String, QName>() { public QName convert(String source) { return QName.createQName(source); } }); addConverter(JSON.class, QName.class, new TypeConverter.Converter<JSON, QName>() { public QName convert(JSON source) { String type = (String) source.get("t"); if (type.equals("QNAME")) { String qname = (String) source.get("v"); return QName.createQName(qname); } else { throw new IllegalArgumentException(); } } }); addConverter(String.class, ContentData.class, new TypeConverter.Converter<String, ContentData>() { public ContentData convert(String source) { return ContentData.createContentProperty(source); } }); addConverter(String.class, NodeRef.class, new TypeConverter.Converter<String, NodeRef>() { public NodeRef convert(String source) { return new NodeRef(source); } }); addConverter(JSON.class, NodeRef.class, new TypeConverter.Converter<JSON, NodeRef>() { public NodeRef convert(JSON source) { String type = (String) source.get("t"); if (!type.equals("NODEREF")) { throw new IllegalArgumentException( "Invalid source object for conversion " + source + ", expected a NodeRef object"); } String protocol = (String) source.get("p"); String storeId = (String) source.get("s"); String id = (String) source.get("id"); NodeRef nodeRef = new NodeRef(new StoreRef(protocol, storeId), id); return nodeRef; } }); addConverter(String.class, StoreRef.class, new TypeConverter.Converter<String, StoreRef>() { public StoreRef convert(String source) { return new StoreRef(source); } }); addConverter(JSON.class, StoreRef.class, new TypeConverter.Converter<JSON, StoreRef>() { public StoreRef convert(JSON source) { String type = (String) source.get("t"); if (!type.equals("STOREREF")) { throw new IllegalArgumentException( "Invalid source object for conversion " + source + ", expected a StoreRef object"); } String protocol = (String) source.get("p"); String storeId = (String) source.get("s"); return new StoreRef(protocol, storeId); } }); addConverter(String.class, ChildAssociationRef.class, new TypeConverter.Converter<String, ChildAssociationRef>() { public ChildAssociationRef convert(String source) { return new ChildAssociationRef(source); } }); addConverter(String.class, AssociationRef.class, new TypeConverter.Converter<String, AssociationRef>() { public AssociationRef convert(String source) { return new AssociationRef(source); } }); addConverter(String.class, InputStream.class, new TypeConverter.Converter<String, InputStream>() { public InputStream convert(String source) { try { return new ByteArrayInputStream(source.getBytes("UTF-8")); } catch (UnsupportedEncodingException e) { throw new TypeConversionException("Encoding not supported", e); } } }); addConverter(String.class, MLText.class, new TypeConverter.Converter<String, MLText>() { public MLText convert(String source) { return new MLText(source); } }); addConverter(JSON.class, MLText.class, new TypeConverter.Converter<JSON, MLText>() { public MLText convert(JSON source) { String type = (String) source.get("t"); if (!type.equals("MLTEXT")) { throw new IllegalArgumentException( "Invalid source object for conversion " + source + ", expected a NodeRef object"); } MLText mlText = new MLText(); for (String languageTag : source.keySet()) { String text = (String) source.get(languageTag); Locale locale = Locale.forLanguageTag(languageTag); mlText.put(locale, text); } return mlText; } }); // addConverter(JSON.class, ContentDataWithId.class, new TypeConverter.Converter<JSON, ContentDataWithId>() // { // public ContentDataWithId convert(JSON source) // { // String type = (String)source.get("t"); // if(!type.equals("CONTENT_DATA_ID")) // { // throw new IllegalArgumentException("Invalid source object for conversion " // + source // + ", expected a ContentDataWithId object"); // } // String contentUrl = (String)source.get("u"); // String mimeType = (String)source.get("m"); // Long size = (Long)source.get("s"); // String encoding = (String)source.get("e"); // String languageTag = (String)source.get("l"); // Long id = (Long)source.get("id"); // Locale locale = Locale.forLanguageTag(languageTag); // // ContentData contentData = new ContentData(contentUrl, mimeType, size, encoding, locale); // ContentDataWithId contentDataWithId = new ContentDataWithId(contentData, id); // return contentDataWithId; // } // }); addConverter(JSON.class, ContentData.class, new TypeConverter.Converter<JSON, ContentData>() { public ContentData convert(JSON source) { ContentData contentData = null; String type = (String) source.get("t"); if (type.equals("CONTENT")) { String contentUrl = (String) source.get("u"); String mimeType = (String) source.get("m"); Long size = (Long) source.get("s"); String encoding = (String) source.get("e"); String languageTag = (String) source.get("l"); Locale locale = Locale.forLanguageTag(languageTag); contentData = new ContentData(contentUrl, mimeType, size, encoding, locale); } else if (type.equals("CONTENT_DATA_ID")) { String contentUrl = (String) source.get("u"); String mimeType = (String) source.get("m"); Long size = (Long) source.get("s"); String encoding = (String) source.get("e"); String languageTag = (String) source.get("l"); Locale locale = Locale.forLanguageTag(languageTag); contentData = new ContentData(contentUrl, mimeType, size, encoding, locale); } else { throw new IllegalArgumentException( "Invalid source object for conversion " + source + ", expected a ContentData object"); } return contentData; } }); addConverter(JSON.class, String.class, new TypeConverter.Converter<JSON, String>() { public String convert(JSON source) { // TODO distinguish between different BasicDBObject representations e.g. for MLText, ... Set<String> languageTags = source.keySet(); if (languageTags.size() == 0) { throw new IllegalArgumentException("Persisted MLText is invalid " + source); } else if (languageTags.size() > 1) { // TODO logger.warn("Persisted MLText has more than 1 locale " + source); } String languageTag = languageTags.iterator().next(); String text = (String) source.get(languageTag); return text; } }); addConverter(String.class, Locale.class, new TypeConverter.Converter<String, Locale>() { public Locale convert(String source) { return I18NUtil.parseLocale(source); } }); addConverter(String.class, Period.class, new TypeConverter.Converter<String, Period>() { public Period convert(String source) { return new Period(source); } }); addConverter(String.class, VersionNumber.class, new TypeConverter.Converter<String, VersionNumber>() { public VersionNumber convert(String source) { return new VersionNumber(source); } }); // // From Locale // addConverter(Locale.class, String.class, new TypeConverter.Converter<Locale, String>() { public String convert(Locale source) { String localeStr = source.toString(); if (localeStr.length() < 6) { localeStr += "_"; } return localeStr; } }); // // From VersionNumber // addConverter(VersionNumber.class, String.class, new TypeConverter.Converter<VersionNumber, String>() { public String convert(VersionNumber source) { return source.toString(); } }); // // From MLText // addConverter(MLText.class, String.class, new TypeConverter.Converter<MLText, String>() { public String convert(MLText source) { return source.getDefaultValue(); } }); addConverter(MLText.class, JSON.class, new TypeConverter.Converter<MLText, JSON>() { public JSON convert(MLText source) { JSON map = new JSON(); map.put("t", "MLTEXT"); for (Map.Entry<Locale, String> entry : source.entrySet()) { map.put(entry.getKey().toLanguageTag(), entry.getValue()); } return map; } }); // addConverter(ContentDataWithId.class, JSON.class, new TypeConverter.Converter<ContentDataWithId, JSON>() // { // public JSON convert(ContentDataWithId source) // { // JSON map = new JSON(); // // String contentUrl = source.getContentUrl(); // Long id = source.getId(); // String languageTag = source.getLocale().toLanguageTag(); // String encoding = source.getEncoding(); // long size = source.getSize(); // String mimeType = source.getMimetype(); // // map.put("t", "CONTENT_DATA_ID"); // map.put("u", contentUrl); // map.put("m", mimeType); // map.put("s", size); // map.put("e", encoding); // map.put("l", languageTag); // map.put("id", id); // return map; // } // }); addConverter(ContentData.class, JSON.class, new TypeConverter.Converter<ContentData, JSON>() { public JSON convert(ContentData source) { JSON map = new JSON(); String contentUrl = source.getContentUrl(); String languageTag = source.getLocale().toLanguageTag(); String encoding = source.getEncoding(); long size = source.getSize(); String mimeType = source.getMimetype(); map.put("t", "CONTENT_DATA"); map.put("u", contentUrl); map.put("m", mimeType); map.put("s", size); map.put("e", encoding); map.put("l", languageTag); return map; } }); // // From enum // addConverter(Enum.class, String.class, new TypeConverter.Converter<Enum, String>() { public String convert(Enum source) { return source.toString(); } }); // From Period addConverter(Period.class, String.class, new TypeConverter.Converter<Period, String>() { public String convert(Period source) { return source.toString(); } }); // From Class addConverter(Class.class, String.class, new TypeConverter.Converter<Class, String>() { public String convert(Class source) { return source.getName(); } }); // // Number to Subtypes and Date // addConverter(Number.class, Boolean.class, new TypeConverter.Converter<Number, Boolean>() { public Boolean convert(Number source) { return new Boolean(source.longValue() > 0); } }); addConverter(Number.class, Byte.class, new TypeConverter.Converter<Number, Byte>() { public Byte convert(Number source) { return Byte.valueOf(source.byteValue()); } }); addConverter(Number.class, Short.class, new TypeConverter.Converter<Number, Short>() { public Short convert(Number source) { return Short.valueOf(source.shortValue()); } }); addConverter(Number.class, Integer.class, new TypeConverter.Converter<Number, Integer>() { public Integer convert(Number source) { return Integer.valueOf(source.intValue()); } }); addConverter(Number.class, Long.class, new TypeConverter.Converter<Number, Long>() { public Long convert(Number source) { return Long.valueOf(source.longValue()); } }); addConverter(Number.class, Float.class, new TypeConverter.Converter<Number, Float>() { public Float convert(Number source) { return Float.valueOf(source.floatValue()); } }); addConverter(Number.class, Double.class, new TypeConverter.Converter<Number, Double>() { public Double convert(Number source) { return Double.valueOf(source.doubleValue()); } }); addConverter(Number.class, Date.class, new TypeConverter.Converter<Number, Date>() { public Date convert(Number source) { return new Date(source.longValue()); } }); addConverter(Number.class, String.class, new TypeConverter.Converter<Number, String>() { public String convert(Number source) { return source.toString(); } }); addConverter(Number.class, BigInteger.class, new TypeConverter.Converter<Number, BigInteger>() { public BigInteger convert(Number source) { if (source instanceof BigDecimal) { return ((BigDecimal) source).toBigInteger(); } else { return BigInteger.valueOf(source.longValue()); } } }); addConverter(Number.class, BigDecimal.class, new TypeConverter.Converter<Number, BigDecimal>() { public BigDecimal convert(Number source) { if (source instanceof BigInteger) { return new BigDecimal((BigInteger) source); } else if (source instanceof Double) { return BigDecimal.valueOf((Double) source); } else if (source instanceof Float) { Float val = (Float) source; if (val.isInfinite()) { // What else can we do here? this is 3.4 E 38 so is fairly big return new BigDecimal(Float.MAX_VALUE); } return BigDecimal.valueOf((Float) source); } else { return BigDecimal.valueOf(source.longValue()); } } }); addDynamicTwoStageConverter(Number.class, String.class, InputStream.class); // // Date, Timestamp -> // addConverter(Timestamp.class, Date.class, new TypeConverter.Converter<Timestamp, Date>() { public Date convert(Timestamp source) { return new Date(source.getTime()); } }); addConverter(Date.class, Number.class, new TypeConverter.Converter<Date, Number>() { public Number convert(Date source) { return Long.valueOf(source.getTime()); } }); addConverter(Date.class, String.class, new TypeConverter.Converter<Date, String>() { public String convert(Date source) { try { return ISO8601DateFormat.format(source); } catch (PlatformRuntimeException e) { throw new TypeConversionException("Failed to convert date " + source + " to string", e); } } }); addConverter(Date.class, Calendar.class, new TypeConverter.Converter<Date, Calendar>() { public Calendar convert(Date source) { Calendar calendar = Calendar.getInstance(); calendar.setTime(source); return calendar; } }); addConverter(Date.class, GregorianCalendar.class, new TypeConverter.Converter<Date, GregorianCalendar>() { public GregorianCalendar convert(Date source) { GregorianCalendar calendar = new GregorianCalendar(); calendar.setTime(source); return calendar; } }); addDynamicTwoStageConverter(Date.class, String.class, InputStream.class); // // Boolean -> // final Long LONG_FALSE = new Long(0L); final Long LONG_TRUE = new Long(1L); addConverter(Boolean.class, Long.class, new TypeConverter.Converter<Boolean, Long>() { public Long convert(Boolean source) { return source.booleanValue() ? LONG_TRUE : LONG_FALSE; } }); addConverter(Boolean.class, String.class, new TypeConverter.Converter<Boolean, String>() { public String convert(Boolean source) { return source.toString(); } }); addDynamicTwoStageConverter(Boolean.class, String.class, InputStream.class); // // Character -> // addConverter(Character.class, String.class, new TypeConverter.Converter<Character, String>() { public String convert(Character source) { return source.toString(); } }); addDynamicTwoStageConverter(Character.class, String.class, InputStream.class); // // Duration -> // addConverter(Duration.class, String.class, new TypeConverter.Converter<Duration, String>() { public String convert(Duration source) { return source.toString(); } }); addDynamicTwoStageConverter(Duration.class, String.class, InputStream.class); // // Byte // addConverter(Byte.class, String.class, new TypeConverter.Converter<Byte, String>() { public String convert(Byte source) { return source.toString(); } }); addDynamicTwoStageConverter(Byte.class, String.class, InputStream.class); // // Short // addConverter(Short.class, String.class, new TypeConverter.Converter<Short, String>() { public String convert(Short source) { return source.toString(); } }); addDynamicTwoStageConverter(Short.class, String.class, InputStream.class); // // Integer // addConverter(Integer.class, String.class, new TypeConverter.Converter<Integer, String>() { public String convert(Integer source) { return source.toString(); } }); addDynamicTwoStageConverter(Integer.class, String.class, InputStream.class); // // Long // addConverter(Long.class, String.class, new TypeConverter.Converter<Long, String>() { public String convert(Long source) { return source.toString(); } }); addDynamicTwoStageConverter(Long.class, String.class, InputStream.class); // // Float // addConverter(Float.class, String.class, new TypeConverter.Converter<Float, String>() { public String convert(Float source) { return source.toString(); } }); addDynamicTwoStageConverter(Float.class, String.class, InputStream.class); // // Double // addConverter(Double.class, String.class, new TypeConverter.Converter<Double, String>() { public String convert(Double source) { return source.toString(); } }); addDynamicTwoStageConverter(Double.class, String.class, InputStream.class); // // BigInteger // addConverter(BigInteger.class, String.class, new TypeConverter.Converter<BigInteger, String>() { public String convert(BigInteger source) { return source.toString(); } }); addDynamicTwoStageConverter(BigInteger.class, String.class, InputStream.class); // // Calendar // addConverter(Calendar.class, Date.class, new TypeConverter.Converter<Calendar, Date>() { public Date convert(Calendar source) { return source.getTime(); } }); addConverter(Calendar.class, String.class, new TypeConverter.Converter<Calendar, String>() { public String convert(Calendar source) { try { return ISO8601DateFormat.format(source.getTime()); } catch (PlatformRuntimeException e) { throw new TypeConversionException("Failed to convert date " + source + " to string", e); } } }); // // BigDecimal // addConverter(BigDecimal.class, JSON.class, new TypeConverter.Converter<BigDecimal, JSON>() { public JSON convert(BigDecimal source) { String number = source.toPlainString(); int precision = source.precision(); JSON map = new JSON(); map.put("t", "FIXED_POINT"); map.put("n", number); map.put("p", precision); return map; } }); addConverter(BigDecimal.class, String.class, new TypeConverter.Converter<BigDecimal, String>() { public String convert(BigDecimal source) { return source.toString(); } }); addDynamicTwoStageConverter(BigDecimal.class, String.class, InputStream.class); // // QName // addConverter(QName.class, String.class, new TypeConverter.Converter<QName, String>() { public String convert(QName source) { return source.toString(); } }); addDynamicTwoStageConverter(QName.class, String.class, InputStream.class); // // EntityRef (NodeRef, ChildAssociationRef, NodeAssociationRef) // addConverter(EntityRef.class, String.class, new TypeConverter.Converter<EntityRef, String>() { public String convert(EntityRef source) { return source.toString(); } }); addConverter(EntityRef.class, JSON.class, new TypeConverter.Converter<EntityRef, JSON>() { public JSON convert(EntityRef source) { JSON ret = null; if (source instanceof NodeRef) { NodeRef nodeRef = (NodeRef) source; JSON map = new JSON(); map.put("t", "NODEREF"); map.put("p", nodeRef.getStoreRef().getProtocol()); map.put("s", nodeRef.getStoreRef().getIdentifier()); map.put("id", nodeRef.getId()); ret = map; } else if (source instanceof StoreRef) { StoreRef storeRef = (StoreRef) source; JSON map = new JSON(); map.put("t", "STOREREF"); map.put("p", storeRef.getProtocol()); map.put("s", storeRef.getIdentifier()); ret = map; } else { throw new IllegalArgumentException(); } return ret; } }); addDynamicTwoStageConverter(EntityRef.class, String.class, InputStream.class); // // ContentData // addConverter(ContentData.class, String.class, new TypeConverter.Converter<ContentData, String>() { public String convert(ContentData source) { return source.getInfoUrl(); } }); addDynamicTwoStageConverter(ContentData.class, String.class, InputStream.class); // // Path // addConverter(Path.class, String.class, new TypeConverter.Converter<Path, String>() { public String convert(Path source) { return source.toString(); } }); addDynamicTwoStageConverter(Path.class, String.class, InputStream.class); // // Content Reader // addConverter(ContentReader.class, InputStream.class, new TypeConverter.Converter<ContentReader, InputStream>() { public InputStream convert(ContentReader source) { return source.getContentInputStream(); } }); addConverter(ContentReader.class, String.class, new TypeConverter.Converter<ContentReader, String>() { public String convert(ContentReader source) { // Getting the string from the ContentReader binary is meaningless return source.toString(); } }); // // Content Writer // addConverter(ContentWriter.class, String.class, new TypeConverter.Converter<ContentWriter, String>() { public String convert(ContentWriter source) { return source.toString(); } }); // addConverter(Collection.class, BasicDBList.class, new TypeConverter.Converter<Collection, BasicDBList>() // { // public BasicDBList convert(Collection source) // { // BasicDBList ret = new BasicDBList(); // for(Object o : source) // { // ret.add(o); // } // return ret; // } // }); // addConverter(BasicDBList.class, Collection.class, new TypeConverter.Converter<BasicDBList, Collection>() // { // @SuppressWarnings("unchecked") // public Collection convert(BasicDBList source) // { // Collection ret = new LinkedList(); // for(Object o : source) // { // ret.add(o); // } // return ret; // } // }); // // Input Stream // addConverter(InputStream.class, String.class, new TypeConverter.Converter<InputStream, String>() { public String convert(InputStream source) { try { ByteArrayOutputStream out = new ByteArrayOutputStream(); byte[] buffer = new byte[8192]; int read; while ((read = source.read(buffer)) > 0) { out.write(buffer, 0, read); } byte[] data = out.toByteArray(); return new String(data, "UTF-8"); } catch (UnsupportedEncodingException e) { throw new TypeConversionException("Cannot convert input stream to String.", e); } catch (IOException e) { throw new TypeConversionException("Conversion from stream to string failed", e); } finally { if (source != null) { try { source.close(); } catch (IOException e) { //NOOP } } } } }); addDynamicTwoStageConverter(InputStream.class, String.class, Date.class); addDynamicTwoStageConverter(InputStream.class, String.class, Double.class); addDynamicTwoStageConverter(InputStream.class, String.class, Long.class); addDynamicTwoStageConverter(InputStream.class, String.class, Boolean.class); addDynamicTwoStageConverter(InputStream.class, String.class, QName.class); addDynamicTwoStageConverter(InputStream.class, String.class, Path.class); addDynamicTwoStageConverter(InputStream.class, String.class, NodeRef.class); }
From source file:org.animotron.addon.datetime.DurationNode.java
License:Open Source License
public DurationNode(GraphDatabaseService db, String name) { super(db, name); duration = new Duration(name); }
From source file:org.apache.beam.runners.jet.JetPipelineResult.java
License:Apache License
@Override public State waitUntilFinish() { return waitUntilFinish(new Duration(Long.MAX_VALUE)); }
From source file:org.apache.beam.runners.spark.io.SourceDStream.java
License:Apache License
private Duration boundReadDuration(double readTimePercentage, long minReadTimeMillis) { long batchDurationMillis = ssc().graph().batchDuration().milliseconds(); Duration proportionalDuration = new Duration(Math.round(batchDurationMillis * readTimePercentage)); Duration lowerBoundDuration = new Duration(minReadTimeMillis); Duration readDuration = proportionalDuration.isLongerThan(lowerBoundDuration) ? proportionalDuration : lowerBoundDuration;//w w w.java 2 s .co m LOG.info("Read duration set to: " + readDuration); return readDuration; }
From source file:org.apache.beam.sdk.io.synthetic.delay.SyntheticDelay.java
License:Apache License
/** * Implements a mechanism to delay a thread in various fashions. * {@code CPU}: Burn CPU while * waiting. * {@code SLEEP}: Sleep uninterruptibly while waiting. * {@code MIXED}: Switch between * burning CPU and sleeping every millisecond to emulate a desired CPU utilization specified by * {@code cpuUtilizationInMixedDelay}./*from w ww.ja v a 2 s . com*/ * * @return Millis spent sleeping, does not include time spent spinning. */ public static long delay(Duration delay, double cpuUtilizationInMixedDelay, SyntheticOptions.DelayType delayType, Random rnd) { switch (delayType) { case CPU: cpuDelay(delay.getMillis()); return 0; case SLEEP: Uninterruptibles.sleepUninterruptibly(Math.max(0L, delay.getMillis()), TimeUnit.MILLISECONDS); return delay.getMillis(); case MIXED: // Mixed mode: for each millisecond of delay randomly choose to spin or sleep. // This is enforced at millisecond granularity since that is the minimum duration that // Thread.sleep() can sleep. Millisecond is also the unit of processing delay. long sleepMillis = 0; for (long i = 0; i < delay.getMillis(); i++) { if (rnd.nextDouble() < cpuUtilizationInMixedDelay) { delay(new Duration(1), 0.0, SyntheticOptions.DelayType.CPU, rnd); } else { sleepMillis += delay(new Duration(1), 0.0, SyntheticOptions.DelayType.SLEEP, rnd); } } return sleepMillis; default: throw new IllegalArgumentException("Unknown delay type " + delayType); } }
From source file:org.apache.beam.sdk.io.synthetic.SyntheticUtils.java
License:Apache License
/** * Implements a mechanism to delay a thread in various fashions. * {@code CPU}: Burn CPU while * waiting. * {@code SLEEP}: Sleep uninterruptibly while waiting. * {@code MIXED}: Switch between * burning CPU and sleeping every millisecond to emulate a desired CPU utilization specified by * {@code cpuUtilizationInMixedDelay}./*ww w . j a v a 2s.c om*/ * * @return Millis spent sleeping, does not include time spent spinning. */ static long delay(Duration delay, double cpuUtilizationInMixedDelay, SyntheticOptions.DelayType delayType, Random rnd) { switch (delayType) { case CPU: cpuDelay(delay.getMillis()); return 0; case SLEEP: Uninterruptibles.sleepUninterruptibly(Math.max(0L, delay.getMillis()), TimeUnit.MILLISECONDS); return delay.getMillis(); case MIXED: // Mixed mode: for each millisecond of delay randomly choose to spin or sleep. // This is enforced at millisecond granularity since that is the minimum duration that // Thread.sleep() can sleep. Millisecond is also the unit of processing delay. long sleepMillis = 0; for (long i = 0; i < delay.getMillis(); i++) { if (rnd.nextDouble() < cpuUtilizationInMixedDelay) { delay(new Duration(1), 0.0, SyntheticOptions.DelayType.CPU, rnd); } else { sleepMillis += delay(new Duration(1), 0.0, SyntheticOptions.DelayType.SLEEP, rnd); } } return sleepMillis; default: throw new IllegalArgumentException("Unknown delay type " + delayType); } }