Example usage for javax.management.openmbean CompositeDataSupport CompositeDataSupport

List of usage examples for javax.management.openmbean CompositeDataSupport CompositeDataSupport

Introduction

In this page you can find the example usage for javax.management.openmbean CompositeDataSupport CompositeDataSupport.

Prototype

private CompositeDataSupport(SortedMap<String, Object> items, CompositeType compositeType)
            throws OpenDataException 

Source Link

Usage

From source file:org.jolokia.converter.util.CompositeTypeAndJson.java

public CompositeData getCompositeData() throws OpenDataException {
    return new CompositeDataSupport(type, json);
}

From source file:org.jolokia.converter.object.CompositeTypeConverter.java

/** {@inheritDoc} */
@Override/*from w  ww.j a va 2  s  .  c o  m*/
Object convertToObject(CompositeType pType, Object pFrom) {
    // break down the composite type to its field and recurse for converting each field
    JSONAware value = toJSON(pFrom);
    if (!(value instanceof JSONObject)) {
        throw new IllegalArgumentException("Conversion of " + value + " to " + pType
                + " failed because provided JSON type " + value.getClass() + " is not a JSONObject");
    }

    Map<String, Object> givenValues = (JSONObject) value;
    Map<String, Object> compositeValues = new HashMap<String, Object>();

    fillCompositeWithGivenValues(pType, compositeValues, givenValues);
    completeCompositeValuesWithDefaults(pType, compositeValues);

    try {
        return new CompositeDataSupport(pType, compositeValues);
    } catch (OpenDataException e) {
        throw new IllegalArgumentException("Internal error: " + e.getMessage(), e);
    }
}

From source file:com.adobe.acs.commons.util.impl.AbstractCacheMBean.java

@Override
public final TabularData getCacheContents() throws CacheMBeanException {
    try {// w  ww.j  av a 2s  .  co  m
        final CompositeType cacheEntryType = getCacheEntryType();

        final TabularDataSupport tabularData = new TabularDataSupport(new TabularType("Cache Entries",
                "Cache Entries", cacheEntryType, new String[] { JMX_PN_CACHEKEY }));

        Map<K, V> cacheAsMap = getCacheAsMap();
        for (final Map.Entry<K, V> entry : cacheAsMap.entrySet()) {
            final Map<String, Object> data = new HashMap<String, Object>();
            data.put(JMX_PN_CACHEKEY, entry.getKey().toString());

            V cacheObj = entry.getValue();
            if (cacheObj != null) {
                addCacheData(data, cacheObj);
            }

            tabularData.put(new CompositeDataSupport(cacheEntryType, data));
        }

        return tabularData;
    } catch (OpenDataException ex) {
        throw new CacheMBeanException("Error getting the cache contents", ex);
    }
}

From source file:com.adobe.acs.commons.util.impl.AbstractGuavaCacheMBean.java

@Override
@SuppressWarnings("squid:S1192")
public final TabularData getCacheStats() throws OpenDataException {
    // Exposing all google guava stats.
    final CompositeType cacheEntryType = new CompositeType("Cache Stats", "Cache Stats",
            new String[] { "Stat", "Value" }, new String[] { "Stat", "Value" },
            new OpenType[] { SimpleType.STRING, SimpleType.STRING });

    final TabularDataSupport tabularData = new TabularDataSupport(
            new TabularType("Cache Stats", "Cache Stats", cacheEntryType, new String[] { "Stat" }));

    CacheStats cacheStats = getCache().stats();

    final Map<String, Object> row = new HashMap<String, Object>();

    row.put("Stat", "Request Count");
    row.put("Value", String.valueOf(cacheStats.requestCount()));
    tabularData.put(new CompositeDataSupport(cacheEntryType, row));

    row.put("Stat", "Hit Count");
    row.put("Value", String.valueOf(cacheStats.hitCount()));
    tabularData.put(new CompositeDataSupport(cacheEntryType, row));

    row.put("Stat", "Hit Rate");
    row.put("Value", String.format("%.0f%%", cacheStats.hitRate() * 100));
    tabularData.put(new CompositeDataSupport(cacheEntryType, row));

    row.put("Stat", "Miss Count");
    row.put("Value", String.valueOf(cacheStats.missCount()));
    tabularData.put(new CompositeDataSupport(cacheEntryType, row));

    row.put("Stat", "Miss Rate");
    row.put("Value", String.format("%.0f%%", cacheStats.missRate() * 100));
    tabularData.put(new CompositeDataSupport(cacheEntryType, row));

    row.put("Stat", "Eviction Count");
    row.put("Value", String.valueOf(cacheStats.evictionCount()));
    tabularData.put(new CompositeDataSupport(cacheEntryType, row));

    row.put("Stat", "Load Count");
    row.put("Value", String.valueOf(cacheStats.loadCount()));
    tabularData.put(new CompositeDataSupport(cacheEntryType, row));

    row.put("Stat", "Load Exception Count");
    row.put("Value", String.valueOf(cacheStats.loadExceptionCount()));
    tabularData.put(new CompositeDataSupport(cacheEntryType, row));

    row.put("Stat", "Load Exception Rate");
    row.put("Value", String.format("%.0f%%", cacheStats.loadExceptionRate() * 100));
    tabularData.put(new CompositeDataSupport(cacheEntryType, row));

    row.put("Stat", "Load Success Count");
    row.put("Value", String.valueOf(cacheStats.loadSuccessCount()));
    tabularData.put(new CompositeDataSupport(cacheEntryType, row));

    row.put("Stat", "Average Load Penalty");
    row.put("Value", String.valueOf(cacheStats.averageLoadPenalty()));
    tabularData.put(new CompositeDataSupport(cacheEntryType, row));

    row.put("Stat", "Total Load Time");
    row.put("Value", String.valueOf(cacheStats.totalLoadTime()));
    tabularData.put(new CompositeDataSupport(cacheEntryType, row));

    return tabularData;
}

