Example usage for org.springframework.util ObjectUtils getDisplayString

List of usage examples for org.springframework.util ObjectUtils getDisplayString

Introduction

In this page you can find the example usage for org.springframework.util ObjectUtils getDisplayString.

Prototype

public static String getDisplayString(@Nullable Object obj) 

Source Link

Document

Return a content-based String representation if obj is not null ; otherwise returns an empty String.

Usage

From source file:com.github.totyumengr.minicubes.cluster.TimeSeriesMiniCubeManagerHzImpl.java

@Override
public <T> List<T> execute(Callable<T> task, Collection<String> cubeIds, int timeoutSeconds) {

    Set<Member> members = hazelcastInstance.getCluster().getMembers();
    Set<Member> selected = new LinkedHashSet<Member>();
    if (cubeIds != null && !cubeIds.isEmpty()) {
        List<String> cubeNodes = cubeIds.stream().map(e -> e.split("@")[1]).collect(Collectors.toList());
        for (Member m : members) {
            if (cubeNodes.contains(m.getSocketAddress().toString())) {
                selected.add(m);/*from ww w  . j  ava2s.c  om*/
            }
        }
    } else {
        selected.addAll(members);
        LOGGER.warn("Select all members {} in cluster to execute on.", selected);
    }

    final int size = selected.size();
    LOGGER.debug("Start to run task {} on {}", task, selected);

    // Call distributed execute service to run it.
    final List<T> result = new ArrayList<T>(selected.size());
    final List<Exception> exceptionResult = new ArrayList<Exception>();
    CountDownLatch cdl = new CountDownLatch(1);
    AtomicInteger completedCount = new AtomicInteger(0);
    hazelcastInstance.getExecutorService(DISTRIBUTED_EXECUTOR).submitToMembers(task, selected,
            new MultiExecutionCallback() {

                @SuppressWarnings("unchecked")
                @Override
                public void onResponse(Member member, Object value) {
                    int i = completedCount.incrementAndGet();
                    LOGGER.debug("Completed of {}/{}, {} and {}", i, size, member, value);
                    if (value instanceof Exception) {
                        exceptionResult.add((Exception) value);
                    } else {
                        result.add((T) value);
                    }
                }

                @Override
                public void onComplete(Map<Member, Object> values) {
                    LOGGER.info("Successfully execute {} on cluster, collect {} result.", task, values.size());
                    cdl.countDown();
                }
            });

    if (completedCount.get() < size) {
        // FIXME: When some task do not executed. Maybe reject? error?
    }

    try {
        cdl.await(timeoutSeconds > 0 ? timeoutSeconds : Integer.MAX_VALUE, TimeUnit.SECONDS);
    } catch (InterruptedException e) {
        // Ignore
    }

    // Exception handled
    if (!exceptionResult.isEmpty()) {
        LOGGER.error("{} exceptions occurred when try to execute {} on {}", exceptionResult.size(), task,
                ObjectUtils.getDisplayString(selected));
        for (int i = 0; i < exceptionResult.size(); i++) {
            LOGGER.error("#1 exception === ", exceptionResult.get(i));
        }
        throw new RuntimeException("Exception occurred when try to execute, please see detail logs above.");
    }

    return result;
}

From source file:com.dhcc.framework.web.context.DhccContextLoader.java

