@Override protected Map<String, Object> getClassLoaderModelAttributes(Optional<Properties> deploymentPropertiesOptional, MuleArtifactLoaderDescriptor classLoaderModelLoaderDescriptor, BundleDescriptor bundleDescriptor) { Map<String, Object> attributes = super.getClassLoaderModelAttributes(deploymentPropertiesOptional, classLoaderModelLoaderDescriptor, bundleDescriptor); if (deploymentPropertiesOptional.isPresent()) { Properties deploymentProperties = deploymentPropertiesOptional.get(); if (deploymentProperties instanceof PluginExtendedDeploymentProperties) { PluginExtendedDeploymentProperties pluginExtendedDeploymentProperties = (PluginExtendedDeploymentProperties) deploymentProperties; return new PluginExtendedClassLoaderModelAttributes(attributes, pluginExtendedDeploymentProperties.getDeployableArtifactDescriptor()); } } return attributes; }
private ClassLoaderModel getClassLoaderModel(File artifactFolder, Optional<Properties> deploymentProperties, MuleArtifactLoaderDescriptor classLoaderModelLoaderDescriptor, BundleDescriptor bundleDescriptor) { ClassLoaderModelLoader classLoaderModelLoader; try { classLoaderModelLoader = descriptorLoaderRepository.get(classLoaderModelLoaderDescriptor.getId(), getArtifactType(), ClassLoaderModelLoader.class); } catch (LoaderNotFoundException e) { throw new ArtifactDescriptorCreateException(invalidClassLoaderModelIdError(artifactFolder, classLoaderModelLoaderDescriptor)); } final ClassLoaderModel classLoaderModel; try { classLoaderModel = classLoaderModelLoader.load(artifactFolder, getClassLoaderModelAttributes(deploymentProperties, classLoaderModelLoaderDescriptor, bundleDescriptor), getArtifactType()); } catch (InvalidDescriptorLoaderException e) { throw new ArtifactDescriptorCreateException(e); } return classLoaderModel; }