/** * Copyright (C) 2009 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.engine.management; import javax.management.MalformedObjectNameException; import javax.management.ObjectName; import net.sf.ehcache.CacheException; import com.opengamma.engine.view.ViewProcessState; import com.opengamma.engine.view.impl.ViewProcessInternal; import com.opengamma.id.UniqueId; import com.opengamma.util.ArgumentChecker; /** * An MBean implementation for attributes and operations on a view process. * @deprecated use ViewProcessMXBeanImpl */ @Deprecated public class ViewProcessMBeanImpl implements ViewProcessMBean { /** * The backing view process instance */ private final ViewProcessInternal _viewProcess; private final ObjectName _objectName; /** * Create a management View * * @param viewProcess the underlying view process * @param viewProcessor the view processor responsible for the view process */ public ViewProcessMBeanImpl(ViewProcessInternal viewProcess, com.opengamma.engine.view.ViewProcessor viewProcessor) { ArgumentChecker.notNull(viewProcess, "viewProcess"); ArgumentChecker.notNull(viewProcessor, "ViewProcessor"); _viewProcess = viewProcess; _objectName = createObjectName(viewProcessor.getName(), viewProcess.getUniqueId()); } /** * Creates an object name using the scheme "com.opengamma:type=View,ViewProcessor=<viewProcessorName>,name=<viewProcessId>" */ static ObjectName createObjectName(String viewProcessorName, UniqueId viewProcessId) { ObjectName objectName; try { objectName = new ObjectName("com.opengamma:type=ViewProcess,ViewProcessor=ViewProcessor " + viewProcessorName + ",name=ViewProcess " + viewProcessId.getValue()); } catch (MalformedObjectNameException e) { throw new CacheException(e); } return objectName; } @Override public UniqueId getUniqueId() { return _viewProcess.getUniqueId(); } @Override public String getPortfolioId() { return _viewProcess.getLatestViewDefinition().getPortfolioId().toString(); } @Override public UniqueId getDefinitionId() { return _viewProcess.getDefinitionId(); } @Override public boolean isPersistent() { return _viewProcess.getLatestViewDefinition().isPersistent(); } @Override public ViewProcessState getState() { return _viewProcess.getState(); } @Override public void shutdown() { _viewProcess.shutdown(); } @Override public void suspend() { _viewProcess.suspend(); } @Override public void resume() { _viewProcess.resume(); } /** * Gets the objectName field. * * @return the object name for this MBean */ public ObjectName getObjectName() { return _objectName; } }