Example usage for javax.management.openmbean CompositeType CompositeType

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

Introduction

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

Prototype

public CompositeType(String typeName, String description, String[] itemNames, String[] itemDescriptions,
        OpenType<?>[] itemTypes) throws OpenDataException 

Source Link

Document

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

Usage

From source file:org.osgi.jmx.codec.OSGiAuthorization.java

private static CompositeType createAuthorizationType() {
    String description = "An authorization object defines which roles has a user got";
    String[] itemNames = UserManagerMBean.AUTHORIZATION;
    String[] itemDescriptions = new String[2];
    itemDescriptions[0] = "The user name for this authorization object";
    itemDescriptions[1] = "The names of the roles encapsulated by this auth object";
    OpenType[] itemTypes = new OpenType[2];
    itemTypes[0] = SimpleType.STRING;
    itemTypes[1] = Util.STRING_ARRAY_TYPE;
    try {/*from   w w w  . ja  v a2  s.  c o m*/
        return new CompositeType("Authorization", description, itemNames, itemDescriptions, itemTypes);
    } catch (OpenDataException e) {
        log.error("cannot create authorization open data type", e);
        return null;
    }
}

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

public CompositeTypeAndJson(Object... elements) throws OpenDataException {
    OpenType types[] = new OpenType[elements.length / 3];
    keys = new String[elements.length / 3];
    Object values[] = new Object[elements.length / 3];
    int j = 0;//ww w .j  av  a  2 s. c o  m
    for (int i = 0; i < elements.length; i += 3) {
        types[j] = (OpenType) elements[i];
        keys[j] = (String) elements[i + 1];
        values[j] = elements[i + 2];
        j++;
    }
    type = new CompositeType("testType", "Type for testing", keys, keys, types);
    json = new JSONObject();
    for (int i = 0; i < keys.length; i++) {
        if (values[i] != null) {
            json.put(keys[i], values[i]);
        }
    }
}

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

/**
 * test authenticate/*from  ww  w  .  j a  v  a2s.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: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.osgi.jmx.codec.OSGiServiceEvent.java

private static CompositeType createServiceEventType() {
    String description = "This eventType encapsulates OSGi service events";
    String[] itemNames = ServiceStateMBean.SERVICE_EVENT;
    OpenType[] itemTypes = new OpenType[5];
    String[] itemDescriptions = new String[5];
    itemTypes[0] = SimpleType.LONG;
    itemTypes[1] = SimpleType.LONG;
    itemTypes[2] = SimpleType.STRING;
    itemTypes[3] = STRING_ARRAY_TYPE;/*from w w  w. j  av  a  2s . c  om*/
    itemTypes[4] = SimpleType.INTEGER;

    itemDescriptions[0] = "The id of the bundle which registered the service";
    itemDescriptions[1] = "The id of the bundle which registered the service";
    itemDescriptions[2] = "The location of the bundle that registered the service";
    itemDescriptions[3] = "An string array containing the interfaces under which the service has been registered";
    itemDescriptions[4] = "The eventType of the event: {REGISTERED=1, MODIFIED=2 UNREGISTERING=3}";
    try {
        return new CompositeType("ServiceEvent", description, itemNames, itemDescriptions, itemTypes);
    } catch (OpenDataException e) {
        log.error("Unable to create ServiceEvent OpenData eventType", e);
        return null;
    }

}

From source file:jenkins.security.security218.ysoserial.payloads.JSON1.java

/**
 * Will call all getter methods on payload that are defined in the given interfaces
 *//*from   w ww.  j a v a 2s.  c om*/
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;
    }// w ww . j a  v a  2s  .c  om

    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.seajas.search.profiler.service.management.ManagementService.java

/**
 * {@inheritDoc}/*w ww  .j a v  a  2 s  . c  o  m*/
 */
@Override
public CompositeData getActiveFeedModifiers() throws OpenDataException {
    List<Modifier> modifiers = profilerService.getFeedModifiers();

    Map<Integer, Map<String, Boolean>> results = new HashMap<Integer, Map<String, Boolean>>();

    for (Modifier modifier : modifiers)
        if (modifier.getIsEnabled() && modifier.getTestFeed() != null
                && modifier.getTestFeed().getIsEnabled()) {
            TestElement testFeed = testingService.getTestFeedByModifierId(modifier.getId());

            if (testFeed != null)
                try {
                    results.put(modifier.getId(), testingService.testFeedModifier(testFeed));
                } catch (TestingException e) {
                    Map<String, Boolean> exceptionResult = new HashMap<String, Boolean>();

                    exceptionResult.put("exception", false);
                    results.put(modifier.getId(), exceptionResult);

                    logger.error("Testing exception occurred", e);
                }
        }

    Integer successful = 0, total = 0;

    for (Entry<Integer, Map<String, Boolean>> modifierResult : results.entrySet())
        for (Entry<String, Boolean> result : modifierResult.getValue().entrySet()) {
            total++;

            if (result.getValue())
                successful++;
        }

    // Return the compound status as the absolute difference - where 0 means success

    CompositeType compositeType = new CompositeType("managementResult", "Management result",
            new String[] { "compound", "status" }, new String[] { "Compound value", "Textual representation" },
            new OpenType[] { SimpleType.INTEGER, SimpleType.STRING });

    return new CompositeDataSupport(compositeType, new String[] { "compound", "status" }, new Object[] {
            Math.abs(successful - total), successful + "/" + total + " results were successful" });
}

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   w ww .  ja v a 2  s .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 .jav a2s.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;
}