1 19 package org.netbeans.modules.j2ee.sun.util; 20 21 import java.util.HashMap ; 22 import java.util.logging.Logger ; 23 import java.util.logging.Level ; 24 25 import com.sun.appserv.management.config.AdminObjectResourceConfig; 26 import com.sun.appserv.management.config.AppClientModuleConfig; 27 import com.sun.appserv.management.config.ConnectorConnectionPoolConfig; 28 import com.sun.appserv.management.config.ConnectorResourceConfig; 29 import com.sun.appserv.management.config.CustomResourceConfig; 30 import com.sun.appserv.management.config.EJBModuleConfig; 31 import com.sun.appserv.management.config.J2EEApplicationConfig; 32 import com.sun.appserv.management.config.JDBCConnectionPoolConfig; 33 import com.sun.appserv.management.config.JDBCResourceConfig; 34 import com.sun.appserv.management.config.JNDIResourceConfig; 35 import com.sun.appserv.management.config.JavaConfig; 36 import com.sun.appserv.management.config.MailResourceConfig; 37 import com.sun.appserv.management.config.PersistenceManagerFactoryResourceConfig; 38 import com.sun.appserv.management.config.RARModuleConfig; 39 import com.sun.appserv.management.config.ResourceAdapterConfig; 40 import com.sun.appserv.management.config.WebModuleConfig; 41 42 import com.sun.appserv.management.j2ee.AppClientModule; 43 import com.sun.appserv.management.j2ee.EJBModule; 44 import com.sun.appserv.management.j2ee.EntityBean; 45 import com.sun.appserv.management.j2ee.J2EEApplication; 46 import com.sun.appserv.management.j2ee.MessageDrivenBean; 47 import com.sun.appserv.management.j2ee.ResourceAdapter; 48 import com.sun.appserv.management.j2ee.ResourceAdapterModule; 49 import com.sun.appserv.management.j2ee.Servlet; 50 import com.sun.appserv.management.j2ee.StatefulSessionBean; 51 import com.sun.appserv.management.j2ee.StatelessSessionBean; 52 import com.sun.appserv.management.j2ee.WebModule; 53 54 55 56 57 58 62 public class NodeTypes { 63 64 private static Logger logger; 65 private static HashMap nodeHierarchy; 66 private static HashMap nodeToInterfaceMap; 67 private static HashMap nodeToConfigPeerInterfaceMap; 68 private static HashMap deleteResOpNameMapper; 69 70 public static final String ENABLED = "Enabled"; 71 72 public static final String DOMAIN = "ROOT"; 74 public static final String APPLICATIONS = "APPLICATIONS"; 75 public static final String RESOURCES = "RESOURCES"; 76 public static final String RESOURCES90 = "RESOURCES90"; 77 public static final String ENTERPRISE_APPLICATIONS = "ENTERPRISE_APPS"; 78 public static final String ENTERPRISE_APPLICATION = "ENTERPRISE_APP"; 79 public static final String WEB_APPLICATIONS = "WEB_APPS"; 80 public static final String WEB_MODULE = "WEB_APP"; 81 public static final String EJB_MODULES = "EJB_MODULES"; 82 public static final String EJB_MODULE = "EJB_MODULE"; 83 public static final String CONNECTOR_MODULES = "CONNECTOR_MODULES"; 84 public static final String CONNECTOR_MODULE = "CONNECTOR_MODULE"; 85 public static final String APP_CLIENT_MODULES = "APPCLIENTS"; 86 87 public static final String JDBC = "JDBC"; 88 public static final String JDBC_RESOURCES = "JDBC_RESOURCES"; 89 public static final String CONNECTION_POOLS = "CONNECTION_POOLS"; 90 public static final String PERSISTENCE_MANAGER_RESOURCES = "PM_RESOURCES"; 91 public static final String JMS_RESOURCES = "JMS_RESOURCES"; 92 public static final String CONNECTION_FACTORIES = "CONNECTION_FACTORIES"; 93 public static final String DESTINATION_RESOURCES = "DESTINATION_RESOURCES"; 94 public static final String MAIL_RESOURCES = "MAIL_RESOURCES"; 95 public static final String JNDI = "JNDI"; 96 public static final String CUSTOM_RESOURCES = "CUSTOM_RESOURCES"; 97 public static final String EXTERNAL_RESOURCES = "EXTERNAL_RESOURCES"; 98 public static final String CONNECTORS = "CONNECTORS"; 99 public static final String CONNECTOR_RESOURCES = "CONNECTOR_RESOURCES"; 100 public static final String CONNECTOR_CONNECTION_POOLS = "CONNECTOR_CONNECTION_POOLS"; 101 public static final String ADMIN_OBJECT_RESOURCES = "ADMIN_OBJECT_RESOURCES"; 102 103 104 105 public static final String CLUSTER = "CLUSTER"; 107 public static final String STANDALONE_INSTANCE = "STANDALONE_INSTANCE"; 108 public static final String JDBC_RESOURCE = "JDBC_RESOURCE"; 109 public static final String CONNECTION_FACTORY = "CONNECTION_FACTORY"; 110 public static final String CONNECTION_POOL = "CONNECTION_POOL"; 111 public static final String DESTINATION_RESOURCE = "DESTINATION_RESOURCE"; 112 public static final String CUSTOM_RESOURCE = "CUSTOM_RESOURCE"; 113 public static final String EXTERNAL_RESOURCE = "EXTERNAL_RESOURCE"; 114 public static final String CONNECTOR_RESOURCE = "CONNECTOR_RESOURCE"; 115 public static final String CONNECTOR_CONNECTION_POOL = "CONNECTOR_CONNECTION_POOL"; 116 public static final String MAIL_RESOURCE = "MAIL_RESOURCE"; 117 public static final String PM_RESOURCE = "PM_RESOURCE"; 118 public static final String ADMIN_OBJECT_RESOURCE = "ADMIN_OBJECT_RESOURCE"; 119 public static final String JVM = "JVM"; 120 public static final String SERVLET = "SERVLET"; 121 public static final String EJB = "EJB"; 122 public static final String STATELESS_SESSION_BEAN = "STATELESS_BEAN"; 123 public static final String STATEFUL_SESSION_BEAN = "STATEFUL_BEAN"; 124 public static final String MESSAGE_DRIVEN_BEAN = "MESSAGE_DRIVEN_BEAN"; 125 public static final String ENTITY_BEAN = "ENTITY_BEAN"; 126 public static final String APP_CLIENT_MODULE = "APPCLIENT"; 127 public static final String RESOURCE_ADAPTER = "RESOURCE_ADAPTER"; 128 129 130 public static final String EJB_MODULE_CONFIG = "EJB_MODULE_CONFIG"; 132 public static final String CONNECTOR_MODULE_CONFIG = "CONNECTOR_MODULE_CONFIG"; 133 public static final String RESOURCE_ADAPTER_CONFIG = "RESOURCE_ADAPTER_CONFIG"; 134 public static final String APP_CLIENT_MODULE_CONFIG = "APP_CLIENT_MODULE_CONFIG"; 135 public static final String WEB_MODULE_CONFIG = "WEB_MODULE_CONFIG"; 136 public static final String SERVLET_CONFIG = "SERVLET_CONFIG"; 137 138 public static final String [] ENTERPRISE_APPLICATION_NODE = { 140 "ObjectType", "server", "modules", "Properties","PropertyNames" }; 141 public static final String [] WEB_MODULE_NODE = { 142 "AvailabilityEnabled", "ContextRoot", "deploymentDescriptor", "Description", "DirectoryDeployed", "Enabled", "HasWebServices", "Location", "Name", "WelcomeFiles" }; 143 public static final String [] EJB_MODULE_NODE = { 144 "ObjectType", "server", "ejbs", "Properties","PropertyNames" }; 145 public static final String [] CONNECTOR_MODULE_NODE = { 146 "ObjectType", "server", "resourceAdapters", "Properties","PropertyNames" }; 147 public static final String [] APP_CLIENT_MODULES_NODE = { 148 "server" }; 149 public static final String [] JVM_NODE = { 150 "Name", "Properties", "PropertyNames" }; 151 public static final String [] SERVER_RESOURCE_NODES = { 152 "ObjectType", "PropertyNames" }; 153 154 private static final String [] APPLICATIONS_CHILD_TYPES = { 158 ENTERPRISE_APPLICATIONS, WEB_APPLICATIONS, EJB_MODULES, 159 CONNECTOR_MODULES, APP_CLIENT_MODULES }; 160 private static final String [] RESOURCES_CHILD_TYPES = { 161 JDBC, PERSISTENCE_MANAGER_RESOURCES, JMS_RESOURCES, 162 MAIL_RESOURCES ,JNDI, CONNECTORS 163 }; 164 private static final String [] RESOURCES90_CHILD_TYPES = { 165 JDBC, JMS_RESOURCES, MAIL_RESOURCES ,JNDI, CONNECTORS 166 }; 167 private static final String [] JDBC_CHILD_TYPES = { 168 JDBC_RESOURCES, CONNECTION_POOLS }; 169 private static final String [] JMS_RESOURCES_CHILD_TYPES = { 170 CONNECTION_FACTORIES, DESTINATION_RESOURCES }; 171 private static final String [] JNDI_CHILD_TYPES = { 172 CUSTOM_RESOURCES, EXTERNAL_RESOURCES }; 173 private static final String [] CONNECTORS_CHILD_TYPES = { 174 CONNECTOR_RESOURCES, CONNECTOR_CONNECTION_POOLS, 175 ADMIN_OBJECT_RESOURCES }; 176 177 178 179 180 static { 181 182 logger = Logger.getLogger("org.netbeans.modules.j2ee.sun"); 184 185 nodeHierarchy = new HashMap (); 186 nodeHierarchy.put(APPLICATIONS, APPLICATIONS_CHILD_TYPES); 188 nodeHierarchy.put(RESOURCES, RESOURCES_CHILD_TYPES); 189 nodeHierarchy.put(RESOURCES90, RESOURCES90_CHILD_TYPES); 190 nodeHierarchy.put(JDBC, JDBC_CHILD_TYPES); 191 nodeHierarchy.put(JMS_RESOURCES, JMS_RESOURCES_CHILD_TYPES); 192 nodeHierarchy.put(JNDI, JNDI_CHILD_TYPES); 193 nodeHierarchy.put(CONNECTORS, CONNECTORS_CHILD_TYPES); 194 195 nodeToInterfaceMap = new HashMap (); 196 nodeToInterfaceMap.put(JDBC_RESOURCE, JDBCResourceConfig.class); 197 nodeToInterfaceMap.put(PM_RESOURCE, PersistenceManagerFactoryResourceConfig.class); 198 nodeToInterfaceMap.put(MAIL_RESOURCE, MailResourceConfig.class); 199 nodeToInterfaceMap.put(CONNECTOR_RESOURCE, ConnectorResourceConfig.class); 200 nodeToInterfaceMap.put(ADMIN_OBJECT_RESOURCE, AdminObjectResourceConfig.class); 201 nodeToInterfaceMap.put(CONNECTION_POOL, JDBCConnectionPoolConfig.class); 203 nodeToInterfaceMap.put(CUSTOM_RESOURCE, CustomResourceConfig.class); 204 nodeToInterfaceMap.put(CONNECTOR_RESOURCE, ConnectorResourceConfig.class); 205 nodeToInterfaceMap.put(EXTERNAL_RESOURCE, JNDIResourceConfig.class); 206 nodeToInterfaceMap.put(CONNECTOR_CONNECTION_POOL, ConnectorConnectionPoolConfig.class); 207 nodeToInterfaceMap.put(JVM, JavaConfig.class); 208 nodeToInterfaceMap.put(SERVLET, Servlet.class); 209 nodeToInterfaceMap.put(EJB_MODULE, EJBModule.class); 210 nodeToInterfaceMap.put(CONNECTOR_MODULE, ResourceAdapterModule.class); 211 nodeToInterfaceMap.put(WEB_MODULE, WebModule.class); 212 nodeToInterfaceMap.put(ENTERPRISE_APPLICATION, J2EEApplication.class); 213 nodeToInterfaceMap.put(CONNECTION_FACTORY, ConnectorResourceConfig.class); 214 nodeToInterfaceMap.put(DESTINATION_RESOURCE, AdminObjectResourceConfig.class); 215 nodeToInterfaceMap.put(STATELESS_SESSION_BEAN, StatelessSessionBean.class); 216 nodeToInterfaceMap.put(STATEFUL_SESSION_BEAN, StatefulSessionBean.class); 217 nodeToInterfaceMap.put(MESSAGE_DRIVEN_BEAN, MessageDrivenBean.class); 218 nodeToInterfaceMap.put(ENTITY_BEAN, EntityBean.class); 219 nodeToInterfaceMap.put(APP_CLIENT_MODULE, AppClientModule.class); 220 nodeToInterfaceMap.put(RESOURCE_ADAPTER, ResourceAdapter.class); 221 227 228 nodeToConfigPeerInterfaceMap = new HashMap (); 230 nodeToConfigPeerInterfaceMap.put(APP_CLIENT_MODULE, AppClientModuleConfig.class); 231 nodeToConfigPeerInterfaceMap.put(EJB_MODULE, EJBModuleConfig.class); 232 nodeToConfigPeerInterfaceMap.put(CONNECTOR_MODULE, RARModuleConfig.class); 233 nodeToConfigPeerInterfaceMap.put(WEB_MODULE, WebModuleConfig.class); 234 nodeToConfigPeerInterfaceMap.put(RESOURCE_ADAPTER, ResourceAdapterConfig.class); 235 nodeToConfigPeerInterfaceMap.put(APP_CLIENT_MODULE, AppClientModuleConfig.class); 236 nodeToConfigPeerInterfaceMap.put(ENTERPRISE_APPLICATION, J2EEApplicationConfig.class); 237 238 deleteResOpNameMapper = new HashMap (); 240 deleteResOpNameMapper.put(JDBC_RESOURCE, 241 "deleteJdbcResource"); 242 deleteResOpNameMapper.put(PM_RESOURCE, 243 "deletePersistenceManagerFactoryResource"); 244 deleteResOpNameMapper.put(MAIL_RESOURCE, 245 "deleteMailResource"); 246 deleteResOpNameMapper.put(CONNECTOR_RESOURCE, 247 "deleteConnectorResource"); 248 deleteResOpNameMapper.put(ADMIN_OBJECT_RESOURCE, 249 "deleteAdminObjectResource"); 250 deleteResOpNameMapper.put(EXTERNAL_RESOURCE, 251 "deleteExternalJndiResource"); 252 deleteResOpNameMapper.put(CONNECTOR_CONNECTION_POOL, 253 "deleteConnectorConnectionPool"); 254 deleteResOpNameMapper.put(CONNECTION_POOL, 255 "deleteJdbcConnectionPool"); 256 deleteResOpNameMapper.put(CUSTOM_RESOURCE, 257 "deleteCustomResource"); 258 deleteResOpNameMapper.put(CONNECTOR_RESOURCE, 259 "deleteConnectorResource"); 260 deleteResOpNameMapper.put(CONNECTION_FACTORY, 261 "deleteJmsResource"); 262 deleteResOpNameMapper.put(DESTINATION_RESOURCE, 263 "deleteJmsDestinationResource"); 264 } 265 266 269 private NodeTypes() { } 270 271 279 static String [] getChildTypes(String nodeType){ 280 return (String []) nodeHierarchy.get(nodeType); 281 } 282 283 291 public static Class getAMXInterface(String nodeType){ 292 return (Class ) nodeToInterfaceMap.get(nodeType); 293 } 294 295 296 305 public static Class getAMXConfigPeerInterface(String nodeType){ 306 return (Class ) nodeToConfigPeerInterfaceMap.get(nodeType); 307 } 308 309 310 319 public static String getDeleteResourceMethodName(String nodeType){ 320 return (String ) deleteResOpNameMapper.get(nodeType); 321 } 322 323 324 332 public static String getAMXJ2EETypeByNodeType(String nodeType){ 333 return getJ2EETypeValueFromInterface( 334 NodeTypes.getAMXInterface(nodeType)); 335 } 336 337 338 346 public static String getAMXConfigPeerJ2EETypeByNodeType(String nodeType){ 347 return getJ2EETypeValueFromInterface( 348 NodeTypes.getAMXConfigPeerInterface(nodeType)); 349 } 350 351 352 355 private static String getJ2EETypeValueFromInterface(Class clazz) { 356 String type = null; 357 try { 358 java.lang.reflect.Field j2eeType = clazz.getField("J2EE_TYPE"); 359 if(j2eeType == null) { 360 return ""; 361 } 362 type = (String )j2eeType.get(String .class); 363 } catch (Exception e) { 364 logger.log(Level.FINE, e.getMessage(), e); 365 } 366 return (type != null) ? type : ""; 367 } 368 } 369 | Popular Tags |