protected void configureAndRefreshWebApplicationContext(ConfigurableWebApplicationContext wac,
        ServletContext sc) {/*from  ww w .  j  a  v  a 2 s.co m*/
    Log logger = LogFactory.getLog(DhccContextLoader.class);
    if (ObjectUtils.identityToString(wac).equals(wac.getId())) {
        // The application context id is still set to its original default value
        // -> assign a more useful id based on available information
        String idParam = sc.getInitParameter(CONTEXT_ID_PARAM);
        if (idParam != null) {
            wac.setId(idParam);
        } else {
            // Generate default id...
            if (sc.getMajorVersion() == 2 && sc.getMinorVersion() < 5) {
                // Servlet <= 2.4: resort to name specified in web.xml, if any.
                wac.setId(ConfigurableWebApplicationContext.APPLICATION_CONTEXT_ID_PREFIX
                        + ObjectUtils.getDisplayString(sc.getServletContextName()));
            } else {
                wac.setId(ConfigurableWebApplicationContext.APPLICATION_CONTEXT_ID_PREFIX
                        + ObjectUtils.getDisplayString(sc.getContextPath()));
            }
        }
    }

    wac.setServletContext(sc);
    String initParameter = sc.getInitParameter(CONFIG_LOCATION_PARAM);
    if (isMicrokernelStart(sc)) {
        initParameter = "classpath:codeTemplate/applicationSetupContext.xml";
        logger.error("because cant't  connect to db or setup flg is 0 so init application as  Microkernel ");
    } else {
        logger.info("initParameter==" + initParameter);
    }
    if (initParameter != null) {
        wac.setConfigLocation(initParameter);
    }
    customizeContext(sc, wac);
    wac.refresh();
}

From source file:org.hdiv.web.servlet.tags.form.FormTagHDIV.java

/**
 * Override resolve CSS class since error class is not supported.
 *///from   ww w  .  j a  v  a  2 s. c  o  m
@Override
protected String resolveCssClass() throws JspException {
    return ObjectUtils.getDisplayString(evaluate("cssClass", getCssClass()));
}

From source file:com.github.totyumengr.minicubes.cluster.TimeSeriesMiniCubeManagerHzImpl.java

private Set<String> cubeIds() {

    Set<String> cubeIds = new LinkedHashSet<String>();
    String[] timeSeries = AGG_CONTEXT.get();
    if (timeSeries == null || timeSeries.length == 0) {
        cubeIds.addAll(allCubeIds());/*from w w  w.j  a v  a  2s  .  co m*/
    } else {
        for (String t : timeSeries) {
            cubeIds.addAll(cubeIds(t));
        }
        if (cubeIds.isEmpty()) {
            throw new IllegalArgumentException("Can not find availd cubes for given time series "
                    + ObjectUtils.getDisplayString(timeSeries));
        }
    }
    LOGGER.info("Agg on cubes {}", ObjectUtils.getDisplayString(cubeIds));

    return cubeIds;
}

From source file:org.gvnix.web.datatables.util.DatatablesUtils.java

/**
 * Convert a field value to string/*from   www.j  av a  2s  .co  m*/
 * 
 * @param datePatterns
 * @param dateFormatters
 * @param conversionService
 * @param entityBean
 * @param entity
 * @param fieldName
 * @param unescapedFieldName
 * @return
 */
private static <T> String convertFieldValueToString(Map<String, Object> datePatterns,
        Map<String, SimpleDateFormat> dateFormatters, ConversionService conversionService,
        BeanWrapperImpl entityBean, T entity, String fieldName, String unescapedFieldName) {
    try {
        Object value = null;
        TypeDescriptor fieldDesc = entityBean.getPropertyTypeDescriptor(unescapedFieldName);
        TypeDescriptor strDesc = TypeDescriptor.valueOf(String.class);
        value = entityBean.getPropertyValue(unescapedFieldName);
        if (value == null) {
            return "";
        }

        // For dates
        if (Date.class.isAssignableFrom(value.getClass())
                || Calendar.class.isAssignableFrom(value.getClass())) {
            SimpleDateFormat formatter = getDateFormatter(datePatterns, dateFormatters,
                    entityBean.getWrappedClass(), unescapedFieldName);
            if (formatter != null) {
                if (Calendar.class.isAssignableFrom(value.getClass())) {
                    // Gets Date instance as SimpleDateFormat
                    // doesn't works with Calendar
                    value = ((Calendar) value).getTime();
                }
                return formatter.format(value);
            }
        }
        String stringValue;
        // Try to use conversion service (uses field descrition
        // to handle field format annotations)
        if (conversionService.canConvert(fieldDesc, strDesc)) {
            stringValue = (String) conversionService.convert(value, fieldDesc, strDesc);
            if (stringValue == null) {
                stringValue = "";
            }
        } else {
            stringValue = ObjectUtils.getDisplayString(value);
        }
        return stringValue;
    } catch (Exception ex) {
        LOGGER.error(String.format("Error getting value of property [%s] in bean %s [%s]", unescapedFieldName,
                entity.getClass().getSimpleName(),
                org.apache.commons.lang3.ObjectUtils.firstNonNull(entity.toString(), "{unknow}")), ex);
        return "";
    }
}

