@Override public void accept(BundleDescriptor bundleDescriptor) { this.bundleDescriptor = bundleDescriptor; super.accept(bundleDescriptor); }
/** * get the visitor for its sub descriptor * @param sub descriptor to return visitor for */ @Override public DescriptorVisitor getSubDescriptorVisitor(Descriptor subDescriptor) { if (subDescriptor instanceof BundleDescriptor) { DescriptorVisitor tracerVisitor = ((BundleDescriptor)subDescriptor).getTracerVisitor(); if (tracerVisitor == null) { return this; } return tracerVisitor; } return super.getSubDescriptorVisitor(subDescriptor); } }
ClassLoader classLoader = getBundleDescriptor().getClassLoader();
protected void accept(BundleDescriptor bundleDescriptor) { if (bundleDescriptor instanceof JndiNameEnvironment) { JndiNameEnvironment nameEnvironment = (JndiNameEnvironment)bundleDescriptor; for (Iterator<EjbReference> itr = nameEnvironment.getEjbReferenceDescriptors().iterator();itr.hasNext();) { accept(itr.next()); } for (Iterator<ResourceReferenceDescriptor> itr = nameEnvironment.getResourceReferenceDescriptors().iterator(); itr.hasNext();) { accept(itr.next()); } for (Iterator<ResourceEnvReferenceDescriptor> itr= nameEnvironment.getResourceEnvReferenceDescriptors().iterator(); itr.hasNext();) { accept(itr.next()); } for (Iterator<MessageDestinationReferencer> itr = nameEnvironment.getMessageDestinationReferenceDescriptors().iterator();itr.hasNext();) { accept(itr.next()); } for (Iterator<MessageDestinationDescriptor> itr = bundleDescriptor.getMessageDestinations().iterator(); itr.hasNext();) { accept(itr.next()); } for (Iterator<ServiceReferenceDescriptor> itr = nameEnvironment.getServiceReferenceDescriptors().iterator();itr.hasNext();) { accept(itr.next()); } } }
@Override public void accept (BundleDescriptor descriptor) { if (descriptor instanceof Application) { Application application = (Application)descriptor; accept(application); for (BundleDescriptor ebd : application.getBundleDescriptorsOfType(DOLUtils.ejbType())) { ebd.visit(getSubDescriptorVisitor(ebd)); } for (BundleDescriptor wbd : application.getBundleDescriptorsOfType(DOLUtils.warType())) { // This might be null in the case of an appclient // processing a client stubs .jar whose original .ear contained // a .war. This will be fixed correctly in the deployment // stage but until then adding a non-null check will prevent // the validation step from bombing. if (wbd != null) { wbd.visit(getSubDescriptorVisitor(wbd)); } } for (BundleDescriptor cd : application.getBundleDescriptorsOfType(DOLUtils.rarType())) { cd.visit(getSubDescriptorVisitor(cd)); } for (BundleDescriptor acd : application.getBundleDescriptorsOfType(DOLUtils.carType())) { acd.visit(getSubDescriptorVisitor(acd)); } super.accept(descriptor); } else { super.accept(descriptor); } }