/** * {@inheritDoc} */ @Override public void registerExtension(ExtensionModel extensionModel) { final String extensionName = extensionModel.getName(); final String extensionVersion = extensionModel.getVersion(); final String extensionVendor = extensionModel.getVendor(); if (LOGGER.isDebugEnabled()) { LOGGER.debug("Registering extension {} (version: {} vendor: {} )", extensionName, extensionVersion, extensionVendor); } if (extensionRegistry.containsExtension(extensionName)) { if (LOGGER.isDebugEnabled()) { LOGGER.debug("An extension of name '{}' (version: {} vendor {}) is already registered. Skipping...", extensionName, extensionVersion, extensionVendor); } } else { withContextClassLoader(getClassLoader(extensionModel), () -> { extensionRegistry.registerExtension(extensionName, extensionModel); extensionActivator.activateExtension(extensionModel); }); } }
private void testEquals(ExtensionModel expected, ExtensionModel obtained) { assertThat(obtained.getName(), equalTo(expected.getName())); assertThat(obtained.getVersion(), equalTo(expected.getVersion())); }
@Test public void assertDeclaration() { assertThat(extensionModel.getName(), is(EXTENSION_NAME)); assertThat(extensionModel.getDescription(), is(EXTENSION_DESCRIPTION)); assertThat(extensionModel.getVersion(), is(VERSION)); assertThat(extensionModel.getConfigurationModels(), hasSize(2)); assertThat(extensionModel.getVendor(), is(VENDOR)); assertThat(extensionModel.getOperationModels(), hasSize(1)); assertThat(extensionModel.getConnectionProviders(), is(empty())); assertThat(extensionModel.getSourceModels(), is(empty())); }
@Test public void consistentWithManifest() { assertThat(coreExtensionModel.getName(), is(MULE_NAME)); assertThat(coreExtensionModel.getDescription(), is("Mule Runtime and Integration Platform: Core components")); assertThat(coreExtensionModel.getVersion(), is(getProductVersion())); assertThat(coreExtensionModel.getVendor(), is(getVendorName())); assertThat(coreExtensionModel.getCategory(), is(COMMUNITY)); }
when(extensionModel3WithRepeatedName.getVendor()).thenReturn(OTHER_VENDOR); when(extensionModel1.getVersion()).thenReturn(EXTENSION1_VERSION); when(extensionModel2.getVersion()).thenReturn(EXTENSION2_VERSION); mockClassLoaderModelProperty(extensionModel1, getClass().getClassLoader()); when(extensionModel3WithRepeatedName.getVersion()).thenReturn(EXTENSION2_VERSION);
.setId(getLoaderId(extensionModel)) .addProperty(TYPE_PROPERTY_NAME, typeProperty.get().getType().getTypeName()) .addProperty("version", extensionModel.getVersion());
/** * {@inheritDoc} */ @Override public void registerExtension(ExtensionModel extensionModel) { final String extensionName = extensionModel.getName(); final String extensionVersion = extensionModel.getVersion(); final String extensionVendor = extensionModel.getVendor(); LOGGER.info("Registering extension {} (version: {} vendor: {} )", extensionName, extensionVersion, extensionVendor); if (extensionRegistry.containsExtension(extensionName)) { if (LOGGER.isDebugEnabled()) { LOGGER.debug("An extension of name '{}' (version: {} vendor {}) is already registered. Skipping...", extensionName, extensionVersion, extensionVendor); } } else { withContextClassLoader(getClassLoader(extensionModel), () -> { extensionRegistry.registerExtension(extensionName, extensionModel); extensionActivator.activateExtension(extensionModel); }); } }
@Test public void consistentWithManifest() { assertThat(coreExtensionModel.getName(), is(MULE_NAME)); assertThat(coreExtensionModel.getDescription(), is("Mule Runtime and Integration Platform: Core components")); assertThat(coreExtensionModel.getVersion(), is(getProductVersion())); assertThat(coreExtensionModel.getVendor(), is(getVendorName())); assertThat(coreExtensionModel.getCategory(), is(COMMUNITY)); }
@Override public void write(JsonWriter out, ExtensionModel model) throws IOException { out.beginObject(); out.name(NAME).value(model.getName()); out.name(DESCRIPTION).value(model.getDescription()); out.name(VERSION).value(model.getVersion()); out.name(VENDOR).value(model.getVendor()); writeWithDelegate(model.getCategory(), CATEGORY, out, new TypeToken<Category>() {}); writeWithDelegate(model.getXmlDslModel(), XML_DSL, out, new TypeToken<XmlDslModel>() {}); writeWithDelegate(model.getResources(), RESOURCES, out, new TypeToken<Set<String>>() {}); writeWithDelegate(model.getSubTypes(), SUB_TYPES, out, new TypeToken<Set<SubTypesModel>>() {}); writeWithDelegate(model.getPrivilegedPackages(), PRIVILEGED_PACKAGES, out, new TypeToken<Set<String>>() {}); writeWithDelegate(model.getPrivilegedArtifacts(), PRIVILEGED_ARTIFACTS, out, new TypeToken<Set<String>>() {}); writeWithDelegate(model.getExternalLibraryModels(), EXTERNAL_LIBRARIES, out, new TypeToken<Set<ExternalLibraryModel>>() {}); writeImportedTypes(out, model.getImportedTypes()); writeWithDelegate(model.getDisplayModel().orElse(null), DISPLAY_MODEL, out, new TypeToken<DisplayModel>() {}); writeWithDelegate(model.getConfigurationModels(), CONFIGURATIONS, out, new TypeToken<List<ConfigurationModel>>() {}); writeWithDelegate(model.getOperationModels(), OPERATIONS, out, new TypeToken<List<OperationModel>>() {}); writeWithDelegate(model.getFunctionModels(), FUNCTIONS, out, new TypeToken<List<FunctionModel>>() {}); writeWithDelegate(model.getConstructModels(), CONSTRUCTS, out, new TypeToken<List<ConstructModel>>() {}); writeWithDelegate(model.getConnectionProviders(), CONNECTION_PROVIDERS, out, new TypeToken<List<ConnectionProviderModel>>() {}); writeWithDelegate(model.getSourceModels(), MESSAGE_SOURCES, out, new TypeToken<List<SourceModel>>() {}); notificationModelDelegate.writeNotifications(model.getNotificationModels(), out); errorModelDelegate.writeErrors(model.getErrorModels(), out); writeExtensionLevelModelProperties(out, model); writeTypes(TYPES, out, model.getTypes()); out.endObject(); }
.setId(getLoaderId(extensionModel)) .addProperty(TYPE_PROPERTY_NAME, typeProperty.get().getType().getTypeName()) .addProperty("version", extensionModel.getVersion());