From source file:org.alfresco.module.vti.handler.alfresco.AbstractAlfrescoDwsServiceHandler.java

/**
 * Get current user/* w  w  w .j ava 2  s . c o  m*/
 * 
 * @return UserBean represent current user
 */
protected UserBean getCurrentUser() {
    NodeRef person = personService.getPerson(authenticationService.getCurrentUserName());

    String loginName = (String) nodeService.getProperty(person, ContentModel.PROP_USERNAME);
    String email = ObjectUtils.getDisplayString(nodeService.getProperty(person, ContentModel.PROP_EMAIL));
    String firstName = ObjectUtils
            .getDisplayString(nodeService.getProperty(person, ContentModel.PROP_FIRSTNAME));
    String lastName = ObjectUtils.getDisplayString(nodeService.getProperty(person, ContentModel.PROP_LASTNAME));
    boolean isSiteAdmin = (loginName.equals("admin") ? true : false);

    return new UserBean(person.toString(), firstName + " " + lastName, loginName, email, false, isSiteAdmin);
}

From source file:org.alfresco.module.vti.handler.alfresco.AlfrescoDwsServiceHandler.java

/**
 * @see org.alfresco.module.vti.handler.alfresco.AbstractAlfrescoDwsServiceHandler#doListDwsMembers(org.alfresco.service.cmr.model.FileInfo)
 *//*  w w  w . j  a v a  2  s  . co m*/
public List<MemberBean> doListDwsMembers(FileInfo dwsFileInfo) {
    List<MemberBean> members = new ArrayList<MemberBean>();
    // gets list of site users names
    Set<String> membersName = siteService.listMembers(dwsFileInfo.getName(), null, null, -1).keySet();
    Iterator<String> userIterator = membersName.iterator();

    while (userIterator.hasNext()) {
        String username = userIterator.next();
        if (AuthorityType.getAuthorityType(username) == AuthorityType.GROUP) {
            String shortName = authorityService.getShortName(username);
            members.add(new MemberBean(shortName, shortName, "", "", true));
        } else {
            NodeRef personNodeRef = personService.getPerson(username);
            String firstName = ObjectUtils
                    .getDisplayString(nodeService.getProperty(personNodeRef, ContentModel.PROP_FIRSTNAME));
            String lastName = ObjectUtils
                    .getDisplayString(nodeService.getProperty(personNodeRef, ContentModel.PROP_LASTNAME));
            String email = ObjectUtils
                    .getDisplayString(nodeService.getProperty(personNodeRef, ContentModel.PROP_EMAIL));

            members.add(new MemberBean(personNodeRef.toString(), firstName + " " + lastName, username, email,
                    false));
        }
    }

    return members;
}

From source file:org.alfresco.module.vti.handler.alfresco.AlfrescoUserGroupServiceHandler.java

/**
 * Returns user bean for person node reference
 * /*from   w  ww .ja va 2s.com*/
 * @param personNodeRef the person node reference ({@link NodeRef})
 * @return UserBean
 */
