[
https://issues.apache.org/jira/browse/STRATOS-1623?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Akila resolved STRATOS-1623.
----------------------------
Resolution: Fixed
Fixed in a5a7aba0b56b8aeeee17ed8c3f619db45863019c
> Refactoring pom files and fixing OSGi imports/exports
> -----------------------------------------------------
>
> Key: STRATOS-1623
> URL: https://issues.apache.org/jira/browse/STRATOS-1623
> Project: Stratos
> Issue Type: Improvement
> Components: Autoscaler, CEP, Cloud Controller, Messaging, Metadata
> API, Mock IaaS, Stratos Manager
> Affects Versions: 4.0.0, 4.1.0, 4.1.1, 4.1.2, 4.1.3, 4.1.4
> Reporter: Akila
> Assignee: Akila
> Fix For: 4.1.5
>
>
> Currently Stratos components do not properly import/export packages to/from
> OSGi bundles. This might lead to unexpected behaviors in an OSGi runtime.
> Also dependency versions in pom files are currently hard-coded which is less
> maintainable.
> Following is a summary of changes done;
> - Removed hard-coded maven dependency versions and moved everything to
> parent pom
> - Parameterized dependency versions with maven properties
> - Added OSGi import ranges for external dependencies which are set from
> parent pom as a maven property
> - Added OSGi import version for Stratos internal dependencies as
> project.version. This will ensure only intended component will always
> - Upgraded commons-collections dependency to version 3.2.2 to mitigate the
> security vulnerability as reported in [1]
> While working on this I found several issues in the code base. I've
> summarized the issues and fixes done below.
> - Incorrect import of Arrays class in [2]
> Changed the import to java.util.Arrays
> - CloudController imports a private package of StratosCommon component [3]
> Changed the import to CC's service holder class
> - Incorrect dependency to org.wso2.carbon.identity.oauth.stub component at
> [4,5] resulting unrunnable code at [6, 7]
> This is because actual identity.oauth.stub bundle version packed into the
> distribution is 4.2.3 and the dependency version defined in the Stratos
> component is 4.2.0. Changed the dependency version to 4.2.3 and updated code
> to be compatible with newer version.
> - Metadata service webapp imports a private package of StratosCommon
> component [8]
> - Stratos rest endpoint webapp imports a private package of StratosManager
> component [9]
> Removed the private package import and used
> PrivilegedCarbonContext->getOSGiService method in the Carbon kernel to
> retrieve the ComponentStartUpSynchronizer OSGi service.
> - Unnecessary Activator class in Autoscaler component [10].
> Removed the class and reference in maven-bundle-plugin Bundle-Activator
> directive.
> - Embedded dependencies are not added as maven dependencies in the pom for
> fabric8/kubernetes-api [11]
> Added all relevant maven dependencies to the parent pom (with versions) and
> sub-module (without versions).
> [1] https://issues.apache.org/jira/browse/COLLECTIONS-580
> [2]
> https://github.com/apache/stratos/blob/4.1.4/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/algorithms/networkpartition/AllAtOnceAlgorithm.java#L21
> [3]
> https://github.com/apache/stratos/blob/4.1.4/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/registry/RegistryManager.java#L26
> [4]
> https://github.com/apache/stratos/blob/4.1.4/components/org.apache.stratos.metadata.service/pom.xml#L99
> [5]
> https://github.com/apache/stratos/blob/4.1.4/components/org.apache.stratos.rest.endpoint/pom.xml#L101
> [6]
> https://github.com/apache/stratos/blob/4.1.4/components/org.apache.stratos.metadata.service/src/main/java/org/apache/stratos/metadata/service/oauth2/ValidationServiceClient.java#L54
> [7]
> https://github.com/apache/stratos/blob/4.1.4/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/oauth2/ValidationServiceClient.java#L53
> [8]
> https://github.com/apache/stratos/blob/4.1.4/components/org.apache.stratos.metadata.service/src/main/java/org/apache/stratos/metadata/service/registry/MetadataApiRegistry.java#L253
> [9]
> https://github.com/apache/stratos/blob/4.1.4/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/handlers/ComponentSynchronizerHandler.java#L28
> [10]
> https://github.com/apache/stratos/blob/4.1.4/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/internal/ASBundleActivater.java
> [11]
> https://github.com/apache/stratos/blob/4.1.4/dependencies/fabric8/kubernetes-api/pom.xml#L153
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)