List of usage examples for org.springframework.util ObjectUtils getDisplayString
public static String getDisplayString(@Nullable Object obj)
From source file:org.hdiv.web.servlet.tags.form.SelectedValueComparatorHDIV.java
private static boolean exhaustiveCompare(Object boundValue, Object candidate, PropertyEditor editor, Map<PropertyEditor, Object> convertedValueCache) { String candidateDisplayString = ValueFormatterHDIV.getDisplayString(candidate, editor, false); if (boundValue instanceof LabeledEnum) { LabeledEnum labeledEnum = (LabeledEnum) boundValue; String enumCodeAsString = ObjectUtils.getDisplayString(labeledEnum.getCode()); if (enumCodeAsString.equals(candidateDisplayString)) { return true; }// w w w . j a v a 2s . co m String enumLabelAsString = ObjectUtils.getDisplayString(labeledEnum.getLabel()); if (enumLabelAsString.equals(candidateDisplayString)) { return true; } } else if (boundValue.getClass().isEnum()) { Enum boundEnum = (Enum) boundValue; String enumCodeAsString = ObjectUtils.getDisplayString(boundEnum.name()); if (enumCodeAsString.equals(candidateDisplayString)) { return true; } String enumLabelAsString = ObjectUtils.getDisplayString(boundEnum.toString()); if (enumLabelAsString.equals(candidateDisplayString)) { return true; } } else if (ObjectUtils.getDisplayString(boundValue).equals(candidateDisplayString)) { return true; } else if (editor != null && candidate instanceof String) { // Try PE-based comparison (PE should *not* be allowed to escape creating thread) String candidateAsString = (String) candidate; Object candidateAsValue; if (convertedValueCache != null && convertedValueCache.containsKey(editor)) { candidateAsValue = convertedValueCache.get(editor); } else { editor.setAsText(candidateAsString); candidateAsValue = editor.getValue(); if (convertedValueCache != null) { convertedValueCache.put(editor, candidateAsValue); } } if (ObjectUtils.nullSafeEquals(boundValue, candidateAsValue)) { return true; } } return false; }
From source file:com.github.totyumengr.minicubes.cluster.BootTimeSeriesMiniCubeController.java
@RequestMapping(value = "/count", method = { RequestMethod.POST, RequestMethod.GET }) public @ResponseBody Long count(@NotBlank @RequestParam String indName, @RequestParam(required = false) String filterDims, @NotBlank @RequestParam String... timeSeries) throws Throwable { LOGGER.info("Try to count {} on {} with filter {}.", indName, ObjectUtils.getDisplayString(timeSeries), filterDims);/* w w w .ja v a2 s. c o m*/ long timing = System.currentTimeMillis(); Map<String, List<Integer>> filter = (filterDims == null || "".equals(filterDims)) ? null : objectMapper.readValue(filterDims, new TypeReference<Map<String, List<Integer>>>() { }); long count = manager.aggs(timeSeries).count(indName, filter); LOGGER.info("Sucess to count {} on {} result is {} using {}ms.", indName, timeSeries, count, System.currentTimeMillis() - timing); return count; }
From source file:com.github.totyumengr.minicubes.cluster.BootTimeSeriesMiniCubeController.java
@RequestMapping(value = "/groupcount", method = { RequestMethod.POST, RequestMethod.GET }) public @ResponseBody Map<Integer, Long> groupcount(@NotBlank @RequestParam String indName, @RequestParam(required = false) String filterDims, @RequestParam String groupbyDim, @NotBlank @RequestParam String... timeSeries) throws Throwable { LOGGER.info("Try to count {} on {} with filter {}.", indName, ObjectUtils.getDisplayString(timeSeries), filterDims);/* w w w .ja v a 2 s. c o m*/ long timing = System.currentTimeMillis(); Map<String, List<Integer>> filter = (filterDims == null || "".equals(filterDims)) ? null : objectMapper.readValue(filterDims, new TypeReference<Map<String, List<Integer>>>() { }); Map<Integer, Long> count = manager.aggs(timeSeries).count(indName, groupbyDim, filter); LOGGER.info("Sucess to count {} on {} result size is {} using {}ms.", indName, timeSeries, count.size(), System.currentTimeMillis() - timing); LOGGER.debug("Sucess to count {} on {} result is {}.", indName, timeSeries, count); return count; }
From source file:org.gvnix.datatables.tags.RooColumnTag.java
@Override protected String getColumnContent() throws JspException { // Try to do the same as the roo table.tagx tag to get the value for the // column/* w w w . j a v a2s .c o m*/ // <c:choose> // <c:when test="${columnType eq 'date'}"> // <spring:escapeBody> // <fmt:formatDate value="${item[column]}" // pattern="${fn:escapeXml(columnDatePattern)}" var="colTxt" /> // </spring:escapeBody> // </c:when> // <c:when test="${columnType eq 'calendar'}"> // <spring:escapeBody> // <fmt:formatDate value="${item[column].time}" // pattern="${fn:escapeXml(columnDatePattern)}" var="colTxt"/> // </spring:escapeBody> // </c:when> // <c:otherwise> // <c:set var="colTxt"> // <spring:eval expression="item[column]" htmlEscape="false" /> // </c:set> // </c:otherwise> // </c:choose> // <c:if test="${columnMaxLength ge 0}"> // <c:set value="${fn:substring(colTxt, 0, columnMaxLength)}" // var="colTxt" /> // </c:if> // <c:out value="${colTxt}" /> // TODO log problem resolving column content if (StringUtils.isBlank(this.property)) { return ""; } TableTag parent = (TableTag) getParent(); ExpressionParser parser = new SpelExpressionParser(); String unescapedProperty = this.property.replace(SEPARATOR_FIELDS_ESCAPED, SEPARATOR_FIELDS); Expression exp = parser.parseExpression(unescapedProperty); EvaluationContext context = new StandardEvaluationContext(parent.getCurrentObject()); Object value = exp.getValue(context); String result = ""; if (value != null) { if (Date.class.isAssignableFrom(value.getClass())) { result = dateTimePattern.format(value); } else if (value instanceof Calendar) { result = dateTimePattern.format(((Calendar) value).getTime()); } else { ConversionService conversionService = (ConversionService) helper.getBean(this.pageContext, getConversionServiceId()); if (conversionService != null && conversionService.canConvert(value.getClass(), String.class)) { result = conversionService.convert(value, String.class); } else { result = ObjectUtils.getDisplayString(value); } // result = (isHtmlEscape() ? HtmlUtils.htmlEscape(result) : // result); // result = (this.javaScriptEscape ? // JavaScriptUtils.javaScriptEscape(result) : result); } } else { result = super.getColumnContent(); } if (maxLength >= 0 && result.length() > maxLength) { result = result.substring(0, maxLength); } return result; }
From source file:org.gvnix.datatables.tags.RooTableTag.java
/** * Gets Id content// w w w .ja va 2s . c o m * * @return * @throws JspException */ protected String getIdContent() throws JspException { ExpressionParser parser = new SpelExpressionParser(); Expression exp = parser.parseExpression(this.rowIdBase); EvaluationContext context = new StandardEvaluationContext(currentObject); Object value = exp.getValue(context); String result = ""; if (value == null) { // Use AbstractTablaTag standard behavior try { value = PropertyUtils.getNestedProperty(this.currentObject, this.rowIdBase); } catch (IllegalAccessException e) { LOGGER.error("Unable to get the value for the given rowIdBase {}", this.rowIdBase); throw new JspException(e); } catch (InvocationTargetException e) { LOGGER.error("Unable to get the value for the given rowIdBase {}", this.rowIdBase); throw new JspException(e); } catch (NoSuchMethodException e) { LOGGER.error("Unable to get the value for the given rowIdBase {}", this.rowIdBase); throw new JspException(e); } } if (value != null) { // TODO manage exceptions to log it ConversionService conversionService = (ConversionService) helper.getBean(this.pageContext, getConversionServiceId()); if (conversionService != null && conversionService.canConvert(value.getClass(), String.class)) { result = conversionService.convert(value, String.class); } else { result = ObjectUtils.getDisplayString(value); } result = HtmlUtils.htmlEscape(result); } return result; }
From source file:com.github.totyumengr.minicubes.cluster.BootTimeSeriesMiniCubeController.java
@RequestMapping(value = "/distinct", method = { RequestMethod.POST, RequestMethod.GET }) public @ResponseBody Map<Integer, Set<Integer>> distinct(@NotBlank @RequestParam String indName, @NotBlank @RequestParam(required = false) Boolean isDim, @RequestParam(required = false) String filterDims, @RequestParam String groupbyDim, @NotBlank @RequestParam String... timeSeries) throws Throwable { LOGGER.info("Try to distinct {} on {} with filter {}.", indName, ObjectUtils.getDisplayString(timeSeries), filterDims);//from w w w. j ava2 s.c o m long timing = System.currentTimeMillis(); Map<String, List<Integer>> filter = (filterDims == null || "".equals(filterDims)) ? null : objectMapper.readValue(filterDims, new TypeReference<Map<String, List<Integer>>>() { }); Map<Integer, RoaringBitmap> distinct = manager.aggs(timeSeries).distinct(indName, isDim == null ? true : isDim, groupbyDim, filter); LOGGER.info("Sucess to distinct {} on {} result size is {} using {}ms.", indName, timeSeries, distinct.size(), System.currentTimeMillis() - timing); LOGGER.debug("Sucess to distinct {} on {} result is {}.", indName, timeSeries, distinct); Map<Integer, Set<Integer>> result = new HashMap<Integer, Set<Integer>>(); distinct.forEach(new BiConsumer<Integer, RoaringBitmap>() { @Override public void accept(Integer t, RoaringBitmap u) { result.put(t, Arrays.stream(u.toArray()).collect(HashSet<Integer>::new, Set::add, (l, r) -> { })); } }); return result; }
From source file:com.github.totyumengr.minicubes.cluster.TimeSeriesMiniCubeManagerHzImpl.java
@Bean public HazelcastInstance hazelcastServer() { Config hazelcastConfig = new Config("minicubes-cluster"); hazelcastConfig.setProperty("hazelcast.system.log.enabled", "false"); hazelcastConfig.setProperty("hazelcast.logging.type", "slf4j"); hazelcastConfig.setProperty("hazelcast.jmx", "true"); hazelcastConfig.setProperty("hazelcast.jmx.detailed", "true"); if (StringUtils.hasText(env.getRequiredProperty("hazelcast.operation.thread.count"))) { hazelcastConfig.setProperty("hazelcast.operation.thread.count", env.getRequiredProperty("hazelcast.operation.thread.count")); }// www . jav a 2 s .co m hazelcastConfig .setGroupConfig(new GroupConfig(hzGroupName = env.getRequiredProperty("hazelcast.group.name"), env.getRequiredProperty("hazelcast.group.password"))); if (StringUtils.hasText(env.getRequiredProperty("hazelcast.mancenter.url"))) { hazelcastConfig.setManagementCenterConfig(new ManagementCenterConfig().setEnabled(true) .setUrl(env.getRequiredProperty("hazelcast.mancenter.url"))); } String hzMembers; JoinConfig joinConfig = new JoinConfig(); if (!StringUtils.hasText(hzMembers = env.getRequiredProperty("hazelcast.members"))) { // Means multiple cast joinConfig.setMulticastConfig(new MulticastConfig().setEnabled(true)); } else { joinConfig.setMulticastConfig(new MulticastConfig().setEnabled(false)) .setTcpIpConfig(new TcpIpConfig().setEnabled(true).addMember(hzMembers)); } hazelcastConfig.setNetworkConfig(new NetworkConfig().setJoin(joinConfig)); // New ExecutorService int hzExecutorSize = -1; if ((hzExecutorSize = env.getRequiredProperty("hazelcast.executor.poolsize", Integer.class)) < 0) { hzExecutorSize = Runtime.getRuntime().availableProcessors(); LOGGER.info("Use cpu core count {} setting into executor service", hzExecutorSize); } hazelcastConfig.addExecutorConfig(new ExecutorConfig(DISTRIBUTED_EXECUTOR, hzExecutorSize) .setQueueCapacity(env.getRequiredProperty("hazelcast.executor.queuecapacity", Integer.class))); // Add member event listener hazelcastConfig.addListenerConfig(new ListenerConfig().setImplementation(new MembershipListener() { @Override public void memberRemoved(MembershipEvent membershipEvent) { // Mean a member leave out of cluster. LOGGER.info("A member {} has removed from cluster {}", membershipEvent.getMember(), membershipEvent.getCluster().getClusterTime()); IMap<String, String> miniCubeManager = hazelcastInstance.getMap(MINICUBE_MANAGER); LOGGER.info("Minicube manager status {}", ObjectUtils.getDisplayString(miniCubeManager.entrySet())); // FIXME: Schedule to remove relationship after "long disconnect". } @Override public void memberAttributeChanged(MemberAttributeEvent memberAttributeEvent) { // Let it empty. } @Override public void memberAdded(MembershipEvent membershipEvent) { // Mean a member join into cluster. LOGGER.info("A member {} has joined into cluster {}, let it's self to claim a role.", membershipEvent.getMember(), membershipEvent.getCluster().getClusterTime()); } })); HazelcastInstance instance = Hazelcast.newHazelcastInstance(hazelcastConfig); // Put execute context instance.getUserContext().put("this", TimeSeriesMiniCubeManagerHzImpl.this); // Handle new member LOGGER.info("Handle new member {} came in after 1 minute.", instance.getCluster().getLocalMember()); // Set member's status to load-pending, this will effect #reassignRole instance.getCluster().getLocalMember().setBooleanAttribute("load-pending", true); handleNewMember.schedule(new Runnable() { @Override public void run() { handleNewMember(instance, instance.getCluster().getLocalMember()); } }, 60, TimeUnit.SECONDS); return instance; }
From source file:com.github.totyumengr.minicubes.cluster.BootTimeSeriesMiniCubeController.java
@RequestMapping(value = "/distinctcount", method = { RequestMethod.POST, RequestMethod.GET }) public @ResponseBody Map<Integer, Integer> distinctCount(@NotBlank @RequestParam String indName, @NotBlank @RequestParam(required = false) Boolean isDim, @RequestParam(required = false) String filterDims, @RequestParam String groupbyDim, @NotBlank @RequestParam String... timeSeries) throws Throwable { LOGGER.info("Try to distinct-count {} on {} with filter {}.", indName, ObjectUtils.getDisplayString(timeSeries), filterDims); long timing = System.currentTimeMillis(); Map<String, List<Integer>> filter = (filterDims == null || "".equals(filterDims)) ? null : objectMapper.readValue(filterDims, new TypeReference<Map<String, List<Integer>>>() { });//from www . j av a2 s.co m Map<Integer, Integer> distinct = manager.aggs(timeSeries).discnt(indName, isDim == null ? true : isDim, groupbyDim, filter); LOGGER.info("Sucess to distinct-count {} on {} result size is {} using {}ms.", indName, timeSeries, distinct.size(), System.currentTimeMillis() - timing); LOGGER.debug("Sucess to distinct-count {} on {} result is {}.", indName, timeSeries, distinct); return distinct; }
From source file:com.github.totyumengr.minicubes.cluster.TimeSeriesMiniCubeManagerHzImpl.java
private void handleNewMember(HazelcastInstance instance, Member member) { // Relationship between Member and MiniCube ID IMap<String, String> miniCubeManager = instance.getMap(MINICUBE_MANAGER); LOGGER.info("Minicube manager status {}", ObjectUtils.getDisplayString(miniCubeManager)); String key = member.getSocketAddress().toString(); // FIXME: load-pending status need refactor instance.getCluster().getLocalMember().setBooleanAttribute("load-pending", false); if (miniCubeManager.containsKey(key) && !miniCubeManager.get(key).startsWith("?")) { // Maybe node-restart LOGGER.info("A node{} restarted, so we need rebuild cube{}", key, miniCubeManager.get(key)); // Reassign task. reassignRole(miniCubeManager.get(key), miniCubeManager.get(key).split("::")[0]); } else {/*from w w w. j a va 2s.c o m*/ // First time join into cluster String id = "?" + "::" + hzGroupName + "@" + key; miniCubeManager.put(key, id); member.setStringAttribute("cubeId", id); LOGGER.info("Add {} into cluster {}", id, hzGroupName); } LOGGER.info("Set load-pending status to false, enable reassign feature on {}", member); }
From source file:org.jasig.springframework.web.portlet.context.PortletContextLoader.java
protected void configureAndRefreshPortletApplicationContext(ConfigurablePortletApplicationContext pac, PortletContext pc) {// www. jav a 2 s. com if (ObjectUtils.identityToString(pac).equals(pac.getId())) { // The application context id is still set to its original default value // -> assign a more useful id based on available information String idParam = pc.getInitParameter(CONTEXT_ID_PARAM); if (idParam != null) { pac.setId(idParam); } else { // Generate default id... pac.setId(ConfigurablePortletApplicationContext.APPLICATION_CONTEXT_ID_PREFIX + ObjectUtils.getDisplayString(pc.getPortletContextName())); } } // Determine parent for root web application context, if any. ApplicationContext parent = loadParentContext(pc); pac.setParent(parent); pac.setPortletContext(pc); String initParameter = pc.getInitParameter(CONFIG_LOCATION_PARAM); if (initParameter != null) { pac.setConfigLocation(initParameter); } else { try { pac.setConfigLocation("/WEB-INF/portletApplicationContext.xml"); } catch (UnsupportedOperationException e) { //Ignore, may get triggered if the context doesn't support config locations } } customizeContext(pc, pac); pac.refresh(); }