From source file:org.alfresco.repo.security.authentication.ldap.Monitor.java

/**
 * test authenticate/*from   www .  ja v  a 2 s. c o m*/
 * 
 * @param userName String
 * @param credentials String
 * @throws AuthenticationException
 */
public CompositeData testAuthenticate(String userName, String credentials) {
    String stepKeys[] = { "id", "stepMessage", "success" };
    String stepDescriptions[] = { "id", "stepMessage", "success" };
    OpenType<?> stepTypes[] = { SimpleType.INTEGER, SimpleType.STRING, SimpleType.BOOLEAN };

    try {
        String[] key = { "id" };
        CompositeType sType = new CompositeType("Authentication Step", "Step", stepKeys, stepDescriptions,
                stepTypes);
        TabularType tType = new TabularType("Diagnostic", "Authentication Steps", sType, key);
        TabularData table = new TabularDataSupport(tType);

        String attributeKeys[] = { "authenticationMessage", "success", "diagnostic" };
        String attributeDescriptions[] = { "authenticationMessage", "success", "diagnostic" };
        OpenType<?> attributeTypes[] = { SimpleType.STRING, SimpleType.BOOLEAN, tType };
        try {
            component.authenticate(userName, credentials.toCharArray());

            CompositeType cType = new CompositeType("Authentication Result", "Result Success", attributeKeys,
                    attributeDescriptions, attributeTypes);
            Map<String, Object> value = new HashMap<String, Object>();
            value.put("authenticationMessage", "Test Passed");
            value.put("success", true);
            value.put("diagnostic", table);
            CompositeDataSupport row = new CompositeDataSupport(cType, value);
            return row;
        } catch (AuthenticationException ae) {
            CompositeType cType = new CompositeType("Authentication Result", "Result Failed", attributeKeys,
                    attributeDescriptions, attributeTypes);
            Map<String, Object> value = new HashMap<String, Object>();
            value.put("authenticationMessage", ae.getMessage());
            value.put("success", false);

            if (ae.getDiagnostic() != null) {
                int i = 0;
                for (AuthenticationStep step : ae.getDiagnostic().getSteps()) {
                    Map<String, Object> x = new HashMap<String, Object>();
                    x.put("id", i++);
                    x.put("stepMessage", step.getMessage());
                    x.put("success", step.isSuccess());
                    CompositeDataSupport row = new CompositeDataSupport(sType, x);
                    table.put(row);

                }
            }

            value.put("diagnostic", table);

            CompositeDataSupport row = new CompositeDataSupport(cType, value);

            return row;
        }

    } catch (OpenDataException oe) {
        logger.error("", oe);
        return null;
    }
}

From source file:org.xmatthew.spy2servers.jmx.AbstractComponentViewMBean.java

protected TabularData tabularDataWrapFromMessages(List<Message> messages) throws OpenDataException {
    if (CollectionUtils.isBlankCollection(messages)) {
        return null;
    }//from w w w  .j ava  2s.  co  m

    messages = Collections.synchronizedList(messages);

    String[] itemNames = Message.getKeys().toArray(new String[Message.getKeys().size()]);
    String[] itemDescriptions = itemNames;
    OpenType[] itemTypes = new OpenType[] { SimpleType.STRING, SimpleType.STRING, SimpleType.STRING,
            SimpleType.STRING, SimpleType.STRING, SimpleType.STRING, SimpleType.STRING };
    CompositeType compositeType = new CompositeType("MessageList", "list spyed messages", itemNames,
            itemDescriptions, itemTypes);

    TabularType tt = new TabularType("MessageList", "MessageList", compositeType, itemNames);

    TabularDataSupport rc = new TabularDataSupport(tt);

    for (Message message : messages) {
        try {
            rc.put(new CompositeDataSupport(compositeType, message.getFileds()));
        } catch (Exception e) {
            throw new OpenDataException(e.getMessage());
        }
    }

    return rc;
}

From source file:org.jolokia.converter.object.TabularDataConverter.java

