/* * Minha.pt: middleware testing platform. * Copyright (c) 2011-2014, Universidade do Minho. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ package pt.minha.models.fake.java.lang.management; import java.lang.management.GarbageCollectorMXBean; import java.lang.management.MemoryMXBean; import java.lang.management.OperatingSystemMXBean; import java.lang.management.RuntimeMXBean; import java.lang.management.ThreadInfo; import java.lang.management.ThreadMXBean; import java.util.Collections; import java.util.List; import javax.management.MBeanServer; import javax.management.ObjectName; import pt.minha.models.local.lang.SimulationThread; public class ManagementFactory { public static ThreadMXBean getThreadMXBean() { return new ThreadMXBean() { @Override public void setThreadCpuTimeEnabled(boolean enable) { // TODO Auto-generated method stub } @Override public void setThreadContentionMonitoringEnabled(boolean enable) { // TODO Auto-generated method stub } @Override public void resetPeakThreadCount() { // TODO Auto-generated method stub } @Override public boolean isThreadCpuTimeSupported() { // TODO Auto-generated method stub return false; } @Override public boolean isThreadCpuTimeEnabled() { // TODO Auto-generated method stub return false; } @Override public boolean isThreadContentionMonitoringSupported() { // TODO Auto-generated method stub return false; } @Override public boolean isThreadContentionMonitoringEnabled() { // TODO Auto-generated method stub return false; } @Override public boolean isSynchronizerUsageSupported() { // TODO Auto-generated method stub return false; } @Override public boolean isObjectMonitorUsageSupported() { // TODO Auto-generated method stub return false; } @Override public boolean isCurrentThreadCpuTimeSupported() { return true; } @Override public long getTotalStartedThreadCount() { // TODO Auto-generated method stub return 0; } @Override public long getThreadUserTime(long id) { // TODO Auto-generated method stub return 0; } @Override public ThreadInfo[] getThreadInfo(long[] ids, boolean lockedMonitors, boolean lockedSynchronizers) { // TODO Auto-generated method stub return null; } @Override public ThreadInfo[] getThreadInfo(long[] ids, int maxDepth) { // TODO Auto-generated method stub return null; } @Override public ThreadInfo getThreadInfo(long id, int maxDepth) { // TODO Auto-generated method stub return null; } @Override public ThreadInfo[] getThreadInfo(long[] ids) { // TODO Auto-generated method stub return null; } @Override public ThreadInfo getThreadInfo(long id) { // TODO Auto-generated method stub return null; } @Override public long getThreadCpuTime(long id) { // TODO Auto-generated method stub return 0; } @Override public int getThreadCount() { // TODO Auto-generated method stub return 0; } @Override public int getPeakThreadCount() { // TODO Auto-generated method stub return 0; } @Override public int getDaemonThreadCount() { // TODO Auto-generated method stub return 0; } @Override public long getCurrentThreadUserTime() { // TODO Auto-generated method stub return 0; } @Override public long getCurrentThreadCpuTime() { try { SimulationThread.stopTime(0); return SimulationThread.currentSimulationThread().totalCPU; } finally { SimulationThread.startTime(0); } } @Override public long[] getAllThreadIds() { // TODO Auto-generated method stub return null; } @Override public long[] findMonitorDeadlockedThreads() { // TODO Auto-generated method stub return null; } @Override public long[] findDeadlockedThreads() { // TODO Auto-generated method stub return null; } @Override public ThreadInfo[] dumpAllThreads(boolean lockedMonitors, boolean lockedSynchronizers) { // TODO Auto-generated method stub return null; } @Override public ObjectName getObjectName() { return null; } }; } public static MBeanServer getPlatformMBeanServer() { // FIXME: should wrap and prefix mbeans with instance name return java.lang.management.ManagementFactory.getPlatformMBeanServer(); } public static RuntimeMXBean getRuntimeMXBean() { // FIXME: should wrap and prefix mbeans with instance name return java.lang.management.ManagementFactory.getRuntimeMXBean(); } public static MemoryMXBean getMemoryMXBean() { // FIXME: should wrap and prefix mbeans with instance name return java.lang.management.ManagementFactory.getMemoryMXBean(); } public static OperatingSystemMXBean getOperatingSystemMXBean() { // FIXME: should wrap and prefix mbeans with instance name return java.lang.management.ManagementFactory.getOperatingSystemMXBean(); } public static List<GarbageCollectorMXBean> getGarbageCollectorMXBeans() { // FIXME: should return beans return Collections.emptyList(); } }