protected UserBean getUserBean(NodeRef personNodeRef) {
    UserBean userBean = new UserBean();

    String userName = (String) nodeService.getProperty(personNodeRef, ContentModel.PROP_USERNAME);

    String firstName = ObjectUtils
            .getDisplayString(nodeService.getProperty(personNodeRef, ContentModel.PROP_FIRSTNAME));
    String lastName = ObjectUtils
            .getDisplayString(nodeService.getProperty(personNodeRef, ContentModel.PROP_LASTNAME));
    String email = ObjectUtils
            .getDisplayString(nodeService.getProperty(personNodeRef, ContentModel.PROP_EMAIL));

    userBean.setDisplayName(firstName + " " + lastName);
    userBean.setEmail(email);
    userBean.setLoginName("ALFRESCO\\" + userName);

    return userBean;
}

From source file:org.eclipse.gemini.blueprint.extender.internal.blueprint.event.OsgiEventDispatcher.java

private void sendEvent(Event osgiEvent) {
    boolean trace = log.isTraceEnabled();
    ServiceReference ref = bundleContext.getServiceReference(EVENT_ADMIN);
    if (ref != null) {
        EventAdmin eventAdmin = (EventAdmin) bundleContext.getService(ref);
        if (eventAdmin != null) {
            if (trace) {
                StringBuilder sb = new StringBuilder();
                String[] names = osgiEvent.getPropertyNames();
                sb.append("{");
                for (int i = 0; i < names.length; i++) {
                    String name = names[i];
                    sb.append(name);/*from  w  w  w .java2 s.c o  m*/
                    sb.append("=");
                    Object value = osgiEvent.getProperty(name);
                    sb.append(ObjectUtils.getDisplayString(value));
                    if (i < names.length - 1)
                        sb.append(",");
                }
                sb.append("}");

                log.trace("Broadcasting OSGi event " + osgiEvent + " w/ props " + sb.toString());
            }
            publisher.publish(eventAdmin, osgiEvent);
        }
    } else {
        log.trace("No event admin found for broadcasting event " + osgiEvent);
    }
}

From source file:org.gvnix.web.datatables.util.impl.DatatablesUtilsBeanImpl.java

/**
 * Convert a field value to string/*from w  ww  . j  a va  2  s. c  om*/
 * 
 * @param datePatterns
 * @param dateFormatters
 * @param conversionService
 * @param entityBean
 * @param entity
 * @param fieldName
 * @param unescapedFieldName
 * @return
 */
private <T> String convertFieldValueToString(Map<String, Object> datePatterns,
        Map<String, SimpleDateFormat> dateFormatters, BeanWrapperImpl entityBean, T entity, String fieldName,
        String unescapedFieldName) {
    try {
        Object value = null;
        TypeDescriptor fieldDesc = entityBean.getPropertyTypeDescriptor(unescapedFieldName);
        TypeDescriptor strDesc = TypeDescriptor.valueOf(String.class);
        value = entityBean.getPropertyValue(unescapedFieldName);
        if (value == null) {
            return "";
        }

        // For dates
        if (Date.class.isAssignableFrom(value.getClass())
                || Calendar.class.isAssignableFrom(value.getClass())) {
            SimpleDateFormat formatter = getDateFormatter(datePatterns, dateFormatters,
                    entityBean.getWrappedClass(), unescapedFieldName);
            if (formatter != null) {
                if (Calendar.class.isAssignableFrom(value.getClass())) {
                    // Gets Date instance as SimpleDateFormat
                    // doesn't works with Calendar
                    value = ((Calendar) value).getTime();
                }
                return formatter.format(value);
            }
        }
        String stringValue;
        // Try to use conversion service (uses field descrition
        // to handle field format annotations)
        if (conversionService.canConvert(fieldDesc, strDesc)) {
            stringValue = (String) conversionService.convert(value, fieldDesc, strDesc);
            if (stringValue == null) {
                stringValue = "";
            }
        } else {
            stringValue = ObjectUtils.getDisplayString(value);
        }
        return stringValue;
    } catch (Exception ex) {
        LOGGER.error(String.format("Error getting value of property [%s] in bean %s [%s]", unescapedFieldName,
                entity.getClass().getSimpleName(),
                org.apache.commons.lang3.ObjectUtils.firstNonNull(entity.toString(), "{unknow}")), ex);
        return "";
    }
}