DSOHelper.java :  » Net » Terracotta » com » tc » admin » dso » Java Open Source

Java Open Source » Net » Terracotta 
Terracotta » com » tc » admin » dso » DSOHelper.java
/*
 * All content copyright (c) 2003-2006 Terracotta, Inc., except as may otherwise be noted in a separate copyright
 * notice. All rights reserved.
 */
package com.tc.admin.dso;

import com.tc.admin.BaseHelper;
import com.tc.admin.ConnectionContext;
import com.tc.management.beans.L2MBeanNames;
import com.tc.object.ObjectID;
import com.tc.objectserver.api.GCStats;
import com.tc.objectserver.mgmt.ManagedObjectFacade;

import java.io.IOException;
import java.net.URL;

import javax.management.AttributeNotFoundException;
import javax.management.InstanceNotFoundException;
import javax.management.MBeanException;
import javax.management.MalformedObjectNameException;
import javax.management.ObjectName;
import javax.management.ReflectionException;
import javax.swing.Icon;
import javax.swing.ImageIcon;

public class DSOHelper extends BaseHelper {
  private static DSOHelper m_helper = new DSOHelper();
  private Icon             m_dsoIcon;

  public static DSOHelper getHelper() {
    return m_helper;
  }

  public Icon getDSOIcon() {
    if (m_dsoIcon == null) {
      URL url = getClass().getResource(ICONS_PATH + "search_menu.gif");

      if (url != null) {
        m_dsoIcon = new ImageIcon(url);
      }
    }

    return m_dsoIcon;
  }

  public ObjectName getDSOMBean(ConnectionContext cc) throws IOException, MalformedObjectNameException {
    return cc.queryName(L2MBeanNames.DSO.getCanonicalName());
  }

  public ManagedObjectFacade lookupFacade(ConnectionContext cc, ObjectID objectID, int batchSize) throws Exception {
    ObjectName bean = getDSOMBean(cc);
    String op = "lookupFacade";
    Object[] args = new Object[] { objectID, new Integer(batchSize) };
    String[] types = new String[] { "com.tc.object.ObjectID", "int" };

    return (ManagedObjectFacade) cc.invoke(bean, op, args, types);
  }

  public GCStats[] getGCStats(ConnectionContext cc) throws IOException, MalformedObjectNameException,
      AttributeNotFoundException, ReflectionException, MBeanException, InstanceNotFoundException {
    ObjectName bean = getDSOMBean(cc);
    String attr = "GarbageCollectorStats";

    return (GCStats[]) cc.getAttribute(bean, attr);
  }
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.