private TabularData convertToTabularTypeFromMap(TabularType pType, JSONObject pValue) {
    CompositeType rowType = pType.getRowType();

    // A TabularData is requested for mapping a map for the call to an MXBean
    // as described in http://download.oracle.com/javase/6/docs/api/javax/management/MXBean.html
    // This means, we will convert a JSONObject to the required format
    TabularDataSupport tabularData = new TabularDataSupport(pType);

    @SuppressWarnings("unchecked")
    Map<String, String> jsonObj = (Map<String, String>) pValue;
    for (Map.Entry<String, String> entry : jsonObj.entrySet()) {
        Map<String, Object> map = new HashMap<String, Object>();
        map.put("key", getDispatcher().convertToObject(rowType.getType("key"), entry.getKey()));
        map.put("value", getDispatcher().convertToObject(rowType.getType("value"), entry.getValue()));

        try {/*  ww w .j  a v a  2 s. co m*/
            CompositeData compositeData = new CompositeDataSupport(rowType, map);
            tabularData.put(compositeData);
        } catch (OpenDataException e) {
            throw new IllegalArgumentException(e.getMessage(), e);
        }
    }

    return tabularData;
}

From source file:com.adobe.acs.commons.util.impl.AbstractGuavaCacheMBean.java

@Override
public final TabularData getCacheContents() throws OpenDataException {
    final CompositeType cacheEntryType = getCacheEntryType();

    final TabularDataSupport tabularData = new TabularDataSupport(
            new TabularType("Cache Entries", "Cache Entries", cacheEntryType, new String[] { "Cache Key" }));

    ConcurrentMap<K, V> cacheAsMap = getCache().asMap();
    for (final Map.Entry<K, V> entry : cacheAsMap.entrySet()) {
        final Map<String, Object> data = new HashMap<String, Object>();
        data.put("Cache Key", entry.getKey().toString());

        V cacheObj = entry.getValue();//from  ww w  .  j a va 2s.  c  o  m
        if (cacheObj != null) {
            addCacheData(data, cacheObj);
        }

        tabularData.put(new CompositeDataSupport(cacheEntryType, data));
    }

    return tabularData;
}

From source file:com.adobe.acs.commons.errorpagehandler.cache.impl.ErrorPageCacheImpl.java

@SuppressWarnings("squid:S1192")
public final TabularData getCacheEntries() throws OpenDataException {

    final CompositeType cacheEntryType = new CompositeType("cacheEntry", "Cache Entry",
            new String[] { "errorPage", "hit", "miss", "hitRate", "missRate", "sizeInKB" },
            new String[] { "Error Page", "Hit", "Miss", "Hit Rate", "Miss Rate", "Size in KB" },
            new OpenType[] { SimpleType.STRING, SimpleType.INTEGER, SimpleType.INTEGER, SimpleType.FLOAT,
                    SimpleType.FLOAT, SimpleType.INTEGER });

    final TabularDataSupport tabularData = new TabularDataSupport(
            new TabularType("cacheEntries", "Cache Entries", cacheEntryType, new String[] { "errorPage" }));

    for (final Map.Entry<String, CacheEntry> entry : this.cache.entrySet()) {
        final CacheEntry cacheEntry = entry.getValue();

        final Map<String, Object> data = new HashMap<String, Object>();
        data.put("errorPage", entry.getKey());
        data.put("hit", cacheEntry.getHits());
        data.put("miss", cacheEntry.getMisses());
        data.put("hitRate", cacheEntry.getHitRate());
        data.put("missRate", cacheEntry.getMissRate());
        data.put("sizeInKB", cacheEntry.getBytes() / KB_IN_BYTES);

        tabularData.put(new CompositeDataSupport(cacheEntryType, data));
    }/*from  ww  w. j  a v  a 2s  .co  m*/

    return tabularData;
}

From source file:com.adobe.acs.commons.oak.impl.EnsureOakIndexManagerImpl.java

/**
 * Method for displaying Ensure Oak Index state in in the MBean
 *
 * @return the Ensure Oak Index data in a Tabular Format for the MBean
 * @throws OpenDataException/*w w  w  .  j a v  a 2  s  . c om*/
 */
@Override
@SuppressWarnings("squid:S1192")
public final TabularData getEnsureOakIndexes() throws OpenDataException {

    final CompositeType configType = new CompositeType("Ensure Oak Index Configurations",
            "Ensure Oak Index Configurations",
            new String[] { "Ensure Definitions Path", "Oak Indexes Path", "Applied", "Immediate" },
            new String[] { "Ensure Definitions Path", "Oak Indexes Path", "Applied", "Immediate" },
            new OpenType[] { SimpleType.STRING, SimpleType.STRING, SimpleType.BOOLEAN, SimpleType.BOOLEAN });

    final TabularDataSupport tabularData = new TabularDataSupport(
            new TabularType("Ensure Oak Index Configuration", "Ensure Oak Index Configuration", configType,
                    new String[] { "Ensure Definitions Path", "Oak Indexes Path" }));

    for (final AppliableEnsureOakIndex index : this.ensureIndexes) {
        final Map<String, Object> data = new HashMap<String, Object>();

        data.put("Ensure Definitions Path", index.getEnsureDefinitionsPath());
        data.put("Oak Indexes Path", index.getOakIndexesPath());
        data.put("Applied", index.isApplied());
        data.put("Immediate", index.isImmediate());

        tabularData.put(new CompositeDataSupport(configType, data));
    }

    return tabularData;
}