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; }
@Test public void detectsInvalidClassLoaderModelLoaderId() throws Exception { MulePolicyModelBuilder mulePolicyModelBuilder = new MulePolicyModelBuilder() .setName(POLICY_NAME) .setMinMuleVersion("4.0.0") .setRequiredProduct(MULE) .withBundleDescriptorLoader(createPolicyBundleDescriptorLoader(PROPERTIES_BUNDLE_DESCRIPTOR_LOADER_ID)) .withClassLoaderModelDescriptorLoader(new MuleArtifactLoaderDescriptor(INVALID_LOADER_ID, emptyMap())); PolicyFileBuilder policyFileBuilder = new PolicyFileBuilder(POLICY_NAME).describedBy(mulePolicyModelBuilder.build()); File tempFolder = createTempFolder(); unzip(policyFileBuilder.getArtifactFile(), tempFolder); PolicyTemplateDescriptorFactory descriptorFactory = new PolicyTemplateDescriptorFactory(artifactPluginDescriptorLoader, descriptorLoaderRepository, ArtifactDescriptorValidatorBuilder.builder()); expectedException.expect(ArtifactDescriptorCreateException.class); expectedException .expectMessage(invalidClassLoaderModelIdError(tempFolder, mulePolicyModelBuilder.getClassLoaderModelDescriptorLoader())); descriptorFactory.create(tempFolder, empty()); }
private ClassLoaderModel getClassLoaderModel(File artifactFolder, MuleArtifactLoaderDescriptor classLoaderModelLoaderDescriptor) { 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, classLoaderModelLoaderDescriptor.getAttributes(), getArtifactType()); } catch (InvalidDescriptorLoaderException e) { throw new ArtifactDescriptorCreateException(e); } return classLoaderModel; }
@Test public void detectsInvalidClassLoaderModelLoaderId() throws Exception { MulePolicyModelBuilder mulePolicyModelBuilder = new MulePolicyModelBuilder() .setName(POLICY_NAME) .setMinMuleVersion("4.0.0") .setRequiredProduct(MULE) .withBundleDescriptorLoader(createPolicyBundleDescriptorLoader(PROPERTIES_BUNDLE_DESCRIPTOR_LOADER_ID)) .withClassLoaderModelDescriptorLoader(new MuleArtifactLoaderDescriptor(INVALID_LOADER_ID, emptyMap())); PolicyFileBuilder policyFileBuilder = new PolicyFileBuilder(POLICY_NAME).describedBy(mulePolicyModelBuilder.build()); File tempFolder = createTempFolder(); unzip(policyFileBuilder.getArtifactFile(), tempFolder); PolicyTemplateDescriptorFactory descriptorFactory = new PolicyTemplateDescriptorFactory(artifactPluginDescriptorLoader, descriptorLoaderRepository, ArtifactDescriptorValidatorBuilder.builder()); expectedException.expect(ArtifactDescriptorCreateException.class); expectedException .expectMessage(invalidClassLoaderModelIdError(tempFolder, mulePolicyModelBuilder.getClassLoaderModelDescriptorLoader())); descriptorFactory.create(tempFolder, empty()); }