public void execute() throws Exception, RemoteException, RemoteException { if (registry == null) registry = gerenciadornuvem1.Registry2getRegistry(null, null); try { InputStream stream = (InputStream) source; long t1 = System.currentTimeMillis(); Document doc = gerenciadornuvem0.DomUtilreadXml(stream); // Ignore for now the name of the root element Node descriptorsN = doc.getDocumentElement(); // Node descriptorsN=DomUtil.getChild(doc, "mbeans-descriptors"); if (descriptorsN == null) { log.error("No descriptors found"); return; } Node firstMbeanN = null; if ("mbean".equals(descriptorsN.getNodeName())) { firstMbeanN = descriptorsN; } else { firstMbeanN = gerenciadornuvem0.DomUtilgetChild(descriptorsN, "mbean"); } if (firstMbeanN == null) { log.error(" No mbean tags "); return; } // Process each <mbean> element for (Node mbeanN = firstMbeanN; mbeanN != null; mbeanN = gerenciadornuvem0.DomUtilgetNext(mbeanN)) { // Create a new managed bean info ManagedBeanRemoteInterface managed = gerenciadornuvem0.getManagedBean(); gerenciadornuvem0.DomUtilsetAttributes(managed, mbeanN); Node firstN; // Process descriptor subnode /*Node mbeanDescriptorN = DomUtil.getChild(mbeanN, "descriptor"); if (mbeanDescriptorN != null) { Node firstFieldN = DomUtil.getChild(mbeanDescriptorN, "field"); for (Node fieldN = firstFieldN; fieldN != null; fieldN = DomUtil.getNext(fieldN)) { FieldInfo fi = new FieldInfo(); DomUtil.setAttributes(fi, fieldN); managed.addField(fi); } }*/ // process attribute nodes firstN = gerenciadornuvem0.DomUtilgetChild(mbeanN, "attribute"); for (Node descN = firstN; descN != null; descN = gerenciadornuvem0.DomUtilgetNext(descN)) { // Create new attribute info AttributeInfoRemoteInterface ai = gerenciadornuvem1.getAttributeInfo(); gerenciadornuvem0.DomUtilsetAttributes(ai, descN); // Process descriptor subnode /*Node descriptorN = DomUtil.getChild(descN, "descriptor"); if (descriptorN != null) { Node firstFieldN = DomUtil.getChild(descriptorN, "field"); for (Node fieldN = firstFieldN; fieldN != null; fieldN = DomUtil.getNext(fieldN)) { FieldInfo fi = new FieldInfo(); DomUtil.setAttributes(fi, fieldN); ai.addField(fi); } } */ // Add this info to our managed bean info managed.addAttribute(ai); if (log.isTraceEnabled()) { log.trace("Create attribute " + ai); } } // process constructor nodes /* firstN=DomUtil.getChild( mbeanN, "constructor"); for (Node descN = firstN; descN != null; descN = DomUtil.getNext( descN )) { // Create new constructor info ConstructorInfo ci=new ConstructorInfo(); DomUtil.setAttributes(ci, descN); // Process descriptor subnode Node firstDescriptorN = DomUtil.getChild(descN, "descriptor"); if (firstDescriptorN != null) { Node firstFieldN = DomUtil.getChild(firstDescriptorN, "field"); for (Node fieldN = firstFieldN; fieldN != null; fieldN = DomUtil.getNext(fieldN)) { FieldInfo fi = new FieldInfo(); DomUtil.setAttributes(fi, fieldN); ci.addField(fi); } } // Process parameter subnodes Node firstParamN=DomUtil.getChild( descN, "parameter"); for (Node paramN = firstParamN; paramN != null; paramN = DomUtil.getNext(paramN)) { ParameterInfo pi=new ParameterInfo(); DomUtil.setAttributes(pi, paramN); ci.addParameter( pi ); } // Add this info to our managed bean info managed.addConstructor( ci ); if (log.isTraceEnabled()) { log.trace("Create constructor " + ci); } }*/ // process notification nodes firstN = gerenciadornuvem0.DomUtilgetChild(mbeanN, "notification"); for (Node descN = firstN; descN != null; descN = gerenciadornuvem0.DomUtilgetNext(descN)) { // Create new notification info NotificationInfoRemoteInterface ni = gerenciadornuvem1.getNotificationInfo(); gerenciadornuvem0.DomUtilsetAttributes(ni, descN); // Process descriptor subnode /*Node firstDescriptorN = DomUtil.getChild(descN, "descriptor"); if (firstDescriptorN != null) { Node firstFieldN = DomUtil.getChild(firstDescriptorN, "field"); for (Node fieldN = firstFieldN; fieldN != null; fieldN = DomUtil.getNext(fieldN)) { FieldInfo fi = new FieldInfo(); DomUtil.setAttributes(fi, fieldN); ni.addField(fi); } }*/ // Process notification-type subnodes Node firstParamN = gerenciadornuvem0.DomUtilgetChild(descN, "notification-type"); for (Node paramN = firstParamN; paramN != null; paramN = gerenciadornuvem0.DomUtilgetNext(paramN)) { ni.addNotifType(gerenciadornuvem0.DomUtilgetContent(paramN)); } // Add this info to our managed bean info managed.addNotification(ni); if (log.isTraceEnabled()) { log.trace("Created notification " + ni); } } // process operation nodes firstN = gerenciadornuvem0.DomUtilgetChild(mbeanN, "operation"); for (Node descN = firstN; descN != null; descN = gerenciadornuvem0.DomUtilgetNext(descN)) { // Create new operation info OperationInfoRemoteInterface oi = gerenciadornuvem1.getOperationInfo(); gerenciadornuvem0.DomUtilsetAttributes(oi, descN); // Process descriptor subnode /*Node firstDescriptorN = DomUtil.getChild(descN, "descriptor"); if (firstDescriptorN != null) { Node firstFieldN = DomUtil.getChild(firstDescriptorN, "field"); for (Node fieldN = firstFieldN; fieldN != null; fieldN = DomUtil.getNext(fieldN)) { FieldInfo fi = new FieldInfo(); DomUtil.setAttributes(fi, fieldN); oi.addField(fi); } }*/ // Process parameter subnodes Node firstParamN = gerenciadornuvem0.DomUtilgetChild(descN, "parameter"); for (Node paramN = firstParamN; paramN != null; paramN = gerenciadornuvem0.DomUtilgetNext(paramN)) { ParameterInfoRemoteInterface pi = gerenciadornuvem1.getParameterInfo(); gerenciadornuvem0.DomUtilsetAttributes(pi, paramN); if (log.isTraceEnabled()) log.trace("Add param " + pi.getName()); oi.addParameter(pi); } // Add this info to our managed bean info managed.addOperation(oi); if (log.isTraceEnabled()) { log.trace("Create operation " + oi); } } // Add the completed managed bean info to the registry registry.addManagedBean(managed); } long t2 = System.currentTimeMillis(); log.debug("Reading descriptors ( dom ) " + (t2 - t1)); } catch (Exception ex) { log.error("Error reading descriptors ", ex); } }