[ 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)