Example usage for javax.management.openmbean TabularType TabularType

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

Introduction

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

Prototype

public TabularType(String typeName, String description, CompositeType rowType, String[] indexNames)
        throws OpenDataException 

Source Link

Document

Constructs a TabularType instance, checking for the validity of the given parameters.

Usage

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

public TabularTypeAndJson(String[] index, CompositeTypeAndJson taj, Object... rowVals)
        throws OpenDataException {
    CompositeType cType = taj.getType();
    json = new JSONObject();
    addRow(json, taj.getJson(), index);// w w w. jav  a 2  s  . c o  m
    int nrCols = cType.keySet().size();
    for (int i = 0; i < rowVals.length; i += nrCols) {
        JSONObject row = new JSONObject();
        for (int j = 0; j < nrCols; j++) {
            row.put(taj.getKey(j), rowVals[i + j]);
        }
        addRow(json, row, index);
    }
    //System.out.println(json.toJSONString());
    type = new TabularType("test", "test", cType, index);
}

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

@Override
public final TabularData getCacheContents() throws CacheMBeanException {
    try {/*from   w ww  .jav  a 2 s  .  c  o  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:org.alfresco.repo.security.authentication.ldap.Monitor.java

/**
 * test authenticate//from   w w  w.ja  v a  2 s.c om
 * 
 * @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:com.alibaba.dragoon.stat.WebStatisticManager.java

public TabularData getURIList() throws JMException {
    CompositeType rowType = WebURIStatistic.getCompositeType();
    String[] indexNames = rowType.keySet().toArray(new String[rowType.keySet().size()]);

    TabularType tabularType = new TabularType("URIStatisticList", "URIStatisticList", rowType, indexNames);
    TabularData data = new TabularDataSupport(tabularType);

    for (Map.Entry<String, WebURIStatistic> entry : this.statsMap.entrySet()) {
        if (entry.getValue().getCountDirect() == 0) {
            continue;
        }/*from   w  w w.jav  a 2  s  .  c  o  m*/

        data.put(entry.getValue().getCompositeData());
    }

    return data;
}

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:jenkins.security.security218.ysoserial.payloads.JSON1.java

/**
 * Will call all getter methods on payload that are defined in the given interfaces
 *///  w ww  . ja  v  a  2 s .co m
public static Map makeCallerChain(Object payload, Class... ifaces)
        throws OpenDataException, NoSuchMethodException, InstantiationException, IllegalAccessException,
        InvocationTargetException, Exception, ClassNotFoundException {
    CompositeType rt = new CompositeType("a", "b", new String[] { "a" }, new String[] { "a" },
            new OpenType[] { javax.management.openmbean.SimpleType.INTEGER });
    TabularType tt = new TabularType("a", "b", rt, new String[] { "a" });
    TabularDataSupport t1 = new TabularDataSupport(tt);
    TabularDataSupport t2 = new TabularDataSupport(tt);

    // we need to make payload implement composite data
    // it's very likely that there are other proxy impls that could be used
    AdvisedSupport as = new AdvisedSupport();
    as.setTarget(payload);
    InvocationHandler delegateInvocationHandler = (InvocationHandler) Reflections
            .getFirstCtor("org.springframework.aop.framework.JdkDynamicAopProxy").newInstance(as);
    InvocationHandler cdsInvocationHandler = Gadgets
            .createMemoizedInvocationHandler(Gadgets.createMap("getCompositeType", rt));
    CompositeInvocationHandlerImpl invocationHandler = new CompositeInvocationHandlerImpl();
    invocationHandler.addInvocationHandler(CompositeData.class, cdsInvocationHandler);
    invocationHandler.setDefaultHandler(delegateInvocationHandler);
    final CompositeData cdsProxy = Gadgets.createProxy(invocationHandler, CompositeData.class, ifaces);

    JSONObject jo = new JSONObject();
    Map m = new HashMap();
    m.put("t", cdsProxy);
    Reflections.setFieldValue(jo, "properties", m);
    Reflections.setFieldValue(jo, "properties", m);
    Reflections.setFieldValue(t1, "dataMap", jo);
    Reflections.setFieldValue(t2, "dataMap", jo);
    return Gadgets.makeMap(t1, t2);
}

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 ww.  ja  va2s.c o 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: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();//  w w  w . j av  a 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.  jav a  2s  . c  om*/

    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/*from w w  w  .  j  ava 2  s  .c o  m*/
 */
@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;
}