re-architecting work
diff --git a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/builder/tests/ApiTestingEnvironment.java b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/builder/tests/ApiTestingEnvironment.java index fc73a95..44c849b 100644 --- a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/builder/tests/ApiTestingEnvironment.java +++ b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/builder/tests/ApiTestingEnvironment.java
@@ -30,7 +30,7 @@ import org.eclipse.jdt.internal.compiler.impl.CompilerOptions; import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin; import org.eclipse.pde.api.tools.internal.provisional.IApiMarkerConstants; -import org.eclipse.pde.api.tools.internal.provisional.IApiProfile; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiBaseline; import org.eclipse.pde.api.tools.tests.util.ProjectUtils; import org.eclipse.pde.internal.core.natures.PDE; @@ -306,10 +306,10 @@ } /** - * Returns the current workspace {@link IApiProfile} + * Returns the current workspace {@link IApiBaseline} * @return */ - protected IApiProfile getWorkspaceProfile() { + protected IApiBaseline getWorkspaceProfile() { return ApiPlugin.getDefault().getApiProfileManager().getWorkspaceProfile(); }
diff --git a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/builder/tests/OSGiLessAnalysisTests.java b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/builder/tests/OSGiLessAnalysisTests.java index 8abe4db..8e41ab3 100644 --- a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/builder/tests/OSGiLessAnalysisTests.java +++ b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/builder/tests/OSGiLessAnalysisTests.java
@@ -19,7 +19,7 @@ import org.eclipse.core.runtime.NullProgressMonitor; import org.eclipse.pde.api.tools.internal.builder.BaseApiAnalyzer; import org.eclipse.pde.api.tools.internal.provisional.IApiComponent; -import org.eclipse.pde.api.tools.internal.provisional.IApiProfile; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiBaseline; import org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblem; import org.eclipse.pde.api.tools.model.tests.TestSuiteHelper; @@ -31,8 +31,8 @@ public class OSGiLessAnalysisTests extends TestCase { public void testAnalyzer() throws CoreException { - IApiProfile baseline = TestSuiteHelper.createTestingProfile("test-analyzer-1"); - IApiProfile current = TestSuiteHelper.createTestingProfile("test-analyzer-2"); + IApiBaseline baseline = TestSuiteHelper.createTestingProfile("test-analyzer-1"); + IApiBaseline current = TestSuiteHelper.createTestingProfile("test-analyzer-2"); BaseApiAnalyzer analyzer = new BaseApiAnalyzer(); IApiComponent component = current.getApiComponent("test.bundle.a"); assertNotNull("Missing API component test.bundle.a", component);
diff --git a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/builder/tests/compatibility/CompatibilityTest.java b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/builder/tests/compatibility/CompatibilityTest.java index 87b8ab7..a2e1b49 100644 --- a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/builder/tests/compatibility/CompatibilityTest.java +++ b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/builder/tests/compatibility/CompatibilityTest.java
@@ -38,8 +38,8 @@ import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin; import org.eclipse.pde.api.tools.internal.provisional.Factory; import org.eclipse.pde.api.tools.internal.provisional.IApiComponent; -import org.eclipse.pde.api.tools.internal.provisional.IApiProfile; import org.eclipse.pde.api.tools.internal.provisional.IApiProfileManager; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiBaseline; import org.eclipse.pde.api.tools.internal.util.Util; import org.eclipse.pde.api.tools.model.tests.TestSuiteHelper; import org.eclipse.pde.api.tools.tests.ApiTestsPlugin; @@ -164,10 +164,10 @@ // populate the workspace with initial plug-ins/projects createExistingProjects(BASELINE, true); IApiProfileManager manager = ApiPlugin.getDefault().getApiProfileManager(); - IApiProfile baseline = manager.getDefaultApiProfile(); + IApiBaseline baseline = manager.getDefaultApiProfile(); if (baseline == null) { // create the API baseline - IApiProfile profile = manager.getWorkspaceProfile(); + IApiBaseline profile = manager.getWorkspaceProfile(); IProject[] projects = getEnv().getWorkspace().getRoot().getProjects(); IPath baselineLocation = ApiTestsPlugin.getDefault().getStateLocation().append(BASELINE); for (int i = 0; i < projects.length; i++) {
diff --git a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/builder/tests/performance/ApiDescriptionTests.java b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/builder/tests/performance/ApiDescriptionTests.java index a0bbfd2..e80e0e6 100644 --- a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/builder/tests/performance/ApiDescriptionTests.java +++ b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/builder/tests/performance/ApiDescriptionTests.java
@@ -17,7 +17,7 @@ import org.eclipse.pde.api.tools.internal.provisional.ApiDescriptionVisitor; import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin; import org.eclipse.pde.api.tools.internal.provisional.IApiComponent; -import org.eclipse.pde.api.tools.internal.provisional.IApiProfile; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiBaseline; import org.eclipse.pde.api.tools.model.tests.TestSuiteHelper; import org.eclipse.test.performance.Dimension; @@ -64,7 +64,7 @@ for (int j = 0; j < 2; j++) { // *** clean & visit API description *** proj.build(IncrementalProjectBuilder.CLEAN_BUILD, ApiPlugin.BUILDER_ID, null, null); - IApiProfile profile = ApiPlugin.getDefault().getApiProfileManager().getWorkspaceProfile(); + IApiBaseline profile = ApiPlugin.getDefault().getApiProfileManager().getWorkspaceProfile(); IApiComponent component = profile.getApiComponent(proj.getName()); component.getApiDescription().accept(visitor); } @@ -74,7 +74,7 @@ // *** clean API description *** proj.build(IncrementalProjectBuilder.CLEAN_BUILD, ApiPlugin.BUILDER_ID, null, null); - IApiProfile profile = ApiPlugin.getDefault().getApiProfileManager().getWorkspaceProfile(); + IApiBaseline profile = ApiPlugin.getDefault().getApiProfileManager().getWorkspaceProfile(); IApiComponent component = profile.getApiComponent(proj.getName()); // ** Visit API description ***
diff --git a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/builder/tests/performance/PerformanceTest.java b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/builder/tests/performance/PerformanceTest.java index 5c57739..5966115 100644 --- a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/builder/tests/performance/PerformanceTest.java +++ b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/builder/tests/performance/PerformanceTest.java
@@ -41,8 +41,8 @@ import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin; import org.eclipse.pde.api.tools.internal.provisional.Factory; import org.eclipse.pde.api.tools.internal.provisional.IApiComponent; -import org.eclipse.pde.api.tools.internal.provisional.IApiProfile; import org.eclipse.pde.api.tools.internal.provisional.IApiProfileManager; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiBaseline; import org.eclipse.pde.api.tools.model.tests.TestSuiteHelper; import org.eclipse.pde.api.tools.tests.ApiTestsPlugin; import org.eclipse.ui.dialogs.IOverwriteQuery; @@ -174,7 +174,7 @@ IApiProfileManager manager = ApiPlugin.getDefault().getApiProfileManager(); IPath path = new Path(zipPath); String id = path.lastSegment(); - IApiProfile perfline = manager.getApiProfile(id); + IApiBaseline perfline = manager.getApiProfile(id); if (perfline == null) { // create the API baseline IPath baselineLocation = ApiTestsPlugin.getDefault().getStateLocation().append(id); @@ -195,7 +195,7 @@ manager.addApiProfile(perfline); manager.setDefaultApiProfile(perfline.getName()); } - IApiProfile baseline = manager.getDefaultApiProfile(); + IApiBaseline baseline = manager.getDefaultApiProfile(); if (baseline != perfline) { manager.setDefaultApiProfile(perfline.getName()); }
diff --git a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/AnnotationDeltaTests.java b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/AnnotationDeltaTests.java index 186ac82..32f53f5 100644 --- a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/AnnotationDeltaTests.java +++ b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/AnnotationDeltaTests.java
@@ -14,10 +14,10 @@ import junit.framework.TestSuite; import org.eclipse.pde.api.tools.internal.provisional.IApiComponent; -import org.eclipse.pde.api.tools.internal.provisional.IApiProfile; import org.eclipse.pde.api.tools.internal.provisional.comparator.ApiComparator; import org.eclipse.pde.api.tools.internal.provisional.comparator.DeltaProcessor; import org.eclipse.pde.api.tools.internal.provisional.comparator.IDelta; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiBaseline; /** * Delta tests for annotation @@ -44,8 +44,8 @@ */ public void test1() { deployBundles("test1"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -66,8 +66,8 @@ */ public void test2() { deployBundles("test2"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -88,8 +88,8 @@ */ public void test3() { deployBundles("test3"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -110,8 +110,8 @@ */ public void test4() { deployBundles("test4"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -181,8 +181,8 @@ */ public void test5() { deployBundles("test5"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -263,8 +263,8 @@ */ public void test6() { deployBundles("test6"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -340,8 +340,8 @@ */ public void test7() { deployBundles("test7"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -362,8 +362,8 @@ */ public void test8() { deployBundles("test8"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
diff --git a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/BundlesDeltaTests.java b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/BundlesDeltaTests.java index 0f18bda..fa510c2 100644 --- a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/BundlesDeltaTests.java +++ b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/BundlesDeltaTests.java
@@ -15,12 +15,12 @@ import org.eclipse.core.runtime.CoreException; import org.eclipse.pde.api.tools.internal.provisional.IApiComponent; -import org.eclipse.pde.api.tools.internal.provisional.IApiProfile; import org.eclipse.pde.api.tools.internal.provisional.IClassFile; import org.eclipse.pde.api.tools.internal.provisional.VisibilityModifiers; import org.eclipse.pde.api.tools.internal.provisional.comparator.ApiComparator; import org.eclipse.pde.api.tools.internal.provisional.comparator.DeltaProcessor; import org.eclipse.pde.api.tools.internal.provisional.comparator.IDelta; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiBaseline; /** * Delta tests for class @@ -184,8 +184,8 @@ */ public void test8() { deployBundles("test8"); - IApiProfile beforeState = getBeforeState(); - IApiProfile afterState = getAfterState(); + IApiBaseline beforeState = getBeforeState(); + IApiBaseline afterState = getAfterState(); IApiComponent referenceComponent = beforeState.getApiComponent("deltatest1"); IApiComponent component = afterState.getApiComponent("deltatest1"); try { @@ -478,8 +478,8 @@ */ public void test11() { deployBundles("test11"); - IApiProfile beforeState = getBeforeState(); - IApiProfile afterState = getAfterState(); + IApiBaseline beforeState = getBeforeState(); + IApiBaseline afterState = getAfterState(); IApiComponent apiComponent = afterState.getApiComponent("deltatest1"); assertNotNull("No api component", apiComponent); IApiComponent refApiComponent = beforeState.getApiComponent("deltatest1"); @@ -500,8 +500,8 @@ */ public void test12() { deployBundles("test12"); - IApiProfile beforeState = getBeforeState(); - IApiProfile afterState = getAfterState(); + IApiBaseline beforeState = getBeforeState(); + IApiBaseline afterState = getAfterState(); IApiComponent apiComponent = afterState.getApiComponent("deltatest1"); assertNotNull("No api component", apiComponent); IApiComponent refApiComponent = beforeState.getApiComponent("deltatest1"); @@ -521,8 +521,8 @@ */ public void test13() { deployBundles("test13"); - IApiProfile beforeState = getBeforeState(); - IApiProfile afterState = getAfterState(); + IApiBaseline beforeState = getBeforeState(); + IApiBaseline afterState = getAfterState(); IApiComponent apiComponent = afterState.getApiComponent("deltatest1"); assertNotNull("No api component", apiComponent); IApiComponent refApiComponent = beforeState.getApiComponent("deltatest1"); @@ -542,8 +542,8 @@ */ public void test14() { deployBundles("test14"); - IApiProfile beforeState = getBeforeState(); - IApiProfile afterState = getAfterState(); + IApiBaseline beforeState = getBeforeState(); + IApiBaseline afterState = getAfterState(); IApiComponent apiComponent = afterState.getApiComponent("deltatest1"); assertNotNull("No api component", apiComponent); IApiComponent refApiComponent = beforeState.getApiComponent("deltatest1");
diff --git a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/ClassDeltaTests.java b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/ClassDeltaTests.java index 25a37e0..4923a7a 100644 --- a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/ClassDeltaTests.java +++ b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/ClassDeltaTests.java
@@ -18,7 +18,6 @@ import org.eclipse.pde.api.tools.internal.comparator.DeltaXmlVisitor; import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin; import org.eclipse.pde.api.tools.internal.provisional.IApiComponent; -import org.eclipse.pde.api.tools.internal.provisional.IApiProfile; import org.eclipse.pde.api.tools.internal.provisional.IClassFile; import org.eclipse.pde.api.tools.internal.provisional.RestrictionModifiers; import org.eclipse.pde.api.tools.internal.provisional.VisibilityModifiers; @@ -26,6 +25,7 @@ import org.eclipse.pde.api.tools.internal.provisional.comparator.DeltaProcessor; import org.eclipse.pde.api.tools.internal.provisional.comparator.DeltaVisitor; import org.eclipse.pde.api.tools.internal.provisional.comparator.IDelta; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiBaseline; import org.eclipse.pde.api.tools.internal.util.Util; /** @@ -53,8 +53,8 @@ */ public void test1() { deployBundles("test1"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -76,8 +76,8 @@ */ public void test2() { deployBundles("test2"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -99,8 +99,8 @@ */ public void test3() { deployBundles("test3"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -116,8 +116,8 @@ */ public void test4() { deployBundles("test4"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -143,8 +143,8 @@ */ public void test5() { deployBundles("test5"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -160,8 +160,8 @@ */ public void test6() { deployBundles("test6"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -187,8 +187,8 @@ */ public void test7() { deployBundles("test7"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -209,8 +209,8 @@ */ public void test8() { deployBundles("test8"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -231,8 +231,8 @@ */ public void test9() { deployBundles("test9"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -253,8 +253,8 @@ */ public void test10() { deployBundles("test10"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -270,8 +270,8 @@ */ public void test11() { deployBundles("test11"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -293,8 +293,8 @@ */ public void test12() { deployBundles("test12"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -315,8 +315,8 @@ */ public void test13() { deployBundles("test13"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -338,8 +338,8 @@ */ public void test14() { deployBundles("test14"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -361,8 +361,8 @@ */ public void test15() { deployBundles("test15"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -384,8 +384,8 @@ */ public void test16() { deployBundles("test16"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -406,8 +406,8 @@ */ public void test17() { deployBundles("test17"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -429,8 +429,8 @@ */ public void test18() { deployBundles("test18"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -452,8 +452,8 @@ */ public void test19() { deployBundles("test19"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -475,8 +475,8 @@ */ public void test20() { deployBundles("test20"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -497,8 +497,8 @@ */ public void test21() { deployBundles("test21"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -520,8 +520,8 @@ */ public void test22() { deployBundles("test22"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -543,8 +543,8 @@ */ public void test23() { deployBundles("test23"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -565,8 +565,8 @@ */ public void test24() { deployBundles("test24"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -587,8 +587,8 @@ */ public void test25() { deployBundles("test25"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -609,8 +609,8 @@ */ public void test26() { deployBundles("test26"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -631,8 +631,8 @@ */ public void test27() { deployBundles("test27"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -653,8 +653,8 @@ */ public void test28() { deployBundles("test28"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -675,8 +675,8 @@ */ public void test29() { deployBundles("test29"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -697,8 +697,8 @@ */ public void test30() { deployBundles("test30"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -719,8 +719,8 @@ */ public void test31() { deployBundles("test31"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -741,8 +741,8 @@ */ public void test32() { deployBundles("test32"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -763,8 +763,8 @@ */ public void test33() { deployBundles("test33"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -783,8 +783,8 @@ */ public void test34() { deployBundles("test34"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -804,8 +804,8 @@ */ public void test35() { deployBundles("test35"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -826,8 +826,8 @@ */ public void test36() { deployBundles("test36"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -848,8 +848,8 @@ */ public void test37() { deployBundles("test37"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -871,8 +871,8 @@ */ public void test38() { deployBundles("test38"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -894,8 +894,8 @@ */ public void test39() { deployBundles("test39"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -917,8 +917,8 @@ */ public void test40() { deployBundles("test40"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -940,8 +940,8 @@ */ public void test41() { deployBundles("test41"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -963,8 +963,8 @@ */ public void test42() { deployBundles("test42"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -984,8 +984,8 @@ */ public void test43() { deployBundles("test43"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1006,8 +1006,8 @@ */ public void test44() { deployBundles("test44"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1028,8 +1028,8 @@ */ public void test45() { deployBundles("test45"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1050,8 +1050,8 @@ */ public void test46() { deployBundles("test46"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1072,8 +1072,8 @@ */ public void test47() { deployBundles("test47"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1094,8 +1094,8 @@ */ public void test48() { deployBundles("test48"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1121,8 +1121,8 @@ */ public void test49() { deployBundles("test49"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1148,8 +1148,8 @@ */ public void test50() { deployBundles("test50"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1185,8 +1185,8 @@ */ public void test51() { deployBundles("test51"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1222,8 +1222,8 @@ */ public void test52() { deployBundles("test52"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1249,8 +1249,8 @@ */ public void test53() { deployBundles("test53"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1271,8 +1271,8 @@ */ public void test54() { deployBundles("test54"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1293,8 +1293,8 @@ */ public void test55() { deployBundles("test55"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1315,8 +1315,8 @@ */ public void test56() { deployBundles("test56"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1343,8 +1343,8 @@ */ public void test57() { deployBundles("test57"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1371,8 +1371,8 @@ */ public void test58() { deployBundles("test58"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1388,8 +1388,8 @@ */ public void test59() { deployBundles("test59"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1405,8 +1405,8 @@ */ public void test60() { deployBundles("test60"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1422,8 +1422,8 @@ */ public void test61() { deployBundles("test61"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1439,8 +1439,8 @@ */ public void test62() { deployBundles("test62"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1462,8 +1462,8 @@ */ public void test63() { deployBundles("test63"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1486,8 +1486,8 @@ */ public void test64() { deployBundles("test64"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1509,8 +1509,8 @@ */ public void test65() { deployBundles("test65"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1531,8 +1531,8 @@ */ public void test66() { deployBundles("test66"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1554,8 +1554,8 @@ */ public void test67() { deployBundles("test67"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1576,8 +1576,8 @@ */ public void test68() { deployBundles("test68"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1599,8 +1599,8 @@ */ public void test69() { deployBundles("test69"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1623,8 +1623,8 @@ */ public void test70() { deployBundles("test70"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1645,8 +1645,8 @@ */ public void test71() { deployBundles("test71"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1674,8 +1674,8 @@ */ public void test72() { deployBundles("test72"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1702,8 +1702,8 @@ */ public void test73() { deployBundles("test73"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1730,8 +1730,8 @@ */ public void test74() { deployBundles("test74"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1753,8 +1753,8 @@ */ public void test75() { deployBundles("test75"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1776,8 +1776,8 @@ */ public void test76() { deployBundles("test76"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1793,8 +1793,8 @@ */ public void test77() { deployBundles("test77"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1815,8 +1815,8 @@ */ public void test78() { deployBundles("test78"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1838,8 +1838,8 @@ */ public void test79() { deployBundles("test79"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1866,8 +1866,8 @@ */ public void test80() { deployBundles("test80"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1894,8 +1894,8 @@ */ public void test81() { deployBundles("test81"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1917,8 +1917,8 @@ */ public void test82() { deployBundles("test82"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1938,8 +1938,8 @@ */ public void test83() { deployBundles("test83"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1961,8 +1961,8 @@ */ public void test84() { deployBundles("test84"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1984,8 +1984,8 @@ */ public void test85() { deployBundles("test85"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -2006,8 +2006,8 @@ */ public void test86() { deployBundles("test86"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -2029,8 +2029,8 @@ */ public void test87() { deployBundles("test87"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -2052,8 +2052,8 @@ */ public void test88() { deployBundles("test88"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -2075,8 +2075,8 @@ */ public void test89() { deployBundles("test89"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -2098,8 +2098,8 @@ */ public void test90() { deployBundles("test90"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -2121,8 +2121,8 @@ */ public void test91() { deployBundles("test91"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -2144,8 +2144,8 @@ */ public void test92() { deployBundles("test92"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -2167,8 +2167,8 @@ */ public void test93() { deployBundles("test93"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -2190,8 +2190,8 @@ */ public void test94() { deployBundles("test94"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -2213,8 +2213,8 @@ */ public void test95() { deployBundles("test95"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -2236,8 +2236,8 @@ */ public void test96() { deployBundles("test96"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -2259,8 +2259,8 @@ */ public void test97() { deployBundles("test97"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -2286,8 +2286,8 @@ */ public void test98() { deployBundles("test98"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -2333,8 +2333,8 @@ */ public void test99() { deployBundles("test99"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -2364,8 +2364,8 @@ */ public void test100() { deployBundles("test100"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -2387,8 +2387,8 @@ */ public void test101() { deployBundles("test101"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -2409,8 +2409,8 @@ */ public void test102() { deployBundles("test102"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -2431,8 +2431,8 @@ */ public void test103() { deployBundles("test103"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -2453,8 +2453,8 @@ */ public void test104() { deployBundles("test104"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -2478,8 +2478,8 @@ */ public void test105() { deployBundles("test105"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -2502,8 +2502,8 @@ */ public void test106() { deployBundles("test106"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -2525,8 +2525,8 @@ */ public void test107() { deployBundles("test107"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -2549,8 +2549,8 @@ */ public void test108() { deployBundles("test108"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -2570,8 +2570,8 @@ */ public void test109() { deployBundles("test109"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -2594,8 +2594,8 @@ */ public void test110() { deployBundles("test110"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -2618,8 +2618,8 @@ */ public void test111() { deployBundles("test111"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -2641,8 +2641,8 @@ */ public void test112() { deployBundles("test112"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -2664,8 +2664,8 @@ */ public void test113() { deployBundles("test113"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -2688,8 +2688,8 @@ */ public void test114() { deployBundles("test114"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -2711,8 +2711,8 @@ */ public void test115() { deployBundles("test115"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -2737,8 +2737,8 @@ */ public void test116() { deployBundles("test116"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -2759,8 +2759,8 @@ */ public void test117() { deployBundles("test117"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -2780,8 +2780,8 @@ */ public void test118() { deployBundles("test118"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -2801,8 +2801,8 @@ */ public void test119() { deployBundles("test119"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -2816,8 +2816,8 @@ */ public void test120() { deployBundles("test120"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -2831,8 +2831,8 @@ */ public void test121() { deployBundles("test121"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -2846,8 +2846,8 @@ */ public void test122() { deployBundles("test122"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -2873,8 +2873,8 @@ */ public void test123() { deployBundles("test123"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -2904,8 +2904,8 @@ */ public void test124() { deployBundles("test124"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -2935,8 +2935,8 @@ */ public void test125() { deployBundles("test125"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -2956,8 +2956,8 @@ */ public void test126() { deployBundles("test126"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -2982,8 +2982,8 @@ */ public void test127() { deployBundles("test127"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -3004,8 +3004,8 @@ */ public void test128() { deployBundles("test128"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -3027,8 +3027,8 @@ */ public void test129() { deployBundles("test129"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -3059,8 +3059,8 @@ */ public void test130() { deployBundles("test130"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -3085,8 +3085,8 @@ */ public void test131() { deployBundles("test131"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -3106,8 +3106,8 @@ */ public void test132() { deployBundles("test132"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -3121,8 +3121,8 @@ */ public void test133() { deployBundles("test133"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -3142,8 +3142,8 @@ */ public void test134() { deployBundles("test134"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -3163,8 +3163,8 @@ */ public void test135() { deployBundles("test135"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -3178,8 +3178,8 @@ */ public void test136() { deployBundles("test136"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -3199,8 +3199,8 @@ */ public void test137() { deployBundles("test137"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -3214,8 +3214,8 @@ */ public void test138() { deployBundles("test138"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
diff --git a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/DeltaTestSetup.java b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/DeltaTestSetup.java index a3c3794..5b1432b 100644 --- a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/DeltaTestSetup.java +++ b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/DeltaTestSetup.java
@@ -22,9 +22,9 @@ import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.Path; import org.eclipse.pde.api.tools.internal.builder.BuilderMessages; -import org.eclipse.pde.api.tools.internal.provisional.IApiProfile; import org.eclipse.pde.api.tools.internal.provisional.comparator.ApiComparator; import org.eclipse.pde.api.tools.internal.provisional.comparator.IDelta; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiBaseline; import org.eclipse.pde.api.tools.model.tests.TestSuiteHelper; public abstract class DeltaTestSetup extends TestCase { @@ -114,8 +114,8 @@ } } - protected IApiProfile getBeforeState() { - IApiProfile state = null; + protected IApiBaseline getBeforeState() { + IApiBaseline state = null; try { state = TestSuiteHelper.createTestingProfile(getBaseLineFolder(BEFORE)); } catch (CoreException e) { @@ -125,8 +125,8 @@ return state; } - protected IApiProfile getAfterState() { - IApiProfile state = null; + protected IApiBaseline getAfterState() { + IApiBaseline state = null; try { state = TestSuiteHelper.createTestingProfile(getBaseLineFolder(AFTER)); } catch (CoreException e) {
diff --git a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/EnumDeltaTests.java b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/EnumDeltaTests.java index 15046c3..f5f8684 100644 --- a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/EnumDeltaTests.java +++ b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/EnumDeltaTests.java
@@ -14,11 +14,11 @@ import junit.framework.TestSuite; import org.eclipse.pde.api.tools.internal.provisional.IApiComponent; -import org.eclipse.pde.api.tools.internal.provisional.IApiProfile; import org.eclipse.pde.api.tools.internal.provisional.VisibilityModifiers; import org.eclipse.pde.api.tools.internal.provisional.comparator.ApiComparator; import org.eclipse.pde.api.tools.internal.provisional.comparator.DeltaProcessor; import org.eclipse.pde.api.tools.internal.provisional.comparator.IDelta; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiBaseline; import org.eclipse.pde.api.tools.internal.util.Util; /** @@ -46,8 +46,8 @@ */ public void test1() { deployBundles("test1"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -68,8 +68,8 @@ */ public void test2() { deployBundles("test2"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -95,8 +95,8 @@ */ public void test3() { deployBundles("test3"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -124,8 +124,8 @@ */ public void test4() { deployBundles("test4"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -153,8 +153,8 @@ */ public void test5() { deployBundles("test5"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -175,8 +175,8 @@ */ public void test6() { deployBundles("test6"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -192,8 +192,8 @@ */ public void test7() { deployBundles("test7"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -215,8 +215,8 @@ */ public void test8() { deployBundles("test8"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -237,8 +237,8 @@ */ public void test9() { deployBundles("test9"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -259,8 +259,8 @@ */ public void test10() { deployBundles("test10"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -274,8 +274,8 @@ */ public void test11() { deployBundles("test11"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -296,8 +296,8 @@ */ public void test12() { deployBundles("test12"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
diff --git a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/FieldDeltaTests.java b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/FieldDeltaTests.java index 3cc86bb..b4900ab 100644 --- a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/FieldDeltaTests.java +++ b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/FieldDeltaTests.java
@@ -14,12 +14,12 @@ import junit.framework.TestSuite; import org.eclipse.pde.api.tools.internal.provisional.IApiComponent; -import org.eclipse.pde.api.tools.internal.provisional.IApiProfile; import org.eclipse.pde.api.tools.internal.provisional.RestrictionModifiers; import org.eclipse.pde.api.tools.internal.provisional.VisibilityModifiers; import org.eclipse.pde.api.tools.internal.provisional.comparator.ApiComparator; import org.eclipse.pde.api.tools.internal.provisional.comparator.DeltaProcessor; import org.eclipse.pde.api.tools.internal.provisional.comparator.IDelta; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiBaseline; import org.eclipse.pde.api.tools.internal.util.Util; /** @@ -46,8 +46,8 @@ */ public void test1() { deployBundles("test1"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -68,8 +68,8 @@ */ public void test2() { deployBundles("test2"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -90,8 +90,8 @@ */ public void test3() { deployBundles("test3"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -113,8 +113,8 @@ */ public void test4() { deployBundles("test4"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -136,8 +136,8 @@ */ public void test5() { deployBundles("test5"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -153,8 +153,8 @@ */ public void test6() { deployBundles("test6"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -175,8 +175,8 @@ */ public void test7() { deployBundles("test7"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -197,8 +197,8 @@ */ public void test8() { deployBundles("test8"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -219,8 +219,8 @@ */ public void test9() { deployBundles("test9"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -241,8 +241,8 @@ */ public void test10() { deployBundles("test10"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -263,8 +263,8 @@ */ public void test11() { deployBundles("test11"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -285,8 +285,8 @@ */ public void test12() { deployBundles("test12"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -312,8 +312,8 @@ */ public void test13() { deployBundles("test13"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -339,8 +339,8 @@ */ public void test14() { deployBundles("test14"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -366,8 +366,8 @@ */ public void test15() { deployBundles("test15"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -388,8 +388,8 @@ */ public void test16() { deployBundles("test16"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -410,8 +410,8 @@ */ public void test17() { deployBundles("test17"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -432,8 +432,8 @@ */ public void test18() { deployBundles("test18"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -454,8 +454,8 @@ */ public void test19() { deployBundles("test19"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -476,8 +476,8 @@ */ public void test20() { deployBundles("test20"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -498,8 +498,8 @@ */ public void test21() { deployBundles("test21"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -520,8 +520,8 @@ */ public void test22() { deployBundles("test22"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -547,8 +547,8 @@ */ public void test23() { deployBundles("test23"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -575,8 +575,8 @@ */ public void test24() { deployBundles("test24"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -598,8 +598,8 @@ */ public void test25() { deployBundles("test25"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -626,8 +626,8 @@ */ public void test26() { deployBundles("test26"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -649,8 +649,8 @@ */ public void test27() { deployBundles("test27"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -678,8 +678,8 @@ */ public void test28() { deployBundles("test28"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -701,8 +701,8 @@ */ public void test29() { deployBundles("test29"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -722,8 +722,8 @@ */ public void test30() { deployBundles("test30"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -744,8 +744,8 @@ */ public void test31() { deployBundles("test31"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -765,8 +765,8 @@ */ public void test32() { deployBundles("test32"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -787,8 +787,8 @@ */ public void test33() { deployBundles("test33"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -809,8 +809,8 @@ */ public void test34() { deployBundles("test34"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -836,8 +836,8 @@ */ public void test35() { deployBundles("test35"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -860,8 +860,8 @@ */ public void test36() { deployBundles("test36"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -888,8 +888,8 @@ */ public void test37() { deployBundles("test37"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -912,8 +912,8 @@ */ public void test38() { deployBundles("test38"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -942,8 +942,8 @@ */ public void test39() { deployBundles("test39"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -974,8 +974,8 @@ */ public void test40() { deployBundles("test40"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1021,8 +1021,8 @@ */ public void test41() { deployBundles("test41"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1044,8 +1044,8 @@ */ public void test42() { deployBundles("test42"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1065,8 +1065,8 @@ */ public void test43() { deployBundles("test43"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1087,8 +1087,8 @@ */ public void test44() { deployBundles("test44"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1108,8 +1108,8 @@ */ public void test45() { deployBundles("test45"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1129,8 +1129,8 @@ */ public void test46() { deployBundles("test46"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1145,8 +1145,8 @@ */ public void test47() { deployBundles("test47"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1166,8 +1166,8 @@ */ public void test48() { deployBundles("test48"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1187,8 +1187,8 @@ */ public void test49() { deployBundles("test49"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1202,8 +1202,8 @@ */ public void test50() { deployBundles("test50"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1223,8 +1223,8 @@ */ public void test51() { deployBundles("test51"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1244,8 +1244,8 @@ */ public void test52() { deployBundles("test52"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1265,8 +1265,8 @@ */ public void test53() { deployBundles("test53"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1287,8 +1287,8 @@ */ public void test54() { deployBundles("test54"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1309,8 +1309,8 @@ */ public void test55() { deployBundles("test55"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1324,8 +1324,8 @@ */ public void test56() { deployBundles("test56"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1346,8 +1346,8 @@ */ public void test57() { deployBundles("test57"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1362,8 +1362,8 @@ */ public void test58() { deployBundles("test58"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1377,8 +1377,8 @@ */ public void test59() { deployBundles("test59"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1399,8 +1399,8 @@ */ public void test60() { deployBundles("test60"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1425,8 +1425,8 @@ */ public void test61() { deployBundles("test61"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1451,8 +1451,8 @@ */ public void test62() { deployBundles("test62"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1466,8 +1466,8 @@ */ public void test63() { deployBundles("test63"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1489,8 +1489,8 @@ */ public void test64() { deployBundles("test64"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1511,8 +1511,8 @@ */ public void test65() { deployBundles("test65"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1541,8 +1541,8 @@ */ public void test66() { deployBundles("test66"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1564,8 +1564,8 @@ */ public void test67() { deployBundles("test67"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1587,8 +1587,8 @@ */ public void test68() { deployBundles("test68"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1617,8 +1617,8 @@ */ public void test69() { deployBundles("test69"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1640,8 +1640,8 @@ */ public void test70() { deployBundles("test70"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1663,8 +1663,8 @@ */ public void test71() { deployBundles("test71"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1686,8 +1686,8 @@ */ public void test72() { deployBundles("test72"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1709,8 +1709,8 @@ */ public void test73() { deployBundles("test73"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1732,8 +1732,8 @@ */ public void test74() { deployBundles("test74"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
diff --git a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/InterfaceDeltaTests.java b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/InterfaceDeltaTests.java index 4d1282f..4f9e335 100644 --- a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/InterfaceDeltaTests.java +++ b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/InterfaceDeltaTests.java
@@ -14,11 +14,11 @@ import junit.framework.TestSuite; import org.eclipse.pde.api.tools.internal.provisional.IApiComponent; -import org.eclipse.pde.api.tools.internal.provisional.IApiProfile; import org.eclipse.pde.api.tools.internal.provisional.RestrictionModifiers; import org.eclipse.pde.api.tools.internal.provisional.comparator.ApiComparator; import org.eclipse.pde.api.tools.internal.provisional.comparator.DeltaProcessor; import org.eclipse.pde.api.tools.internal.provisional.comparator.IDelta; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiBaseline; /** * Delta tests for interface @@ -44,8 +44,8 @@ */ public void test1() { deployBundles("test1"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -66,8 +66,8 @@ */ public void test2() { deployBundles("test2"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -88,8 +88,8 @@ */ public void test3() { deployBundles("test3"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -105,8 +105,8 @@ */ public void test4() { deployBundles("test4"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -127,8 +127,8 @@ */ public void test5() { deployBundles("test5"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -149,8 +149,8 @@ */ public void test6() { deployBundles("test6"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -176,8 +176,8 @@ */ public void test7() { deployBundles("test7"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -198,8 +198,8 @@ */ public void test8() { deployBundles("test8"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -235,8 +235,8 @@ */ public void test9() { deployBundles("test9"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -262,8 +262,8 @@ */ public void test10() { deployBundles("test10"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -284,8 +284,8 @@ */ public void test11() { deployBundles("test11"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -306,8 +306,8 @@ */ public void test12() { deployBundles("test12"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -328,8 +328,8 @@ */ public void test13() { deployBundles("test13"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -350,8 +350,8 @@ */ public void test14() { deployBundles("test14"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -373,8 +373,8 @@ */ public void test15() { deployBundles("test15"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -396,8 +396,8 @@ */ public void test16() { deployBundles("test16"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -424,8 +424,8 @@ */ public void test17() { deployBundles("test17"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -452,8 +452,8 @@ */ public void test18() { deployBundles("test18"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -475,8 +475,8 @@ */ public void test19() { deployBundles("test19"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -498,8 +498,8 @@ */ public void test20() { deployBundles("test20"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -527,8 +527,8 @@ */ public void test21() { deployBundles("test21"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -549,8 +549,8 @@ */ public void test22() { deployBundles("test22"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -578,8 +578,8 @@ */ public void test23() { deployBundles("test23"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -606,8 +606,8 @@ */ public void test24() { deployBundles("test24"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
diff --git a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/MethodDeltaTests.java b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/MethodDeltaTests.java index 23b875e..307903c 100644 --- a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/MethodDeltaTests.java +++ b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/MethodDeltaTests.java
@@ -14,12 +14,12 @@ import junit.framework.TestSuite; import org.eclipse.pde.api.tools.internal.provisional.IApiComponent; -import org.eclipse.pde.api.tools.internal.provisional.IApiProfile; import org.eclipse.pde.api.tools.internal.provisional.RestrictionModifiers; import org.eclipse.pde.api.tools.internal.provisional.VisibilityModifiers; import org.eclipse.pde.api.tools.internal.provisional.comparator.ApiComparator; import org.eclipse.pde.api.tools.internal.provisional.comparator.DeltaProcessor; import org.eclipse.pde.api.tools.internal.provisional.comparator.IDelta; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiBaseline; import org.eclipse.pde.api.tools.internal.util.Util; /** @@ -47,8 +47,8 @@ */ public void test1() { deployBundles("test1"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -64,8 +64,8 @@ */ public void test2() { deployBundles("test2"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -81,8 +81,8 @@ */ public void test3() { deployBundles("test3"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -109,8 +109,8 @@ */ public void test4() { deployBundles("test4"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -137,8 +137,8 @@ */ public void test5() { deployBundles("test5"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -165,8 +165,8 @@ */ public void test6() { deployBundles("test6"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -193,8 +193,8 @@ */ public void test7() { deployBundles("test7"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -221,8 +221,8 @@ */ public void test8() { deployBundles("test8"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -243,8 +243,8 @@ */ public void test9() { deployBundles("test9"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -265,8 +265,8 @@ */ public void test10() { deployBundles("test10"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -287,8 +287,8 @@ */ public void test11() { deployBundles("test11"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -309,8 +309,8 @@ */ public void test12() { deployBundles("test12"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -326,8 +326,8 @@ */ public void test13() { deployBundles("test13"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -348,8 +348,8 @@ */ public void test14() { deployBundles("test14"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -370,8 +370,8 @@ */ public void test15() { deployBundles("test15"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -392,8 +392,8 @@ */ public void test16() { deployBundles("test16"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -414,8 +414,8 @@ */ public void test17() { deployBundles("test17"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -436,8 +436,8 @@ */ public void test18() { deployBundles("test18"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -459,8 +459,8 @@ */ public void test19() { deployBundles("test19"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -481,8 +481,8 @@ */ public void test20() { deployBundles("test20"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -504,8 +504,8 @@ */ public void test21() { deployBundles("test21"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -526,8 +526,8 @@ */ public void test22() { deployBundles("test22"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -548,8 +548,8 @@ */ public void test23() { deployBundles("test23"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -570,8 +570,8 @@ */ public void test24() { deployBundles("test24"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -593,8 +593,8 @@ */ public void test25() { deployBundles("test25"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -615,8 +615,8 @@ */ public void test26() { deployBundles("test26"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -637,8 +637,8 @@ */ public void test27() { deployBundles("test27"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -659,8 +659,8 @@ */ public void test28() { deployBundles("test28"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -681,8 +681,8 @@ */ public void test29() { deployBundles("test29"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -703,8 +703,8 @@ */ public void test30() { deployBundles("test30"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -725,8 +725,8 @@ */ public void test31() { deployBundles("test31"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -747,8 +747,8 @@ */ public void test32() { deployBundles("test32"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -769,8 +769,8 @@ */ public void test33() { deployBundles("test33"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -791,8 +791,8 @@ */ public void test34() { deployBundles("test34"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -813,8 +813,8 @@ */ public void test35() { deployBundles("test35"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -835,8 +835,8 @@ */ public void test36() { deployBundles("test36"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -882,8 +882,8 @@ */ public void test37() { deployBundles("test37"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -904,8 +904,8 @@ */ public void test38() { deployBundles("test38"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -926,8 +926,8 @@ */ public void test39() { deployBundles("test39"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -948,8 +948,8 @@ */ public void test40() { deployBundles("test40"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -970,8 +970,8 @@ */ public void test41() { deployBundles("test41"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -992,8 +992,8 @@ */ public void test42() { deployBundles("test42"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1014,8 +1014,8 @@ */ public void test43() { deployBundles("test43"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1036,8 +1036,8 @@ */ public void test44() { deployBundles("test44"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1058,8 +1058,8 @@ */ public void test45() { deployBundles("test45"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1080,8 +1080,8 @@ */ public void test46() { deployBundles("test46"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1102,8 +1102,8 @@ */ public void test47() { deployBundles("test47"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1131,8 +1131,8 @@ */ public void test48() { deployBundles("test48"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1154,8 +1154,8 @@ */ public void test49() { deployBundles("test49"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1177,8 +1177,8 @@ */ public void test50() { deployBundles("test50"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1193,8 +1193,8 @@ */ public void test51() { deployBundles("test51"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1217,8 +1217,8 @@ */ public void test52() { deployBundles("test52"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1240,8 +1240,8 @@ */ public void test53() { deployBundles("test53"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1264,8 +1264,8 @@ */ public void test54() { deployBundles("test54"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1287,8 +1287,8 @@ */ public void test55() { deployBundles("test55"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1310,8 +1310,8 @@ */ public void test56() { deployBundles("test56"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1333,8 +1333,8 @@ */ public void test57() { deployBundles("test57"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1356,8 +1356,8 @@ */ public void test58() { deployBundles("test58"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1379,8 +1379,8 @@ */ public void test59() { deployBundles("test59"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1400,8 +1400,8 @@ */ public void test60() { deployBundles("test60"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1421,8 +1421,8 @@ */ public void test61() { deployBundles("test61"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1444,8 +1444,8 @@ */ public void test62() { deployBundles("test62"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1467,8 +1467,8 @@ */ public void test63() { deployBundles("test63"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1489,8 +1489,8 @@ */ public void test64() { deployBundles("test64"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1511,8 +1511,8 @@ */ public void test65() { deployBundles("test65"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1526,8 +1526,8 @@ */ public void test66() { deployBundles("test66"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1548,8 +1548,8 @@ */ public void test67() { deployBundles("test67"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1570,8 +1570,8 @@ */ public void test68() { deployBundles("test68"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1592,8 +1592,8 @@ */ public void test69() { deployBundles("test69"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1607,8 +1607,8 @@ */ public void test70() { deployBundles("test70"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1629,8 +1629,8 @@ */ public void test71() { deployBundles("test71"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1651,8 +1651,8 @@ */ public void test72() { deployBundles("test72"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1673,8 +1673,8 @@ */ public void test73() { deployBundles("test73"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1688,8 +1688,8 @@ */ public void test74() { deployBundles("test74"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1710,8 +1710,8 @@ */ public void test75() { deployBundles("test75"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1732,8 +1732,8 @@ */ public void test76() { deployBundles("test76"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1754,8 +1754,8 @@ */ public void test77() { deployBundles("test77"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1769,8 +1769,8 @@ */ public void test78() { deployBundles("test78"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1791,8 +1791,8 @@ */ public void test79() { deployBundles("test79"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1813,8 +1813,8 @@ */ public void test80() { deployBundles("test80"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1828,8 +1828,8 @@ */ public void test81() { deployBundles("test81"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1856,8 +1856,8 @@ */ public void test82() { deployBundles("test82"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1890,8 +1890,8 @@ */ public void test83() { deployBundles("test83"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1918,8 +1918,8 @@ */ public void test84() { deployBundles("test84"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1952,8 +1952,8 @@ */ public void test85() { deployBundles("test85"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1967,8 +1967,8 @@ */ public void test86() { deployBundles("test86"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -1990,8 +1990,8 @@ */ public void test87() { deployBundles("test87"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -2014,8 +2014,8 @@ */ public void test88() { deployBundles("test88"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -2036,8 +2036,8 @@ */ public void test89() { deployBundles("test89"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -2058,8 +2058,8 @@ */ public void test90() { deployBundles("test90"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -2081,8 +2081,8 @@ */ public void test91() { deployBundles("test91"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -2104,8 +2104,8 @@ */ public void test92() { deployBundles("test92"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -2127,8 +2127,8 @@ */ public void test93() { deployBundles("test93"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -2150,8 +2150,8 @@ */ public void test94() { deployBundles("test94"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -2173,8 +2173,8 @@ */ public void test95() { deployBundles("test95"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -2196,8 +2196,8 @@ */ public void test96() { deployBundles("test96"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -2219,8 +2219,8 @@ */ public void test97() { deployBundles("test97"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -2242,8 +2242,8 @@ */ public void test98() { deployBundles("test98"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -2265,8 +2265,8 @@ */ public void test99() { deployBundles("test99"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -2287,8 +2287,8 @@ */ public void test100() { deployBundles("test100"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -2309,8 +2309,8 @@ */ public void test101() { deployBundles("test101"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -2331,8 +2331,8 @@ */ public void test102() { deployBundles("test102"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -2353,8 +2353,8 @@ */ public void test103() { deployBundles("test103"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -2375,8 +2375,8 @@ */ public void test104() { deployBundles("test104"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -2398,8 +2398,8 @@ */ public void test105() { deployBundles("test105"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -2413,8 +2413,8 @@ */ public void test106() { deployBundles("test105"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -2428,8 +2428,8 @@ */ public void test107() { deployBundles("test107"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -2443,8 +2443,8 @@ */ public void test108() { deployBundles("test108"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -2458,8 +2458,8 @@ */ public void test109() { deployBundles("test109"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -2481,8 +2481,8 @@ */ public void test110() { deployBundles("test110"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -2505,8 +2505,8 @@ */ public void test111() { deployBundles("test111"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -2528,8 +2528,8 @@ */ public void test112() { deployBundles("test112"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -2543,8 +2543,8 @@ */ public void test113() { deployBundles("test113"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -2565,8 +2565,8 @@ */ public void test114() { deployBundles("test114"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -2580,8 +2580,8 @@ */ public void test115() { deployBundles("test115"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
diff --git a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/MixedTypesDeltaTests.java b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/MixedTypesDeltaTests.java index 2571e31..f3dde62 100644 --- a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/MixedTypesDeltaTests.java +++ b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/MixedTypesDeltaTests.java
@@ -14,10 +14,10 @@ import junit.framework.TestSuite; import org.eclipse.pde.api.tools.internal.provisional.IApiComponent; -import org.eclipse.pde.api.tools.internal.provisional.IApiProfile; import org.eclipse.pde.api.tools.internal.provisional.comparator.ApiComparator; import org.eclipse.pde.api.tools.internal.provisional.comparator.DeltaProcessor; import org.eclipse.pde.api.tools.internal.provisional.comparator.IDelta; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiBaseline; /** * Delta tests for mixed types (conversion from interface to other types, and so on) @@ -44,8 +44,8 @@ */ public void test1() { deployBundles("test1"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -66,8 +66,8 @@ */ public void test2() { deployBundles("test2"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -88,8 +88,8 @@ */ public void test3() { deployBundles("test3"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -110,8 +110,8 @@ */ public void test4() { deployBundles("test4"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -132,8 +132,8 @@ */ public void test5() { deployBundles("test5"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -154,8 +154,8 @@ */ public void test6() { deployBundles("test6"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -176,8 +176,8 @@ */ public void test7() { deployBundles("test7"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -198,8 +198,8 @@ */ public void test8() { deployBundles("test8"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -220,8 +220,8 @@ */ public void test9() { deployBundles("test9"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -242,8 +242,8 @@ */ public void test10() { deployBundles("test10"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -264,8 +264,8 @@ */ public void test11() { deployBundles("test11"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -286,8 +286,8 @@ */ public void test12() { deployBundles("test12"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
diff --git a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/RestrictionsDeltaTests.java b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/RestrictionsDeltaTests.java index 2c47d9f..21b97d1 100644 --- a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/RestrictionsDeltaTests.java +++ b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/RestrictionsDeltaTests.java
@@ -14,11 +14,11 @@ import junit.framework.TestSuite; import org.eclipse.pde.api.tools.internal.provisional.IApiComponent; -import org.eclipse.pde.api.tools.internal.provisional.IApiProfile; import org.eclipse.pde.api.tools.internal.provisional.RestrictionModifiers; import org.eclipse.pde.api.tools.internal.provisional.comparator.ApiComparator; import org.eclipse.pde.api.tools.internal.provisional.comparator.DeltaProcessor; import org.eclipse.pde.api.tools.internal.provisional.comparator.IDelta; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiBaseline; /** * Delta tests for restrictions delta @@ -45,8 +45,8 @@ */ public void test1() { deployBundles("test1"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -72,8 +72,8 @@ */ public void test2() { deployBundles("test3"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -99,8 +99,8 @@ */ public void test3() { deployBundles("test3"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME); @@ -126,8 +126,8 @@ */ public void test4() { deployBundles("test4"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); assertTrue("Has no description", beforeApiComponent.hasApiDescription()); @@ -149,8 +149,8 @@ */ public void test5() { deployBundles("test5"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); assertTrue("Has no description", beforeApiComponent.hasApiDescription()); @@ -172,8 +172,8 @@ */ public void test6() { deployBundles("test6"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); assertTrue("Has no description", beforeApiComponent.hasApiDescription()); @@ -189,8 +189,8 @@ */ public void test7() { deployBundles("test7"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); assertTrue("Has no description", beforeApiComponent.hasApiDescription()); @@ -206,8 +206,8 @@ */ public void test8() { deployBundles("test8"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); assertTrue("Has no description", beforeApiComponent.hasApiDescription()); @@ -223,8 +223,8 @@ */ public void test9() { deployBundles("test9"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); assertTrue("Has no description", beforeApiComponent.hasApiDescription()); @@ -241,8 +241,8 @@ */ public void test10() { deployBundles("test10"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); assertTrue("Has no description", beforeApiComponent.hasApiDescription()); @@ -258,8 +258,8 @@ */ public void test11() { deployBundles("test11"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); assertTrue("Has no description", beforeApiComponent.hasApiDescription()); @@ -276,8 +276,8 @@ */ public void test12() { deployBundles("test12"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); assertTrue("Has no description", beforeApiComponent.hasApiDescription()); @@ -300,8 +300,8 @@ */ public void test13() { deployBundles("test13"); - IApiProfile before = getBeforeState(); - IApiProfile after = getAfterState(); + IApiBaseline before = getBeforeState(); + IApiBaseline after = getAfterState(); IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME); assertNotNull("no api component", beforeApiComponent); assertTrue("Has no description", beforeApiComponent.hasApiDescription());
diff --git a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/model/tests/ApiDescriptionTests.java b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/model/tests/ApiDescriptionTests.java index 4c0b2e2..ce6f06a 100644 --- a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/model/tests/ApiDescriptionTests.java +++ b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/model/tests/ApiDescriptionTests.java
@@ -22,20 +22,20 @@ import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IPath; import org.eclipse.jdt.core.Signature; -import org.eclipse.pde.api.tools.internal.ApiDescription; import org.eclipse.pde.api.tools.internal.ApiSettingsXmlVisitor; import org.eclipse.pde.api.tools.internal.IApiCoreConstants; +import org.eclipse.pde.api.tools.internal.model.ApiDescription; import org.eclipse.pde.api.tools.internal.provisional.ApiDescriptionVisitor; import org.eclipse.pde.api.tools.internal.provisional.Factory; import org.eclipse.pde.api.tools.internal.provisional.IApiAnnotations; import org.eclipse.pde.api.tools.internal.provisional.IApiComponent; -import org.eclipse.pde.api.tools.internal.provisional.IApiDescription; -import org.eclipse.pde.api.tools.internal.provisional.IApiProfile; import org.eclipse.pde.api.tools.internal.provisional.RestrictionModifiers; import org.eclipse.pde.api.tools.internal.provisional.VisibilityModifiers; import org.eclipse.pde.api.tools.internal.provisional.descriptors.IElementDescriptor; import org.eclipse.pde.api.tools.internal.provisional.descriptors.IPackageDescriptor; import org.eclipse.pde.api.tools.internal.provisional.descriptors.IReferenceTypeDescriptor; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiDescription; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiBaseline; import org.eclipse.pde.api.tools.internal.provisional.scanner.ApiDescriptionProcessor; import org.eclipse.pde.api.tools.internal.util.Util; @@ -267,7 +267,7 @@ path = path.append("test-xml"); File file = path.toFile(); assertTrue("Missing xml directory", file.exists()); - IApiProfile baseline = TestSuiteHelper.newApiProfile("test", TestSuiteHelper.getEEDescriptionFile()); + IApiBaseline baseline = TestSuiteHelper.newApiProfile("test", TestSuiteHelper.getEEDescriptionFile()); IApiComponent component = baseline.newApiComponent(file.getAbsolutePath()); baseline.addApiComponents(new IApiComponent[] { component }); @@ -788,7 +788,7 @@ * tests that a binary bundle with no .api_description file has no API description */ public void testBinaryHasNoApiDescription() throws CoreException { - IApiProfile profile = TestSuiteHelper.createTestingProfile("test-plugins"); + IApiBaseline profile = TestSuiteHelper.createTestingProfile("test-plugins"); IApiComponent componentA = profile.getApiComponent("component.a"); assertFalse("Should have no .api_description file", componentA.hasApiDescription()); } @@ -797,7 +797,7 @@ * tests that a binary bundle with an .api_description file has an API description */ public void testBinaryHasApiDescription() throws CoreException { - IApiProfile profile = TestSuiteHelper.createTestingProfile("test-plugins-with-desc"); + IApiBaseline profile = TestSuiteHelper.createTestingProfile("test-plugins-with-desc"); IApiComponent componentA = profile.getApiComponent("component.a"); assertTrue("Should have an .api_description file", componentA.hasApiDescription()); }
diff --git a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/model/tests/ApiFilterStoreTests.java b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/model/tests/ApiFilterStoreTests.java index 32b6e22..a43d81f 100644 --- a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/model/tests/ApiFilterStoreTests.java +++ b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/model/tests/ApiFilterStoreTests.java
@@ -25,10 +25,10 @@ import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin; import org.eclipse.pde.api.tools.internal.provisional.IApiComponent; import org.eclipse.pde.api.tools.internal.provisional.IApiFilterStore; -import org.eclipse.pde.api.tools.internal.provisional.IApiProfile; import org.eclipse.pde.api.tools.internal.provisional.RestrictionModifiers; import org.eclipse.pde.api.tools.internal.provisional.comparator.IDelta; import org.eclipse.pde.api.tools.internal.provisional.descriptors.IElementDescriptor; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiBaseline; import org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblem; import org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblemFilter; import org.eclipse.pde.api.tools.tests.AbstractApiTest; @@ -262,7 +262,7 @@ IProject project = getTestingJavaProject(TESTING_PLUGIN_PROJECT_NAME).getProject(); IResource jar = project.findMember("component_c_1.0.0.jar"); assertNotNull("the component_c jar cannot be null", jar); - IApiProfile profile = ApiPlugin.getDefault().getApiProfileManager().getWorkspaceProfile(); + IApiBaseline profile = ApiPlugin.getDefault().getApiProfileManager().getWorkspaceProfile(); IApiComponent component = profile.newApiComponent(jar.getLocation().toOSString()); profile.addApiComponents(new IApiComponent[] { component }); assertNotNull("the new component cannot be null", component);
diff --git a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/model/tests/ApiProfileTests.java b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/model/tests/ApiProfileTests.java index 826e258..8d7883a 100644 --- a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/model/tests/ApiProfileTests.java +++ b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/model/tests/ApiProfileTests.java
@@ -22,12 +22,12 @@ import org.eclipse.pde.api.tools.internal.provisional.Factory; import org.eclipse.pde.api.tools.internal.provisional.IApiAnnotations; import org.eclipse.pde.api.tools.internal.provisional.IApiComponent; -import org.eclipse.pde.api.tools.internal.provisional.IApiDescription; -import org.eclipse.pde.api.tools.internal.provisional.IApiProfile; import org.eclipse.pde.api.tools.internal.provisional.IClassFile; import org.eclipse.pde.api.tools.internal.provisional.IClassFileContainer; import org.eclipse.pde.api.tools.internal.provisional.IRequiredComponentDescription; import org.eclipse.pde.api.tools.internal.provisional.VisibilityModifiers; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiDescription; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiBaseline; /** * Test creation of states and components. @@ -43,7 +43,7 @@ * @throws CoreException */ public void testCreateBaseline() throws FileNotFoundException, CoreException { - IApiProfile baseline = TestSuiteHelper.createTestingProfile("test-plugins"); + IApiBaseline baseline = TestSuiteHelper.createTestingProfile("test-plugins"); assertNotNull("the testing baseline should exist", baseline); List<IRequiredComponentDescription> reqs = new ArrayList<IRequiredComponentDescription>(); reqs.add(new RequiredComponentDescription("org.eclipse.core.runtime", new BundleVersionRange(""))); @@ -63,7 +63,7 @@ * @throws CoreException */ public void testResolvePackage() throws FileNotFoundException, CoreException { - IApiProfile baseline = TestSuiteHelper.createTestingProfile("test-plugins"); + IApiBaseline baseline = TestSuiteHelper.createTestingProfile("test-plugins"); assertNotNull("the testing baseline should exist", baseline); IApiComponent[] components = baseline.resolvePackage(baseline.getApiComponent("component.b"), "component.a"); assertNotNull("No component", components); @@ -78,7 +78,7 @@ * @throws CoreException */ public void testResolvePackageWithinComponent() throws FileNotFoundException, CoreException { - IApiProfile baseline = TestSuiteHelper.createTestingProfile("test-plugins"); + IApiBaseline baseline = TestSuiteHelper.createTestingProfile("test-plugins"); assertNotNull("the testing baseline should exist", baseline); IApiComponent[] components = baseline.resolvePackage(baseline.getApiComponent("component.a"), "a.b.c"); assertNotNull("No component", components); @@ -93,7 +93,7 @@ * @throws CoreException */ public void testResolveJavaLangPackage() throws FileNotFoundException, CoreException { - IApiProfile baseline = TestSuiteHelper.createTestingProfile("test-plugins"); + IApiBaseline baseline = TestSuiteHelper.createTestingProfile("test-plugins"); assertNotNull("the testing baseline should exist", baseline); IApiComponent[] components = baseline.resolvePackage(baseline.getApiComponent("component.b"), "java.lang"); assertNotNull("No component", components); @@ -108,7 +108,7 @@ * @throws CoreException */ public void testResolveSystemPackage() throws FileNotFoundException, CoreException { - IApiProfile baseline = TestSuiteHelper.createTestingProfile("test-plugins"); + IApiBaseline baseline = TestSuiteHelper.createTestingProfile("test-plugins"); assertNotNull("the testing baseline should exist", baseline); IApiComponent[] components = baseline.resolvePackage(baseline.getApiComponent("component.b"), "org.w3c.dom"); assertNotNull("No component", components); @@ -123,7 +123,7 @@ * @throws CoreException */ public void testFindJavaLangObject() throws FileNotFoundException, CoreException { - IApiProfile baseline = TestSuiteHelper.createTestingProfile("test-plugins"); + IApiBaseline baseline = TestSuiteHelper.createTestingProfile("test-plugins"); assertNotNull("the testing baseline should exist", baseline); IApiComponent[] components = baseline.resolvePackage(baseline.getApiComponent("component.b"), "java.lang"); assertNotNull("No component", components); @@ -145,7 +145,7 @@ * @param requiredComponents list of {@link IRequiredComponentDescription} * @throws CoreException */ - private void validateComponent(IApiProfile baseline, String id, String name, String version, String environment, List<IRequiredComponentDescription> requiredComponents) throws CoreException { + private void validateComponent(IApiBaseline baseline, String id, String name, String version, String environment, List<IRequiredComponentDescription> requiredComponents) throws CoreException { IApiComponent component = baseline.getApiComponent(id); assertEquals("Id: ", id , component.getId()); @@ -170,7 +170,7 @@ * @throws CoreException */ public void testNestedJarComponent() throws CoreException { - IApiProfile baseline = TestSuiteHelper.createTestingProfile("test-nested-jars"); + IApiBaseline baseline = TestSuiteHelper.createTestingProfile("test-nested-jars"); IApiComponent component = baseline.getApiComponent("component.a"); assertNotNull("missing component.a", component); IClassFileContainer[] containers = component.getClassFileContainers(); @@ -201,7 +201,7 @@ * @throws CoreException */ public void testXFriendsDirective() throws CoreException { - IApiProfile baseline = TestSuiteHelper.createTestingProfile("test-plugins"); + IApiBaseline baseline = TestSuiteHelper.createTestingProfile("test-plugins"); IApiComponent component = baseline.getApiComponent("component.a"); assertNotNull("Missing component.a", component); IApiDescription description = component.getApiDescription(); @@ -218,7 +218,7 @@ * @throws CoreException */ public void testXInternalDirective() throws CoreException { - IApiProfile baseline = TestSuiteHelper.createTestingProfile("test-plugins"); + IApiBaseline baseline = TestSuiteHelper.createTestingProfile("test-plugins"); IApiComponent component = baseline.getApiComponent("component.a"); assertNotNull("Missing component.a", component); IApiDescription description = component.getApiDescription(); @@ -235,7 +235,7 @@ * @throws CoreException */ public void testUsesDirective() throws CoreException { - IApiProfile baseline = TestSuiteHelper.createTestingProfile("test-plugins"); + IApiBaseline baseline = TestSuiteHelper.createTestingProfile("test-plugins"); IApiComponent component = baseline.getApiComponent("component.a"); assertNotNull("Missing component.a", component); IApiDescription description = component.getApiDescription(); @@ -252,7 +252,7 @@ * @throws CoreException */ public void testNotExported() throws CoreException { - IApiProfile baseline = TestSuiteHelper.createTestingProfile("test-plugins"); + IApiBaseline baseline = TestSuiteHelper.createTestingProfile("test-plugins"); IApiComponent component = baseline.getApiComponent("component.a"); assertNotNull("Missing component.a", component); IApiDescription description = component.getApiDescription(); @@ -268,7 +268,7 @@ * @throws CoreException */ public void testPrerequisites() throws CoreException { - IApiProfile baseline = TestSuiteHelper.createTestingProfile("test-plugins"); + IApiBaseline baseline = TestSuiteHelper.createTestingProfile("test-plugins"); IApiComponent component = baseline.getApiComponent("component.a"); IApiComponent[] prerequisiteComponents = baseline.getPrerequisiteComponents(new IApiComponent[]{component}); for (int i = 0; i < prerequisiteComponents.length; i++) { @@ -287,7 +287,7 @@ * @throws CoreException */ public void testDependents() throws CoreException { - IApiProfile baseline = TestSuiteHelper.createTestingProfile("test-plugins"); + IApiBaseline baseline = TestSuiteHelper.createTestingProfile("test-plugins"); IApiComponent component = baseline.getApiComponent("component.a"); IApiComponent[] dependents = baseline.getDependentComponents(new IApiComponent[]{component}); assertEquals("Wrong number of dependents", 2, dependents.length);
diff --git a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/model/tests/ClassFileScannerTests.java b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/model/tests/ClassFileScannerTests.java index 4417d1a..1f323e4 100644 --- a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/model/tests/ClassFileScannerTests.java +++ b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/model/tests/ClassFileScannerTests.java
@@ -21,13 +21,13 @@ import org.eclipse.pde.api.tools.internal.DirectoryClassFileContainer; import org.eclipse.pde.api.tools.internal.provisional.ClassFileContainerVisitor; import org.eclipse.pde.api.tools.internal.provisional.IApiComponent; -import org.eclipse.pde.api.tools.internal.provisional.IApiDescription; import org.eclipse.pde.api.tools.internal.provisional.IApiFilterStore; -import org.eclipse.pde.api.tools.internal.provisional.IApiProfile; import org.eclipse.pde.api.tools.internal.provisional.IClassFile; import org.eclipse.pde.api.tools.internal.provisional.IClassFileContainer; import org.eclipse.pde.api.tools.internal.provisional.IRequiredComponentDescription; import org.eclipse.pde.api.tools.internal.provisional.descriptors.IMemberDescriptor; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiDescription; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiBaseline; import org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblem; import org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblemFilter; import org.eclipse.pde.api.tools.internal.provisional.search.ILocation; @@ -195,7 +195,7 @@ } public void dispose() { } - public IApiProfile getProfile() { + public IApiBaseline getProfile() { return null; } public IApiFilterStore getFilterStore() {
diff --git a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/model/tests/ComponentManifestTests.java b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/model/tests/ComponentManifestTests.java index a109e16..090eb9b 100644 --- a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/model/tests/ComponentManifestTests.java +++ b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/model/tests/ComponentManifestTests.java
@@ -24,8 +24,8 @@ import org.eclipse.pde.api.tools.internal.BundleVersionRange; import org.eclipse.pde.api.tools.internal.RequiredComponentDescription; import org.eclipse.pde.api.tools.internal.provisional.IApiComponent; -import org.eclipse.pde.api.tools.internal.provisional.IApiProfile; import org.eclipse.pde.api.tools.internal.provisional.IRequiredComponentDescription; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiBaseline; /** * @since 1.0.0 @@ -49,7 +49,7 @@ path = path.append("test-manifests"); File file = path.toFile(); assertTrue("Missing manifest directory", file.exists()); - IApiProfile baseline = TestSuiteHelper.newApiProfile("test", TestSuiteHelper.getEEDescriptionFile()); + IApiBaseline baseline = TestSuiteHelper.newApiProfile("test", TestSuiteHelper.getEEDescriptionFile()); IApiComponent component = baseline.newApiComponent(file.getAbsolutePath()); baseline.addApiComponents(new IApiComponent[] { component }); assertEquals("Id: ", "org.eclipse.debug.ui" , component.getId()); @@ -86,7 +86,7 @@ path = path.append("test-manifests"); File file = path.toFile(); assertTrue("Missing manifest directory", file.exists()); - IApiProfile baseline = TestSuiteHelper.newApiProfile("test", TestSuiteHelper.getEEDescriptionFile()); + IApiBaseline baseline = TestSuiteHelper.newApiProfile("test", TestSuiteHelper.getEEDescriptionFile()); IApiComponent component = baseline.newApiComponent(file.getAbsolutePath()); baseline.addApiComponents(new IApiComponent[] { component });
diff --git a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/model/tests/TagScannerTests.java b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/model/tests/TagScannerTests.java index 5c639d2..b88761e 100644 --- a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/model/tests/TagScannerTests.java +++ b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/model/tests/TagScannerTests.java
@@ -15,18 +15,18 @@ import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.Path; -import org.eclipse.pde.api.tools.internal.ApiDescription; import org.eclipse.pde.api.tools.internal.ArchiveClassFileContainer; import org.eclipse.pde.api.tools.internal.CompilationUnit; import org.eclipse.pde.api.tools.internal.DirectoryClassFileContainer; +import org.eclipse.pde.api.tools.internal.model.ApiDescription; import org.eclipse.pde.api.tools.internal.provisional.ClassFileContainerVisitor; import org.eclipse.pde.api.tools.internal.provisional.Factory; import org.eclipse.pde.api.tools.internal.provisional.IApiAnnotations; -import org.eclipse.pde.api.tools.internal.provisional.IApiDescription; import org.eclipse.pde.api.tools.internal.provisional.IClassFile; import org.eclipse.pde.api.tools.internal.provisional.IClassFileContainer; import org.eclipse.pde.api.tools.internal.provisional.RestrictionModifiers; import org.eclipse.pde.api.tools.internal.provisional.VisibilityModifiers; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiDescription; import org.eclipse.pde.api.tools.internal.provisional.scanner.TagScanner; import com.ibm.icu.text.MessageFormat;
diff --git a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/model/tests/TestSuiteHelper.java b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/model/tests/TestSuiteHelper.java index 5dc5663..f92397a 100644 --- a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/model/tests/TestSuiteHelper.java +++ b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/model/tests/TestSuiteHelper.java
@@ -42,12 +42,12 @@ import org.eclipse.pde.api.tools.internal.provisional.ClassFileContainerVisitor; import org.eclipse.pde.api.tools.internal.provisional.Factory; import org.eclipse.pde.api.tools.internal.provisional.IApiComponent; -import org.eclipse.pde.api.tools.internal.provisional.IApiDescription; import org.eclipse.pde.api.tools.internal.provisional.IApiFilterStore; -import org.eclipse.pde.api.tools.internal.provisional.IApiProfile; import org.eclipse.pde.api.tools.internal.provisional.IClassFile; import org.eclipse.pde.api.tools.internal.provisional.IClassFileContainer; import org.eclipse.pde.api.tools.internal.provisional.IRequiredComponentDescription; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiDescription; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiBaseline; import org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblem; import org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblemFilter; import org.eclipse.pde.api.tools.internal.util.Util; @@ -72,9 +72,9 @@ * @return API profile * @throws CoreException */ - public static IApiProfile createProfile(String name, File rootDirectory) throws CoreException { + public static IApiBaseline createProfile(String name, File rootDirectory) throws CoreException { File eeFile = getEEDescriptionFile(); - IApiProfile baseline = newApiProfile(name, eeFile); + IApiBaseline baseline = newApiProfile(name, eeFile); // create a component for each jar/directory in the folder File[] files = rootDirectory.listFiles(); List<IApiComponent> components = new ArrayList<IApiComponent>(); @@ -104,7 +104,7 @@ * @return * @throws CoreException */ - public static IApiProfile createTestingProfile(String testDirectory) throws CoreException { + public static IApiBaseline createTestingProfile(String testDirectory) throws CoreException { return createTestingProfile(new Path(testDirectory)); } @@ -159,7 +159,7 @@ } public void dispose() { } - public IApiProfile getProfile() { + public IApiBaseline getProfile() { return null; } public IApiFilterStore getFilterStore() { @@ -197,13 +197,13 @@ * <code>null</code> is returned * @throws CoreException */ - public static IApiProfile createTestingProfile(IPath testDirectory) throws CoreException { + public static IApiBaseline createTestingProfile(IPath testDirectory) throws CoreException { IPath path = TestSuiteHelper.getPluginDirectoryPath(); path = path.append(testDirectory); File file = path.toFile(); if(file.exists()) { File eeFile = getEEDescriptionFile(); - IApiProfile baseline = newApiProfile("test", eeFile); + IApiBaseline baseline = newApiProfile("test", eeFile); // create a component for each jar/directory in the folder File[] files = file.listFiles(); List<IApiComponent> components = new ArrayList<IApiComponent>(); @@ -233,7 +233,7 @@ } /** - * Constructs a new {@link IApiProfile} with the given name, id, version, and environment. + * Constructs a new {@link IApiBaseline} with the given name, id, version, and environment. * <p> * Attempts to locate OSGi execution environment profile when not running in * an OSGi framework. @@ -243,7 +243,7 @@ * @return API baseline * @exception CoreException if unable to create a baseline */ - public static IApiProfile newApiProfile(String name, File eeFile) throws CoreException { + public static IApiBaseline newApiProfile(String name, File eeFile) throws CoreException { return Factory.newApiProfile(name, eeFile); } @@ -318,7 +318,7 @@ * @param collection collection to add prerequisites to. * @throws CoreException */ - public static void addAllRequired(IApiProfile baseline, Set<String> done, IApiComponent component, List<IApiComponent> collection) throws CoreException { + public static void addAllRequired(IApiBaseline baseline, Set<String> done, IApiComponent component, List<IApiComponent> collection) throws CoreException { IRequiredComponentDescription[] descriptions = component.getRequiredComponents(); boolean error = false; StringBuffer buffer = new StringBuffer();
diff --git a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/reference/tests/DiscouragedAccessTests.java b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/reference/tests/DiscouragedAccessTests.java index 22a8480..630b8ef 100644 --- a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/reference/tests/DiscouragedAccessTests.java +++ b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/reference/tests/DiscouragedAccessTests.java
@@ -25,9 +25,9 @@ import org.eclipse.pde.api.tools.internal.provisional.Factory; import org.eclipse.pde.api.tools.internal.provisional.IApiAnnotations; import org.eclipse.pde.api.tools.internal.provisional.IApiComponent; -import org.eclipse.pde.api.tools.internal.provisional.IApiProfile; import org.eclipse.pde.api.tools.internal.provisional.RestrictionModifiers; import org.eclipse.pde.api.tools.internal.provisional.VisibilityModifiers; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiBaseline; import org.eclipse.pde.api.tools.internal.provisional.search.IApiSearchCriteria; import org.eclipse.pde.api.tools.internal.provisional.search.IApiSearchEngine; import org.eclipse.pde.api.tools.internal.provisional.search.IApiSearchScope; @@ -53,7 +53,7 @@ // build baseline File jdt = TestSuiteHelper.getBundle("org.eclipse.jdt.debug.ui"); assertNotNull("Missing jdt.debug.ui", jdt); - IApiProfile profile = TestSuiteHelper.createProfile("eclipse", jdt.getParentFile()); + IApiBaseline profile = TestSuiteHelper.createProfile("eclipse", jdt.getParentFile()); // search IApiComponent jdtComponent = profile.getApiComponent("org.eclipse.jdt.debug.ui");
diff --git a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/reference/tests/SearchEngineTests.java b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/reference/tests/SearchEngineTests.java index 630e49e..678dc98 100644 --- a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/reference/tests/SearchEngineTests.java +++ b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/reference/tests/SearchEngineTests.java
@@ -20,7 +20,6 @@ import org.eclipse.pde.api.tools.internal.builder.ApiUseAnalyzer; import org.eclipse.pde.api.tools.internal.provisional.Factory; import org.eclipse.pde.api.tools.internal.provisional.IApiComponent; -import org.eclipse.pde.api.tools.internal.provisional.IApiProfile; import org.eclipse.pde.api.tools.internal.provisional.RestrictionModifiers; import org.eclipse.pde.api.tools.internal.provisional.VisibilityModifiers; import org.eclipse.pde.api.tools.internal.provisional.descriptors.IElementDescriptor; @@ -28,6 +27,7 @@ import org.eclipse.pde.api.tools.internal.provisional.descriptors.IMethodDescriptor; import org.eclipse.pde.api.tools.internal.provisional.descriptors.IPackageDescriptor; import org.eclipse.pde.api.tools.internal.provisional.descriptors.IReferenceTypeDescriptor; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiBaseline; import org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblem; import org.eclipse.pde.api.tools.internal.provisional.search.IApiSearchCriteria; import org.eclipse.pde.api.tools.internal.provisional.search.IApiSearchEngine; @@ -52,7 +52,7 @@ * @throws CoreException */ public void testSearchForExtenders() throws CoreException { - IApiProfile profile = TestSuiteHelper.createTestingProfile("test-plugins"); + IApiBaseline profile = TestSuiteHelper.createTestingProfile("test-plugins"); IApiComponent componentA = profile.getApiComponent("component.a"); IApiComponent componentB = profile.getApiComponent("component.b"); IApiSearchScope sourceScope = Factory.newScope(new IApiComponent[]{componentB}); @@ -76,7 +76,7 @@ * @throws CoreException */ public void testSearchForExtendersByName() throws CoreException { - IApiProfile profile = TestSuiteHelper.createTestingProfile("test-plugins"); + IApiBaseline profile = TestSuiteHelper.createTestingProfile("test-plugins"); IApiComponent componentB = profile.getApiComponent("component.b"); IApiSearchScope sourceScope = Factory.newScope(new IApiComponent[]{componentB}); IApiSearchEngine engine = Factory.newSearchEngine(); @@ -97,7 +97,7 @@ * @throws CoreException */ public void testSearchForCallersByRegEx() throws CoreException { - IApiProfile profile = TestSuiteHelper.createTestingProfile("test-plugins"); + IApiBaseline profile = TestSuiteHelper.createTestingProfile("test-plugins"); IApiComponent componentB = profile.getApiComponent("component.b"); IApiSearchScope sourceScope = Factory.newScope(new IApiComponent[]{componentB}); IApiSearchEngine engine = Factory.newSearchEngine(); @@ -117,7 +117,7 @@ * @throws CoreException */ public void testSearchForExtendersInPackageByName() throws CoreException { - IApiProfile profile = TestSuiteHelper.createTestingProfile("test-plugins"); + IApiBaseline profile = TestSuiteHelper.createTestingProfile("test-plugins"); IApiComponent componentB = profile.getApiComponent("component.b"); IApiSearchScope sourceScope = Factory.newScope(new IApiComponent[]{componentB}); IApiSearchEngine engine = Factory.newSearchEngine(); @@ -139,7 +139,7 @@ * @throws CoreException */ public void testSearchForMethodExtenders() throws CoreException { - IApiProfile profile = TestSuiteHelper.createTestingProfile("test-plugins"); + IApiBaseline profile = TestSuiteHelper.createTestingProfile("test-plugins"); IApiComponent componentA = profile.getApiComponent("component.a"); IApiComponent componentB = profile.getApiComponent("component.b"); IApiSearchScope sourceScope = Factory.newScope(new IApiComponent[]{componentB}); @@ -181,7 +181,7 @@ * @throws CoreException */ public void testSearchIllegalInstantiate() throws CoreException { - IApiProfile profile = TestSuiteHelper.createTestingProfile("test-plugins"); + IApiBaseline profile = TestSuiteHelper.createTestingProfile("test-plugins"); IApiComponent componentA = profile.getApiComponent("component.a"); IApiComponent componentB = profile.getApiComponent("component.b"); IReferenceTypeDescriptor noInst = Factory.packageDescriptor("component.a").getType("NoInstantiateClass"); @@ -205,7 +205,7 @@ * @throws CoreException */ public void testSearchIllegalExtendsClass() throws CoreException { - IApiProfile profile = TestSuiteHelper.createTestingProfile("test-plugins"); + IApiBaseline profile = TestSuiteHelper.createTestingProfile("test-plugins"); IApiComponent componentA = profile.getApiComponent("component.a"); IApiComponent componentB = profile.getApiComponent("component.b"); IReferenceTypeDescriptor noInst = Factory.packageDescriptor("component.a").getType("NoExtendClass"); @@ -229,7 +229,7 @@ * @throws CoreException */ public void testSearchIllegalImplementInterface() throws CoreException { - IApiProfile profile = TestSuiteHelper.createTestingProfile("test-plugins"); + IApiBaseline profile = TestSuiteHelper.createTestingProfile("test-plugins"); IApiComponent componentA = profile.getApiComponent("component.a"); IApiComponent componentB = profile.getApiComponent("component.b"); IReferenceTypeDescriptor noInst = Factory.packageDescriptor("component.a").getType("INoImplementInterface"); @@ -256,7 +256,7 @@ * @throws CoreException */ public void testSearchIllegalImplementWithinComponent() throws CoreException { - IApiProfile profile = TestSuiteHelper.createTestingProfile("test-plugins"); + IApiBaseline profile = TestSuiteHelper.createTestingProfile("test-plugins"); IApiComponent componentA = profile.getApiComponent("component.a"); IReferenceTypeDescriptor noInst = Factory.packageDescriptor("component.a").getType("INoImplementInterface"); componentA.getApiDescription().setRestrictions(noInst, RestrictionModifiers.NO_IMPLEMENT); @@ -280,7 +280,7 @@ * @throws CoreException */ public void testIgnoreIllegalImplementWithinComponent() throws CoreException { - IApiProfile profile = TestSuiteHelper.createTestingProfile("test-plugins"); + IApiBaseline profile = TestSuiteHelper.createTestingProfile("test-plugins"); IApiComponent componentA = profile.getApiComponent("component.a"); IReferenceTypeDescriptor noInst = Factory.packageDescriptor("component.a").getType("INoImplementInterface"); componentA.getApiDescription().setRestrictions(noInst, RestrictionModifiers.NO_IMPLEMENT); @@ -302,7 +302,7 @@ * @throws CoreException */ public void testXMLReferences() throws CoreException { - IApiProfile profile = TestSuiteHelper.createTestingProfile("test-plugins"); + IApiBaseline profile = TestSuiteHelper.createTestingProfile("test-plugins"); IApiComponent componentA = profile.getApiComponent("component.a"); IApiComponent componentB = profile.getApiComponent("component.b"); IReferenceTypeDescriptor noInst = Factory.packageDescriptor("component.a").getType("INoImplementInterface"); @@ -340,7 +340,7 @@ * @throws CoreException */ public void testSearchIllegalMethodReference() throws CoreException { - IApiProfile profile = TestSuiteHelper.createTestingProfile("test-plugins"); + IApiBaseline profile = TestSuiteHelper.createTestingProfile("test-plugins"); IApiComponent componentA = profile.getApiComponent("component.a"); IApiComponent componentB = profile.getApiComponent("component.b"); IReferenceTypeDescriptor noCall = Factory.packageDescriptor("component.a").getType("MethodNoReference"); @@ -376,7 +376,7 @@ * @throws CoreException */ public void testSearchIllegalFieldReference() throws CoreException { - IApiProfile profile = TestSuiteHelper.createTestingProfile("test-plugins"); + IApiBaseline profile = TestSuiteHelper.createTestingProfile("test-plugins"); IApiComponent componentA = profile.getApiComponent("component.a"); IApiComponent componentB = profile.getApiComponent("component.b"); IReferenceTypeDescriptor noCall = Factory.packageDescriptor("component.a").getType("FieldNoReference"); @@ -411,7 +411,7 @@ * @throws CoreException */ public void testSearchIllegalInterfaceMethodReference() throws CoreException { - IApiProfile profile = TestSuiteHelper.createTestingProfile("test-plugins"); + IApiBaseline profile = TestSuiteHelper.createTestingProfile("test-plugins"); IApiComponent componentA = profile.getApiComponent("component.a"); IApiComponent componentB = profile.getApiComponent("component.b"); IReferenceTypeDescriptor noCall = Factory.packageDescriptor("component.a").getType("MethodNoReferenceInterface"); @@ -441,7 +441,7 @@ * @throws CoreException */ public void testSearchSystemLibrary() throws CoreException { - IApiProfile profile = TestSuiteHelper.createTestingProfile("test-plugins"); + IApiBaseline profile = TestSuiteHelper.createTestingProfile("test-plugins"); IApiComponent[] components = profile.getApiComponents(); IApiComponent systemComp = null; for (int i = 0; i < components.length; i++) {
diff --git a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/reference/tests/SearchScopeTests.java b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/reference/tests/SearchScopeTests.java index d604e01..88b5263 100644 --- a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/reference/tests/SearchScopeTests.java +++ b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/reference/tests/SearchScopeTests.java
@@ -19,7 +19,6 @@ import org.eclipse.pde.api.tools.internal.provisional.ClassFileContainerVisitor; import org.eclipse.pde.api.tools.internal.provisional.Factory; import org.eclipse.pde.api.tools.internal.provisional.IApiComponent; -import org.eclipse.pde.api.tools.internal.provisional.IApiProfile; import org.eclipse.pde.api.tools.internal.provisional.IClassFile; import org.eclipse.pde.api.tools.internal.provisional.IClassFileContainer; import org.eclipse.pde.api.tools.internal.provisional.descriptors.IElementDescriptor; @@ -27,6 +26,7 @@ import org.eclipse.pde.api.tools.internal.provisional.descriptors.IMethodDescriptor; import org.eclipse.pde.api.tools.internal.provisional.descriptors.IPackageDescriptor; import org.eclipse.pde.api.tools.internal.provisional.descriptors.IReferenceTypeDescriptor; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiBaseline; import org.eclipse.pde.api.tools.internal.provisional.search.IApiSearchScope; import org.eclipse.pde.api.tools.model.tests.TestSuiteHelper; @@ -44,7 +44,7 @@ * @throws CoreException */ public void testVisitEntireComponentsScope() throws CoreException { - IApiProfile profile = TestSuiteHelper.createTestingProfile("test-plugins"); + IApiBaseline profile = TestSuiteHelper.createTestingProfile("test-plugins"); IApiComponent componentA = profile.getApiComponent("component.a"); IApiComponent componentB = profile.getApiComponent("component.b"); IApiComponent[] components = new IApiComponent[]{componentA, componentB}; @@ -90,7 +90,7 @@ * @throws CoreException */ public void testVisitPackageScope() throws CoreException { - IApiProfile profile = TestSuiteHelper.createTestingProfile("test-plugins"); + IApiBaseline profile = TestSuiteHelper.createTestingProfile("test-plugins"); IApiComponent componentA = profile.getApiComponent("component.a"); IApiSearchScope scope = Factory.newScope(componentA, new IElementDescriptor[]{Factory.packageDescriptor("a.b.c")}); final Collection<String> expectedPackages = new HashSet<String>(); @@ -118,7 +118,7 @@ * @throws CoreException */ public void testVisitTypeScope() throws CoreException { - IApiProfile profile = TestSuiteHelper.createTestingProfile("test-plugins"); + IApiBaseline profile = TestSuiteHelper.createTestingProfile("test-plugins"); IApiComponent componentA = profile.getApiComponent("component.a"); IPackageDescriptor pkg = Factory.packageDescriptor("component.a"); IReferenceTypeDescriptor type = pkg.getType("A"); @@ -140,7 +140,7 @@ * @throws CoreException */ public void testVisitMethodScope() throws CoreException { - IApiProfile profile = TestSuiteHelper.createTestingProfile("test-plugins"); + IApiBaseline profile = TestSuiteHelper.createTestingProfile("test-plugins"); IApiComponent componentA = profile.getApiComponent("component.a"); IPackageDescriptor pkg = Factory.packageDescriptor("component.a"); IReferenceTypeDescriptor type = pkg.getType("Activator"); @@ -164,7 +164,7 @@ * @throws CoreException */ public void testAddingWiderScope() throws CoreException { - IApiProfile profile = TestSuiteHelper.createTestingProfile("test-plugins"); + IApiBaseline profile = TestSuiteHelper.createTestingProfile("test-plugins"); IApiComponent componentA = profile.getApiComponent("component.a"); IPackageDescriptor pkg = Factory.packageDescriptor("component.a"); IReferenceTypeDescriptor type = pkg.getType("Activator"); @@ -185,7 +185,7 @@ * @throws CoreException */ public void testEnclosesSiblingScope() throws CoreException { - IApiProfile profile = TestSuiteHelper.createTestingProfile("test-plugins"); + IApiBaseline profile = TestSuiteHelper.createTestingProfile("test-plugins"); IApiComponent componentA = profile.getApiComponent("component.a"); IPackageDescriptor pkg = Factory.packageDescriptor("component.a"); IReferenceTypeDescriptor type = pkg.getType("Activator"); @@ -202,7 +202,7 @@ * @throws CoreException */ public void testEnclosesChildrenScope() throws CoreException { - IApiProfile profile = TestSuiteHelper.createTestingProfile("test-plugins"); + IApiBaseline profile = TestSuiteHelper.createTestingProfile("test-plugins"); IApiComponent componentA = profile.getApiComponent("component.a"); IPackageDescriptor pkg = Factory.packageDescriptor("component.a"); IReferenceTypeDescriptor type = pkg.getType("Activator"); @@ -220,7 +220,7 @@ * @throws CoreException */ public void testVisitSpecificTypes() throws CoreException { - IApiProfile profile = TestSuiteHelper.createTestingProfile("test-plugins"); + IApiBaseline profile = TestSuiteHelper.createTestingProfile("test-plugins"); IApiComponent componentA = profile.getApiComponent("component.a"); Collection<String> expectedPackages = new HashSet<String>(); expectedPackages.add("a.b.c");
diff --git a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/tests/AbstractApiTest.java b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/tests/AbstractApiTest.java index c76776b..b85e1b9 100644 --- a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/tests/AbstractApiTest.java +++ b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/tests/AbstractApiTest.java
@@ -26,7 +26,7 @@ import org.eclipse.ltk.core.refactoring.Refactoring; import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin; import org.eclipse.pde.api.tools.internal.provisional.IApiComponent; -import org.eclipse.pde.api.tools.internal.provisional.IApiProfile; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiBaseline; /** * Abstract class with commonly used methods for API Tooling tests @@ -70,7 +70,7 @@ */ protected IApiComponent getProjectApiComponent(String projectname) { IJavaProject project = getTestingJavaProject(projectname); - IApiProfile profile = ApiPlugin.getDefault().getApiProfileManager().getWorkspaceProfile(); + IApiBaseline profile = ApiPlugin.getDefault().getApiProfileManager().getWorkspaceProfile(); assertNotNull("the workspace profile must exist", profile); return profile.getApiComponent(project.getElementName()); }
diff --git a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/util/tests/ApiProfileManagerTests.java b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/util/tests/ApiProfileManagerTests.java index f1a2132..be30704 100644 --- a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/util/tests/ApiProfileManagerTests.java +++ b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/util/tests/ApiProfileManagerTests.java
@@ -57,11 +57,11 @@ import org.eclipse.pde.api.tools.internal.provisional.Factory; import org.eclipse.pde.api.tools.internal.provisional.IApiAnnotations; import org.eclipse.pde.api.tools.internal.provisional.IApiComponent; -import org.eclipse.pde.api.tools.internal.provisional.IApiDescription; -import org.eclipse.pde.api.tools.internal.provisional.IApiProfile; import org.eclipse.pde.api.tools.internal.provisional.IApiProfileManager; import org.eclipse.pde.api.tools.internal.provisional.RestrictionModifiers; import org.eclipse.pde.api.tools.internal.provisional.VisibilityModifiers; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiDescription; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiBaseline; import org.eclipse.pde.api.tools.internal.util.Util; import org.eclipse.pde.api.tools.model.tests.TestSuiteHelper; import org.eclipse.pde.api.tools.tests.AbstractApiTest; @@ -79,7 +79,7 @@ import org.osgi.framework.Constants; /** - * Tests the {@link ApiProfileManager} without the framework running + * Tests the {@link ApiBaselineManager} without the framework running */ public class ApiProfileManagerTests extends AbstractApiTest { @@ -180,7 +180,7 @@ * @return the {@link IApiDescription} for the testing project */ private IApiDescription getTestProjectApiDescription() throws CoreException { - IApiProfile profile = getWorkspaceProfile(); + IApiBaseline profile = getWorkspaceProfile(); assertNotNull("the workspace profile must exist", profile); IApiComponent component = profile.getApiComponent(TESTING_PLUGIN_PROJECT_NAME); if(component != null) { @@ -194,7 +194,7 @@ * * @return workspace profile */ - private IApiProfile getWorkspaceProfile() { + private IApiBaseline getWorkspaceProfile() { return fPMmanager.getWorkspaceProfile(); } @@ -204,8 +204,8 @@ * @param id * @return */ - protected IApiProfile getTestProfile(String id) { - IApiProfile profile = null; + protected IApiBaseline getTestProfile(String id) { + IApiBaseline profile = null; profile = Factory.newApiProfile(id); fPMmanager.addApiProfile(profile); return profile; @@ -215,7 +215,7 @@ * Tests trying to get the workspace profile without the framework running */ public void testGetWorkspaceComponent() { - IApiProfile profile = getWorkspaceProfile(); + IApiBaseline profile = getWorkspaceProfile(); assertTrue("the workspace profile must not be null", profile != null); } @@ -223,7 +223,7 @@ * Tests that an api profile can be added and retrieved successfully */ public void testAddProfile() { - IApiProfile profile = getTestProfile("addtest"); + IApiBaseline profile = getTestProfile("addtest"); assertTrue("the test profile must have been created", profile != null); profile = fPMmanager.getApiProfile("addtest"); assertTrue("the testadd profile must be in the manager", profile != null); @@ -233,7 +233,7 @@ * Tests that an api profile can be added/removed successfully */ public void testRemoveProfile() { - IApiProfile profile = getTestProfile("removetest"); + IApiBaseline profile = getTestProfile("removetest"); assertTrue("the testremove profile must exist", profile != null); profile = fPMmanager.getApiProfile("removetest"); assertTrue("the testremove profile must be in the manager", profile != null); @@ -244,7 +244,7 @@ * Tests that the default profile can be set/retrieved */ public void testSetDefaultProfile() { - IApiProfile profile = getTestProfile("testdefault"); + IApiBaseline profile = getTestProfile("testdefault"); assertTrue("the testdefault profile must exist", profile != null); fPMmanager.setDefaultApiProfile("testdefault"); profile = fPMmanager.getDefaultApiProfile(); @@ -256,7 +256,7 @@ */ public void testGetAllProfiles() { getTestProfile("three"); - IApiProfile[] profiles = fPMmanager.getApiProfiles(); + IApiBaseline[] profiles = fPMmanager.getApiProfiles(); assertTrue("there should be three profiles", profiles.length == 3); } @@ -305,7 +305,7 @@ IVMInstall vm = JavaRuntime.getDefaultVMInstall(); assertNotNull("No default JRE", vm); ProjectUtils.addContainerEntry(project, new Path(JavaRuntime.JRE_CONTAINER)); - IApiProfile profile = getWorkspaceProfile(); + IApiBaseline profile = getWorkspaceProfile(); assertNotNull("the workspace profile cannot be null", profile); IApiComponent component = profile.getApiComponent(TESTING_PLUGIN_PROJECT_NAME); assertNotNull("the test project api component must exist in the workspace profile", component); @@ -466,7 +466,7 @@ project.getProject().open(new NullProgressMonitor()); Object obj = waiter.waitForEvent(); assertNotNull("the opened event was not received", obj); - IApiProfile profile = getWorkspaceProfile(); + IApiBaseline profile = getWorkspaceProfile(); assertNotNull("the workspace profile must not be null", profile); IApiComponent component = profile.getApiComponent(TESTING_PLUGIN_PROJECT_NAME); assertNotNull("the test project api component must exist in the workspace profile", component);
diff --git a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/util/tests/HeadlessApiProfileManagerTests.java b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/util/tests/HeadlessApiProfileManagerTests.java index 762f560..fdf32f5 100644 --- a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/util/tests/HeadlessApiProfileManagerTests.java +++ b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/util/tests/HeadlessApiProfileManagerTests.java
@@ -10,19 +10,19 @@ *******************************************************************************/ package org.eclipse.pde.api.tools.util.tests; -import org.eclipse.pde.api.tools.internal.ApiProfileManager; +import org.eclipse.pde.api.tools.internal.ApiBaselineManager; import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin; import org.eclipse.pde.api.tools.internal.provisional.Factory; -import org.eclipse.pde.api.tools.internal.provisional.IApiProfile; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiBaseline; import org.eclipse.pde.api.tools.tests.AbstractApiTest; /** - * Tests that the {@link ApiProfileManager} is usable in a predictable way in a headless + * Tests that the {@link ApiBaselineManager} is usable in a predictable way in a headless * environment */ public class HeadlessApiProfileManagerTests extends AbstractApiTest { - private ApiProfileManager fManager = ApiProfileManager.getManager(); + private ApiBaselineManager fManager = ApiBaselineManager.getManager(); /* (non-Javadoc) * @see junit.framework.TestCase#tearDown() @@ -36,7 +36,7 @@ * Tests that we can get an API profile that exists from the manager */ public void testGetApiProfile() { - IApiProfile profile = Factory.newApiProfile("test1"); + IApiBaseline profile = Factory.newApiProfile("test1"); fManager.addApiProfile(profile); profile = fManager.getApiProfile("test1"); assertNotNull("the test1 profile must exist in the manager", profile); @@ -47,7 +47,7 @@ * Tests that looking up a profile that does not exist in the manager returns null */ public void testGetNonExistantProfile() { - IApiProfile profile = fManager.getApiProfile("fooprofile"); + IApiBaseline profile = fManager.getApiProfile("fooprofile"); assertNull("There should be no profile found", profile); } @@ -55,7 +55,7 @@ * Tests that setting the default profile works */ public void testSetDefaultProfile() { - IApiProfile profile = Factory.newApiProfile("test2"); + IApiBaseline profile = Factory.newApiProfile("test2"); fManager.addApiProfile(profile); fManager.setDefaultApiProfile(profile.getName()); profile = fManager.getDefaultApiProfile(); @@ -69,7 +69,7 @@ */ public void testGetWrongDefault() { fManager.setDefaultApiProfile("fooprofile"); - IApiProfile profile = fManager.getDefaultApiProfile(); + IApiBaseline profile = fManager.getDefaultApiProfile(); assertNull("the default profile should be null for a non-existant id", profile); } @@ -77,11 +77,11 @@ * Tests getting all profiles from the manager */ public void testGetAllProfiles() { - IApiProfile profile = Factory.newApiProfile("test1"); + IApiBaseline profile = Factory.newApiProfile("test1"); fManager.addApiProfile(profile); profile = Factory.newApiProfile("test2"); fManager.addApiProfile(profile); - IApiProfile[] profiles = fManager.getApiProfiles(); + IApiBaseline[] profiles = fManager.getApiProfiles(); assertEquals("there should be 2 profiles", 2, profiles.length); } @@ -89,7 +89,7 @@ * Tests removing an existing profile from the manager */ public void testRemoveApiProfile() { - IApiProfile profile = Factory.newApiProfile("test2"); + IApiBaseline profile = Factory.newApiProfile("test2"); fManager.addApiProfile(profile); boolean result = fManager.removeApiProfile("test2"); assertTrue("the profile test2 should have been removed from the manager", result); @@ -100,7 +100,7 @@ * Tests that isExistingProfileName(..) returns return true when expected to */ public void testIsExistingName() { - IApiProfile profile = Factory.newApiProfile("test1"); + IApiBaseline profile = Factory.newApiProfile("test1"); fManager.addApiProfile(profile); boolean result = fManager.isExistingProfileName("test1"); assertTrue("the name test1 should be an existing name", result); @@ -204,7 +204,7 @@ * Tests that the workspace profile is null in headless mode */ public void testGetWorkspaceProfile() { - IApiProfile profile = fManager.getWorkspaceProfile(); + IApiBaseline profile = fManager.getWorkspaceProfile(); if(ApiPlugin.isRunningInFramework()) { assertNotNull("the workspace profile must not be null with the framework running", profile); }
diff --git a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/ApiToolsLabelProvider.java b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/ApiToolsLabelProvider.java index 73a223c..6746851 100644 --- a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/ApiToolsLabelProvider.java +++ b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/ApiToolsLabelProvider.java
@@ -21,11 +21,11 @@ import org.eclipse.jface.viewers.ILabelProvider; import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin; import org.eclipse.pde.api.tools.internal.provisional.IApiComponent; -import org.eclipse.pde.api.tools.internal.provisional.IApiProfile; import org.eclipse.pde.api.tools.internal.provisional.descriptors.IElementDescriptor; import org.eclipse.pde.api.tools.internal.provisional.descriptors.IMemberDescriptor; import org.eclipse.pde.api.tools.internal.provisional.descriptors.IMethodDescriptor; import org.eclipse.pde.api.tools.internal.provisional.descriptors.IReferenceTypeDescriptor; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiBaseline; import org.eclipse.pde.api.tools.internal.provisional.search.ILocation; import org.eclipse.pde.api.tools.ui.internal.wizards.ApiProfileWizardPage.EEEntry; import org.eclipse.swt.SWT; @@ -46,7 +46,7 @@ public class ApiToolsLabelProvider extends BaseLabelProvider implements ILabelProvider, IFontProvider { /** - * Font for the default {@link IApiProfile} + * Font for the default {@link IApiBaseline} */ private Font font = null; @@ -77,7 +77,7 @@ if (element instanceof File) { return PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_FOLDER); } - if(element instanceof IApiProfile) { + if(element instanceof IApiBaseline) { return ApiUIPlugin.getSharedImage(IApiToolsConstants.IMG_OBJ_ECLIPSE_PROFILE); } if(element instanceof EEEntry) { @@ -113,8 +113,8 @@ return ((File)element).getName(); } } - if(element instanceof IApiProfile) { - IApiProfile profile = (IApiProfile) element; + if(element instanceof IApiBaseline) { + IApiBaseline profile = (IApiBaseline) element; return profile.getName(); } if(element instanceof EEEntry) { @@ -141,14 +141,14 @@ } /** - * Returns if the specified {@link IApiProfile} is the default profile or not + * Returns if the specified {@link IApiBaseline} is the default profile or not * @param element * @return if the profile is the default or not */ protected boolean isDefaultProfile(Object element) { - if(element instanceof IApiProfile) { - IApiProfile profile = (IApiProfile) element; - IApiProfile def = ApiPlugin.getDefault().getApiProfileManager().getDefaultApiProfile(); + if(element instanceof IApiBaseline) { + IApiBaseline profile = (IApiBaseline) element; + IApiBaseline def = ApiPlugin.getDefault().getApiProfileManager().getDefaultApiProfile(); if(def != null) { return profile.getName().equals(def.getName()); }
diff --git a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/preferences/ApiProfilesPreferencePage.java b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/preferences/ApiProfilesPreferencePage.java index f26a74b..66778c7 100644 --- a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/preferences/ApiProfilesPreferencePage.java +++ b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/preferences/ApiProfilesPreferencePage.java
@@ -34,8 +34,8 @@ import org.eclipse.jface.viewers.ViewerComparator; import org.eclipse.jface.wizard.WizardDialog; import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin; -import org.eclipse.pde.api.tools.internal.provisional.IApiProfile; import org.eclipse.pde.api.tools.internal.provisional.IApiProfileManager; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiBaseline; import org.eclipse.pde.api.tools.internal.util.Util; import org.eclipse.pde.api.tools.ui.internal.ApiToolsLabelProvider; import org.eclipse.pde.api.tools.ui.internal.ApiUIPlugin; @@ -57,12 +57,12 @@ import org.eclipse.ui.preferences.IWorkbenchPreferenceContainer; /** - * This preference page allows {@link IApiProfile}s to be created/removed/edited + * This preference page allows {@link IApiBaseline}s to be created/removed/edited * @since 1.0.0 */ public class ApiProfilesPreferencePage extends PreferencePage implements IWorkbenchPreferencePage { /** - * Override to tell the label provider about uncommitted {@link IApiProfile}s that might have been set to + * Override to tell the label provider about uncommitted {@link IApiBaseline}s that might have been set to * be the new default */ class ProfileLabelProvider extends ApiToolsLabelProvider { @@ -112,12 +112,12 @@ tableviewer.addDoubleClickListener(new IDoubleClickListener() { public void doubleClick(DoubleClickEvent event) { IStructuredSelection ss = (IStructuredSelection) event.getSelection(); - doEdit((IApiProfile) ss.getFirstElement()); + doEdit((IApiBaseline) ss.getFirstElement()); } }); tableviewer.addCheckStateListener(new ICheckStateListener() { public void checkStateChanged(CheckStateChangedEvent event) { - IApiProfile profile = (IApiProfile) event.getElement(); + IApiBaseline profile = (IApiBaseline) event.getElement(); if(event.getChecked()) { tableviewer.setCheckedElements(new Object[] {profile}); newdefault = profile.getName(); @@ -133,14 +133,14 @@ }); tableviewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { - IApiProfile[] state = getCurrentSelection(); + IApiBaseline[] state = getCurrentSelection(); removebutton.setEnabled(state.length > 0); editbutton.setEnabled(state.length == 1); } }); tableviewer.setComparator(new ViewerComparator() { public int compare(Viewer viewer, Object e1, Object e2) { - return ((IApiProfile)e1).getName().compareTo(((IApiProfile)e2).getName()); + return ((IApiBaseline)e1).getName().compareTo(((IApiBaseline)e2).getName()); } }); BusyIndicator.showWhile(getShell().getDisplay(), new Runnable() { @@ -156,7 +156,7 @@ ApiProfileWizard wizard = new ApiProfileWizard(null); WizardDialog dialog = new WizardDialog(ApiUIPlugin.getShell(), wizard); if(dialog.open() == IDialogConstants.OK_ID) { - IApiProfile profile = wizard.getProfile(); + IApiBaseline profile = wizard.getProfile(); if(profile != null) { backingcollection.add(profile); tableviewer.refresh(); @@ -175,14 +175,14 @@ editbutton = SWTFactory.createPushButton(bcomp, PreferenceMessages.ApiProfilesPreferencePage_4, null); editbutton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { - doEdit((IApiProfile)getCurrentSelection()[0]); + doEdit((IApiBaseline)getCurrentSelection()[0]); } }); editbutton.setEnabled(false); removebutton = SWTFactory.createPushButton(bcomp, PreferenceMessages.ApiProfilesPreferencePage_3, null); removebutton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { - IApiProfile[] states = getCurrentSelection(); + IApiBaseline[] states = getCurrentSelection(); for(int i = 0; i < states.length; i++) { if(isDefault(states[i])) { newdefault = null; @@ -197,7 +197,7 @@ } }); removebutton.setEnabled(false); - IApiProfile profile = manager.getDefaultApiProfile(); + IApiBaseline profile = manager.getDefaultApiProfile(); origdefault = newdefault = (profile == null ? null : profile.getName()); initialize(); PlatformUI.getWorkbench().getHelpSystem().setHelp(comp, IApiToolsHelpContextIds.APIPROFILES_PREF_PAGE); @@ -210,9 +210,9 @@ } /** - * Returns if the {@link IApiProfile} with the given name has been removed, but not yet committed back to the manager - * @param name the name of the {@link IApiProfile} - * @return true if the {@link IApiProfile} has been removed from the page, false otherwise + * Returns if the {@link IApiBaseline} with the given name has been removed, but not yet committed back to the manager + * @param name the name of the {@link IApiBaseline} + * @return true if the {@link IApiBaseline} has been removed from the page, false otherwise */ public static boolean isRemovedBaseline(String name) { return removed.contains(name); @@ -222,11 +222,11 @@ * Performs the edit operation for the edit button and the double click listener for the table * @param profile */ - protected void doEdit(final IApiProfile profile) { + protected void doEdit(final IApiBaseline profile) { ApiProfileWizard wizard = new ApiProfileWizard(profile); WizardDialog dialog = new WizardDialog(ApiUIPlugin.getShell(), wizard); if(dialog.open() == IDialogConstants.OK_ID) { - IApiProfile newprofile = wizard.getProfile(); + IApiBaseline newprofile = wizard.getProfile(); if(newprofile != null) { //clear any pending edit updates removed.add(profile.getName()); @@ -250,22 +250,22 @@ * updates the buttons on the page */ protected void initialize() { - IApiProfile def = ApiPlugin.getDefault().getApiProfileManager().getDefaultApiProfile(); + IApiBaseline def = ApiPlugin.getDefault().getApiProfileManager().getDefaultApiProfile(); if(def != null) { tableviewer.setCheckedElements(new Object[] {def}); } } /** - * Returns if the specified {@link IApiProfile} is the default profile or not + * Returns if the specified {@link IApiBaseline} is the default profile or not * @param element * @return if the profile is the default or not */ protected boolean isDefault(Object element) { - if(element instanceof IApiProfile) { - IApiProfile profile = (IApiProfile) element; + if(element instanceof IApiBaseline) { + IApiBaseline profile = (IApiBaseline) element; if(newdefault == null) { - IApiProfile def = ApiPlugin.getDefault().getApiProfileManager().getDefaultApiProfile(); + IApiBaseline def = ApiPlugin.getDefault().getApiProfileManager().getDefaultApiProfile(); if(def != null) { return profile.getName().equals(def.getName()); } @@ -280,12 +280,12 @@ /** * @return the current selection from the table viewer */ - protected IApiProfile[] getCurrentSelection() { + protected IApiBaseline[] getCurrentSelection() { IStructuredSelection ss = (IStructuredSelection) tableviewer.getSelection(); if(ss.isEmpty()) { - return new IApiProfile[0]; + return new IApiBaseline[0]; } - return (IApiProfile[]) ((IStructuredSelection) tableviewer.getSelection()).toList().toArray(new IApiProfile[ss.size()]); + return (IApiBaseline[]) ((IStructuredSelection) tableviewer.getSelection()).toList().toArray(new IApiBaseline[ss.size()]); } /* (non-Javadoc) @@ -307,7 +307,7 @@ } /** - * Applies the changes from the current change set to the {@link ApiProfileManager}. When done + * Applies the changes from the current change set to the {@link ApiBaselineManager}. When done * the current change set is cleared. */ protected void applyChanges() { @@ -320,9 +320,9 @@ } //add the new / changed ones for(Iterator iter = backingcollection.iterator(); iter.hasNext();) { - manager.addApiProfile((IApiProfile) iter.next()); + manager.addApiProfile((IApiBaseline) iter.next()); } - IApiProfile def = ApiPlugin.getDefault().getApiProfileManager().getDefaultApiProfile(); + IApiBaseline def = ApiPlugin.getDefault().getApiProfileManager().getDefaultApiProfile(); if(def != null && !def.getName().equals(newdefault)) { manager.setDefaultApiProfile(newdefault); needsbuild = true;
diff --git a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/wizards/ApiProfileWizard.java b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/wizards/ApiProfileWizard.java index 0f50239..c0d28c0 100644 --- a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/wizards/ApiProfileWizard.java +++ b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/wizards/ApiProfileWizard.java
@@ -14,7 +14,7 @@ import org.eclipse.core.runtime.CoreException; import org.eclipse.jface.wizard.Wizard; -import org.eclipse.pde.api.tools.internal.provisional.IApiProfile; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiBaseline; import org.eclipse.pde.api.tools.ui.internal.ApiUIPlugin; /** @@ -23,13 +23,13 @@ */ public class ApiProfileWizard extends Wizard { - private IApiProfile profile = null; + private IApiBaseline profile = null; /** * Constructor * @param profile */ - public ApiProfileWizard(IApiProfile profile) { + public ApiProfileWizard(IApiBaseline profile) { this.profile = profile; if(profile == null) { setWindowTitle(WizardMessages.ApiProfileWizard_0); @@ -44,7 +44,7 @@ * @return the current profile in the wizard. The current profile * can be <code>null</code> if the wizard has just been opened to create a new API profile */ - public IApiProfile getProfile() { + public IApiBaseline getProfile() { return profile; }
diff --git a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/wizards/ApiProfileWizardPage.java b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/wizards/ApiProfileWizardPage.java index c4ed9a3..ac53b77 100644 --- a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/wizards/ApiProfileWizardPage.java +++ b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/wizards/ApiProfileWizardPage.java
@@ -40,12 +40,12 @@ import org.eclipse.jface.viewers.ViewerComparator; import org.eclipse.jface.viewers.ViewerFilter; import org.eclipse.jface.wizard.WizardPage; -import org.eclipse.pde.api.tools.internal.ApiProfileManager; +import org.eclipse.pde.api.tools.internal.ApiBaselineManager; import org.eclipse.pde.api.tools.internal.SystemLibraryApiComponent; import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin; import org.eclipse.pde.api.tools.internal.provisional.Factory; import org.eclipse.pde.api.tools.internal.provisional.IApiComponent; -import org.eclipse.pde.api.tools.internal.provisional.IApiProfile; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiBaseline; import org.eclipse.pde.api.tools.ui.internal.ApiToolsLabelProvider; import org.eclipse.pde.api.tools.ui.internal.ApiUIPlugin; import org.eclipse.pde.api.tools.ui.internal.IApiToolsConstants; @@ -208,18 +208,18 @@ } /** - * Operation that creates a new working copy for an {@link IApiProfile} that is being edited + * Operation that creates a new working copy for an {@link IApiBaseline} that is being edited */ class WorkingCopyOperation implements IRunnableWithProgress { - IApiProfile original = null, + IApiBaseline original = null, workingcopy = null; /** * Constructor * @param original */ - public WorkingCopyOperation(IApiProfile original) { + public WorkingCopyOperation(IApiBaseline original) { this.original = original; } @@ -251,15 +251,15 @@ } /** - * Returns the newly created {@link IApiProfile} working copy or <code>null</code> + * Returns the newly created {@link IApiBaseline} working copy or <code>null</code> * @return the working copy or <code>null</code> */ - public IApiProfile getWorkingCopy() { + public IApiBaseline getWorkingCopy() { return workingcopy; } } - private IApiProfile fProfile = null; + private IApiBaseline fProfile = null; private String originalname = null; /** @@ -274,7 +274,7 @@ * Constructor * @param profile */ - protected ApiProfileWizardPage(IApiProfile profile) { + protected ApiProfileWizardPage(IApiBaseline profile) { super(WizardMessages.ApiProfileWizardPage_1); this.fProfile = profile; setTitle(WizardMessages.ApiProfileWizardPage_1); @@ -485,7 +485,7 @@ setErrorMessage(WizardMessages.ApiProfileWizardPage_20); return false; } - if(!name.equals(originalname) && (((ApiProfileManager)ApiPlugin.getDefault().getApiProfileManager()).isExistingProfileName(name) && + if(!name.equals(originalname) && (((ApiBaselineManager)ApiPlugin.getDefault().getApiProfileManager()).isExistingProfileName(name) && !ApiProfilesPreferencePage.isRemovedBaseline(name))) { setErrorMessage(WizardMessages.ApiProfileWizardPage_profile_with_that_name_exists); return false; @@ -520,10 +520,10 @@ /** * Creates or edits the profile and returns it - * @return a new {@link IApiProfile} or <code>null</code> if an error was encountered + * @return a new {@link IApiBaseline} or <code>null</code> if an error was encountered * creating the new profile */ - public IApiProfile finish() throws IOException, CoreException { + public IApiBaseline finish() throws IOException, CoreException { if(fProfile != null) { fProfile.setName(nametext.getText().trim()); }
diff --git a/apitools/org.eclipse.pde.api.tools/META-INF/MANIFEST.MF b/apitools/org.eclipse.pde.api.tools/META-INF/MANIFEST.MF index dafcc0e..fa2de5c 100644 --- a/apitools/org.eclipse.pde.api.tools/META-INF/MANIFEST.MF +++ b/apitools/org.eclipse.pde.api.tools/META-INF/MANIFEST.MF
@@ -21,12 +21,16 @@ org.eclipse.pde.api.tools.internal.builder;x-friends:="org.eclipse.pde.api.tools.ui", org.eclipse.pde.api.tools.internal.comparator;x-internal:=true, org.eclipse.pde.api.tools.internal.descriptors;x-friends:="org.eclipse.pde.api.tools.tests,org.eclipse.pde.api.tools.ui", + org.eclipse.pde.api.tools.internal.model;x-friends:="org.eclipse.pde.api.tools.ui,org.eclipse.pde.api.tools.tests", + org.eclipse.pde.api.tools.internal.model.cache;x-internal:=true, + org.eclipse.pde.api.tools.internal.model.infos;x-internal:=true, org.eclipse.pde.api.tools.internal.natures;x-internal:=true, org.eclipse.pde.api.tools.internal.problems;x-friends:="org.eclipse.pde.api.tools.ui,org.eclipse.pde.api.tools.tests", org.eclipse.pde.api.tools.internal.provisional;x-friends:="org.eclipse.pde.api.tools.tests,org.eclipse.pde.api.tools.ui", org.eclipse.pde.api.tools.internal.provisional.builder;x-friends:="org.eclipse.pde.api.tools.tests,org.eclipse.pde.api.tools.ui", org.eclipse.pde.api.tools.internal.provisional.comparator;x-friends:="org.eclipse.pde.api.tools.tests,org.eclipse.pde.api.tools.ui", org.eclipse.pde.api.tools.internal.provisional.descriptors;x-friends:="org.eclipse.pde.api.tools.tests,org.eclipse.pde.api.tools.ui", + org.eclipse.pde.api.tools.internal.provisional.model;x-friends:="org.eclipse.pde.api.tools.ui,org.eclipse.pde.api.tools.tests", org.eclipse.pde.api.tools.internal.provisional.problems;x-friends:="org.eclipse.pde.api.tools.ui,org.eclipse.pde.api.tools.tests", org.eclipse.pde.api.tools.internal.provisional.scanner;x-friends:="org.eclipse.pde.api.tools.tests,org.eclipse.pde.api.tools.ui", org.eclipse.pde.api.tools.internal.provisional.search;x-friends:="org.eclipse.pde.api.tools.tests,org.eclipse.pde.api.tools.ui", @@ -37,7 +41,7 @@ org.eclipse.pde.api.tools.internal.util;x-friends:="org.eclipse.pde.api.tools.tests,org.eclipse.pde.api.tools.ui", org.eclipse.pde.api.tools.internal.util.profiles;x-internal:=true Bundle-RequiredExecutionEnvironment: J2SE-1.4 -Import-Package: com.ibm.icu.text +Import-Package: com.ibm.icu.text;version="3.6.1" Bundle-Activator: org.eclipse.pde.api.tools.internal.provisional.ApiPlugin Eclipse-LazyStart: true Bundle-ActivationPolicy: lazy
diff --git a/apitools/org.eclipse.pde.api.tools/buildnotes_api_tools.html b/apitools/org.eclipse.pde.api.tools/buildnotes_api_tools.html index 296dae9..5f25f83 100644 --- a/apitools/org.eclipse.pde.api.tools/buildnotes_api_tools.html +++ b/apitools/org.eclipse.pde.api.tools/buildnotes_api_tools.html
@@ -12,18 +12,6 @@ <h2>Summary of API changes</h2> <p>None.</p> -<h2>Sept 30, 2008</h2> -<h3>Problem Reports Fixed</h3> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=247607">Bug 247607</a>: Make it easier to find filter removal UI<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=226406">Bug 226406</a>: API Tooling Setup dialog improvements<br> - -<h2>Sept 23, 2008</h2> -<h3>Problem Reports Fixed</h3> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=247685">Bug 247685</a>: @nooverride should not be proposed for a static method<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=243766">Bug 243766</a>: Need to clean up api descriptions when projects are deleted<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=247505">Bug 247505</a>: remove export code from AbstractApiComponent<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=229815">Bug 229815</a>: removing the last filter should remove the parent<br> - <h2>Sept 18 2008</h2> <h3>Problem Reports Fixed</h3> <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=247654">Bug 247654</a>: Adding @noextend and removing final modifier is not a pb if the class was a final class<br>
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/AbstractApiComponent.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/AbstractApiComponent.java index 3da1cbd..bd0042d 100644 --- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/AbstractApiComponent.java +++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/AbstractApiComponent.java
@@ -15,10 +15,10 @@ import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin; import org.eclipse.pde.api.tools.internal.provisional.ClassFileContainerVisitor; import org.eclipse.pde.api.tools.internal.provisional.IApiComponent; -import org.eclipse.pde.api.tools.internal.provisional.IApiDescription; import org.eclipse.pde.api.tools.internal.provisional.IApiFilterStore; -import org.eclipse.pde.api.tools.internal.provisional.IApiProfile; import org.eclipse.pde.api.tools.internal.provisional.IClassFileContainer; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiDescription; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiBaseline; import org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblem; import org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblemFilter; @@ -42,14 +42,14 @@ /** * Owning profile */ - private IApiProfile fProfile = null; + private IApiBaseline fProfile = null; /** * Constructs an API component in the given profile. * * @param profile API profile */ - public AbstractApiComponent(IApiProfile profile) { + public AbstractApiComponent(IApiBaseline profile) { fProfile = profile; } @@ -66,7 +66,7 @@ /* (non-Javadoc) * @see org.eclipse.pde.api.tools.model.component.IApiComponent#getProfile() */ - public IApiProfile getProfile() { + public IApiBaseline getProfile() { return fProfile; }
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ApiProfileManager.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ApiBaselineManager.java similarity index 80% rename from apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ApiProfileManager.java rename to apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ApiBaselineManager.java index 2f2a39e..2dcc37d 100644 --- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ApiProfileManager.java +++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ApiBaselineManager.java
@@ -16,10 +16,13 @@ import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; +import java.io.OutputStream; +import java.io.UnsupportedEncodingException; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List; +import java.util.Map; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; @@ -49,11 +52,12 @@ import org.eclipse.jdt.core.IPackageFragmentRoot; import org.eclipse.jdt.core.JavaCore; import org.eclipse.pde.api.tools.internal.builder.ApiAnalysisBuilder; +import org.eclipse.pde.api.tools.internal.model.ApiBaseline; import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin; import org.eclipse.pde.api.tools.internal.provisional.Factory; import org.eclipse.pde.api.tools.internal.provisional.IApiComponent; -import org.eclipse.pde.api.tools.internal.provisional.IApiProfile; import org.eclipse.pde.api.tools.internal.provisional.IApiProfileManager; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiBaseline; import org.eclipse.pde.api.tools.internal.util.Util; import org.eclipse.pde.core.plugin.IPluginModelBase; import org.eclipse.pde.core.plugin.PluginRegistry; @@ -74,7 +78,7 @@ * @since 1.0.0 * @noinstantiate This class is not intended to be instantiated by clients. */ -public final class ApiProfileManager implements IApiProfileManager, ISaveParticipant, IElementChangedListener, IPluginModelListener, IResourceChangeListener { +public final class ApiBaselineManager implements IApiProfileManager, ISaveParticipant, IElementChangedListener, IPluginModelListener, IResourceChangeListener { /** * Constant used for controlling tracing in the API tool builder @@ -95,7 +99,7 @@ private static final String DEFAULT_PROFILE = "default_api_profile"; //$NON-NLS-1$ /** - * Constant representing the id of the workspace {@link IApiProfile}. + * Constant representing the id of the workspace {@link IApiBaseline}. * Value is: <code>workspace</code> */ public static final String WORKSPACE_API_PROFILE_ID = "workspace"; //$NON-NLS-1$ @@ -104,20 +108,20 @@ * The main cache for the manager. * The form of the cache is: * <pre> - * HashMap<String(profileid), ApiProfile> + * HashMap<String(profileid), ApiBaseline> * </pre> */ private HashMap profilecache = null; /** - * The current default {@link IApiProfile} + * The current default {@link IApiBaseline} */ private String defaultprofile = null; /** * The current workspace profile */ - private IApiProfile workspaceprofile = null; + private IApiBaseline workspaceprofile = null; /** * The default save location for persisting the cache from this manager. @@ -132,12 +136,12 @@ /** * The singleton instance */ - private static ApiProfileManager fInstance = null; + private static ApiBaselineManager fInstance = null; /** * Constructor */ - private ApiProfileManager(boolean framework) { + private ApiBaselineManager(boolean framework) { if(framework) { ApiPlugin.getDefault().addSaveParticipant(this); JavaCore.addElementChangedListener(this, ElementChangedEvent.POST_CHANGE); @@ -151,9 +155,9 @@ * Returns the singleton instance of the manager * @return the singleton instance of the manager */ - public static synchronized ApiProfileManager getManager() { + public static synchronized ApiBaselineManager getManager() { if(fInstance == null) { - fInstance = new ApiProfileManager(ApiPlugin.isRunningInFramework()); + fInstance = new ApiBaselineManager(ApiPlugin.isRunningInFramework()); } return fInstance; } @@ -161,23 +165,23 @@ /* (non-Javadoc) * @see org.eclipse.pde.api.tools.IApiProfileManager#getApiProfile(java.lang.String) */ - public synchronized IApiProfile getApiProfile(String name) { + public synchronized IApiBaseline getApiProfile(String name) { initializeStateCache(); - return (ApiProfile) profilecache.get(name); + return (ApiBaseline) profilecache.get(name); } /* (non-Javadoc) * @see org.eclipse.pde.api.tools.IApiProfileManager#getApiProfiles() */ - public synchronized IApiProfile[] getApiProfiles() { + public synchronized IApiBaseline[] getApiProfiles() { initializeStateCache(); - return (IApiProfile[]) profilecache.values().toArray(new IApiProfile[profilecache.size()]); + return (IApiBaseline[]) profilecache.values().toArray(new IApiBaseline[profilecache.size()]); } /* (non-Javadoc) * @see org.eclipse.pde.api.tools.IApiProfileManager#addApiProfile(org.eclipse.pde.api.tools.model.component.IApiProfile) */ - public synchronized void addApiProfile(IApiProfile newprofile) { + public synchronized void addApiProfile(IApiBaseline newprofile) { if(newprofile != null) { initializeStateCache(); profilecache.put(newprofile.getName(), newprofile); @@ -191,7 +195,7 @@ public synchronized boolean removeApiProfile(String name) { if(name != null) { initializeStateCache(); - IApiProfile profile = (IApiProfile) profilecache.remove(name); + IApiBaseline profile = (IApiBaseline) profilecache.remove(name); if(profile != null) { profile.dispose(); boolean success = true; @@ -230,7 +234,7 @@ }); if(profiles != null) { InputStream fin = null; - IApiProfile newprofile = null; + IApiBaseline newprofile = null; for(int i = 0; i < profiles.length; i++) { File profile = profiles[i]; if(profile.exists()) { @@ -249,7 +253,7 @@ } } String def = ApiPlugin.getDefault().getPluginPreferences().getString(DEFAULT_PROFILE); - IApiProfile profile = (IApiProfile) profilecache.get(def); + IApiBaseline profile = (IApiBaseline) profilecache.get(def); defaultprofile = (profile != null ? def : null); if(DEBUG) { System.out.println("Time to initialize state cache: " + (System.currentTimeMillis() - time) + "ms"); //$NON-NLS-1$ //$NON-NLS-2$ @@ -281,17 +285,17 @@ String id = null; File file = null; FileOutputStream fout = null; - IApiProfile profile = null; + IApiBaseline baseline = null; for(Iterator iter = profilecache.keySet().iterator(); iter.hasNext();) { id = (String) iter.next(); - profile = (IApiProfile) profilecache.get(id); + baseline = (IApiBaseline) profilecache.get(id); file = savelocation.append(id+".profile").toFile(); //$NON-NLS-1$ if(!file.exists()) { file.createNewFile(); } try { fout = new FileOutputStream(file); - profile.writeProfileDescription(fout); + writeBaselineDescription(baseline, fout); fout.flush(); } finally { @@ -302,6 +306,92 @@ } /** + * Writes the given {@link IApiBaseline} out as XML + * @param baseline + * @param stream + * @throws CoreException + */ + public void writeBaselineDescription(IApiBaseline baseline, OutputStream stream) throws CoreException { + String xml = getBaselineXML(baseline); + try { + stream.write(xml.getBytes(IApiCoreConstants.UTF_8)); + } catch (UnsupportedEncodingException e) { + abort("Error writing pofile descrition", e); //$NON-NLS-1$ + } catch (IOException e) { + abort("Error writing pofile descrition", e); //$NON-NLS-1$ + } + } + + /** + * Returns an XML description of the given profile. + * + * @param profile API profile + * @return XML + * @throws CoreException + */ + private String getBaselineXML(IApiBaseline baseline) throws CoreException { + // pool bundles by location + Map pools = new HashMap(); + List unRooted = new ArrayList(); + IApiComponent[] components = baseline.getApiComponents(); + for(int i = 0; i < components.length; i++) { + if(!components[i].isSystemComponent()) { + String location = components[i].getLocation(); + File file = new File(location); + if (file.exists()) { + File dir = file.getParentFile(); + if (dir != null) { + List pool = (List) pools.get(dir); + if (pool == null) { + pool = new ArrayList(); + pools.put(dir, pool); + } + pool.add(components[i]); + } else { + unRooted.add(components[i]); + } + } + + } + } + Document document = Util.newDocument(); + Element root = document.createElement(IApiXmlConstants.ELEMENT_APIPROFILE); + document.appendChild(root); + root.setAttribute(IApiXmlConstants.ATTR_NAME, baseline.getName()); + root.setAttribute(IApiXmlConstants.ATTR_VERSION, IApiXmlConstants.API_PROFILE_CURRENT_VERSION); + // dump component pools + Element subroot = null; + File dir = null; + List comps = null; + IApiComponent comp = null; + Element celement = null; + for(Iterator iter = pools.keySet().iterator(); iter.hasNext();) { + dir = (File) iter.next(); + subroot = document.createElement(IApiXmlConstants.ELEMENT_POOL); + root.appendChild(subroot); + subroot.setAttribute(IApiXmlConstants.ATTR_LOCATION, new Path(dir.getAbsolutePath()).toPortableString()); + comps = (List) pools.get(dir); + for(Iterator iter2 = comps.iterator(); iter2.hasNext();) { + comp = (IApiComponent) iter2.next(); + celement = document.createElement(IApiXmlConstants.ELEMENT_APICOMPONENT); + celement.setAttribute(IApiXmlConstants.ATTR_ID, comp.getId()); + celement.setAttribute(IApiXmlConstants.ATTR_VERSION, comp.getVersion()); + subroot.appendChild(celement); + } + } + // dump un-pooled components + for(Iterator iter = unRooted.iterator(); iter.hasNext();) { + comp = (IApiComponent) iter.next(); + celement = document.createElement(IApiXmlConstants.ELEMENT_APICOMPONENT); + celement.setAttribute(IApiXmlConstants.ATTR_ID, comp.getId()); + celement.setAttribute(IApiXmlConstants.ATTR_VERSION, comp.getVersion()); + celement.setAttribute(IApiXmlConstants.ATTR_LOCATION, new Path(comp.getLocation()).toPortableString()); + root.appendChild(celement); + } + return Util.serializeDocument(document); + } + + /** * Throws a core exception with the given message and underlying exception, * if any. * @@ -320,7 +410,7 @@ * @return API profile * @throws CoreException if unable to restore the profile */ - public static IApiProfile restoreProfile(InputStream stream) throws CoreException { + public static IApiBaseline restoreProfile(InputStream stream) throws CoreException { long start = System.currentTimeMillis(); DocumentBuilder parser = null; try { @@ -331,12 +421,12 @@ } catch (FactoryConfigurationError e) { abort("Error restoring API profile", e); //$NON-NLS-1$ } - IApiProfile profile = null; + IApiBaseline profile = null; try { Document document = parser.parse(stream); Element root = document.getDocumentElement(); if(root.getNodeName().equals(IApiXmlConstants.ELEMENT_APIPROFILE)) { - profile = new ApiProfile(root.getAttribute(IApiXmlConstants.ATTR_NAME)); + profile = new ApiBaseline(root.getAttribute(IApiXmlConstants.ATTR_NAME)); // un-pooled components NodeList children = root.getElementsByTagName(IApiXmlConstants.ELEMENT_APICOMPONENT); List components = new ArrayList(); @@ -434,7 +524,7 @@ if(profilecache != null) { // we should first dispose all existing profiles for (Iterator iterator = this.profilecache.values().iterator(); iterator.hasNext();) { - IApiProfile profile = (IApiProfile) iterator.next(); + IApiBaseline profile = (IApiBaseline) iterator.next(); profile.dispose(); } this.profilecache.clear(); @@ -471,9 +561,9 @@ /* (non-Javadoc) * @see org.eclipse.pde.api.tools.IApiProfileManager#getDefaultApiProfile() */ - public synchronized IApiProfile getDefaultApiProfile() { + public synchronized IApiBaseline getDefaultApiProfile() { initializeStateCache(); - return (IApiProfile) profilecache.get(defaultprofile); + return (IApiBaseline) profilecache.get(defaultprofile); } /* (non-Javadoc) @@ -487,7 +577,7 @@ /* (non-Javadoc) * @see org.eclipse.pde.api.tools.internal.provisional.IApiProfileManager#getWorkspaceProfile() */ - public synchronized IApiProfile getWorkspaceProfile() { + public synchronized IApiBaseline getWorkspaceProfile() { if(ApiPlugin.isRunningInFramework()) { if(this.workspaceprofile == null) { this.workspaceprofile = createWorkspaceProfile(); @@ -509,14 +599,14 @@ } /** - * Creates a workspace {@link IApiProfile} - * @return a new workspace {@link IApiProfile} or <code>null</code> + * Creates a workspace {@link IApiBaseline} + * @return a new workspace {@link IApiBaseline} or <code>null</code> */ - private IApiProfile createWorkspaceProfile() { + private IApiBaseline createWorkspaceProfile() { long time = System.currentTimeMillis(); - IApiProfile profile = null; + IApiBaseline profile = null; try { - profile = Factory.newApiProfile(ApiProfileManager.WORKSPACE_API_PROFILE_ID); + profile = Factory.newApiProfile(ApiBaselineManager.WORKSPACE_API_PROFILE_ID); // populate it with only projects that are API aware IPluginModelBase[] models = PluginRegistry.getActiveModels(); List componentsList = new ArrayList(models.length); @@ -645,7 +735,7 @@ if(DEBUG) { System.out.println("processed package fragment REMOVE delta: ["+fragment.getElementName()+"]"); //$NON-NLS-1$ //$NON-NLS-2$ } - ((ApiProfile)getWorkspaceProfile()).clearPackage(fragment.getElementName()); + ((ApiBaseline)getWorkspaceProfile()).clearPackage(fragment.getElementName()); } /**
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ApiDescriptionManager.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ApiDescriptionManager.java index df75006..0441d14 100644 --- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ApiDescriptionManager.java +++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ApiDescriptionManager.java
@@ -37,13 +37,12 @@ import org.eclipse.jdt.core.IType; import org.eclipse.jdt.core.JavaCore; import org.eclipse.osgi.service.resolver.BundleDescription; -import org.eclipse.pde.api.tools.internal.ApiDescription.ManifestNode; import org.eclipse.pde.api.tools.internal.ProjectApiDescription.TypeNode; import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin; import org.eclipse.pde.api.tools.internal.provisional.Factory; -import org.eclipse.pde.api.tools.internal.provisional.IApiDescription; import org.eclipse.pde.api.tools.internal.provisional.descriptors.IElementDescriptor; import org.eclipse.pde.api.tools.internal.provisional.descriptors.IReferenceTypeDescriptor; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiDescription; import org.eclipse.pde.api.tools.internal.provisional.scanner.ScannerMessages; import org.eclipse.pde.api.tools.internal.util.Util; import org.w3c.dom.Element; @@ -151,10 +150,7 @@ .append(IApiCoreConstants.API_DESCRIPTION_XML_NAME).toFile(); if (file.exists()) { file.delete(); - } - file = API_DESCRIPTIONS_CONTAINER_PATH.append(project.getElementName()).toFile(); - if(file.exists() && file.isDirectory()) { - file.delete(); + file.getParentFile().delete(); } } }
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ApiModelManager.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ApiModelManager.java new file mode 100644 index 0000000..d0b6d43 --- /dev/null +++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ApiModelManager.java
@@ -0,0 +1,183 @@ +/******************************************************************************* + * Copyright (c) 2008 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package org.eclipse.pde.api.tools.internal; + +import java.io.File; + +import org.eclipse.core.resources.IProject; +import org.eclipse.core.resources.IResource; +import org.eclipse.pde.api.tools.internal.model.ApiBaseline; +import org.eclipse.pde.api.tools.internal.model.ApiComponent; +import org.eclipse.pde.api.tools.internal.model.ApiResource; +import org.eclipse.pde.api.tools.internal.model.cache.ApiToolsCache; +import org.eclipse.pde.api.tools.internal.model.infos.ApiElementInfo; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiBaseline; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiComponent; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiElement; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiResource; + +/** + * Manager to help with model elements / infos caching + * + * @since 1.0.0 + * @noinstantiate This class is not intended to be instantiated by clients. + */ +public final class ApiModelManager { + + /** + * The singleton instance of this manager + */ + private static ApiModelManager fInstance = null; + + /** + * The cache of {@link ApiElementInfo}s for the workspace + */ + private ApiToolsCache fCache = new ApiToolsCache(); + + /** + * Constructor, made private for no instantiation + */ + private ApiModelManager() {} + + /** + * Returns the available instance of this manager + * @return the manager instance + */ + public static synchronized ApiModelManager getManager() { + if(fInstance == null) { + fInstance = new ApiModelManager(); + } + return fInstance; + } + + /** + * Returns the cached {@link ApiElementInfo} for the given {@link IApiElement} + * or <code>null</code> if there is no entry in the cache. + * This method does not create new element infos. + * @param element + * @return the {@link ApiElementInfo} for the given {@link IApiElement} or <code>null</code> + */ + public synchronized ApiElementInfo getInfo(IApiElement element) { + return fCache.getInfo(element); + } + + /** + * Adds the given {@link ApiElementInfo} to the cache for the given {@link IApiElement} + * @param element + * @param info + */ + public synchronized void addInfo(IApiElement element, ApiElementInfo info) { + fCache.putInfo(element, info); + } + + /** + * Removes the cached {@link ApiElementInfo} for the given {@link IApiElement} and returns + * the removed info, or <code>null</code> if there was no entry in the cache for the given element. + * @param element + * @return the removed {@link ApiElementInfo} or <code>null</code> if nothing was removed + */ + public synchronized ApiElementInfo removeInfo(IApiElement element) { + return fCache.removeInfo(element); + } + + /** + * Creates and returns a new {@link IApiComponent} handle or <code>null</code> + * if the given project is <code>null</code>. + * The returned handle is not guaranteed to exist. + * @param baseline + * @param project + * @return a new {@link IApiComponent} handle or <code>null</code> + */ + public IApiComponent create(IApiBaseline baseline, IProject project) { + if(project == null) { + return null; + } + return new ApiComponent(baseline, project.getName()); + } + + /** + * Creates and returns a new {@link IApiComponent} handle or <code>null</code> + * if the given project is <code>null</code>. + * The returned handle is not guaranteed to exist. + * @param baseline + * @param name + * @return a new {@link IApiComponent} handle or <code>null</code> + */ + public IApiComponent create(IApiBaseline baseline, String name) { + if(name == null) { + return null; + } + return new ApiComponent(baseline, name); + } + + /** + * Creates and returns a new {@link IApiComponent} handle or <code>null</code> + * if the given project is <code>null</code>. + * The returned handle is not guaranteed to exist. + * @param project + * @return a new {@link IApiComponent} handle or <code>null</code> + */ + public IApiComponent create(IProject project) { + return create((IApiBaseline)null, project); + } + + /** + * Creates and returns a new {@link IApiComponent} handle or <code>null</code> + * if the given project is <code>null</code>. + * The returned handle is not guaranteed to exist. + * @param name + * @return a new {@link IApiComponent} handle or <code>null</code> + */ + public IApiComponent create(String name) { + return create(null, name); + } + + /** + * Creates and returns a new {@link IApiResource} handle or <code>null</code> + * if the given resource is <code>null</code>. + * The returned handle is not guaranteed to exist. + * @param resource + * @param project + * @return a new {@link IApiResource} handle or <code>null</code> + */ + public IApiResource create(IResource resource, IProject project) { + if(resource == null) { + return null; + } + return new ApiResource(create(project), resource); + } + + /** + * Creates and returns a new {@link IApiResource} handle with + * an undetermined parent project or <code>null</code> if the + * given resource is <code>null</code> + * @param resource + * @return a new {@link IApiResource} handle or <code>null</code> + */ + public IApiResource create(IResource resource) { + return create(resource, null); + } + + /** + * Creates and returns a new {@link IApiBaseline} handle + * or <code>null</code> if the given name is <code>null</code> + * @param name + * @param eefile the optional execution environment description file to initialize + * resulting infos from. + * @return a new {@link IApiBaseline} handle or <code>null</code> + */ + public IApiBaseline create(String name, File eefile) { + if(name == null) { + return null; + } + return new ApiBaseline(name, eefile); + } +}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ApiProfile.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ApiProfile.java deleted file mode 100644 index 82b3b87..0000000 --- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ApiProfile.java +++ /dev/null
@@ -1,1106 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2007, 2008 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.pde.api.tools.internal; - -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.io.UnsupportedEncodingException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; -import java.util.Comparator; -import java.util.Dictionary; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Hashtable; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Properties; -import java.util.Set; -import java.util.Map.Entry; -import java.util.zip.ZipEntry; -import java.util.zip.ZipFile; - -import org.eclipse.core.resources.IProject; -import org.eclipse.core.resources.IWorkspaceRoot; -import org.eclipse.core.resources.ResourcesPlugin; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.FileLocator; -import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.MultiStatus; -import org.eclipse.core.runtime.Path; -import org.eclipse.core.runtime.Platform; -import org.eclipse.core.runtime.Status; -import org.eclipse.jdt.core.JavaCore; -import org.eclipse.jdt.internal.launching.EEVMType; -import org.eclipse.jdt.launching.IVMInstall; -import org.eclipse.jdt.launching.IVMInstall2; -import org.eclipse.jdt.launching.IVMInstallChangedListener; -import org.eclipse.jdt.launching.JavaRuntime; -import org.eclipse.jdt.launching.PropertyChangeEvent; -import org.eclipse.jdt.launching.VMStandin; -import org.eclipse.jdt.launching.environments.IExecutionEnvironment; -import org.eclipse.jdt.launching.environments.IExecutionEnvironmentsManager; -import org.eclipse.osgi.service.resolver.BundleDescription; -import org.eclipse.osgi.service.resolver.ExportPackageDescription; -import org.eclipse.osgi.service.resolver.ResolverError; -import org.eclipse.osgi.service.resolver.State; -import org.eclipse.osgi.service.resolver.StateHelper; -import org.eclipse.osgi.service.resolver.StateObjectFactory; -import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin; -import org.eclipse.pde.api.tools.internal.provisional.IApiComponent; -import org.eclipse.pde.api.tools.internal.provisional.IApiProfile; -import org.eclipse.pde.api.tools.internal.util.Util; -import org.eclipse.pde.core.plugin.IPluginModelBase; -import org.osgi.framework.Bundle; -import org.osgi.framework.Constants; -import org.w3c.dom.Document; -import org.w3c.dom.Element; - -import com.ibm.icu.text.MessageFormat; - -/** - * Implementation of an API profile. - * - * @since 1.0 - */ -public class ApiProfile implements IApiProfile, IVMInstallChangedListener { - /** - * Constant used for controlling tracing in the example class - */ - private static boolean DEBUG = Util.DEBUG; - - /** - * Method used for initializing tracing in the example class - */ - public static void setDebug(boolean debugValue) { - DEBUG = debugValue || Util.DEBUG; - } - - public static IWorkspaceRoot ROOT; - public static IPath ROOT_LOCATION_PATH; - - static { - try { - ROOT = ResourcesPlugin.getWorkspace().getRoot(); - ROOT_LOCATION_PATH = ROOT.getLocation(); - } catch(IllegalStateException e) { - // ignore - } - } - private IApiComponent[] EMPTY_COMPONENTS = new IApiComponent[0]; - - /** - * profile name - */ - private String fName; - - /** - * OSGi bundle state - */ - private State fState; - - /** - * Next available bundle id - */ - private long fNextId = 0L; - - /** - * Execution environment identifier - */ - private String fExecutionEnvironment; - - /** - * Component representing the system library - */ - private IApiComponent fSystemLibraryComponent; - - /** - * Whether an execution environment should be automatically resolved - * as API components are added. - */ - private boolean fAutoResolve = false; - - /** - * Execution environment status - */ - private IStatus fEEStatus = null; - - /** - * Constant to match any value for ws, os, arch. - */ - private AnyValue ANY_VALUE = new AnyValue("*"); //$NON-NLS-1$ - - /** - * Cache of resolved packages. - * <p>Map of <code>PackageName -> Map(componentName -> IApiComponent[])</code></p> - * For each package the cache contains a map of API components that provide that package, - * by source component name (including the <code>null</code> component name). - */ - private HashMap fComponentsCache = null; - - /** - * Maps bundle descriptions to components. - * <p>Map of <code>BundleDescription.getSymbolicName() + BundleDescription.getVersion().toString() -> {@link IApiComponent}</code></p> - */ - private Map fComponents = null; - - /** - * Maps component id's to components. - * <p>Map of <code>componentId -> {@link IApiComponent}</code></p> - */ - private Map fComponentsById = null; - - /** - * Cache of system package names - */ - private Set fSystemPackageNames = null; - - /** - * The VM install this profile is bound to for system libraries or <code>null</code>. - * Only used in the IDE when OSGi is running. - */ - private IVMInstall fVMBinding = null; - - /** - * Constructs a new API profile with the given name. - * - * @param name profile name - */ - public ApiProfile(String name) { - fName = name; - fAutoResolve = true; - fEEStatus = new Status(IStatus.ERROR, ApiPlugin.PLUGIN_ID, CoreMessages.ApiProfile_0); - fState = StateObjectFactory.defaultFactory.createState(true); - } - - /** - * Constructs a new API profile with the given attributes. - * - * @param name profile name - * @param eeDescriptoin execution environment description file - * @throws CoreException if unable to create a profile with the given attributes - */ - public ApiProfile(String name, File eeDescription) throws CoreException { - this(name); - fAutoResolve = false; - EEVMType.clearProperties(eeDescription); - String profile = EEVMType.getProperty(EEVMType.PROP_CLASS_LIB_LEVEL, eeDescription); - initialize(profile, eeDescription); - fEEStatus = new Status(IStatus.OK, ApiPlugin.PLUGIN_ID, - MessageFormat.format(CoreMessages.ApiProfile_1, new String[]{profile})); - } - - /** - * Initializes this profile to resolve in the execution environment - * associated with the given symbolic name. - * - * @param environmentId execution environment symbolic name - * @param eeFile execution environment description file - * @throws CoreException if unable to initialize based on the given id - */ - private void initialize(String environmentId, File eeFile) throws CoreException { - Properties properties = null; - if (ApiPlugin.isRunningInFramework()) { - properties = getJavaProfileProperties(environmentId); - } else { - properties = Util.getEEProfile(eeFile); - } - if (properties == null) { - abort("Unknown execution environment: " + environmentId, null); //$NON-NLS-1$ - } else { - initialize(properties, eeFile); - } - } - - /** - * Throws a core exception with the given message and underlying exception, - * if any. - * - * @param message error message - * @param e underlying exception or <code>null</code> - * @throws CoreException - */ - private static void abort(String message, Throwable e) throws CoreException { - throw new CoreException(new Status(IStatus.ERROR, ApiPlugin.PLUGIN_ID, message, e)); - } - - /** - * Returns the property file for the given environment or <code>null</code>. - * - * @param ee execution environment symbolic name - * @return properties file or <code>null</code> if none - */ - public static Properties getJavaProfileProperties(String ee) throws CoreException { - Bundle osgiBundle = Platform.getBundle("org.eclipse.osgi"); //$NON-NLS-1$ - if (osgiBundle == null) - return null; - URL profileURL = osgiBundle.getEntry(ee.replace('/', '_') + ".profile"); //$NON-NLS-1$ - if (profileURL != null) { - InputStream is = null; - try { - profileURL = FileLocator.resolve(profileURL); - URLConnection openConnection = profileURL.openConnection(); - openConnection.setUseCaches(false); - is = openConnection.getInputStream(); - if (is != null) { - Properties profile = new Properties(); - profile.load(is); - return profile; - } - } catch (IOException e) { - abort("Unable to read profile: " + ee, e); //$NON-NLS-1$ - } finally { - try { - if (is != null) { - is.close(); - } - } catch (IOException e) { - ApiPlugin.log(e); - } - } - } - return null; - } - - /** - * Initializes this profile from the given properties. - * - * @param profile OGSi profile properties - * @param description execution environment description file - * @throws CoreException if unable to initialize - */ - private void initialize(Properties profile, File description) throws CoreException { - String value = profile.getProperty(Constants.FRAMEWORK_SYSTEMPACKAGES); - Dictionary dictionary = new Hashtable(); - String[] systemPackages = null; - if (value != null) { - systemPackages = value.split(","); //$NON-NLS-1$ - dictionary.put(Constants.FRAMEWORK_SYSTEMPACKAGES, value); - } - value = profile.getProperty(Constants.FRAMEWORK_EXECUTIONENVIRONMENT); - if (value != null) { - dictionary.put(Constants.FRAMEWORK_EXECUTIONENVIRONMENT, value); - } - fExecutionEnvironment = profile.getProperty("osgi.java.profile.name"); //$NON-NLS-1$ - if (fExecutionEnvironment == null) { - abort("Profile file missing 'osgi.java.profile.name'" , null); //$NON-NLS-1$ - } - dictionary.put("osgi.os", ANY_VALUE); //$NON-NLS-1$ - dictionary.put("osgi.arch", ANY_VALUE); //$NON-NLS-1$ - dictionary.put("osgi.ws", ANY_VALUE); //$NON-NLS-1$ - dictionary.put("osgi.nl", ANY_VALUE); //$NON-NLS-1$ - fState.setPlatformProperties(dictionary); - // clean up previous system library - if (fSystemLibraryComponent != null && fComponentsById != null) { - fComponentsById.remove(fSystemLibraryComponent.getId()); - } - if(fSystemPackageNames != null) { - fSystemPackageNames.clear(); - fSystemPackageNames = null; - } - clearComponentsCache(); - // set new system library - fSystemLibraryComponent = new SystemLibraryApiComponent(this, description, systemPackages); - addComponent(fSystemLibraryComponent); - } - - /** - * Clears the package -> components cache and sets it to <code>null</code> - */ - private void clearComponentsCache() { - if(fComponentsCache != null) { - fComponentsCache.clear(); - fComponentsCache = null; - } - } - - /** - * Adds an {@link IApiComponent} to the fComponentsById mapping - * @param component - */ - private void addComponent(IApiComponent component) { - if(component == null) { - return; - } - if(fComponentsById == null) { - fComponentsById = new HashMap(); - } - fComponentsById.put(component.getId(), component); - } - - /* (non-Javadoc) - * @see IApiProfile#addApiComponents(org.eclipse.pde.api.tools.model.component.IApiComponent[], boolean) - */ - public void addApiComponents(IApiComponent[] components) { - HashSet ees = new HashSet(); - for (int i = 0; i < components.length; i++) { - BundleApiComponent component = (BundleApiComponent) components[i]; - if (component.isSourceComponent()) { - continue; - } - BundleDescription description = component.getBundleDescription(); - fState.addBundle(description); - storeBundleDescription(description, component); - addComponent(component); - ees.addAll(Arrays.asList(component.getExecutionEnvironments())); - } - resolveSystemLibrary(ees); - fState.resolve(); - if (DEBUG) { - ResolverError[] errors = getErrors(); - int length = errors.length; - if (length != 0) { - System.out.println("Errors found during state resolution"); //$NON-NLS-1$ - for (int i = 0; i < length; i++) { - ResolverError resolverError = errors[i]; - System.err.println(resolverError); - } - System.out.println("All components added to the state"); //$NON-NLS-1$ - BundleDescription[] bundles = fState.getBundles(); - Arrays.sort(bundles, new Comparator() { - public int compare(Object o1, Object o2) { - BundleDescription bundleDescription1 = (BundleDescription) o1; - BundleDescription bundleDescription2 = (BundleDescription) o2; - return bundleDescription1.getSymbolicName().compareTo(bundleDescription2.getSymbolicName()); - } - }); - for (int i = 0, max = bundles.length; i < max; i++) { - BundleDescription bundleDescription = bundles[i]; - System.out.println("bundle descriptions added to the state[" + i + "] : " + bundleDescription.getSymbolicName()); //$NON-NLS-1$ //$NON-NLS-2$ - } - System.out.println("All available components"); //$NON-NLS-1$ - Arrays.sort(components, new Comparator() { - public int compare(Object o1, Object o2) { - IApiComponent component1 = (IApiComponent) o1; - IApiComponent component2 = (IApiComponent) o2; - return component1.getId().compareTo(component2.getId()); - } - }); - for (int i = 0, max = components.length; i < max; i++) { - IApiComponent component = components[i]; - if (component instanceof PluginProjectApiComponent) { - System.out.println("workspace component[" + i + "] : " + component); //$NON-NLS-1$ //$NON-NLS-2$ - } else { - System.out.println("Binary component [" + i + "] : " + component); //$NON-NLS-1$ //$NON-NLS-2$ - } - } - } else { - System.out.println("No errors found during state resolution"); //$NON-NLS-1$ - } - } - } - - /** - * Resolves and initializes the system library to use based on API component requirements. - * Only works when running in the framework. Has no effect if not running in the framework. - */ - private void resolveSystemLibrary(HashSet ees) { - if (ApiPlugin.isRunningInFramework() && fAutoResolve) { - IStatus error = null; - IExecutionEnvironmentsManager manager = JavaRuntime.getExecutionEnvironmentsManager(); - Iterator iterator = ees.iterator(); - Map VMsToEEs = new HashMap(); - while (iterator.hasNext()) { - String ee = (String) iterator.next(); - IExecutionEnvironment environment = manager.getEnvironment(ee); - if (environment != null) { - IVMInstall[] compatibleVMs = environment.getCompatibleVMs(); - for (int i = 0; i < compatibleVMs.length; i++) { - IVMInstall vm = compatibleVMs[i]; - Set EEs = (Set) VMsToEEs.get(vm); - if (EEs == null) { - EEs = new HashSet(); - VMsToEEs.put(vm, EEs); - } - EEs.add(ee); - } - } - } - // select VM that is compatible with most required environments - iterator = VMsToEEs.entrySet().iterator(); - IVMInstall bestFit = null; - int bestCount = 0; - while (iterator.hasNext()) { - Entry entry = (Entry) iterator.next(); - Set EEs = (Set)entry.getValue(); - if (EEs.size() > bestCount) { - bestCount = EEs.size(); - bestFit = (IVMInstall)entry.getKey(); - } - } - String systemEE = null; - if (bestFit != null) { - // find the EE this VM is strictly compatible with - IExecutionEnvironment[] environments = manager.getExecutionEnvironments(); - for (int i = 0; i < environments.length; i++) { - IExecutionEnvironment environment = environments[i]; - if (environment.isStrictlyCompatible(bestFit)) { - systemEE = environment.getId(); - break; - } - } - if (systemEE == null) { - // a best fit, but not strictly compatible with any environment (e.g. - // a 1.7 VM for which there is no profile yet). This is a bit of a hack - // until an OSGi profile exists for 1.7. - if (bestFit instanceof IVMInstall2) { - String javaVersion = ((IVMInstall2)bestFit).getJavaVersion(); - if (javaVersion != null) { - if (javaVersion.startsWith(JavaCore.VERSION_1_7)) { - // set EE to 1.6 when 1.7 is detected - systemEE = "JavaSE-1.6"; //$NON-NLS-1$ - } - } - } - } - if (systemEE != null) { - // only update if different from current or missing VM binding - if (!systemEE.equals(getExecutionEnvironment()) || fVMBinding == null) { - try { - File file = Util.createEEFile(bestFit, systemEE); - JavaRuntime.addVMInstallChangedListener(this); - fVMBinding = bestFit; - initialize(systemEE, file); - } catch (CoreException e) { - error = new Status(IStatus.ERROR, ApiPlugin.PLUGIN_ID, CoreMessages.ApiProfile_2, e); - } catch (IOException e) { - error = new Status(IStatus.ERROR, ApiPlugin.PLUGIN_ID, CoreMessages.ApiProfile_2, e); - } - } - } else { - // VM is not strictly compatible with any EE - error = new Status(IStatus.ERROR, ApiPlugin.PLUGIN_ID, CoreMessages.ApiProfile_4); - } - } else { - // no VMs match any required EE - error = new Status(IStatus.ERROR, ApiPlugin.PLUGIN_ID, CoreMessages.ApiProfile_4); - } - if (error == null) { - // build status for unbound required EE's - Set missing = new HashSet(ees); - Set covered = new HashSet((Set)VMsToEEs.get(bestFit)); - missing.removeAll(covered); - if (missing.isEmpty()) { - fEEStatus = new Status(IStatus.OK, ApiPlugin.PLUGIN_ID, - MessageFormat.format(CoreMessages.ApiProfile_1, new String[]{systemEE})); - } else { - iterator = missing.iterator(); - MultiStatus multi = new MultiStatus(ApiPlugin.PLUGIN_ID, 0, CoreMessages.ApiProfile_7, null); - while (iterator.hasNext()) { - String id = (String) iterator.next(); - multi.add(new Status(IStatus.WARNING, ApiPlugin.PLUGIN_ID, - MessageFormat.format(CoreMessages.ApiProfile_8, new String[]{id}))); - } - fEEStatus = multi; - } - } else { - fEEStatus = error; - } - } - } - - /* (non-Javadoc) - * @see IApiProfile#getApiComponents() - */ - public IApiComponent[] getApiComponents() { - if(fComponentsById == null) { - return EMPTY_COMPONENTS; - } - Collection values = fComponentsById.values(); - return (IApiComponent[]) values.toArray(new IApiComponent[values.size()]); - } - - /* (non-Javadoc) - * @see IApiProfile#getName() - */ - public String getName() { - return fName; - } - - /* (non-Javadoc) - * @see org.eclipse.pde.api.tools.internal.provisional.IApiProfile#resolvePackage(org.eclipse.pde.api.tools.internal.provisional.IApiComponent, java.lang.String) - */ - public synchronized IApiComponent[] resolvePackage(IApiComponent sourceComponent, String packageName) throws CoreException { - HashMap componentsForPackage = null; - if(fComponentsCache != null){ - componentsForPackage = (HashMap) fComponentsCache.get(packageName); - } - else { - fComponentsCache = new HashMap(8); - } - IApiComponent[] cachedComponents = null; - if (componentsForPackage != null) { - cachedComponents = (IApiComponent[]) componentsForPackage.get(sourceComponent); - if (cachedComponents != null) { - return cachedComponents; - } - } else { - componentsForPackage = new HashMap(8); - fComponentsCache.put(packageName, componentsForPackage); - } - // check system packages first - if (isSystemPackage(packageName)) { - if (fSystemLibraryComponent != null) { - cachedComponents = new IApiComponent[] { fSystemLibraryComponent }; - } else { - return EMPTY_COMPONENTS; - } - } else { - if (sourceComponent != null) { - List componentsList = new ArrayList(); - resolvePackage0(sourceComponent, packageName, componentsList); - if (componentsList.size() != 0) { - cachedComponents = new IApiComponent[componentsList.size()]; - componentsList.toArray(cachedComponents); - } - } - } - if (cachedComponents == null) { - cachedComponents = EMPTY_COMPONENTS; - } - componentsForPackage.put(sourceComponent, cachedComponents); - return cachedComponents; - } - - /** - * Resolves the listing of {@link IApiComponent}s that export the given package name. The collection - * of {@link IApiComponent}s is written into the specified list <code>componentList</code> - * @param component - * @param packageName - * @param componentsList - * @throws CoreException - */ - private void resolvePackage0(IApiComponent component, String packageName, List componentsList) throws CoreException { - if (component instanceof BundleApiComponent) { - BundleDescription bundle = ((BundleApiComponent)component).getBundleDescription(); - if (bundle != null) { - StateHelper helper = fState.getStateHelper(); - ExportPackageDescription[] visiblePackages = helper.getVisiblePackages(bundle); - for (int i = 0; i < visiblePackages.length; i++) { - ExportPackageDescription pkg = visiblePackages[i]; - if (packageName.equals(pkg.getName())) { - BundleDescription bundleDescription = pkg.getExporter(); - IApiComponent exporter = getBundleDescription(bundleDescription); - if (exporter != null) { - componentsList.add(exporter); - } - } - } - // check for package within the source component - String[] packageNames = component.getPackageNames(); - // TODO: would be more efficient to have containsPackage(...) or something - for (int i = 0; i < packageNames.length; i++) { - if (packageName.equals(packageNames[i])) { - componentsList.add(component); - } - } - } - } - } - /** - * Returns whether the specified package is supplied by the system - * library. - * - * @param packageName package name - * @return whether the specified package is supplied by the system - * library - */ - private boolean isSystemPackage(String packageName) { - if (packageName.startsWith("java.")) { //$NON-NLS-1$ - return true; - } - if (fSystemPackageNames == null) { - ExportPackageDescription[] systemPackages = fState.getSystemPackages(); - fSystemPackageNames = new HashSet(systemPackages.length); - for (int i = 0; i < systemPackages.length; i++) { - fSystemPackageNames.add(systemPackages[i].getName()); - } - } - return fSystemPackageNames.contains(packageName); - } - - - /* (non-Javadoc) - * @see IApiProfile#newApiComponent(java.lang.String) - */ - public IApiComponent newApiComponent(String location) throws CoreException { - BundleApiComponent component = new BundleApiComponent(this, location); - if(component.isValidBundle()) { - component.init(fState, nextId()); - return component; - } - return null; - } - - - /* (non-Javadoc) - * @see IApiProfile#newApiComponent(IPluginModelBase) - */ - public IApiComponent newApiComponent(IPluginModelBase model) throws CoreException { - BundleDescription bundleDescription = model.getBundleDescription(); - if (bundleDescription == null) { - return null; - } - String location = bundleDescription.getLocation(); - if (location == null) { - return null; - } - IPath pathForLocation = new Path(location); - BundleApiComponent component = null; - if (ROOT_LOCATION_PATH != null && ROOT_LOCATION_PATH.isPrefixOf(pathForLocation)) { - if(isValidProject(location)) { - component = new PluginProjectApiComponent(this, location, model); - } - } else { - component = new BundleApiComponent(this, location); - } - if(component != null && component.isValidBundle()) { - component.init(fState, nextId()); - return component; - } - return null; - } - - /** - * Returns if the specified location is a valid API project or not. - * <p> - * We accept projects that are plug-ins even if not API enabled (i.e. - * with API nature), as we still need them to make a complete - * API profile without resolution errors. - * </p> - * @param location - * @return true if the location is valid, false otherwise - * @throws CoreException - */ - private boolean isValidProject(String location) throws CoreException { - IPath path = new Path(location); - IProject project = ApiProfile.ROOT.getProject(path.lastSegment()); - return project != null && project.exists(); - } - - /** - * Returns the next available bundle identifier. - * - * @return next available bundle identifier - */ - private long nextId() { - return ++fNextId; - } - - /* (non-Javadoc) - * @see org.eclipse.pde.api.tools.internal.provisional.IApiProfile#getApiComponent(java.lang.String) - */ - public IApiComponent getApiComponent(String id) { - if(fComponentsById == null) { - return null; - } - return (IApiComponent) fComponentsById.get(id); - } - - /* (non-Javadoc) - * @see org.eclipse.pde.api.tools.model.component.IApiState#getExecutionEnvironment() - */ - public String getExecutionEnvironment() { - return fExecutionEnvironment; - } - - /** - * Returns all errors in the state. - * - * @return state errors - */ - public ResolverError[] getErrors() { - List errs = new ArrayList(); - BundleDescription[] bundles = fState.getBundles(); - for (int i = 0; i < bundles.length; i++) { - ResolverError[] errors = fState.getResolverErrors(bundles[i]); - for (int j = 0; j < errors.length; j++) { - errs.add(errors[j]); - } - } - return (ResolverError[]) errs.toArray(new ResolverError[errs.size()]); - } - - /* (non-Javadoc) - * @see IApiProfile#setName(java.lang.String) - */ - public void setName(String name) { - if(name != null) { - fName = name; - } - } - - /** - * Returns a file to the root of the specified bundle or <code>null</code> - * if none. Searches for plug-ins based on the "requiredBundles" system - * property. - * - * @param bundleName symbolic name - * @return bundle root or <code>null</code> - */ - static File getBundle(String bundleName) { - String root = System.getProperty("requiredBundles"); //$NON-NLS-1$ - if (root != null) { - File bundlesRoot = new File(root); - if (bundlesRoot.exists() && bundlesRoot.isDirectory()) { - File[] bundles = bundlesRoot.listFiles(); - if (bundles != null) { - StringBuffer buffer = new StringBuffer(bundleName); - buffer.append('_'); - String key = String.valueOf(buffer); - for (int i = 0; i < bundles.length; i++) { - File file = bundles[i]; - if (file.getName().startsWith(key)) { - return file; - } - } - } - } - } - return null; - } - - /** - * Retrieve the properties from the OSGi bundle (jar) - * - * @param location the location to look - * @param ee the id of the execution environment - * @return the ee properties file or <code>null</code> if it could not be created - * @throws CoreException - */ - static Properties getEEProfile(File location, String ee) throws CoreException { - String filename = ee + ".profile"; //$NON-NLS-1$ - InputStream is = null; - ZipFile zipFile = null; - try { - // find the input stream to the profile properties file - if (location.isDirectory()) { - File file = new File(location, filename); - if (file.exists()) - is = new FileInputStream(file); - } else { - try { - zipFile = new ZipFile(location, ZipFile.OPEN_READ); - ZipEntry entry = zipFile.getEntry(filename); - if (entry != null) - is = zipFile.getInputStream(entry); - } catch (IOException e) { - // nothing to do - } - } - if (is != null) { - Properties profile = new Properties(); - profile.load(is); - return profile; - } - } catch (IOException e) { - // nothing to do - } finally { - if (is != null) - try { - is.close(); - } catch (IOException e) { - ApiPlugin.log(e); - } - if (zipFile != null) - try { - zipFile.close(); - } catch (IOException e) { - ApiPlugin.log(e); - } - } - return null; - } - - /* (non-Javadoc) - * @see IApiProfile#dispose() - */ - public void dispose() { - if (ApiPlugin.isRunningInFramework()) { - JavaRuntime.removeVMInstallChangedListener(this); - } - IApiComponent[] components = getApiComponents(); - for (int i = 0; i < components.length; i++) { - components[i].dispose(); - } - if(fComponents != null) { - fComponents.clear(); - fComponents = null; - } - clearComponentsCache(); - if(fComponentsById != null) { - fComponentsById.clear(); - fComponentsById = null; - } - if (fSystemPackageNames != null) { - fSystemPackageNames.clear(); - } - if(fSystemLibraryComponent != null) { - fSystemLibraryComponent.dispose(); - fSystemLibraryComponent = null; - } - fState = null; - } - - /* (non-Javadoc) - * @see org.eclipse.pde.api.tools.internal.provisional.IApiProfile#close() - */ - public void close() throws CoreException { - IApiComponent[] components = getApiComponents(); - for (int i = 0; i < components.length; i++) { - components[i].close(); - } - } - - /* (non-Javadoc) - * @see org.eclipse.pde.api.tools.IApiProfile#writeProfileDescription(java.io.OutputStream) - */ - public void writeProfileDescription(OutputStream stream) throws CoreException { - String xml = getProfileXML(this); - try { - stream.write(xml.getBytes(IApiCoreConstants.UTF_8)); - } catch (UnsupportedEncodingException e) { - abort("Error writing pofile descrition", e); //$NON-NLS-1$ - } catch (IOException e) { - abort("Error writing pofile descrition", e); //$NON-NLS-1$ - } - } - - /** - * Returns an XML description of the given profile. - * - * @param profile API profile - * @return XML - * @throws CoreException - */ - private String getProfileXML(IApiProfile profile) throws CoreException { - // pool bundles by location - Map pools = new HashMap(); - List unRooted = new ArrayList(); - IApiComponent[] components = profile.getApiComponents(); - for(int i = 0; i < components.length; i++) { - if(!components[i].isSystemComponent()) { - String location = components[i].getLocation(); - File file = new File(location); - if (file.exists()) { - File dir = file.getParentFile(); - if (dir != null) { - List pool = (List) pools.get(dir); - if (pool == null) { - pool = new ArrayList(); - pools.put(dir, pool); - } - pool.add(components[i]); - } else { - unRooted.add(components[i]); - } - } - - } - } - Document document = Util.newDocument(); - Element root = document.createElement(IApiXmlConstants.ELEMENT_APIPROFILE); - document.appendChild(root); - root.setAttribute(IApiXmlConstants.ATTR_NAME, profile.getName()); - root.setAttribute(IApiXmlConstants.ATTR_VERSION, IApiXmlConstants.API_PROFILE_CURRENT_VERSION); - // dump component pools - Element subroot = null; - File dir = null; - List comps = null; - IApiComponent comp = null; - Element celement = null; - for(Iterator iter = pools.keySet().iterator(); iter.hasNext();) { - dir = (File) iter.next(); - subroot = document.createElement(IApiXmlConstants.ELEMENT_POOL); - root.appendChild(subroot); - subroot.setAttribute(IApiXmlConstants.ATTR_LOCATION, new Path(dir.getAbsolutePath()).toPortableString()); - comps = (List) pools.get(dir); - for(Iterator iter2 = comps.iterator(); iter2.hasNext();) { - comp = (IApiComponent) iter2.next(); - celement = document.createElement(IApiXmlConstants.ELEMENT_APICOMPONENT); - celement.setAttribute(IApiXmlConstants.ATTR_ID, comp.getId()); - celement.setAttribute(IApiXmlConstants.ATTR_VERSION, comp.getVersion()); - subroot.appendChild(celement); - } - } - // dump un-pooled components - for(Iterator iter = unRooted.iterator(); iter.hasNext();) { - comp = (IApiComponent) iter.next(); - celement = document.createElement(IApiXmlConstants.ELEMENT_APICOMPONENT); - celement.setAttribute(IApiXmlConstants.ATTR_ID, comp.getId()); - celement.setAttribute(IApiXmlConstants.ATTR_VERSION, comp.getVersion()); - celement.setAttribute(IApiXmlConstants.ATTR_LOCATION, new Path(comp.getLocation()).toPortableString()); - root.appendChild(celement); - } - return Util.serializeDocument(document); - } - - /* (non-Javadoc) - * @see org.eclipse.pde.api.tools.IApiProfile#getDependentComponents(org.eclipse.pde.api.tools.IApiComponent[]) - */ - public IApiComponent[] getDependentComponents(IApiComponent[] components) { - ArrayList bundles = getBundleDescriptions(components); - BundleDescription[] bundleDescriptions = fState.getStateHelper().getDependentBundles((BundleDescription[]) bundles.toArray(new BundleDescription[bundles.size()])); - return getApiComponents(bundleDescriptions); - } - - /** - * Returns an array of API components corresponding to the given bundle descriptions. - * - * @param bundles bundle descriptions - * @return corresponding API components - */ - private IApiComponent[] getApiComponents(BundleDescription[] bundles) { - ArrayList dependents = new ArrayList(bundles.length); - for (int i = 0; i < bundles.length; i++) { - BundleDescription bundle = bundles[i]; - IApiComponent component = getApiComponent(bundle.getSymbolicName()); - if (component != null) { - dependents.add(component); - } - } - return (IApiComponent[]) dependents.toArray(new IApiComponent[dependents.size()]); - } - - /** - * Returns an array of bundle descriptions corresponding to the given API components. - * - * @param components API components - * @return corresponding bundle descriptions - */ - private ArrayList getBundleDescriptions(IApiComponent[] components) { - ArrayList bundles = new ArrayList(components.length); - for (int i = 0; i < components.length; i++) { - IApiComponent component = components[i]; - if (component instanceof BundleApiComponent) { - bundles.add(((BundleApiComponent)component).getBundleDescription()); - } - } - return bundles; - } - - /* (non-Javadoc) - * @see org.eclipse.pde.api.tools.IApiProfile#getPrerequisiteComponents(org.eclipse.pde.api.tools.IApiComponent[]) - */ - public IApiComponent[] getPrerequisiteComponents(IApiComponent[] components) { - ArrayList bundles = getBundleDescriptions(components); - BundleDescription[] bundlesDescriptions = fState.getStateHelper().getPrerequisites((BundleDescription[]) bundles.toArray(new BundleDescription[bundles.size()])); - return getApiComponents(bundlesDescriptions); - } - - /** - * Gets the {@link BundleDescription} from the cache, if present - * @param bundleDescription - * @return the {@link BundleDescription} or <code>null</code> - */ - private IApiComponent getBundleDescription(BundleDescription bundleDescription) { - if(fComponents == null) { - return null; - } - return (IApiComponent) fComponents.get(bundleDescription.getSymbolicName() + bundleDescription.getVersion().toString()); - } - - /** - * Stores the given component in the cache keyed by {@link BundleDescription} symbolic name + version - * @param bundleDescription - * @param component - */ - private void storeBundleDescription(BundleDescription bundleDescription, IApiComponent component) { - if(fComponents == null) { - fComponents = new HashMap(8); - } - fComponents.put(bundleDescription.getSymbolicName() + bundleDescription.getVersion().toString(), component); - } - - /** - * Clear cached settings for the given package. - * - * @param packageName - */ - protected synchronized void clearPackage(String packageName) { - if(fComponentsCache != null) { - fComponentsCache.remove(packageName); - } - } - - /* (non-Javadoc) - * @see java.lang.Object#toString() - */ - public String toString() { - return getName(); - } - - /* (non-Javadoc) - * @see org.eclipse.pde.api.tools.internal.provisional.IApiProfile#getExecutionEnvironmentStatus() - */ - public IStatus getExecutionEnvironmentStatus() { - return fEEStatus; - } - - /* (non-Javadoc) - * @see org.eclipse.jdt.launching.IVMInstallChangedListener#defaultVMInstallChanged(org.eclipse.jdt.launching.IVMInstall, org.eclipse.jdt.launching.IVMInstall) - */ - public void defaultVMInstallChanged(IVMInstall previous, IVMInstall current) { - } - - /* (non-Javadoc) - * @see org.eclipse.jdt.launching.IVMInstallChangedListener#vmAdded(org.eclipse.jdt.launching.IVMInstall) - */ - public void vmAdded(IVMInstall vm) { - if (!(vm instanceof VMStandin)) { - // there may be a better fit for VMs/EEs - rebindVM(); - } - } - - /* (non-Javadoc) - * @see org.eclipse.jdt.launching.IVMInstallChangedListener#vmChanged(org.eclipse.jdt.launching.PropertyChangeEvent) - */ - public void vmChanged(PropertyChangeEvent event) { - if (!(event.getSource() instanceof VMStandin)) { - String property = event.getProperty(); - if (IVMInstallChangedListener.PROPERTY_INSTALL_LOCATION.equals(property) || - IVMInstallChangedListener.PROPERTY_LIBRARY_LOCATIONS.equals(property)) { - rebindVM(); - } - } - } - - /** - * Re-binds the VM this profile is bound to. - */ - private void rebindVM() { - fVMBinding = null; - IApiComponent[] components = getApiComponents(); - HashSet ees = new HashSet(); - for (int i = 0; i < components.length; i++) { - ees.addAll(Arrays.asList(components[i].getExecutionEnvironments())); - } - resolveSystemLibrary(ees); - } - - /* (non-Javadoc) - * @see org.eclipse.jdt.launching.IVMInstallChangedListener#vmRemoved(org.eclipse.jdt.launching.IVMInstall) - */ - public void vmRemoved(IVMInstall vm) { - if (vm.equals(fVMBinding)) { - rebindVM(); - } - } -}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/BundleApiComponent.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/BundleApiComponent.java index 2ebf0fa..dfe9767 100644 --- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/BundleApiComponent.java +++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/BundleApiComponent.java
@@ -46,15 +46,16 @@ import org.eclipse.osgi.service.resolver.State; import org.eclipse.osgi.service.resolver.StateObjectFactory; import org.eclipse.osgi.util.ManifestElement; +import org.eclipse.pde.api.tools.internal.model.ApiDescription; import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin; import org.eclipse.pde.api.tools.internal.provisional.Factory; -import org.eclipse.pde.api.tools.internal.provisional.IApiDescription; import org.eclipse.pde.api.tools.internal.provisional.IApiFilterStore; -import org.eclipse.pde.api.tools.internal.provisional.IApiProfile; import org.eclipse.pde.api.tools.internal.provisional.IClassFileContainer; import org.eclipse.pde.api.tools.internal.provisional.IRequiredComponentDescription; import org.eclipse.pde.api.tools.internal.provisional.VisibilityModifiers; import org.eclipse.pde.api.tools.internal.provisional.descriptors.IPackageDescriptor; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiDescription; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiBaseline; import org.eclipse.pde.api.tools.internal.provisional.scanner.ApiDescriptionProcessor; import org.eclipse.pde.api.tools.internal.util.SourceDefaultHandler; import org.eclipse.pde.api.tools.internal.util.Util; @@ -99,7 +100,7 @@ * @param location directory or jar file * @exception CoreException if unable to create a component from the specified location */ - public BundleApiComponent(IApiProfile profile, String location) throws CoreException { + public BundleApiComponent(IApiBaseline profile, String location) throws CoreException { super(profile); fLocation = location; } @@ -152,10 +153,10 @@ * @param state PDE state * @throws CoreException on failure */ - protected void init(State state, long bundleId) throws CoreException { + public void init(State state, long bundleId) throws CoreException { try { Dictionary manifest = getManifest(); - if (isBinaryBundle() && ApiProfileManager.WORKSPACE_API_PROFILE_ID.equals(getProfile().getName())) { + if (isBinaryBundle() && ApiBaselineManager.WORKSPACE_API_PROFILE_ID.equals(getProfile().getName())) { // must account for bundles in development mode - look for class files in output // folders rather than jars TargetWeaver.weaveManifest(manifest); @@ -751,7 +752,7 @@ * * @return bundle description */ - protected BundleDescription getBundleDescription() { + public BundleDescription getBundleDescription() { return fBundleDescription; }
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/CompositeApiDescription.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/CompositeApiDescription.java index eafbb48..331a1ff 100644 --- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/CompositeApiDescription.java +++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/CompositeApiDescription.java
@@ -10,13 +10,19 @@ *******************************************************************************/ package org.eclipse.pde.api.tools.internal; +import org.eclipse.core.resources.IResource; +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Status; import org.eclipse.osgi.service.resolver.BundleDescription; +import org.eclipse.pde.api.tools.internal.model.ApiElement; +import org.eclipse.pde.api.tools.internal.model.infos.ApiElementInfo; import org.eclipse.pde.api.tools.internal.provisional.ApiDescriptionVisitor; import org.eclipse.pde.api.tools.internal.provisional.IApiAnnotations; -import org.eclipse.pde.api.tools.internal.provisional.IApiDescription; import org.eclipse.pde.api.tools.internal.provisional.descriptors.IElementDescriptor; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiDescription; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiElement; /** * A host API description combines descriptions of a host and all its @@ -24,7 +30,7 @@ * * @since 1.0 */ -public class CompositeApiDescription implements IApiDescription { +public class CompositeApiDescription extends ApiElement implements IApiDescription { private IApiDescription[] fDescriptions; @@ -34,6 +40,7 @@ * @param descriptions */ public CompositeApiDescription(IApiDescription[] descriptions) { + super(null, "composite description", IApiElement.COMPONENT); fDescriptions = descriptions; } @@ -102,4 +109,46 @@ } } } + + /** + * @see org.eclipse.pde.api.tools.internal.provisional.model.IApiParent#getChildren() + */ + public IApiElement[] getChildren() throws CoreException { + return null; + } + + /** + * @see org.eclipse.pde.api.tools.internal.provisional.model.IApiParent#hasChildren() + */ + public boolean hasChildren() throws CoreException { + return false; + } + + /** + * @see org.eclipse.pde.api.tools.internal.model.ApiElement#createElementInfo() + */ + public ApiElementInfo createElementInfo() { + return null; + } + + /** + * @see org.eclipse.pde.api.tools.internal.provisional.model.IApiElement#exists() + */ + public boolean exists() { + return false; + } + + /** + * @see org.eclipse.pde.api.tools.internal.provisional.model.IApiElement#getPath() + */ + public IPath getPath() { + return null; + } + + /** + * @see org.eclipse.pde.api.tools.internal.provisional.model.IApiElement#getResource() + */ + public IResource getResource() { + return null; + } }
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/IApiCoreConstants.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/IApiCoreConstants.java index 1b51f1a..e19ed51 100644 --- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/IApiCoreConstants.java +++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/IApiCoreConstants.java
@@ -55,7 +55,7 @@ public static final String ECLIPSE_SOURCE_BUNDLE = "Eclipse-SourceBundle"; //$NON-NLS-1$ /** - * Constant representing the name of the {@link IApiProfile} used in headless ant builds. + * Constant representing the name of the {@link IApiBaseline} used in headless ant builds. * Value is: <code>ant_build_profile</code> */ public static final String ANT_BUILD_PROFILE_NAME = "ant_build_profile"; //$NON-NLS-1$
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ManifestNode.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ManifestNode.java new file mode 100644 index 0000000..f313622 --- /dev/null +++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ManifestNode.java
@@ -0,0 +1,167 @@ +/******************************************************************************* + * Copyright (c) 2008 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package org.eclipse.pde.api.tools.internal; + +import java.util.HashMap; + +import org.eclipse.pde.api.tools.internal.descriptors.ElementDescriptorImpl; +import org.eclipse.pde.api.tools.internal.provisional.RestrictionModifiers; +import org.eclipse.pde.api.tools.internal.provisional.descriptors.IElementDescriptor; +import org.eclipse.pde.api.tools.internal.provisional.descriptors.IFieldDescriptor; +import org.eclipse.pde.api.tools.internal.provisional.descriptors.IMemberDescriptor; +import org.eclipse.pde.api.tools.internal.provisional.descriptors.IMethodDescriptor; +import org.eclipse.pde.api.tools.internal.provisional.descriptors.IPackageDescriptor; +import org.eclipse.pde.api.tools.internal.util.Util; +import org.w3c.dom.Document; +import org.w3c.dom.Element; + +/** + * Represents a single node in the tree of mapped manifest items + */ +public class ManifestNode implements Comparable { + public IElementDescriptor element = null; + public int visibility, restrictions; + public ManifestNode parent = null; + public HashMap children = new HashMap(1); + + public ManifestNode(ManifestNode parent, IElementDescriptor element, int visibility, int restrictions) { + this.element = element; + this.visibility = visibility; + this.restrictions = restrictions; + this.parent = parent; + } + + /* (non-Javadoc) + * @see java.lang.Object#equals(java.lang.Object) + * This method is safe to override, as the name of an element is unique within its branch of the tree + * and does not change over time. + */ + public boolean equals(Object obj) { + if(obj instanceof ManifestNode) { + return ((ManifestNode)obj).element.equals(element); + } + return false; + } + + /* (non-Javadoc) + * @see java.lang.Object#hashCode() + * This method is safe to override, as the name of an element is unique within its branch of the tree + * and does not change over time. + */ + public int hashCode() { + return element.hashCode(); + } + + /* (non-Javadoc) + * @see java.lang.Object#toString() + */ + public String toString() { + String type = null; + String name = null; + switch(element.getElementType()) { + case IElementDescriptor.T_FIELD: { + type = "Field"; //$NON-NLS-1$ + name = ((IMemberDescriptor) element).getName(); + break; + } + case IElementDescriptor.T_METHOD: { + type = "Method"; //$NON-NLS-1$ + name = ((IMemberDescriptor) element).getName(); + break; + } + case IElementDescriptor.T_PACKAGE: { + type = "Package"; //$NON-NLS-1$ + name = ((IPackageDescriptor) element).getName(); + break; + } + case IElementDescriptor.T_REFERENCE_TYPE: { + type = "Type"; //$NON-NLS-1$ + name = ((IMemberDescriptor) element).getName(); + break; + } + } + StringBuffer buffer = new StringBuffer(); + buffer.append(type == null ? "Unknown" : type).append(" Node: ").append(name == null ? "Unknown Name" : name); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + buffer.append("\nVisibility: ").append(Util.getVisibilityKind(visibility)); //$NON-NLS-1$ + buffer.append("\nRestrictions: ").append(Util.getRestrictionKind(restrictions)); //$NON-NLS-1$ + if(parent != null) { + String pname = parent.element.getElementType() == IElementDescriptor.T_PACKAGE ? + ((IPackageDescriptor)parent.element).getName() : ((IMemberDescriptor)parent.element).getName(); + buffer.append("\nParent: ").append(parent == null ? null : pname); //$NON-NLS-1$ + } + return buffer.toString(); + } + + /* (non-Javadoc) + * @see java.lang.Comparable#compareTo(java.lang.Object) + */ + public int compareTo(Object o) { + if (o instanceof ManifestNode) { + ManifestNode node = (ManifestNode) o; + return ((ElementDescriptorImpl)element).compareTo(node.element); + } + return -1; + } + + /** + * Ensure this node is up to date. Default implementation does + * nothing. Subclasses should override as required. + * + * Returns the resulting node if the node is valid, or <code>null</code> + * if the node no longer exists. + * + * @return up to date node, or <code>null</code> if no longer exists + */ + public ManifestNode refresh() { + return this; + } + + /** + * Persists this node as a child of the given element. + * + * @param document XML document + * @param parent parent element in the document + * @param component component the description is for or <code>null</code> + */ + void persistXML(Document document, Element parent) { + if(restrictions == RestrictionModifiers.NO_RESTRICTIONS) { + return; + } + switch (element.getElementType()) { + case IElementDescriptor.T_METHOD: + IMethodDescriptor md = (IMethodDescriptor) element; + Element method = document.createElement(IApiXmlConstants.ELEMENT_METHOD); + method.setAttribute(IApiXmlConstants.ATTR_NAME, md.getName()); + method.setAttribute(IApiXmlConstants.ATTR_SIGNATURE, md.getSignature()); + persistAnnotations(method); + parent.appendChild(method); + break; + case IElementDescriptor.T_FIELD: + IFieldDescriptor fd = (IFieldDescriptor) element; + Element field = document.createElement(IApiXmlConstants.ELEMENT_FIELD); + field.setAttribute(IApiXmlConstants.ATTR_NAME, fd.getName()); + persistAnnotations(field); + parent.appendChild(field); + break; + } + } + + /** + * Adds visibility and restrictions to the XML element. + * + * @param element XML element to annotate + * @param component the component the description is for or <code>null</code> + */ + void persistAnnotations(Element element) { + element.setAttribute(IApiXmlConstants.ATTR_VISIBILITY, Integer.toString(visibility)); + element.setAttribute(IApiXmlConstants.ATTR_RESTRICTIONS, Integer.toString(restrictions)); + } +}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/PluginProjectApiComponent.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/PluginProjectApiComponent.java index 5a71ae0..c6b20a1 100644 --- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/PluginProjectApiComponent.java +++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/PluginProjectApiComponent.java
@@ -34,10 +34,10 @@ import org.eclipse.jdt.core.IPackageFragmentRoot; import org.eclipse.jdt.core.JavaCore; import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin; -import org.eclipse.pde.api.tools.internal.provisional.IApiDescription; import org.eclipse.pde.api.tools.internal.provisional.IApiFilterStore; -import org.eclipse.pde.api.tools.internal.provisional.IApiProfile; import org.eclipse.pde.api.tools.internal.provisional.IClassFileContainer; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiBaseline; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiDescription; import org.eclipse.pde.api.tools.internal.provisional.scanner.TagScanner; import org.eclipse.pde.api.tools.internal.util.Util; import org.eclipse.pde.core.build.IBuild; @@ -95,10 +95,10 @@ * @param project java project * @throws CoreException if unable to create the API component */ - public PluginProjectApiComponent(IApiProfile profile, String location, IPluginModelBase model) throws CoreException { + public PluginProjectApiComponent(IApiBaseline profile, String location, IPluginModelBase model) throws CoreException { super(profile,location); IPath path = new Path(location); - IProject project = ApiProfile.ROOT.getProject(path.lastSegment()); + IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(path.lastSegment()); this.fProject = JavaCore.create(project); this.fModel = model; }
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ProjectApiDescription.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ProjectApiDescription.java index 0b42b19..0cc68a9 100644 --- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ProjectApiDescription.java +++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ProjectApiDescription.java
@@ -34,6 +34,7 @@ import org.eclipse.jdt.core.IType; import org.eclipse.jdt.core.JavaModelException; import org.eclipse.osgi.service.resolver.BundleDescription; +import org.eclipse.pde.api.tools.internal.model.ApiDescription; import org.eclipse.pde.api.tools.internal.provisional.ApiDescriptionVisitor; import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin; import org.eclipse.pde.api.tools.internal.provisional.Factory; @@ -120,7 +121,7 @@ /* (non-Javadoc) * @see org.eclipse.pde.api.tools.internal.ApiDescription.ManifestNode#refresh() */ - protected ManifestNode refresh() { + public ManifestNode refresh() { refreshPackages(); for (int i = 0; i < fFragments.length; i++) { if (!fFragments[i].exists()) { @@ -201,7 +202,7 @@ /* (non-Javadoc) * @see org.eclipse.pde.api.tools.internal.ApiDescription.ManifestNode#refresh() */ - protected synchronized ManifestNode refresh() { + public synchronized ManifestNode refresh() { if (fRefreshing) { return this; }
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/SystemLibraryApiComponent.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/SystemLibraryApiComponent.java index fd68f14..e89d852 100644 --- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/SystemLibraryApiComponent.java +++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/SystemLibraryApiComponent.java
@@ -17,13 +17,14 @@ import org.eclipse.core.runtime.CoreException; import org.eclipse.jdt.internal.launching.EEVMType; import org.eclipse.jdt.launching.LibraryLocation; +import org.eclipse.pde.api.tools.internal.model.ApiDescription; import org.eclipse.pde.api.tools.internal.provisional.Factory; -import org.eclipse.pde.api.tools.internal.provisional.IApiDescription; import org.eclipse.pde.api.tools.internal.provisional.IApiFilterStore; -import org.eclipse.pde.api.tools.internal.provisional.IApiProfile; import org.eclipse.pde.api.tools.internal.provisional.IRequiredComponentDescription; import org.eclipse.pde.api.tools.internal.provisional.VisibilityModifiers; import org.eclipse.pde.api.tools.internal.provisional.descriptors.IPackageDescriptor; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiDescription; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiBaseline; /** * An API component for a system library. @@ -64,7 +65,7 @@ * @param description EE file * @param systemPackages exported system packages */ - public SystemLibraryApiComponent(IApiProfile profile, File description, String[] systemPackages) { + public SystemLibraryApiComponent(IApiBaseline profile, File description, String[] systemPackages) { super(profile); init(description); fSystemPackages = systemPackages;
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/builder/ApiAnalysisBuilder.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/builder/ApiAnalysisBuilder.java index 240216c..06fdf09 100644 --- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/builder/ApiAnalysisBuilder.java +++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/builder/ApiAnalysisBuilder.java
@@ -66,8 +66,8 @@ import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin; import org.eclipse.pde.api.tools.internal.provisional.IApiComponent; import org.eclipse.pde.api.tools.internal.provisional.IApiMarkerConstants; -import org.eclipse.pde.api.tools.internal.provisional.IApiProfile; import org.eclipse.pde.api.tools.internal.provisional.builder.IApiAnalyzer; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiBaseline; import org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblem; import org.eclipse.pde.api.tools.internal.util.Util; import org.eclipse.pde.core.plugin.IPluginModelBase; @@ -373,13 +373,13 @@ * @param monitor */ private void buildAll(IProgressMonitor monitor) throws CoreException { - IApiProfile wsprofile = null; + IApiBaseline wsprofile = null; try { clearLastState(); fBuildState = new BuildState(); SubMonitor localMonitor = SubMonitor.convert(monitor, BuilderMessages.api_analysis_on_0, 4); localMonitor.subTask(NLS.bind(BuilderMessages.ApiAnalysisBuilder_initializing_analyzer, fCurrentProject.getName())); - IApiProfile profile = ApiPlugin.getDefault().getApiProfileManager().getDefaultApiProfile(); + IApiBaseline profile = ApiPlugin.getDefault().getApiProfileManager().getDefaultApiProfile(); cleanupMarkers(fCurrentProject); cleanupUnsupportedTagMarkers(fCurrentProject); IPluginModelBase currentModel = getCurrentModel(); @@ -586,7 +586,7 @@ * @param monitor */ private void build(final State state, IProgressMonitor monitor) throws CoreException { - IApiProfile wsprofile = null; + IApiBaseline wsprofile = null; try { clearLastState(); // so if the build fails, a full build will be triggered SubMonitor localMonitor = SubMonitor.convert(monitor, BuilderMessages.api_analysis_on_0, 6); @@ -613,7 +613,7 @@ cnames = new ArrayList(fChangedTypes.size()); collectAllQualifiedNames(fTypesToCheck, fChangedTypes, tnames, cnames, localMonitor.newChild(1)); updateMonitor(localMonitor, 1); - IApiProfile profile = ApiPlugin.getDefault().getApiProfileManager().getDefaultApiProfile(); + IApiBaseline profile = ApiPlugin.getDefault().getApiProfileManager().getDefaultApiProfile(); fAnalyzer.analyzeComponent(fBuildState, null, profile, apiComponent, (String[])tnames.toArray(new String[tnames.size()]), (String[])cnames.toArray(new String[cnames.size()]), localMonitor.newChild(1)); updateMonitor(localMonitor, 1); createMarkers(); @@ -933,9 +933,9 @@ } /** - * @return the workspace {@link IApiProfile} + * @return the workspace {@link IApiBaseline} */ - private IApiProfile getWorkspaceProfile() { + private IApiBaseline getWorkspaceProfile() { return ApiPlugin.getDefault().getApiProfileManager().getWorkspaceProfile(); }
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/builder/ApiUseAnalyzer.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/builder/ApiUseAnalyzer.java index 2556c9a..9023888 100644 --- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/builder/ApiUseAnalyzer.java +++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/builder/ApiUseAnalyzer.java
@@ -35,7 +35,6 @@ import org.eclipse.pde.api.tools.internal.provisional.Factory; import org.eclipse.pde.api.tools.internal.provisional.IApiAnnotations; import org.eclipse.pde.api.tools.internal.provisional.IApiComponent; -import org.eclipse.pde.api.tools.internal.provisional.IApiDescription; import org.eclipse.pde.api.tools.internal.provisional.IApiMarkerConstants; import org.eclipse.pde.api.tools.internal.provisional.RestrictionModifiers; import org.eclipse.pde.api.tools.internal.provisional.VisibilityModifiers; @@ -44,6 +43,7 @@ import org.eclipse.pde.api.tools.internal.provisional.descriptors.IMemberDescriptor; import org.eclipse.pde.api.tools.internal.provisional.descriptors.IMethodDescriptor; import org.eclipse.pde.api.tools.internal.provisional.descriptors.IReferenceTypeDescriptor; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiDescription; import org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblem; import org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblemTypes; import org.eclipse.pde.api.tools.internal.provisional.search.IApiSearchCriteria;
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/builder/BaseApiAnalyzer.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/builder/BaseApiAnalyzer.java index ece72b9..8274646 100644 --- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/builder/BaseApiAnalyzer.java +++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/builder/BaseApiAnalyzer.java
@@ -50,7 +50,7 @@ import org.eclipse.jface.text.BadLocationException; import org.eclipse.jface.text.IDocument; import org.eclipse.osgi.util.NLS; -import org.eclipse.pde.api.tools.internal.ApiProfileManager; +import org.eclipse.pde.api.tools.internal.ApiBaselineManager; import org.eclipse.pde.api.tools.internal.IApiCoreConstants; import org.eclipse.pde.api.tools.internal.PluginProjectApiComponent; import org.eclipse.pde.api.tools.internal.comparator.Delta; @@ -60,10 +60,8 @@ import org.eclipse.pde.api.tools.internal.provisional.Factory; import org.eclipse.pde.api.tools.internal.provisional.IApiAnnotations; import org.eclipse.pde.api.tools.internal.provisional.IApiComponent; -import org.eclipse.pde.api.tools.internal.provisional.IApiDescription; import org.eclipse.pde.api.tools.internal.provisional.IApiFilterStore; import org.eclipse.pde.api.tools.internal.provisional.IApiMarkerConstants; -import org.eclipse.pde.api.tools.internal.provisional.IApiProfile; import org.eclipse.pde.api.tools.internal.provisional.IApiProfileManager; import org.eclipse.pde.api.tools.internal.provisional.IClassFile; import org.eclipse.pde.api.tools.internal.provisional.IRequiredComponentDescription; @@ -75,6 +73,8 @@ import org.eclipse.pde.api.tools.internal.provisional.comparator.IDelta; import org.eclipse.pde.api.tools.internal.provisional.descriptors.IElementDescriptor; import org.eclipse.pde.api.tools.internal.provisional.descriptors.IReferenceTypeDescriptor; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiDescription; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiBaseline; import org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblem; import org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblemTypes; import org.eclipse.pde.api.tools.internal.provisional.search.IApiSearchScope; @@ -147,7 +147,7 @@ /* (non-Javadoc) * @see org.eclipse.pde.api.tools.internal.provisional.builder.IApiAnalyzer#analyzeComponent(org.eclipse.pde.api.tools.internal.builder.BuildState, org.eclipse.pde.api.tools.internal.provisional.IApiProfile, org.eclipse.pde.api.tools.internal.provisional.IApiComponent, java.lang.String[], java.lang.String[], org.eclipse.core.runtime.IProgressMonitor) */ - public void analyzeComponent(final BuildState state, final IApiFilterStore filterStore, final IApiProfile baseline, final IApiComponent component, + public void analyzeComponent(final BuildState state, final IApiFilterStore filterStore, final IApiBaseline baseline, final IApiComponent component, final String[] typenames, final String[] changedtypes, IProgressMonitor monitor) { try { SubMonitor localMonitor = SubMonitor.convert(monitor, BuilderMessages.BaseApiAnalyzer_analyzing_api, 6 + (changedtypes == null ? 0 : changedtypes.length)); @@ -214,8 +214,8 @@ int length = requiredComponents.length; ReexportedBundleVersionInfo info = null; if (length != 0) { - IApiProfile profile = component.getProfile(); - IApiProfile baseline = reference.getProfile(); + IApiBaseline profile = component.getProfile(); + IApiBaseline baseline = reference.getProfile(); loop: for (int i = 0; i < length; i++) { IRequiredComponentDescription description = requiredComponents[i]; if (description.isExported()) { @@ -1513,8 +1513,8 @@ return true; } - IApiProfileManager manager = ApiProfileManager.getManager(); - IApiProfile profile = manager.getWorkspaceProfile(); + IApiProfileManager manager = ApiBaselineManager.getManager(); + IApiBaseline profile = manager.getWorkspaceProfile(); if(profile == null) { return false; }
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/builder/BuilderMessages.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/builder/BuilderMessages.java index cbdf6a1..08edf12 100644 --- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/builder/BuilderMessages.java +++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/builder/BuilderMessages.java
@@ -38,8 +38,6 @@ public static String TagValidator_a_final_field; public static String TagValidator_a_final_method; public static String TagValidator_a_method; - public static String TagValidator_a_static_final_method; - public static String TagValidator_a_static_method; public static String TagValidator_an_abstract_class; public static String TagValidator_an_annotation; public static String TagValidator_an_annotation_method;
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/builder/TagValidator.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/builder/TagValidator.java index 43d81f7..1ae469b 100644 --- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/builder/TagValidator.java +++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/builder/TagValidator.java
@@ -98,6 +98,7 @@ String context = BuilderMessages.TagValidator_an_interface; if(!type.isInterface()) { context = BuilderMessages.TagValidator_a_class; + if(Flags.isAbstract(type.getModifiers())) { context = BuilderMessages.TagValidator_an_abstract_class; invalidtags.add("@noinstantiate"); //$NON-NLS-1$ @@ -141,11 +142,9 @@ MethodDeclaration method = (MethodDeclaration) node; int pkind = getParentKind(node); String context = null; - int mods = method.getModifiers(); - boolean isprivate = Flags.isPrivate(mods); + boolean isprivate = Flags.isPrivate(method.getModifiers()); boolean isconstructor = method.isConstructor(); - boolean isfinal = Flags.isFinal(mods); - boolean isstatic = Flags.isStatic(mods); + boolean isfinal = Flags.isFinal(method.getModifiers()); switch(pkind) { case IApiJavadocTag.TYPE_ENUM: { context = isprivate ? BuilderMessages.TagValidator_private_enum_method : BuilderMessages.TagValidator_an_enum_method; @@ -159,15 +158,9 @@ if(isprivate) { context = isconstructor ? BuilderMessages.TagValidator_private_constructor : BuilderMessages.TagValidator_private_method; } - else if(isstatic && isfinal) { - context = BuilderMessages.TagValidator_a_static_final_method; - } else if (isfinal) { context = BuilderMessages.TagValidator_a_final_method; } - else if(isstatic) { - context = BuilderMessages.TagValidator_a_static_method; - } else { context = isconstructor ? BuilderMessages.TagValidator_a_constructor : BuilderMessages.TagValidator_a_method; } @@ -178,7 +171,7 @@ if(!isprivate) { validtags = jtm.getTagsForType(pkind, isconstructor ? IApiJavadocTag.MEMBER_CONSTRUCTOR : IApiJavadocTag.MEMBER_METHOD); } - if(isfinal || isstatic) { + if(isfinal) { ArrayList ttags = new ArrayList(validtags.length); for(int i = 0; i < validtags.length; i++) { if(!validtags[i].getTagName().equals("@nooverride")) { //$NON-NLS-1$
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/builder/buildermessages.properties b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/builder/buildermessages.properties index 96d0550..19d0026 100644 --- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/builder/buildermessages.properties +++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/builder/buildermessages.properties
@@ -30,8 +30,6 @@ TagValidator_a_final_field=a final field TagValidator_a_final_method=a final method TagValidator_a_method=a method -TagValidator_a_static_final_method=a static final method -TagValidator_a_static_method=a static method TagValidator_an_abstract_class=an abstract class TagValidator_an_annotation=an annotation TagValidator_an_annotation_method=an annotation method
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/comparator/ClassFileComparator.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/comparator/ClassFileComparator.java index 1312adc..1512cc2 100644 --- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/comparator/ClassFileComparator.java +++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/comparator/ClassFileComparator.java
@@ -27,8 +27,6 @@ import org.eclipse.pde.api.tools.internal.provisional.Factory; import org.eclipse.pde.api.tools.internal.provisional.IApiAnnotations; import org.eclipse.pde.api.tools.internal.provisional.IApiComponent; -import org.eclipse.pde.api.tools.internal.provisional.IApiDescription; -import org.eclipse.pde.api.tools.internal.provisional.IApiProfile; import org.eclipse.pde.api.tools.internal.provisional.IClassFile; import org.eclipse.pde.api.tools.internal.provisional.RestrictionModifiers; import org.eclipse.pde.api.tools.internal.provisional.VisibilityModifiers; @@ -36,13 +34,15 @@ import org.eclipse.pde.api.tools.internal.provisional.comparator.DeltaVisitor; import org.eclipse.pde.api.tools.internal.provisional.comparator.IDelta; import org.eclipse.pde.api.tools.internal.provisional.descriptors.IReferenceTypeDescriptor; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiDescription; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiBaseline; import org.eclipse.pde.api.tools.internal.util.Util; import org.objectweb.asm.signature.SignatureReader; import com.ibm.icu.text.MessageFormat; /** - * Compares class files from the workspace to those in the default {@link IApiProfile} + * Compares class files from the workspace to those in the default {@link IApiBaseline} * * @since 1.0.0 */ @@ -73,7 +73,7 @@ DEBUG = debugValue || Util.DEBUG; } - private boolean isCheckedException(IApiProfile profile, IApiComponent apiComponent, String exceptionName) { + private boolean isCheckedException(IApiBaseline profile, IApiComponent apiComponent, String exceptionName) { if (profile == null) { return true; } @@ -112,8 +112,8 @@ return true; } - private IApiProfile apiProfile = null; - private IApiProfile apiProfile2 = null; + private IApiBaseline apiProfile = null; + private IApiBaseline apiProfile2 = null; private IClassFile classFile = null; @@ -141,7 +141,7 @@ * @param visibilityModifiers any modifiers from the class file * @throws CoreException if the contents of the specified class files cannot be acquired */ - public ClassFileComparator(IClassFile classFile, IClassFile classFile2, IApiComponent component, IApiComponent component2, IApiProfile apiState, IApiProfile apiState2, int visibilityModifiers) throws CoreException { + public ClassFileComparator(IClassFile classFile, IClassFile classFile2, IApiComponent component, IApiComponent component2, IApiBaseline apiState, IApiBaseline apiState2, int visibilityModifiers) throws CoreException { this.component = component; this.component2 = component2; this.descriptor1 = new TypeDescriptor(classFile.getContents()); @@ -163,7 +163,7 @@ * @param visibilityModifiers any modifiers from the class file * @throws CoreException if the contents of the specified class file cannot be acquired */ - public ClassFileComparator(TypeDescriptor typeDescriptor, IClassFile classFile2, IApiComponent component, IApiComponent component2, IApiProfile apiState, IApiProfile apiState2, int visibilityModifiers) throws CoreException { + public ClassFileComparator(TypeDescriptor typeDescriptor, IClassFile classFile2, IApiComponent component, IApiComponent component2, IApiBaseline apiState, IApiBaseline apiState2, int visibilityModifiers) throws CoreException { this.component = component; this.component2 = component2; this.descriptor1 = typeDescriptor; @@ -902,7 +902,7 @@ * @param profile * @param set */ - private void collectAllInterfaces(TypeDescriptor typeDescriptor, IApiComponent apiComponent, IApiProfile profile, Set set) { + private void collectAllInterfaces(TypeDescriptor typeDescriptor, IApiComponent apiComponent, IApiBaseline profile, Set set) { Set interfaces = typeDescriptor.interfaces; try { IApiComponent sourceComponent = apiComponent; @@ -2650,7 +2650,7 @@ * @param profile * @return the complete super-interface set for the given descriptor, or <code>null</code> */ - private Set getInterfacesSet(TypeDescriptor typeDescriptor, IApiComponent apiComponent, IApiProfile profile) { + private Set getInterfacesSet(TypeDescriptor typeDescriptor, IApiComponent apiComponent, IApiBaseline profile) { HashSet set = new HashSet(); this.status = null; collectAllInterfaces(typeDescriptor, apiComponent, profile, set); @@ -2710,13 +2710,13 @@ signatureReader.accept(new SignatureDecoder(signatureDescriptor)); return signatureDescriptor; } - private List getSuperclassList(TypeDescriptor typeDescriptor, IApiComponent apiComponent, IApiProfile profile) { + private List getSuperclassList(TypeDescriptor typeDescriptor, IApiComponent apiComponent, IApiBaseline profile) { return getSuperclassList(typeDescriptor, apiComponent, profile, false); } - private List getSuperclassList(TypeDescriptor typeDescriptor, IApiComponent apiComponent, IApiProfile profile, boolean includeObject) { + private List getSuperclassList(TypeDescriptor typeDescriptor, IApiComponent apiComponent, IApiBaseline profile, boolean includeObject) { return getSuperclassList(typeDescriptor, apiComponent, profile, includeObject, false); } - private List getSuperclassList(TypeDescriptor typeDescriptor, IApiComponent apiComponent, IApiProfile profile, boolean includeObject, boolean includePrivate) { + private List getSuperclassList(TypeDescriptor typeDescriptor, IApiComponent apiComponent, IApiBaseline profile, boolean includeObject, boolean includePrivate) { TypeDescriptor descriptor = typeDescriptor; this.status = null; String superName = descriptor.superName; @@ -3051,7 +3051,7 @@ return null; } - private LookupResult getType(String typeName, IApiComponent component, IApiProfile profile) throws CoreException { + private LookupResult getType(String typeName, IApiComponent component, IApiBaseline profile) throws CoreException { IApiComponent sourceComponent = component; String packageName = Util.getPackageName(typeName); IApiComponent[] components = profile.resolvePackage(component, packageName);
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/ApiBaseline.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/ApiBaseline.java new file mode 100644 index 0000000..e667794 --- /dev/null +++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/ApiBaseline.java
@@ -0,0 +1,619 @@ +/******************************************************************************* + * Copyright (c) 2007, 2008 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package org.eclipse.pde.api.tools.internal.model; + +import java.io.File; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import org.eclipse.core.resources.IProject; +import org.eclipse.core.resources.ResourcesPlugin; +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IPath; +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.Path; +import org.eclipse.jdt.launching.IVMInstall; +import org.eclipse.jdt.launching.IVMInstallChangedListener; +import org.eclipse.jdt.launching.JavaRuntime; +import org.eclipse.jdt.launching.PropertyChangeEvent; +import org.eclipse.jdt.launching.VMStandin; +import org.eclipse.osgi.service.resolver.BundleDescription; +import org.eclipse.osgi.service.resolver.ExportPackageDescription; +import org.eclipse.osgi.service.resolver.ResolverError; +import org.eclipse.osgi.service.resolver.State; +import org.eclipse.osgi.service.resolver.StateHelper; +import org.eclipse.pde.api.tools.internal.BundleApiComponent; +import org.eclipse.pde.api.tools.internal.PluginProjectApiComponent; +import org.eclipse.pde.api.tools.internal.model.infos.ApiBaselineInfo; +import org.eclipse.pde.api.tools.internal.model.infos.ApiElementInfo; +import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin; +import org.eclipse.pde.api.tools.internal.provisional.IApiComponent; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiBaseline; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiElement; +import org.eclipse.pde.api.tools.internal.util.Util; +import org.eclipse.pde.core.plugin.IPluginModelBase; + +/** + * Implementation of an API profile. + * + * @since 1.0 + */ +public class ApiBaseline extends ApiElement implements IApiBaseline, IVMInstallChangedListener { + /** + * Constant used for controlling tracing in the example class + */ + private static boolean DEBUG = Util.DEBUG; + + /** + * Method used for initializing tracing in the example class + */ + public static void setDebug(boolean debugValue) { + DEBUG = debugValue || Util.DEBUG; + } + + private IApiComponent[] EMPTY_COMPONENTS = new IApiComponent[0]; + + /** + * Next available bundle id + */ + private long fNextId = 0L; + + /** + * Cache of resolved packages. + * <p>Map of <code>PackageName -> Map(componentName -> IApiComponent[])</code></p> + * For each package the cache contains a map of API components that provide that package, + * by source component name (including the <code>null</code> component name). + */ + private HashMap fComponentsCache = null; + + /** + * Maps bundle descriptions to components. + * <p>Map of <code>BundleDescription.getSymbolicName() + BundleDescription.getVersion().toString() -> {@link IApiComponent}</code></p> + */ + private Map fComponents = null; + + /** + * Maps component id's to components. + * <p>Map of <code>componentId -> {@link IApiComponent}</code></p> + */ + private Map fComponentsById = null; + + /** + * Cache of system package names + */ + private Set fSystemPackageNames = null; + + /** + * The EE file to use for EE resolution + */ + private File fEeFile = null; + /** + * Whether an execution environment should be automatically resolved + * as API components are added. + */ + private boolean fAutoResolve = false; + /** + * The VM install this profile is bound to for system libraries or <code>null</code>. + * Only used in the IDE when OSGi is running. + */ + private IVMInstall fVMBinding = null; + + /** + * Constructs a new API profile with the given name. + * + * @param name profile name + */ + public ApiBaseline(String name) { + super(null, name, IApiElement.BASELINE); + fAutoResolve = true; + } + + /** + * Constructs a new API profile with the given attributes. + * + * @param name profile name + * @param eeFile execution environment description file + */ + public ApiBaseline(String name, File eeFile) { + this(name); + fEeFile = eeFile; + } + + /** + * Clears the package -> components cache and sets it to <code>null</code> + */ + private void clearComponentsCache() { + if(fComponentsCache != null) { + fComponentsCache.clear(); + fComponentsCache = null; + } + } + + /** + * Adds an {@link IApiComponent} to the fComponentsById mapping + * @param component + */ + private void addComponent(IApiComponent component) { + if(component == null) { + return; + } + if(fComponentsById == null) { + fComponentsById = new HashMap(); + } + fComponentsById.put(component.getId(), component); + } + + /* (non-Javadoc) + * @see IApiBaseline#addApiComponents(org.eclipse.pde.api.tools.model.component.IApiComponent[], boolean) + */ + public void addApiComponents(IApiComponent[] components) { + HashSet ees = new HashSet(); + ApiBaselineInfo info = getInfo(); + State state = info.getState(); + for (int i = 0; i < components.length; i++) { + BundleApiComponent component = (BundleApiComponent) components[i]; + if (component.isSourceComponent()) { + continue; + } + BundleDescription description = component.getBundleDescription(); + state.addBundle(description); + storeBundleDescription(description, component); + addComponent(component); + ees.addAll(Arrays.asList(component.getExecutionEnvironments())); + } + info.resolveSystemLibrary(ees); + state.resolve(); + } + + /* (non-Javadoc) + * @see IApiBaseline#getApiComponents() + */ + public IApiComponent[] getApiComponents() { + if(fComponentsById == null) { + return EMPTY_COMPONENTS; + } + Collection values = fComponentsById.values(); + return (IApiComponent[]) values.toArray(new IApiComponent[values.size()]); + } + + /** + * @see org.eclipse.pde.api.tools.internal.provisional.model.IApiBaseline#resolvePackage(org.eclipse.pde.api.tools.internal.provisional.IApiComponent, java.lang.String) + */ + public synchronized IApiComponent[] resolvePackage(IApiComponent sourceComponent, String packageName) throws CoreException { + HashMap componentsForPackage = null; + if(fComponentsCache != null){ + componentsForPackage = (HashMap) fComponentsCache.get(packageName); + } + else { + fComponentsCache = new HashMap(8); + } + IApiComponent[] cachedComponents = null; + if (componentsForPackage != null) { + cachedComponents = (IApiComponent[]) componentsForPackage.get(sourceComponent); + if (cachedComponents != null) { + return cachedComponents; + } + } else { + componentsForPackage = new HashMap(8); + fComponentsCache.put(packageName, componentsForPackage); + } + // check system packages first + if (isSystemPackage(packageName)) { + if (fSystemLibraryComponent != null) { + cachedComponents = new IApiComponent[] { fSystemLibraryComponent }; + } else { + return EMPTY_COMPONENTS; + } + } else { + if (sourceComponent != null) { + List componentsList = new ArrayList(); + resolvePackage0(sourceComponent, packageName, componentsList); + if (componentsList.size() != 0) { + cachedComponents = new IApiComponent[componentsList.size()]; + componentsList.toArray(cachedComponents); + } + } + } + if (cachedComponents == null) { + cachedComponents = EMPTY_COMPONENTS; + } + componentsForPackage.put(sourceComponent, cachedComponents); + return cachedComponents; + } + + /** + * Resolves the listing of {@link IApiComponent}s that export the given package name. The collection + * of {@link IApiComponent}s is written into the specified list <code>componentList</code> + * @param component + * @param packageName + * @param componentsList + * @throws CoreException + */ + private void resolvePackage0(IApiComponent component, String packageName, List componentsList) throws CoreException { + if (component instanceof BundleApiComponent) { + BundleDescription bundle = ((BundleApiComponent)component).getBundleDescription(); + if (bundle != null) { + StateHelper helper = getInfo().getState().getStateHelper(); + ExportPackageDescription[] visiblePackages = helper.getVisiblePackages(bundle); + for (int i = 0; i < visiblePackages.length; i++) { + ExportPackageDescription pkg = visiblePackages[i]; + if (packageName.equals(pkg.getName())) { + BundleDescription bundleDescription = pkg.getExporter(); + IApiComponent exporter = getBundleDescription(bundleDescription); + if (exporter != null) { + componentsList.add(exporter); + } + } + } + // check for package within the source component + String[] packageNames = component.getPackageNames(); + // TODO: would be more efficient to have containsPackage(...) or something + for (int i = 0; i < packageNames.length; i++) { + if (packageName.equals(packageNames[i])) { + componentsList.add(component); + } + } + } + } + } + + /** + * Returns whether the specified package is supplied by the system + * library. + * + * @param packageName package name + * @return whether the specified package is supplied by the system + * library + */ + private boolean isSystemPackage(String packageName) { + if (packageName.startsWith("java.")) { //$NON-NLS-1$ + return true; + } + if (fSystemPackageNames == null) { + ExportPackageDescription[] systemPackages = getInfo().getState().getSystemPackages(); + fSystemPackageNames = new HashSet(systemPackages.length); + for (int i = 0; i < systemPackages.length; i++) { + fSystemPackageNames.add(systemPackages[i].getName()); + } + } + return fSystemPackageNames.contains(packageName); + } + + + /* (non-Javadoc) + * @see IApiBaseline#newApiComponent(java.lang.String) + */ + public IApiComponent newApiComponent(String location) throws CoreException { + BundleApiComponent component = new BundleApiComponent(this, location); + if(component.isValidBundle()) { + component.init(getInfo().getState(), nextId()); + return component; + } + return null; + } + + + /* (non-Javadoc) + * @see IApiBaseline#newApiComponent(IPluginModelBase) + */ + public IApiComponent newApiComponent(IPluginModelBase model) throws CoreException { + BundleDescription bundleDescription = model.getBundleDescription(); + if (bundleDescription == null) { + return null; + } + String location = bundleDescription.getLocation(); + if (location == null) { + return null; + } + IPath pathForLocation = new Path(location); + BundleApiComponent component = null; + IPath path = ResourcesPlugin.getWorkspace().getRoot().getLocation(); + if (path != null && path.isPrefixOf(pathForLocation)) { + if(isValidProject(location)) { + component = new PluginProjectApiComponent(this, location, model); + } + } else { + component = new BundleApiComponent(this, location); + } + if(component != null && component.isValidBundle()) { + component.init(getInfo().getState(), nextId()); + return component; + } + return null; + } + + /** + * Returns if the specified location is a valid API project or not. + * <p> + * We accept projects that are plug-ins even if not API enabled (i.e. + * with API nature), as we still need them to make a complete + * API profile without resolution errors. + * </p> + * @param location + * @return true if the location is valid, false otherwise + * @throws CoreException + */ + private boolean isValidProject(String location) throws CoreException { + IPath path = new Path(location); + IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(path.lastSegment()); + return project != null && project.exists(); + } + + /** + * Returns the next available bundle identifier. + * + * @return next available bundle identifier + */ + private long nextId() { + return ++fNextId; + } + + /* (non-Javadoc) + * @see org.eclipse.pde.api.tools.internal.provisional.IApiProfile#getApiComponent(java.lang.String) + */ + public IApiComponent getApiComponent(String id) { + if(fComponentsById == null) { + return null; + } + return (IApiComponent) fComponentsById.get(id); + } + + /** + * @see org.eclipse.pde.api.tools.internal.provisional.model.IApiBaseline#getExecutionEnvironment() + */ + public String getExecutionEnvironment() { + return getInfo().getExecutionEnvironment(); + } + + /** + * @see org.eclipse.pde.api.tools.internal.provisional.model.IApiBaseline#getResolutionErrors() + */ + public ResolverError[] getResolutionErrors() { + return getInfo().getResolutionErrors(); + } + + /* (non-Javadoc) + * @see IApiBaseline#setName(java.lang.String) + */ + public void setName(String name) { + if(name != null) { + fName = name; + } + } + + /* (non-Javadoc) + * @see IApiBaseline#dispose() + */ + public void dispose() { + if (ApiPlugin.isRunningInFramework()) { + JavaRuntime.removeVMInstallChangedListener(this); + } + getInfo().dispose(); + + IApiComponent[] components = getApiComponents(); + for (int i = 0; i < components.length; i++) { + components[i].dispose(); + } + if(fComponents != null) { + fComponents.clear(); + fComponents = null; + } + clearComponentsCache(); + if(fComponentsById != null) { + fComponentsById.clear(); + fComponentsById = null; + } + if (fSystemPackageNames != null) { + fSystemPackageNames.clear(); + } + if(fSystemLibraryComponent != null) { + fSystemLibraryComponent.dispose(); + fSystemLibraryComponent = null; + } + } + + /* (non-Javadoc) + * @see org.eclipse.pde.api.tools.internal.provisional.IApiProfile#close() + */ + public void close() throws CoreException { + IApiComponent[] components = getApiComponents(); + for (int i = 0; i < components.length; i++) { + components[i].close(); + } + } + + /* (non-Javadoc) + * @see org.eclipse.pde.api.tools.IApiProfile#getDependentComponents(org.eclipse.pde.api.tools.IApiComponent[]) + */ + public IApiComponent[] getDependentComponents(IApiComponent[] components) { + ArrayList bundles = getBundleDescriptions(components); + BundleDescription[] bundleDescriptions = getInfo().getState().getStateHelper().getDependentBundles((BundleDescription[]) bundles.toArray(new BundleDescription[bundles.size()])); + return getApiComponents(bundleDescriptions); + } + + /** + * Returns an array of API components corresponding to the given bundle descriptions. + * + * @param bundles bundle descriptions + * @return corresponding API components + */ + private IApiComponent[] getApiComponents(BundleDescription[] bundles) { + ArrayList dependents = new ArrayList(bundles.length); + for (int i = 0; i < bundles.length; i++) { + BundleDescription bundle = bundles[i]; + IApiComponent component = getApiComponent(bundle.getSymbolicName()); + if (component != null) { + dependents.add(component); + } + } + return (IApiComponent[]) dependents.toArray(new IApiComponent[dependents.size()]); + } + + /** + * Returns an array of bundle descriptions corresponding to the given API components. + * + * @param components API components + * @return corresponding bundle descriptions + */ + private ArrayList getBundleDescriptions(IApiComponent[] components) { + ArrayList bundles = new ArrayList(components.length); + for (int i = 0; i < components.length; i++) { + IApiComponent component = components[i]; + if (component instanceof BundleApiComponent) { + bundles.add(((BundleApiComponent)component).getBundleDescription()); + } + } + return bundles; + } + + /* (non-Javadoc) + * @see org.eclipse.pde.api.tools.IApiProfile#getPrerequisiteComponents(org.eclipse.pde.api.tools.IApiComponent[]) + */ + public IApiComponent[] getPrerequisiteComponents(IApiComponent[] components) { + ArrayList bundles = getBundleDescriptions(components); + BundleDescription[] bundlesDescriptions = getInfo().getState().getStateHelper().getPrerequisites((BundleDescription[]) bundles.toArray(new BundleDescription[bundles.size()])); + return getApiComponents(bundlesDescriptions); + } + + /** + * Gets the {@link BundleDescription} from the cache, if present + * @param bundleDescription + * @return the {@link BundleDescription} or <code>null</code> + */ + private IApiComponent getBundleDescription(BundleDescription bundleDescription) { + if(fComponents == null) { + return null; + } + return (IApiComponent) fComponents.get(bundleDescription.getSymbolicName() + bundleDescription.getVersion().toString()); + } + + /** + * Stores the given component in the cache keyed by {@link BundleDescription} symbolic name + version + * @param bundleDescription + * @param component + */ + private void storeBundleDescription(BundleDescription bundleDescription, IApiComponent component) { + if(fComponents == null) { + fComponents = new HashMap(8); + } + fComponents.put(bundleDescription.getSymbolicName() + bundleDescription.getVersion().toString(), component); + } + + /** + * Clear cached settings for the given package. + * + * @param packageName + */ + public synchronized void clearPackage(String packageName) { + if(fComponentsCache != null) { + fComponentsCache.remove(packageName); + } + } + + /* (non-Javadoc) + * @see java.lang.Object#toString() + */ + public String toString() { + return getName(); + } + + /* (non-Javadoc) + * @see org.eclipse.jdt.launching.IVMInstallChangedListener#defaultVMInstallChanged(org.eclipse.jdt.launching.IVMInstall, org.eclipse.jdt.launching.IVMInstall) + */ + public void defaultVMInstallChanged(IVMInstall previous, IVMInstall current) { + } + + /* (non-Javadoc) + * @see org.eclipse.jdt.launching.IVMInstallChangedListener#vmAdded(org.eclipse.jdt.launching.IVMInstall) + */ + public void vmAdded(IVMInstall vm) { + if (!(vm instanceof VMStandin)) { + // there may be a better fit for VMs/EEs + rebindVM(); + } + } + + /* (non-Javadoc) + * @see org.eclipse.jdt.launching.IVMInstallChangedListener#vmChanged(org.eclipse.jdt.launching.PropertyChangeEvent) + */ + public void vmChanged(PropertyChangeEvent event) { + if (!(event.getSource() instanceof VMStandin)) { + String property = event.getProperty(); + if (IVMInstallChangedListener.PROPERTY_INSTALL_LOCATION.equals(property) || + IVMInstallChangedListener.PROPERTY_LIBRARY_LOCATIONS.equals(property)) { + rebindVM(); + } + } + } + + /** + * Re-binds the VM this profile is bound to. + */ + private void rebindVM() { + fVMBinding = null; + IApiComponent[] components = getApiComponents(); + HashSet ees = new HashSet(); + for (int i = 0; i < components.length; i++) { + ees.addAll(Arrays.asList(components[i].getExecutionEnvironments())); + } + getInfo().resolveSystemLibrary(ees); + } + + /* (non-Javadoc) + * @see org.eclipse.jdt.launching.IVMInstallChangedListener#vmRemoved(org.eclipse.jdt.launching.IVMInstall) + */ + public void vmRemoved(IVMInstall vm) { + if (vm.equals(fVMBinding)) { + rebindVM(); + } + } + + /** + * @see org.eclipse.pde.api.tools.internal.provisional.model.IApiParent#getChildren() + */ + public IApiElement[] getChildren() throws CoreException { + return null; + } + + /** + * @see org.eclipse.pde.api.tools.internal.provisional.model.IApiParent#hasChildren() + */ + public boolean hasChildren() throws CoreException { + return false; + } + + /** + * @see org.eclipse.pde.api.tools.internal.provisional.model.IApiElement#exists() + */ + public boolean exists() { + return false; + } + + /** + * @see org.eclipse.pde.api.tools.internal.model.ApiElement#createElementInfo() + */ + public ApiElementInfo createElementInfo() { + return new ApiBaselineInfo(this, fEeFile, fAutoResolve); + } + + /** + * @return the info for this element + */ + private ApiBaselineInfo getInfo() { + return (ApiBaselineInfo) getElementInfo(); + } +}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/ApiComponent.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/ApiComponent.java new file mode 100644 index 0000000..44b2146 --- /dev/null +++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/ApiComponent.java
@@ -0,0 +1,80 @@ +/******************************************************************************* + * Copyright (c) 2008 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package org.eclipse.pde.api.tools.internal.model; + +import org.eclipse.core.resources.IResource; +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IPath; +import org.eclipse.pde.api.tools.internal.model.infos.ApiElementInfo; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiElement; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiComponent; + +/** + * Base implementation of {@link IApiProject} + * + * @since 1.0.0 + * @noextend This class is not intended to be subclassed by clients. + * @noinstantiate This class is not intended to be instantiated by clients. + */ +public class ApiComponent extends ApiElement implements IApiComponent { + + /** + * Constructor + * @param parent + * @param name + * @param type + */ + public ApiComponent(IApiElement parent, String name) { + super(parent, name, IApiElement.COMPONENT); + } + + /** + * @see org.eclipse.pde.api.tools.internal.provisional.model.IApiParent#getChildren() + */ + public IApiElement[] getChildren() throws CoreException { + return null; + } + + /** + * @see org.eclipse.pde.api.tools.internal.provisional.model.IApiParent#hasChildren() + */ + public boolean hasChildren() throws CoreException { + return false; + } + + /** + * @see org.eclipse.pde.api.tools.internal.provisional.model.IApiElement#exists() + */ + public boolean exists() { + return false; + } + + /** + * @see org.eclipse.pde.api.tools.internal.provisional.model.IApiElement#getPath() + */ + public IPath getPath() { + return null; + } + + /** + * @see org.eclipse.pde.api.tools.internal.provisional.model.IApiElement#getResource() + */ + public IResource getResource() { + return null; + } + + /** + * @see org.eclipse.pde.api.tools.internal.model.ApiElement#createElementInfo() + */ + public ApiElementInfo createElementInfo() { + return null; + } +}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ApiDescription.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/ApiDescription.java similarity index 63% rename from apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ApiDescription.java rename to apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/ApiDescription.java index 46f7ff1..34dda3b 100644 --- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ApiDescription.java +++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/ApiDescription.java
@@ -8,7 +8,7 @@ * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ -package org.eclipse.pde.api.tools.internal; +package org.eclipse.pde.api.tools.internal.model; import java.util.ArrayList; import java.util.Collections; @@ -17,23 +17,21 @@ import java.util.List; import java.util.Map; +import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Status; -import org.eclipse.pde.api.tools.internal.descriptors.ElementDescriptorImpl; +import org.eclipse.pde.api.tools.internal.ApiAnnotations; +import org.eclipse.pde.api.tools.internal.ManifestNode; +import org.eclipse.pde.api.tools.internal.model.infos.ApiElementInfo; import org.eclipse.pde.api.tools.internal.provisional.ApiDescriptionVisitor; import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin; import org.eclipse.pde.api.tools.internal.provisional.IApiAnnotations; -import org.eclipse.pde.api.tools.internal.provisional.IApiDescription; import org.eclipse.pde.api.tools.internal.provisional.RestrictionModifiers; import org.eclipse.pde.api.tools.internal.provisional.VisibilityModifiers; import org.eclipse.pde.api.tools.internal.provisional.descriptors.IElementDescriptor; -import org.eclipse.pde.api.tools.internal.provisional.descriptors.IFieldDescriptor; -import org.eclipse.pde.api.tools.internal.provisional.descriptors.IMemberDescriptor; -import org.eclipse.pde.api.tools.internal.provisional.descriptors.IMethodDescriptor; -import org.eclipse.pde.api.tools.internal.provisional.descriptors.IPackageDescriptor; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiDescription; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiElement; import org.eclipse.pde.api.tools.internal.util.Util; -import org.w3c.dom.Document; -import org.w3c.dom.Element; import com.ibm.icu.text.MessageFormat; @@ -45,7 +43,7 @@ * @see IApiDescription * @since 1.0.0 */ -public class ApiDescription implements IApiDescription { +public class ApiDescription extends ApiElement implements IApiDescription { // flag to indicate visibility should be inherited from parent node protected static final int VISIBILITY_INHERITED = 0; @@ -69,155 +67,12 @@ private boolean fModified = false; /** - * Represents a single node in the tree of mapped manifest items - */ - class ManifestNode implements Comparable { - protected IElementDescriptor element = null; - protected int visibility, restrictions; - protected ManifestNode parent = null; - protected HashMap children = new HashMap(1); - - public ManifestNode(ManifestNode parent, IElementDescriptor element, int visibility, int restrictions) { - this.element = element; - this.visibility = visibility; - this.restrictions = restrictions; - this.parent = parent; - } - - /* (non-Javadoc) - * @see java.lang.Object#equals(java.lang.Object) - * This method is safe to override, as the name of an element is unique within its branch of the tree - * and does not change over time. - */ - public boolean equals(Object obj) { - if(obj instanceof ManifestNode) { - return ((ManifestNode)obj).element.equals(element); - } - return false; - } - - /* (non-Javadoc) - * @see java.lang.Object#hashCode() - * This method is safe to override, as the name of an element is unique within its branch of the tree - * and does not change over time. - */ - public int hashCode() { - return element.hashCode(); - } - - /* (non-Javadoc) - * @see java.lang.Object#toString() - */ - public String toString() { - String type = null; - String name = null; - switch(element.getElementType()) { - case IElementDescriptor.T_FIELD: { - type = "Field"; //$NON-NLS-1$ - name = ((IMemberDescriptor) element).getName(); - break; - } - case IElementDescriptor.T_METHOD: { - type = "Method"; //$NON-NLS-1$ - name = ((IMemberDescriptor) element).getName(); - break; - } - case IElementDescriptor.T_PACKAGE: { - type = "Package"; //$NON-NLS-1$ - name = ((IPackageDescriptor) element).getName(); - break; - } - case IElementDescriptor.T_REFERENCE_TYPE: { - type = "Type"; //$NON-NLS-1$ - name = ((IMemberDescriptor) element).getName(); - break; - } - } - StringBuffer buffer = new StringBuffer(); - buffer.append(type == null ? "Unknown" : type).append(" Node: ").append(name == null ? "Unknown Name" : name); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ - buffer.append("\nVisibility: ").append(Util.getVisibilityKind(visibility)); //$NON-NLS-1$ - buffer.append("\nRestrictions: ").append(Util.getRestrictionKind(restrictions)); //$NON-NLS-1$ - if(parent != null) { - String pname = parent.element.getElementType() == IElementDescriptor.T_PACKAGE ? - ((IPackageDescriptor)parent.element).getName() : ((IMemberDescriptor)parent.element).getName(); - buffer.append("\nParent: ").append(parent == null ? null : pname); //$NON-NLS-1$ - } - return buffer.toString(); - } - - /* (non-Javadoc) - * @see java.lang.Comparable#compareTo(java.lang.Object) - */ - public int compareTo(Object o) { - if (o instanceof ManifestNode) { - ManifestNode node = (ManifestNode) o; - return ((ElementDescriptorImpl)element).compareTo(node.element); - } - return -1; - } - - /** - * Ensure this node is up to date. Default implementation does - * nothing. Subclasses should override as required. - * - * Returns the resulting node if the node is valid, or <code>null</code> - * if the node no longer exists. - * - * @return up to date node, or <code>null</code> if no longer exists - */ - protected ManifestNode refresh() { - return this; - } - - /** - * Persists this node as a child of the given element. - * - * @param document XML document - * @param parent parent element in the document - * @param component component the description is for or <code>null</code> - */ - void persistXML(Document document, Element parent) { - if(restrictions == RestrictionModifiers.NO_RESTRICTIONS) { - return; - } - switch (element.getElementType()) { - case IElementDescriptor.T_METHOD: - IMethodDescriptor md = (IMethodDescriptor) element; - Element method = document.createElement(IApiXmlConstants.ELEMENT_METHOD); - method.setAttribute(IApiXmlConstants.ATTR_NAME, md.getName()); - method.setAttribute(IApiXmlConstants.ATTR_SIGNATURE, md.getSignature()); - persistAnnotations(method); - parent.appendChild(method); - break; - case IElementDescriptor.T_FIELD: - IFieldDescriptor fd = (IFieldDescriptor) element; - Element field = document.createElement(IApiXmlConstants.ELEMENT_FIELD); - field.setAttribute(IApiXmlConstants.ATTR_NAME, fd.getName()); - persistAnnotations(field); - parent.appendChild(field); - break; - } - } - - /** - * Adds visibility and restrictions to the XML element. - * - * @param element XML element to annotate - * @param component the component the description is for or <code>null</code> - */ - void persistAnnotations(Element element) { - element.setAttribute(IApiXmlConstants.ATTR_VISIBILITY, Integer.toString(visibility)); - element.setAttribute(IApiXmlConstants.ATTR_RESTRICTIONS, Integer.toString(restrictions)); - } - } - - /** * This is a map of component names to a map of package names to package node objects represented as: * <pre> * HashMap<IElementDescriptor(package), ManifestNode(package)> * </pre> */ - protected HashMap fPackageMap = new HashMap(); + public HashMap fPackageMap = new HashMap(); /** * Constructs an API description owned by the specified component. @@ -226,6 +81,7 @@ * is no specific owner. */ public ApiDescription(String owningComponentId) { + super(null, owningComponentId, IApiElement.COMPONENT); fOwningComponentId = owningComponentId; } @@ -444,7 +300,35 @@ * * @return */ - protected synchronized boolean isModified() { + public synchronized boolean isModified() { return fModified; } + + /** + * @see org.eclipse.pde.api.tools.internal.provisional.model.IApiParent#getChildren() + */ + public IApiElement[] getChildren() throws CoreException { + return null; + } + + /** + * @see org.eclipse.pde.api.tools.internal.provisional.model.IApiParent#hasChildren() + */ + public boolean hasChildren() throws CoreException { + return false; + } + + /** + * @see org.eclipse.pde.api.tools.internal.provisional.model.IApiElement#exists() + */ + public boolean exists() { + return false; + } + + /** + * @see org.eclipse.pde.api.tools.internal.model.ApiElement#createElementInfo() + */ + public ApiElementInfo createElementInfo() { + return null; + } }
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/ApiElement.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/ApiElement.java new file mode 100644 index 0000000..d9a58fd --- /dev/null +++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/ApiElement.java
@@ -0,0 +1,132 @@ +/******************************************************************************* + * Copyright (c) 2008 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package org.eclipse.pde.api.tools.internal.model; + +import org.eclipse.core.resources.IResource; +import org.eclipse.core.runtime.IPath; +import org.eclipse.pde.api.tools.internal.ApiModelManager; +import org.eclipse.pde.api.tools.internal.model.infos.ApiElementInfo; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiElement; + +/** + * Base implementation of {@link IApiElement} + * + * @since 1.0.0 + * @noextend This class is not intended to be subclassed by clients. + */ +public abstract class ApiElement implements IApiElement { + + /** + * The name of the element + */ + private String fName = null; + /** + * The parent {@link IApiElement} + */ + private IApiElement fParent = null; + /** + * The type of the element + * @see IApiElement for complete listing of element types + */ + private int fType = -1; + + /** + * Constructor + * @param parent the parent element + * @param name the name of the element + * @param type the type of the element + * @see IApiElement for type constants + */ + protected ApiElement(IApiElement parent, String name, int type) { + fParent = parent; + fName = name; + fType = type; + } + + /** + * @see org.eclipse.pde.api.tools.internal.provisional.model.IApiElement#getName() + */ + public String getName() { + return fName; + } + + /** + * @see org.eclipse.pde.api.tools.internal.provisional.model.IApiElement#getParent() + */ + public IApiElement getParent() { + return fParent; + } + + /** + * @see org.eclipse.pde.api.tools.internal.provisional.model.IApiElement#getAncestor(int) + */ + public IApiElement getAncestor(int ancestorType) { + IApiElement element = this; + while(element != null && element.getType() != ancestorType) { + element = element.getParent(); + } + return element; + } + + /** + * @see org.eclipse.pde.api.tools.internal.provisional.model.IApiElement#getType() + */ + public int getType() { + return fType; + } + + /** + * @see org.eclipse.pde.api.tools.internal.provisional.model.IApiElement#getDescriptor() + */ + public String getDescriptor() { + return fName; + } + + /** + * @see org.eclipse.pde.api.tools.internal.provisional.model.IApiElement#getPath() + */ + public IPath getPath() { + return null; + } + + /** + * @see org.eclipse.pde.api.tools.internal.provisional.model.IApiElement#getResource() + */ + public IResource getResource() { + return null; + } + + /** + * Returns the current {@link ApiElementInfo} for this element. If there + * is no info currently in the cache, a call to createElementInfo() is made + * to lazily create an info object. If new infos are created they will automatically + * be added to the cache. + * @return the {@link ApiElementInfo} for this element + */ + public ApiElementInfo getElementInfo() { + ApiModelManager manager = ApiModelManager.getManager(); + ApiElementInfo info = manager.getInfo(this); + if(info != null) { + return info; + } + info = createElementInfo(); + manager.addInfo(this, info); + return info; + } + + /** + * Creates and return the new element info for this element. + * This method is called if a call to getElementInfo(..) returns <code>null</code> + * + * @return the new {@link ApiElementInfo} for this element + */ + public abstract ApiElementInfo createElementInfo(); +}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/ApiField.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/ApiField.java new file mode 100644 index 0000000..9f603aa --- /dev/null +++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/ApiField.java
@@ -0,0 +1,111 @@ +/******************************************************************************* + * Copyright (c) 2008 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package org.eclipse.pde.api.tools.internal.model; + +import org.eclipse.core.resources.IResource; +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IPath; +import org.eclipse.jdt.core.Flags; +import org.eclipse.pde.api.tools.internal.model.infos.ApiElementInfo; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiElement; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiField; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiType; + +/** + * Base implementation of {@link IApiField} + * + * @since 1.0.0 + * @noextend This class is not intended to be subclassed by clients. + * @noinstantiate This class is not intended to be instantiated by clients. + */ +public class ApiField extends ApiMember implements IApiField { + + /** + * Constructor + * @param parent + * @param name + * @param flags + */ + protected ApiField(IApiElement parent, String name, int flags) { + super(parent, name, IApiElement.FIELD, flags); + } + + /** + * @see org.eclipse.pde.api.tools.internal.provisional.model.IApiField#isEnumConstant() + */ + public boolean isEnumConstant() throws CoreException { + return (Flags.isEnum(getFlags())); + } + + /** + * @see org.eclipse.pde.api.tools.internal.provisional.model.IApiMember#getDeclaringType() + */ + public IApiType getDeclaringType() throws CoreException { + return (IApiType) getParent(); + } + + /** + * @see org.eclipse.pde.api.tools.internal.provisional.model.IApiElement#exists() + */ + public boolean exists() { + return false; + } + + /** + * @see org.eclipse.pde.api.tools.internal.provisional.model.IApiElement#getPath() + */ + public IPath getPath() { + return getParent().getPath(); + } + + /** + * @see org.eclipse.pde.api.tools.internal.provisional.model.IApiElement#getResource() + */ + public IResource getResource() { + return getParent().getResource(); + } + + /** + * @see java.lang.Object#hashCode() + */ + public int hashCode() { + IApiType type = null; + try { + type = getDeclaringType(); + } + catch(CoreException ce) {} + return getName().hashCode() + (type == null ? 0 : type.hashCode()); + } + + /** + * @see java.lang.Object#equals(java.lang.Object) + */ + public boolean equals(Object obj) { + if (obj instanceof IApiField) { + IApiField field = (IApiField) obj; + IApiType type = null, ftype = null; + try { + type = getDeclaringType(); + ftype = field.getDeclaringType(); + } + catch(CoreException ce) {} + return getName().equals(field.getName()) && (type == null ? true : type.equals(ftype)); + } + return false; + } + + /** + * @see org.eclipse.pde.api.tools.internal.model.ApiElement#createElementInfo() + */ + public ApiElementInfo createElementInfo() { + return null; + } +}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/ApiInitializer.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/ApiInitializer.java new file mode 100644 index 0000000..86c4b20 --- /dev/null +++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/ApiInitializer.java
@@ -0,0 +1,49 @@ +/******************************************************************************* + * Copyright (c) 2008 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package org.eclipse.pde.api.tools.internal.model; + +import org.eclipse.pde.api.tools.internal.model.infos.ApiElementInfo; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiElement; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiInitializer; + +/** + * Base implementation of {@link IApiInitializer} + * + * @since 1.0.0 + * @noextend This class is not intended to be subclassed by clients. + * @noinstantiate This class is not intended to be instantiated by clients. + */ +public class ApiInitializer extends ApiMember implements IApiInitializer { + + /** + * Constructor + * @param parent + * @param name + * @param flags + */ + protected ApiInitializer(IApiElement parent, String name, int flags) { + super(parent, name, IApiElement.INITIALIZER, flags); + } + + /** + * @see org.eclipse.pde.api.tools.internal.provisional.model.IApiElement#exists() + */ + public boolean exists() { + return false; + } + + /** + * @see org.eclipse.pde.api.tools.internal.model.ApiElement#createElementInfo() + */ + public ApiElementInfo createElementInfo() { + return null; + } +}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/ApiMember.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/ApiMember.java new file mode 100644 index 0000000..c15193b --- /dev/null +++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/ApiMember.java
@@ -0,0 +1,80 @@ +/******************************************************************************* + * Copyright (c) 2008 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package org.eclipse.pde.api.tools.internal.model; + +import org.eclipse.core.resources.IResource; +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IPath; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiElement; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiMember; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiType; + +/** + * Base implementation of {@link IApiMember} + * + * @since 1.0.0 + * @noextend This class is not intended to be subclassed by clients. + */ +public abstract class ApiMember extends ApiElement implements IApiMember { + + private int fFlags = -1; + + protected ApiMember(IApiElement parent, String name, int type, int flags) { + super(parent, name, type); + fFlags = flags; + } + + /** + * @see org.eclipse.pde.api.tools.internal.provisional.model.IApiMember#getDeclaringType() + */ + public IApiType getDeclaringType() throws CoreException { + IApiElement tparent = getParent(); + while(tparent.getParent() != null && tparent.getType() == IApiElement.TYPE) { + tparent = tparent.getParent(); + } + return (IApiType)tparent; + } + + /** + * @see org.eclipse.pde.api.tools.internal.provisional.model.IApiMember#getFlags() + */ + public int getFlags() throws CoreException { + return fFlags; + } + + /** + * @see org.eclipse.pde.api.tools.internal.provisional.model.IApiParent#getChildren() + */ + public IApiElement[] getChildren() throws CoreException { + return new IApiElement[0]; + } + + /** + * @see org.eclipse.pde.api.tools.internal.provisional.model.IApiParent#hasChildren() + */ + public boolean hasChildren() throws CoreException { + return false; + } + + /** + * @see org.eclipse.pde.api.tools.internal.provisional.model.IApiElement#getResource() + */ + public IResource getResource() { + return null; + } + + /** + * @see org.eclipse.pde.api.tools.internal.provisional.model.IApiElement#getPath() + */ + public IPath getPath() { + return null; + } +}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/ApiMethod.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/ApiMethod.java new file mode 100644 index 0000000..4eee41a --- /dev/null +++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/ApiMethod.java
@@ -0,0 +1,87 @@ +/******************************************************************************* + * Copyright (c) 2008 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package org.eclipse.pde.api.tools.internal.model; + +import org.eclipse.core.runtime.CoreException; +import org.eclipse.pde.api.tools.internal.model.infos.ApiElementInfo; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiElement; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiMethod; +import org.eclipse.pde.api.tools.internal.util.Util; + +/** + * Base implementation of {@link IApiMethod} + * + * @since 1.0.0 + * @noextend This class is not intended to be subclassed by clients. + * @noinstantiate This class is not intended to be instantiated by clients. + */ +public class ApiMethod extends ApiMember implements IApiMethod { + + private String fSignature = null; + + /** + * Constructor + * @param parent + * @param name + * @param signature + * @param flags + */ + protected ApiMethod(IApiElement parent, String name, String signature, int flags) { + super(parent, name, IApiElement.METHOD, flags); + fSignature = signature; + } + + /** + * @see org.eclipse.pde.api.tools.internal.provisional.model.IApiMethod#getSignature() + */ + public String getSignature() throws CoreException { + return fSignature; + } + + /** + * @see org.eclipse.pde.api.tools.internal.provisional.model.IApiMethod#isConstructor() + */ + public boolean isConstructor() throws CoreException { + return getName().equals("<init>"); //$NON-NLS-1$ + } + + /** + * @see org.eclipse.pde.api.tools.internal.provisional.model.IApiMethod#isSimilar(org.eclipse.pde.api.tools.internal.provisional.model.IApiMethod) + */ + public boolean isSimilar(IApiMethod method) { + try { + return Util.matchesSignatures(getSignature(), method.getSignature()); + } + catch(CoreException ce) {} + return false; + } + + /** + * @see org.eclipse.pde.api.tools.internal.provisional.model.IApiElement#exists() + */ + public boolean exists() { + return false; + } + + /** + * @see org.eclipse.pde.api.tools.internal.provisional.model.IApiElement#getDescriptor() + */ + public String getDescriptor() { + return fSignature; + } + + /** + * @see org.eclipse.pde.api.tools.internal.model.ApiElement#createElementInfo() + */ + public ApiElementInfo createElementInfo() { + return null; + } +}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/ApiPackageFragment.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/ApiPackageFragment.java new file mode 100644 index 0000000..d9bcdd7 --- /dev/null +++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/ApiPackageFragment.java
@@ -0,0 +1,79 @@ +/******************************************************************************* + * Copyright (c) 2008 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package org.eclipse.pde.api.tools.internal.model; + +import org.eclipse.core.resources.IResource; +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IPath; +import org.eclipse.pde.api.tools.internal.model.infos.ApiElementInfo; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiElement; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiPackageFragment; + +/** + * Base implementation of {@link IApiPackageFragment} + * + * @since 1.0.0 + * @noextend This class is not intended to be subclassed by clients. + * @noinstantiate This class is not intended to be instantiated by clients. + */ +public class ApiPackageFragment extends ApiElement implements IApiPackageFragment { + + /** + * Constructor + * @param parent + * @param name + */ + protected ApiPackageFragment(IApiElement parent, String name) { + super(parent, name, IApiElement.PACKAGE); + } + + /** + * @see org.eclipse.pde.api.tools.internal.provisional.model.IApiParent#getChildren() + */ + public IApiElement[] getChildren() throws CoreException { + return null; + } + + /** + * @see org.eclipse.pde.api.tools.internal.provisional.model.IApiParent#hasChildren() + */ + public boolean hasChildren() throws CoreException { + return false; + } + + /** + * @see org.eclipse.pde.api.tools.internal.provisional.model.IApiElement#exists() + */ + public boolean exists() { + return false; + } + + /** + * @see org.eclipse.pde.api.tools.internal.provisional.model.IApiElement#getPath() + */ + public IPath getPath() { + return null; + } + + /** + * @see org.eclipse.pde.api.tools.internal.provisional.model.IApiElement#getResource() + */ + public IResource getResource() { + return null; + } + + /** + * @see org.eclipse.pde.api.tools.internal.model.ApiElement#createElementInfo() + */ + public ApiElementInfo createElementInfo() { + return null; + } +}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/ApiPackageFragmentRoot.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/ApiPackageFragmentRoot.java new file mode 100644 index 0000000..d5eb078 --- /dev/null +++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/ApiPackageFragmentRoot.java
@@ -0,0 +1,79 @@ +/******************************************************************************* + * Copyright (c) 2008 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package org.eclipse.pde.api.tools.internal.model; + +import org.eclipse.core.resources.IResource; +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IPath; +import org.eclipse.pde.api.tools.internal.model.infos.ApiElementInfo; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiElement; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiPackageFragmentRoot; + +/** + * Base implementation of {@link IApiPackageFragmentRoot} + * + * @since 1.0.0 + * @noextend This class is not intended to be subclassed by clients. + * @noinstantiate This class is not intended to be instantiated by clients. + */ +public class ApiPackageFragmentRoot extends ApiElement implements IApiPackageFragmentRoot { + + /** + * Constructor + * @param parent + * @param name + */ + protected ApiPackageFragmentRoot(IApiElement parent, String name) { + super(parent, name, IApiElement.PACKAGE_ROOT); + } + + /** + * @see org.eclipse.pde.api.tools.internal.provisional.model.IApiParent#getChildren() + */ + public IApiElement[] getChildren() throws CoreException { + return null; + } + + /** + * @see org.eclipse.pde.api.tools.internal.provisional.model.IApiParent#hasChildren() + */ + public boolean hasChildren() throws CoreException { + return false; + } + + /** + * @see org.eclipse.pde.api.tools.internal.provisional.model.IApiElement#exists() + */ + public boolean exists() { + return false; + } + + /** + * @see org.eclipse.pde.api.tools.internal.provisional.model.IApiElement#getPath() + */ + public IPath getPath() { + return null; + } + + /** + * @see org.eclipse.pde.api.tools.internal.provisional.model.IApiElement#getResource() + */ + public IResource getResource() { + return null; + } + + /** + * @see org.eclipse.pde.api.tools.internal.model.ApiElement#createElementInfo() + */ + public ApiElementInfo createElementInfo() { + return null; + } +}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/ApiResource.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/ApiResource.java new file mode 100644 index 0000000..83d040e --- /dev/null +++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/ApiResource.java
@@ -0,0 +1,90 @@ +/******************************************************************************* + * Copyright (c) 2008 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package org.eclipse.pde.api.tools.internal.model; + +import org.eclipse.core.resources.IResource; +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IPath; +import org.eclipse.pde.api.tools.internal.model.infos.ApiElementInfo; +import org.eclipse.pde.api.tools.internal.model.infos.ApiResourceInfo; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiElement; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiResource; + +/** + * Base implementation of {@link IApiResource} + * + * @since 1.0.0 + * @noinstantiate This class is not intended to be instantiated by clients. + * @noextend This class is not intended to be subclassed by clients. + */ +public class ApiResource extends ApiElement implements IApiResource { + + /** + * The backing {@link IResource} handle + */ + private IResource fResource = null; + + /** + * Constructor + * @param parent + * @param name + * @param type + */ + public ApiResource(IApiElement parent, IResource resource) { + super(parent, resource.getName(), IApiElement.RESOURCE); + fResource = resource; + } + + /** + * @see org.eclipse.pde.api.tools.internal.provisional.model.IApiElement#exists() + */ + public boolean exists() { + return fResource != null && fResource.exists(); + } + + /** + * @see org.eclipse.pde.api.tools.internal.provisional.model.IApiElement#getPath() + */ + public IPath getPath() { + if(fResource != null && fResource.exists()) { + return fResource.getFullPath(); + } + return null; + } + + /** + * @see org.eclipse.pde.api.tools.internal.provisional.model.IApiElement#getResource() + */ + public IResource getResource() { + return fResource; + } + + /** + * @see org.eclipse.pde.api.tools.internal.provisional.model.IApiParent#getChildren() + */ + public IApiElement[] getChildren() throws CoreException { + return ((ApiResourceInfo)getElementInfo()).getChildren(); + } + + /** + * @see org.eclipse.pde.api.tools.internal.provisional.model.IApiParent#hasChildren() + */ + public boolean hasChildren() throws CoreException { + return ((ApiResourceInfo)getElementInfo()).hasChildren(); + } + + /** + * @see org.eclipse.pde.api.tools.internal.model.ApiElement#createElementInfo() + */ + public ApiElementInfo createElementInfo() { + return new ApiResourceInfo(this, fResource); + } +}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/ApiType.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/ApiType.java new file mode 100644 index 0000000..ed7589e --- /dev/null +++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/ApiType.java
@@ -0,0 +1,160 @@ +/******************************************************************************* + * Copyright (c) 2008 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package org.eclipse.pde.api.tools.internal.model; + +import org.eclipse.core.runtime.CoreException; +import org.eclipse.jdt.core.Flags; +import org.eclipse.pde.api.tools.internal.model.infos.ApiElementInfo; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiElement; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiField; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiMethod; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiPackageFragment; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiType; + +/** + * Base implementation of {@link IApiType} + * + * @since 1.0.0 + * @noextend This class is not intended to be subclassed by clients. + * @noinstantiate This class is not intended to be instantiated by clients. + */ +public class ApiType extends ApiMember implements IApiType { + + /** + * Constructor + * @param parent + * @param name + * @param flags + */ + protected ApiType(IApiElement parent, String name, int flags) { + super(parent, name, IApiElement.TYPE, flags); + } + + /** + * @see org.eclipse.pde.api.tools.internal.provisional.model.IApiType#getFields() + */ + public IApiField[] getFields() throws CoreException { + return null; + } + + /** + * @see org.eclipse.pde.api.tools.internal.provisional.model.IApiType#getFullyQualifiedName() + */ + public String getFullyQualifiedName() { + return null; + } + + /** + * @see org.eclipse.pde.api.tools.internal.provisional.model.IApiType#getMethods() + */ + public IApiMethod[] getMethods() throws CoreException { + return null; + } + + /** + * @see org.eclipse.pde.api.tools.internal.provisional.model.IApiType#getPackageFragment() + */ + public IApiPackageFragment getPackageFragment() throws CoreException { + return null; + } + + /** + * @see org.eclipse.pde.api.tools.internal.provisional.model.IApiType#getSuperClass() + */ + public IApiType getSuperClass() throws CoreException { + return null; + } + + /** + * @see org.eclipse.pde.api.tools.internal.provisional.model.IApiType#getSuperInterfaces() + */ + public IApiType[] getSuperInterfaces() throws CoreException { + return null; + } + + /** + * @see org.eclipse.pde.api.tools.internal.provisional.model.IApiType#getTypes() + */ + public IApiType[] getTypes() throws CoreException { + return null; + } + + /** + * @see org.eclipse.pde.api.tools.internal.provisional.model.IApiType#isAnnotation() + */ + public boolean isAnnotation() throws CoreException { + return Flags.isAnnotation(getFlags()); + } + + /** + * @see org.eclipse.pde.api.tools.internal.provisional.model.IApiType#isClass() + */ + public boolean isClass() throws CoreException { + return false; + } + + /** + * @see org.eclipse.pde.api.tools.internal.provisional.model.IApiType#isEnum() + */ + public boolean isEnum() throws CoreException { + return Flags.isEnum(getFlags()); + } + + /** + * @see org.eclipse.pde.api.tools.internal.provisional.model.IApiType#isInterface() + */ + public boolean isInterface() throws CoreException { + return Flags.isInterface(getFlags()); + } + + /** + * @see org.eclipse.pde.api.tools.internal.provisional.model.IApiType#isMember() + */ + public boolean isMember() throws CoreException { + IApiElement parent = getParent(); + return (parent != null && parent.getType() == IApiElement.TYPE); + } + + /** + * @see org.eclipse.pde.api.tools.internal.provisional.model.IApiParent#getChildren() + */ + public IApiElement[] getChildren() throws CoreException { + return null; + } + + /** + * @see org.eclipse.pde.api.tools.internal.provisional.model.IApiParent#hasChildren() + */ + public boolean hasChildren() throws CoreException { + return false; + } + + /** + * @see org.eclipse.pde.api.tools.internal.provisional.model.IApiElement#exists() + */ + public boolean exists() { + return false; + } + + /** + * @see org.eclipse.pde.api.tools.internal.provisional.model.IApiElement#getDescriptor() + */ + public String getDescriptor() { + return getFullyQualifiedName(); + } + + /** + * @see org.eclipse.pde.api.tools.internal.model.ApiElement#createElementInfo() + */ + public ApiElementInfo createElementInfo() { + return null; + } +}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/cache/ApiElementCache.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/cache/ApiElementCache.java new file mode 100644 index 0000000..f0f9b29 --- /dev/null +++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/cache/ApiElementCache.java
@@ -0,0 +1,52 @@ +/******************************************************************************* + * Copyright (c) 2008 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package org.eclipse.pde.api.tools.internal.model.cache; + +/** + * A cache of loaded {@link IApiElement} infos + * + * @since 1.0.0 + * @noinstantiate This class is not intended to be instantiated by clients. + */ +public final class ApiElementCache extends OverflowingLRUCache { + + /** + * Constructor + * @param size + */ + public ApiElementCache(int size) { + super(size); + } + + /** + * Constructor + * @param size + * @param overflow + */ + public ApiElementCache(int size, int overflow) { + super(size, overflow); + } + + /** + * @see org.eclipse.pde.api.tools.internal.model.OverflowingLRUCache#close(org.eclipse.jdt.internal.core.util.LRUCache.LRUCacheEntry) + */ + protected boolean close(LRUCacheEntry entry) { + return true; + } + + /** + * @see org.eclipse.pde.api.tools.internal.model.OverflowingLRUCache#newInstance(int, int) + */ + protected LRUCache newInstance(int size, int newOverflow) { + return new ApiElementCache(size, newOverflow); + } + +}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/cache/ApiToolsCache.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/cache/ApiToolsCache.java new file mode 100644 index 0000000..05cb7d6 --- /dev/null +++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/cache/ApiToolsCache.java
@@ -0,0 +1,173 @@ +/******************************************************************************* + * Copyright (c) 2008 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package org.eclipse.pde.api.tools.internal.model.cache; + +import java.util.HashMap; + +import org.eclipse.pde.api.tools.internal.model.infos.ApiElementInfo; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiComponent; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiDescription; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiElement; + +/** + * Cache of {@link IApiElement} infos, API descriptions and {@link IApiBaseline}s + * + * @since 1.0.0 + * @noinstantiate This class is not intended to be instantiated by clients. + */ +public final class ApiToolsCache { + + public static final int DEFAULT_CACHE_SIZE = 20; + public static final int DEFAULT_MEMBER_CACHE_SIZE = 100; + + /** + * The cache of {@link IApiDescription}s + */ + private ApiElementCache fDescriptionCache = new ApiElementCache(DEFAULT_CACHE_SIZE); + + /** + * The cache of {@link IApiComponent} infos + */ + private ApiElementCache fComponentCache = new ApiElementCache(DEFAULT_CACHE_SIZE); + + /** + * The cache of {@link IApiMember} infos + */ + private HashMap fMemberCache = new HashMap(DEFAULT_MEMBER_CACHE_SIZE); + + /** + * Returns the cached {@link IApiDescription} for the given component or <code>null</code> + * if there is no {@link IApiDescription} cached for the given component. + * + * @param component + * @return the cached {@link IApiDescription} for the given component or <code>null</code> if none. + */ + public IApiDescription getApiDescription(IApiComponent component) { + return (IApiDescription) fDescriptionCache.get(component); + } + + /** + * Adds a new cached {@link IApiDescription} for the given component + * @param component + * @param description + */ + public void addApiDescription(IApiComponent component, IApiDescription description) { + fDescriptionCache.put(component, description); + } + + /** + * Removes the cached {@link IApiDescription} for the given component and returns + * the cached description, or <code>null</code> if nothing was removed + * @param component + * @return the removed {@link IApiDescription} or <code>null</code> if nothing was removed + */ + public IApiDescription removeApiDescription(IApiComponent component) { + return (IApiDescription) fDescriptionCache.remove(component); + } + + /** + * Returns the {@link ApiElementInfo} for the given {@link IApiElement} or <code>null</code> + * if the info was not in the cache + * @param element + * @return the {@link ApiElementInfo} or <code>null</code> + */ + public ApiElementInfo getInfo(IApiElement element) { + switch(element.getType()) { + case IApiElement.COMPONENT: { + return (ApiElementInfo) fComponentCache.get(element); + } + case IApiElement.PACKAGE_ROOT: { + break; + } + case IApiElement.PACKAGE: { + break; + } + case IApiElement.TYPE: { + break; + } + case IApiElement.INITIALIZER: + case IApiElement.FIELD: + case IApiElement.METHOD: { + return (ApiElementInfo) fMemberCache.get(element); + } + case IApiElement.RESOURCE: { + break; + } + } + return null; + } + + /** + * Adds new {@link ApiElementInfo}s to the cache + * @param element + * @param info + */ + public void putInfo(IApiElement element, ApiElementInfo info) { + switch(element.getType()) { + case IApiElement.COMPONENT: { + fComponentCache.put(element, info); + break; + } + case IApiElement.PACKAGE_ROOT: { + break; + } + case IApiElement.PACKAGE: { + break; + } + case IApiElement.TYPE: { + break; + } + case IApiElement.INITIALIZER: + case IApiElement.FIELD: + case IApiElement.METHOD: { + fMemberCache.put(element, info); + break; + } + case IApiElement.RESOURCE: { + break; + } + } + } + + /** + * Removes the {@link ApiElementInfo} from the cache for the specified + * {@link IApiElement}. Returns the removed info or <code>null</code> if there + * was nothing removed. + * + * @param element + * @return the removed {@link ApiElementInfo} or <code>null</code> if nothing was removed + */ + public ApiElementInfo removeInfo(IApiElement element) { + switch(element.getType()) { + case IApiElement.COMPONENT: { + return (ApiElementInfo) fComponentCache.remove(element); + } + case IApiElement.PACKAGE_ROOT: { + break; + } + case IApiElement.PACKAGE: { + break; + } + case IApiElement.TYPE: { + break; + } + case IApiElement.INITIALIZER: + case IApiElement.FIELD: + case IApiElement.METHOD: { + return (ApiElementInfo) fMemberCache.remove(element); + } + case IApiElement.RESOURCE: { + break; + } + } + return null; + } +}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/cache/ICacheEnumeration.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/cache/ICacheEnumeration.java new file mode 100644 index 0000000..b2003a2 --- /dev/null +++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/cache/ICacheEnumeration.java
@@ -0,0 +1,42 @@ +/******************************************************************************* + * Copyright (c) 2008 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package org.eclipse.pde.api.tools.internal.model.cache; + +import java.util.Enumeration; + +/** + * The <code>ICacheEnumeration</code> is used to iterate over both the keys + * and values in an LRUCache. The <code>getValue()</code> method returns the + * value of the last key to be retrieved using <code>nextElement()</code>. + * The <code>nextElement()</code> method must be called before the + * <code>getValue()</code> method. + * + * <p>The iteration can be made efficient by making use of the fact that values in + * the cache (instances of <code>LRUCacheEntry</code>), know their key. For this reason, + * Hashtable lookups don't have to be made at each step of the iteration. + * + * <p>Modifications to the cache must not be performed while using the + * enumeration. Doing so will lead to an illegal state. + * + * @see LRUCache + * + * @since 1.0.0 + * @noimplement This interface is not intended to be implemented by clients. + */ +public interface ICacheEnumeration extends Enumeration { + /** + * Returns the value of the previously accessed key in the enumeration. + * Must be called after a call to nextElement(). + * + * @return Value of current cache entry + */ + public Object getValue(); +}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/cache/ILRUCacheable.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/cache/ILRUCacheable.java new file mode 100644 index 0000000..78bee92 --- /dev/null +++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/cache/ILRUCacheable.java
@@ -0,0 +1,31 @@ +/******************************************************************************* + * Copyright (c) 2008 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package org.eclipse.pde.api.tools.internal.model.cache; + +/** + * Types implementing this interface can occupy a variable amount of space + * in an LRUCache. Cached items that do not implement this interface are + * considered to occupy one unit of space. + * + * @see LRUCache + * + * @since 1.0.0 + * @noimplement This interface is not intended to be implemented by clients. + */ +public interface ILRUCacheable { + /** + * Returns the space the receiver consumes in an LRU Cache. The default space + * value is 1. + * + * @return int Amount of cache space taken by the receiver + */ + public int getCacheFootprint(); +}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/cache/LRUCache.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/cache/LRUCache.java new file mode 100644 index 0000000..c61734c --- /dev/null +++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/cache/LRUCache.java
@@ -0,0 +1,545 @@ +/******************************************************************************* + * Copyright (c) 2008 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package org.eclipse.pde.api.tools.internal.model.cache; + +import java.text.NumberFormat; +import java.util.Enumeration; +import java.util.Hashtable; + +import org.eclipse.pde.api.tools.internal.model.ApiElement; + + +/** + * The <code>LRUCache</code> is a hashtable that stores a finite number of elements. + * When an attempt is made to add values to a full cache, the least recently used values + * in the cache are discarded to make room for the new values as necessary. + * + * <p>The data structure is based on the LRU virtual memory paging scheme. + * + * <p>Objects can take up a variable amount of cache space by implementing + * the <code>ILRUCacheable</code> interface. + * + * <p>This implementation is NOT thread-safe. Synchronization wrappers would + * have to be added to ensure atomic insertions and deletions from the cache. + * + * @since 1.0.0 + * @noinstantiate This class is not intended to be instantiated by clients. + * @noextend This class is not intended to be subclassed by clients. + */ +public class LRUCache implements Cloneable { + + /** + * This type is used internally by the LRUCache to represent entries + * stored in the cache. + * It is static because it does not require a pointer to the cache + * which contains it. + * + * @see LRUCache + */ + protected static class LRUCacheEntry { + + /** + * Hash table key + */ + public Object key; + + /** + * Hash table value (an LRUCacheEntry object) + */ + public Object value; + + /** + * Time value for queue sorting + */ + public int timestamp; + + /** + * Cache footprint of this entry + */ + public int space; + + /** + * Previous entry in queue + */ + public LRUCacheEntry previous; + + /** + * Next entry in queue + */ + public LRUCacheEntry next; + + /** + * Creates a new instance of the receiver with the provided values + * for key, value, and space. + */ + public LRUCacheEntry (Object key, Object value, int space) { + this.key = key; + this.value = value; + this.space = space; + } + + /** + * Returns a String that represents the value of this object. + */ + public String toString() { + + return "LRUCacheEntry [" + this.key + "-->" + this.value + "]"; //$NON-NLS-3$ //$NON-NLS-1$ //$NON-NLS-2$ + } + } + + /** + * Amount of cache space used so far + */ + protected int currentSpace; + + /** + * Maximum space allowed in cache + */ + protected int spaceLimit; + + /** + * Counter for handing out sequential time-stamps + */ + protected int timestampCounter; + + /** + * Hash table for fast random access to cache entries + */ + protected Hashtable entryTable; + + /** + * Start of queue (most recently used entry) + */ + protected LRUCacheEntry entryQueue; + + /** + * End of queue (least recently used entry) + */ + protected LRUCacheEntry entryQueueTail; + + /** + * Default amount of space in the cache + * TODO what should our default space limit be? + */ + protected static final int DEFAULT_SPACELIMIT = 100; + + /** + * Creates a new cache. Size of cache is defined by + * <code>DEFAULT_SPACELIMIT</code>. + */ + public LRUCache() { + this(DEFAULT_SPACELIMIT); + } + + /** + * Creates a new cache. + * @param size Size of Cache + */ + public LRUCache(int size) { + this.timestampCounter = this.currentSpace = 0; + this.entryQueue = this.entryQueueTail = null; + this.entryTable = new Hashtable(size); + this.spaceLimit = size; + } + + /** + * Returns a new cache containing the same contents. + * + * @return New copy of object. + */ + public Object clone() { + + LRUCache newCache = newInstance(this.spaceLimit); + LRUCacheEntry qEntry; + + /* Preserve order of entries by copying from oldest to newest */ + qEntry = this.entryQueueTail; + while (qEntry != null) { + newCache.privateAdd (qEntry.key, qEntry.value, qEntry.space); + qEntry = qEntry.previous; + } + return newCache; + } + + /** + * TODO adjust for new spacing considerations + * @return + */ + public double fillingRatio() { + return (this.currentSpace) * 100.0 / this.spaceLimit; + } + + /** + * Flushes all entries from the cache. + */ + public void flush() { + + this.currentSpace = 0; + LRUCacheEntry entry = this.entryQueueTail; // Remember last entry + this.entryTable = new Hashtable(); // Clear it out + this.entryQueue = this.entryQueueTail = null; + while (entry != null) { // send deletion notifications in LRU order + entry = entry.previous; + } + } + + /** + * Flushes the given entry from the cache. Does nothing if entry does not + * exist in cache. + * + * @param key Key of object to flush + */ + public void flush (Object key) { + + LRUCacheEntry entry; + + entry = (LRUCacheEntry) this.entryTable.get(key); + + /* If entry does not exist, return */ + if (entry == null) return; + + privateRemoveEntry (entry, false); + } + + /* + * Answers the existing key that is equals to the given key. + * If the key is not in the cache, returns the given key + */ + public Object getKey(Object key) { + LRUCacheEntry entry = (LRUCacheEntry) this.entryTable.get(key); + if (entry == null) { + return key; + } + return entry.key; + } + + /** + * Answers the value in the cache at the given key. + * If the value is not in the cache, returns null + * + * @param key Hash table key of object to retrieve + * @return retrieved object, or null if object does not exist + */ + public Object get(Object key) { + + LRUCacheEntry entry = (LRUCacheEntry) this.entryTable.get(key); + if (entry == null) { + return null; + } + + updateTimestamp (entry); + return entry.value; + } + /** + * Returns the amount of space that is current used in the cache. + */ + public int getCurrentSpace() { + return this.currentSpace; + } + /** + * Returns the maximum amount of space available in the cache. + */ + public int getSpaceLimit() { + return this.spaceLimit; + } + /** + * Returns an Enumeration of the keys currently in the cache. + */ + public Enumeration keys() { + + return this.entryTable.keys(); + } + /** + * Returns an enumeration that iterates over all the keys and values + * currently in the cache. + */ + public ICacheEnumeration keysAndValues() { + return new ICacheEnumeration() { + + Enumeration values = LRUCache.this.entryTable.elements(); + LRUCacheEntry entry; + + public boolean hasMoreElements() { + return this.values.hasMoreElements(); + } + + public Object nextElement() { + this.entry = (LRUCacheEntry) this.values.nextElement(); + return this.entry.key; + } + + public Object getValue() { + if (this.entry == null) { + throw new java.util.NoSuchElementException(); + } + return this.entry.value; + } + }; + } + /** + * Ensures there is the specified amount of free space in the receiver, + * by removing old entries if necessary. Returns true if the requested space was + * made available, false otherwise. + * + * @param space Amount of space to free up + */ + protected boolean makeSpace (int space) { + + int limit; + + limit = getSpaceLimit(); + + /* if space is already available */ + if (this.currentSpace + space <= limit) { + return true; + } + + /* if entry is too big for cache */ + if (space > limit) { + return false; + } + + /* Free up space by removing oldest entries */ + while (this.currentSpace + space > limit && this.entryQueueTail != null) { + privateRemoveEntry (this.entryQueueTail, false); + } + return true; + } + /** + * Returns a new LRUCache instance + */ + protected LRUCache newInstance(int size) { + return new LRUCache(size); + } + /** + * Answers the value in the cache at the given key. + * If the value is not in the cache, returns null + * + * This function does not modify time-stamps. + */ + public Object peek(Object key) { + + LRUCacheEntry entry = (LRUCacheEntry) this.entryTable.get(key); + if (entry == null) { + return null; + } + return entry.value; + } + /** + * Adds an entry for the given key/value/space. + */ + protected void privateAdd (Object key, Object value, int space) { + + LRUCacheEntry entry; + + entry = new LRUCacheEntry(key, value, space); + privateAddEntry (entry, false); + } + /** + * Adds the given entry from the receiver. + * @param shuffle Indicates whether we are just shuffling the queue + * (in which case, the entry table is not modified). + */ + protected void privateAddEntry (LRUCacheEntry entry, boolean shuffle) { + + if (!shuffle) { + this.entryTable.put (entry.key, entry); + this.currentSpace += entry.space; + } + + entry.timestamp = this.timestampCounter++; + entry.next = this.entryQueue; + entry.previous = null; + + if (this.entryQueue == null) { + /* this is the first and last entry */ + this.entryQueueTail = entry; + } else { + this.entryQueue.previous = entry; + } + + this.entryQueue = entry; + } + /** + * Removes the entry from the entry queue. + * @param shuffle indicates whether we are just shuffling the queue + * (in which case, the entry table is not modified). + */ + protected void privateRemoveEntry (LRUCacheEntry entry, boolean shuffle) { + + LRUCacheEntry previous, next; + + previous = entry.previous; + next = entry.next; + + if (!shuffle) { + this.entryTable.remove(entry.key); + this.currentSpace -= entry.space; + } + + /* if this was the first entry */ + if (previous == null) { + this.entryQueue = next; + } else { + previous.next = next; + } + + /* if this was the last entry */ + if (next == null) { + this.entryQueueTail = previous; + } else { + next.previous = previous; + } + } + /** + * Sets the value in the cache at the given key. Returns the value. + * + * @param key Key of object to add. + * @param value Value of object to add. + * @return added value. + */ + public Object put(Object key, Object value) { + + int newSpace, oldSpace, newTotal; + LRUCacheEntry entry; + + /* Check whether there's an entry in the cache */ + newSpace = spaceFor(value); + entry = (LRUCacheEntry) this.entryTable.get (key); + + if (entry != null) { + + /** + * Replace the entry in the cache if it would not overflow + * the cache. Otherwise flush the entry and re-add it so as + * to keep cache within budget + */ + oldSpace = entry.space; + newTotal = getCurrentSpace() - oldSpace + newSpace; + if (newTotal <= getSpaceLimit()) { + updateTimestamp (entry); + entry.value = value; + entry.space = newSpace; + this.currentSpace = newTotal; + return value; + } else { + privateRemoveEntry (entry, false); + } + } + if (makeSpace(newSpace)) { + privateAdd (key, value, newSpace); + } + return value; + } + /** + * Removes and returns the value in the cache for the given key. + * If the key is not in the cache, returns null. + * + * @param key Key of object to remove from cache. + * @return Value removed from cache. + */ + public Object removeKey (Object key) { + + LRUCacheEntry entry = (LRUCacheEntry) this.entryTable.get(key); + if (entry == null) { + return null; + } + Object value = entry.value; + privateRemoveEntry (entry, false); + return value; + } + /** + * Sets the maximum amount of space that the cache can store + * + * @param limit Number of units of cache space + */ + public void setSpaceLimit(int limit) { + if (limit < this.spaceLimit) { + makeSpace(this.spaceLimit - limit); + } + this.spaceLimit = limit; + } + /** + * Returns the space taken by the given value. + */ + protected int spaceFor (Object value) { + + if (value instanceof ILRUCacheable) { + return ((ILRUCacheable) value).getCacheFootprint(); + } else { + return 1; + } + } + /** + * Returns a String that represents the value of this object. This method + * is for debugging purposes only. + */ + public String toString() { + return + toStringFillingRation("LRUCache") + //$NON-NLS-1$ + toStringContents(); + } + + /** + * Returns a String that represents the contents of this object. This method + * is for debugging purposes only. + */ + protected String toStringContents() { + StringBuffer result = new StringBuffer(); + int length = this.entryTable.size(); + Object[] unsortedKeys = new Object[length]; + String[] unsortedToStrings = new String[length]; + Enumeration e = keys(); + for (int i = 0; i < length; i++) { + Object key = e.nextElement(); + unsortedKeys[i] = key; + unsortedToStrings[i] = + (key instanceof ApiElement) ? + ((ApiElement)key).getName() : + key.toString(); + } + ToStringSorter sorter = new ToStringSorter(); + sorter.sort(unsortedKeys, unsortedToStrings); + for (int i = 0; i < length; i++) { + String toString = sorter.sortedStrings[i]; + Object value = get(sorter.sortedObjects[i]); + result.append(toString); + result.append(" -> "); //$NON-NLS-1$ + result.append(value); + result.append("\n"); //$NON-NLS-1$ + } + return result.toString(); + } + + public String toStringFillingRation(String cacheName) { + StringBuffer buffer = new StringBuffer(cacheName); + buffer.append('['); + buffer.append(getSpaceLimit()); + buffer.append("]: "); //$NON-NLS-1$ + buffer.append(NumberFormat.getInstance().format(fillingRatio())); + buffer.append("% full"); //$NON-NLS-1$ + return buffer.toString(); + } + + /** + * Updates the timestamp for the given entry, ensuring that the queue is + * kept in correct order. The entry must exist + */ + protected void updateTimestamp (LRUCacheEntry entry) { + + entry.timestamp = this.timestampCounter++; + if (this.entryQueue != entry) { + privateRemoveEntry (entry, true); + privateAddEntry (entry, true); + } + return; + } +}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/cache/LRUCacheEnumerator.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/cache/LRUCacheEnumerator.java new file mode 100644 index 0000000..dbf2483 --- /dev/null +++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/cache/LRUCacheEnumerator.java
@@ -0,0 +1,78 @@ +/******************************************************************************* + * Copyright (c) 2008 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package org.eclipse.pde.api.tools.internal.model.cache; + +import java.util.Enumeration; + +/** + * The <code>LRUCacheEnumerator</code> returns its elements in + * the order they are found in the <code>LRUCache</code>, with the + * most recent elements first. + * + * Once the enumerator is created, elements which are later added + * to the cache are not returned by the enumerator. However, + * elements returned from the enumerator could have been closed + * by the cache. + * + * @since 1.0.0 + * @noinstantiate This class is not intended to be instantiated by clients. + */ +public final class LRUCacheEnumerator implements Enumeration { + /** + * Current element; + */ + protected LRUEnumeratorElement elementQueue; + + /** + * Element in an LRU enumeration + */ + public static class LRUEnumeratorElement { + /** + * Value returned by <code>nextElement()</code>; + */ + public Object value; + + /** + * Next element + */ + public LRUEnumeratorElement next; + + /** + * Constructor + */ + public LRUEnumeratorElement(Object value) { + this.value = value; + } + } + + /** + * Creates a CacheEnumerator on the list of <code>LRUEnumeratorElements</code>. + */ + public LRUCacheEnumerator(LRUEnumeratorElement firstElement) { + this.elementQueue = firstElement; + } + + /** + * Returns true if more elements exist. + */ + public boolean hasMoreElements() { + return this.elementQueue != null; + } + + /** + * Returns the next element. + */ + public Object nextElement() { + Object temp = this.elementQueue.value; + this.elementQueue = this.elementQueue.next; + return temp; + } +}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/cache/OverflowingLRUCache.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/cache/OverflowingLRUCache.java new file mode 100644 index 0000000..5763cac --- /dev/null +++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/cache/OverflowingLRUCache.java
@@ -0,0 +1,387 @@ +/******************************************************************************* + * Copyright (c) 2008 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package org.eclipse.pde.api.tools.internal.model.cache; + +import java.util.Enumeration; + +/** + * The <code>OverflowingLRUCache</code> is an LRUCache which attempts + * to maintain a size equal or less than its <code>fSpaceLimit</code> + * by removing the least recently used elements. + * + * <p>The cache will remove elements which successfully close and all + * elements which are explicitly removed. + * + * <p>If the cache cannot remove enough old elements to add new elements + * it will grow beyond <code>fSpaceLimit</code>. Later, it will attempt to + * shrink back to the maximum space limit. + * + * The method <code>close</code> should attempt to close the element. If + * the element is successfully closed it will return true and the element will + * be removed from the cache. Otherwise the element will remain in the cache. + * + * <p>The cache implicitly attempts shrinks on calls to <code>put</code>and + * <code>setSpaceLimit</code>. Explicitly calling the <code>shrink</code> method + * will also cause the cache to attempt to shrink. + * + * <p>The cache calculates the used space of all elements which implement + * <code>ILRUCacheable</code>. All other elements are assumed to be of size one. + * + * <p>Use the <code>#peek(Object)</code> and <code>#disableTimestamps()</code> method to + * circumvent the timestamp feature of the cache. This feature is intended to be used + * only when the <code>#close(LRUCacheEntry)</code> method causes changes to the cache. + * For example, if a parent closes its children when </code>#close(LRUCacheEntry)</code> is called, + * it should be careful not to change the LRU linked list. It can be sure it is not causing + * problems by calling <code>#peek(Object)</code> instead of <code>#get(Object)</code> method. + * + * @see LRUCache + */ +public abstract class OverflowingLRUCache extends LRUCache { + /** + * Indicates if the cache has been over filled and by how much. + */ + protected int overflow = 0; + /** + * Indicates whether or not time-stamps should be updated + */ + protected boolean timestampsOn = true; + /** + * Indicates how much space should be reclaimed when the cache overflows. + * Initial load factor of one third. + */ + protected double loadFactor = 0.333; + + /** + * Creates a OverflowingLRUCache. + * @param size Size limit of cache. + */ + public OverflowingLRUCache(int size) { + this(size, 0); + } + + /** + * Creates a OverflowingLRUCache. + * @param size Size limit of cache. + * @param overflow Size of the overflow. + */ + public OverflowingLRUCache(int size, int overflow) { + super(size); + this.overflow = overflow; + } + + /** + * Returns true if the element is successfully closed and + * removed from the cache, otherwise false. + * + * <p>NOTE: this triggers an external remove from the cache + * by closing the object. + * + */ + protected abstract boolean close(LRUCacheEntry entry); + + /** + * Returns a new instance of the receiver. + */ + protected abstract LRUCache newInstance(int size, int newOverflow); + + /** + * Returns a new cache containing the same contents. + * + * @return New copy of this object. + */ + public Object clone() { + + OverflowingLRUCache newCache = (OverflowingLRUCache)newInstance(this.spaceLimit, this.overflow); + LRUCacheEntry qEntry; + + /* Preserve order of entries by copying from oldest to newest */ + qEntry = this.entryQueueTail; + while (qEntry != null) { + newCache.privateAdd (qEntry.key, qEntry.value, qEntry.space); + qEntry = qEntry.previous; + } + return newCache; + } + + /** + * Returns an enumerator of the values in the cache with the most + * recently used first. + */ + public Enumeration elements() { + if (this.entryQueue == null) + return new LRUCacheEnumerator(null); + LRUCacheEnumerator.LRUEnumeratorElement head = + new LRUCacheEnumerator.LRUEnumeratorElement(this.entryQueue.value); + LRUCacheEntry currentEntry = this.entryQueue.next; + LRUCacheEnumerator.LRUEnumeratorElement currentElement = head; + while(currentEntry != null) { + currentElement.next = new LRUCacheEnumerator.LRUEnumeratorElement(currentEntry.value); + currentElement = currentElement.next; + + currentEntry = currentEntry.next; + } + return new LRUCacheEnumerator(head); + } + + /** + * @see org.eclipse.pde.api.tools.internal.model.cache.LRUCache#fillingRatio() + */ + public double fillingRatio() { + return (this.currentSpace + this.overflow) * 100.0 / this.spaceLimit; + } + + /** + * For internal testing only. + * This method exposed only for testing purposes! + * + * @return Hashtable of entries + */ + public java.util.Hashtable getEntryTable() { + return this.entryTable; + } + + /** + * Returns the load factor for the cache. The load factor determines how + * much space is reclaimed when the cache exceeds its space limit. + * @return double + */ + public double getLoadFactor() { + return this.loadFactor; + } + + /** + * @return The space by which the cache has over-flown. + */ + public int getOverflow() { + return this.overflow; + } + + /** + * Ensures there is the specified amount of free space in the receiver, + * by removing old entries if necessary. Returns true if the requested space was + * made available, false otherwise. May not be able to free enough space + * since some elements cannot be removed until they are saved. + * + * @param space Amount of space to free up + */ + protected boolean makeSpace(int space) { + + int limit = this.spaceLimit; + if (this.overflow == 0 && this.currentSpace + space <= limit) { + /* if space is already available */ + return true; + } + + /* Free up space by removing oldest entries */ + int spaceNeeded = (int)((1 - this.loadFactor) * limit); + spaceNeeded = (spaceNeeded > space) ? spaceNeeded : space; + LRUCacheEntry entry = this.entryQueueTail; + + try { + // disable time-stamps update while making space so that the previous and next links are not changed + // (by a call to get(Object) for example) + this.timestampsOn = false; + + while (this.currentSpace + spaceNeeded > limit && entry != null) { + this.privateRemoveEntry(entry, false, false); + entry = entry.previous; + } + } finally { + this.timestampsOn = true; + } + + /* check again, since we may have acquired enough space */ + if (this.currentSpace + space <= limit) { + this.overflow = 0; + return true; + } + + /* update fOverflow */ + this.overflow = this.currentSpace + space - limit; + return false; + } + + /** + * Removes the entry from the entry queue. + * Calls <code>privateRemoveEntry</code> with the external functionality enabled. + * + * @param shuffle indicates whether we are just shuffling the queue + * (in which case, the entry table is not modified). + */ + protected void privateRemoveEntry (LRUCacheEntry entry, boolean shuffle) { + privateRemoveEntry(entry, shuffle, true); + } + + /** + * Removes the entry from the entry queue. If <i>external</i> is true, the entry is removed + * without checking if it can be removed. It is assumed that the client has already closed + * the element it is trying to remove (or will close it promptly). + * + * If <i>external</i> is false, and the entry could not be closed, it is not removed and the + * pointers are not changed. + * + * @param shuffle indicates whether we are just shuffling the queue + * (in which case, the entry table is not modified). + */ + protected void privateRemoveEntry(LRUCacheEntry entry, boolean shuffle, boolean external) { + + if (!shuffle) { + if (external) { + this.entryTable.remove(entry.key); + this.currentSpace -= entry.space; + } else { + if (!close(entry)) return; + // buffer close will recursively call #privateRemoveEntry with external==true + // thus entry will already be removed if reaching this point. + if (this.entryTable.get(entry.key) == null){ + return; + } else { + // basic removal + this.entryTable.remove(entry.key); + this.currentSpace -= entry.space; + } + } + } + LRUCacheEntry previous = entry.previous; + LRUCacheEntry next = entry.next; + + /* if this was the first entry */ + if (previous == null) { + this.entryQueue = next; + } else { + previous.next = next; + } + /* if this was the last entry */ + if (next == null) { + this.entryQueueTail = previous; + } else { + next.previous = previous; + } + } + + /** + * Sets the value in the cache at the given key. Returns the value. + * + * @param key Key of object to add. + * @param value Value of object to add. + * @return added value. + */ + public Object put(Object key, Object value) { + /* attempt to rid ourselves of the overflow, if there is any */ + if (this.overflow > 0) + shrink(); + + /* Check whether there's an entry in the cache */ + int newSpace = spaceFor(value); + LRUCacheEntry entry = (LRUCacheEntry) this.entryTable.get (key); + + if (entry != null) { + + /** + * Replace the entry in the cache if it would not overflow + * the cache. Otherwise flush the entry and re-add it so as + * to keep cache within budget + */ + int oldSpace = entry.space; + int newTotal = this.currentSpace - oldSpace + newSpace; + if (newTotal <= this.spaceLimit) { + updateTimestamp (entry); + entry.value = value; + entry.space = newSpace; + this.currentSpace = newTotal; + this.overflow = 0; + return value; + } else { + privateRemoveEntry (entry, false, false); + } + } + + // attempt to make new space + makeSpace(newSpace); + + // add without worring about space, it will + // be handled later in a makeSpace call + privateAdd (key, value, newSpace); + + return value; + } + + /** + * Removes and returns the value in the cache for the given key. + * If the key is not in the cache, returns null. + * + * @param key Key of object to remove from cache. + * @return Value removed from cache. + */ + public Object remove(Object key) { + return removeKey(key); + } + + /** + * Sets the load factor for the cache. The load factor determines how + * much space is reclaimed when the cache exceeds its space limit. + * @param newLoadFactor double + * @throws IllegalArgumentException when the new load factor is not in (0.0, 1.0] + */ + public void setLoadFactor(double newLoadFactor) throws IllegalArgumentException { + if(newLoadFactor <= 1.0 && newLoadFactor > 0.0) + this.loadFactor = newLoadFactor; + else + throw new IllegalArgumentException("Incorrect load factor"); //$NON-NLS-1$ + } + + /** + * Sets the maximum amount of space that the cache can store + * + * @param limit Number of units of cache space + */ + public void setSpaceLimit(int limit) { + if (limit < this.spaceLimit) { + makeSpace(this.spaceLimit - limit); + } + this.spaceLimit = limit; + } + /** + * Attempts to shrink the cache if it has over-flown. + * Returns true if the cache shrinks to less than or equal to <code>fSpaceLimit</code>. + */ + public boolean shrink() { + if (this.overflow > 0) + return makeSpace(0); + return true; + } + + /** + * Returns a String that represents the value of this object. This method + * is for debugging purposes only. + */ + public String toString() { + return + toStringFillingRation("OverflowingLRUCache ") + //$NON-NLS-1$ + toStringContents(); + } + + /** + * Updates the timestamp for the given entry, ensuring that the queue is + * kept in correct order. The entry must exist. + * + * <p>This method will do nothing if time-stamps have been disabled. + */ + protected void updateTimestamp(LRUCacheEntry entry) { + if (this.timestampsOn) { + entry.timestamp = this.timestampCounter++; + if (this.entryQueue != entry) { + this.privateRemoveEntry(entry, true); + privateAddEntry(entry, true); + } + } + } +}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/cache/ToStringSorter.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/cache/ToStringSorter.java new file mode 100644 index 0000000..bb91947 --- /dev/null +++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/cache/ToStringSorter.java
@@ -0,0 +1,81 @@ +/******************************************************************************* + * Copyright (c) 2008 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package org.eclipse.pde.api.tools.internal.model.cache; + +/** + * The SortOperation takes a collection of objects and returns + * a sorted collection of these objects. The sorting of these + * objects is based on their toString(). They are sorted in + * alphabetical order. + * + * @since 1.0.0 + * @noinstantiate This class is not intended to be instantiated by clients. + */ +public final class ToStringSorter { + + Object[] sortedObjects; + String[] sortedStrings; + /** + * Returns true if stringTwo is 'greater than' stringOne + * This is the 'ordering' method of the sort operation. + */ + public boolean compare(String stringOne, String stringTwo) { + return stringOne.compareTo(stringTwo) < 0; + } + + /** + * Sort the objects in sorted collection and return that collection. + */ + private void quickSort(int left, int right) { + int originalLeft = left; + int originalRight = right; + int midIndex = left + (right - left) / 2; + String midToString = this.sortedStrings[midIndex]; + + do { + while (compare(this.sortedStrings[left], midToString)) + left++; + while (compare(midToString, this.sortedStrings[right])) + right--; + if (left <= right) { + Object tmp = this.sortedObjects[left]; + this.sortedObjects[left] = this.sortedObjects[right]; + this.sortedObjects[right] = tmp; + String tmpToString = this.sortedStrings[left]; + this.sortedStrings[left] = this.sortedStrings[right]; + this.sortedStrings[right] = tmpToString; + left++; + right--; + } + } while (left <= right); + + if (originalLeft < right) + quickSort(originalLeft, right); + if (left < originalRight) + quickSort(left, originalRight); + } + + /** + * Return a new sorted collection from this unsorted collection. + * Sort using quick sort. + */ + public void sort(Object[] unSortedObjects, String[] unsortedStrings) { + int size = unSortedObjects.length; + this.sortedObjects = new Object[size]; + this.sortedStrings = new String[size]; + + //copy the array so can return a new sorted collection + System.arraycopy(unSortedObjects, 0, this.sortedObjects, 0, size); + System.arraycopy(unsortedStrings, 0, this.sortedStrings, 0, size); + if (size > 1) + quickSort(0, size - 1); + } +}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/infos/ApiBaselineInfo.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/infos/ApiBaselineInfo.java new file mode 100644 index 0000000..3e8fbe1 --- /dev/null +++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/infos/ApiBaselineInfo.java
@@ -0,0 +1,394 @@ +/******************************************************************************* + * Copyright (c) 2008 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package org.eclipse.pde.api.tools.internal.model.infos; + +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.net.URL; +import java.net.URLConnection; +import java.util.ArrayList; +import java.util.Dictionary; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Hashtable; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Properties; +import java.util.Set; +import java.util.Map.Entry; + +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.FileLocator; +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.MultiStatus; +import org.eclipse.core.runtime.Platform; +import org.eclipse.core.runtime.Status; +import org.eclipse.jdt.core.JavaCore; +import org.eclipse.jdt.internal.launching.EEVMType; +import org.eclipse.jdt.launching.IVMInstall; +import org.eclipse.jdt.launching.IVMInstall2; +import org.eclipse.jdt.launching.JavaRuntime; +import org.eclipse.jdt.launching.environments.IExecutionEnvironment; +import org.eclipse.jdt.launching.environments.IExecutionEnvironmentsManager; +import org.eclipse.osgi.service.resolver.BundleDescription; +import org.eclipse.osgi.service.resolver.ResolverError; +import org.eclipse.osgi.service.resolver.State; +import org.eclipse.osgi.service.resolver.StateObjectFactory; +import org.eclipse.pde.api.tools.internal.AnyValue; +import org.eclipse.pde.api.tools.internal.CoreMessages; +import org.eclipse.pde.api.tools.internal.SystemLibraryApiComponent; +import org.eclipse.pde.api.tools.internal.model.ApiBaseline; +import org.eclipse.pde.api.tools.internal.model.cache.ApiElementCache; +import org.eclipse.pde.api.tools.internal.model.cache.ApiToolsCache; +import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin; +import org.eclipse.pde.api.tools.internal.provisional.IApiComponent; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiBaseline; +import org.eclipse.pde.api.tools.internal.util.Util; +import org.osgi.framework.Bundle; +import org.osgi.framework.Constants; + +import com.ibm.icu.text.MessageFormat; + +/** + * {@link IApiBaseline} specific info object + * + * @since 1.0.0 + * @noextend This class is not intended to be subclassed by clients. + * @noinstantiate This class is not intended to be instantiated by clients. + */ +public class ApiBaselineInfo extends ApiElementInfo { + + /** + * OSGi bundle state + */ + private State fState = null; + /** + * Execution environment identifier + */ + private String fExecutionEnvironment = null; + /** + * Component representing the system library + */ + private IApiComponent fSystemLibraryComponent = null; + /** + * The ee description file to use to init the ee + */ + private File fEeFile = null; + /** + * if the profile should be auto-resolving or not + */ + private boolean fAutoresolve = false; + /** + * The current collection of status from the profile + */ + private MultiStatus fStatus = null; + + /** + * The current set of cached {@link IApiComponent}s + */ + private ApiElementCache fComponents = null; + + /** + * The current set of cached {@link IApiPackageFragment}s + */ + private ApiElementCache fPackages = null; + + /** + * Constant to match any value for ws, os, arch. + */ + private AnyValue ANY_VALUE = new AnyValue("*"); //$NON-NLS-1$ + + /** + * Constructor + */ + public ApiBaselineInfo(IApiBaseline owner, File eefile, boolean autoresolve) { + super(owner); + fEeFile = eefile; + fAutoresolve = autoresolve; + fState = StateObjectFactory.defaultFactory.createState(true); + if(!fAutoresolve) { + addStatus(new Status(IStatus.ERROR, ApiPlugin.PLUGIN_ID, CoreMessages.ApiProfile_0)); + } + fComponents = new ApiElementCache(ApiToolsCache.DEFAULT_CACHE_SIZE); + } + + /** + * Initializes this profile info to resolve in the execution environment + * associated with the given symbolic name. + * + * @param environmentId execution environment symbolic name + * @param eeFile execution environment description file + * @throws CoreException if unable to initialize based on the given id + */ + private void initialize(String environmentId, File eeFile) { + try { + EEVMType.clearProperties(eeFile); + String profile = EEVMType.getProperty(EEVMType.PROP_CLASS_LIB_LEVEL, eeFile); + Properties properties = null; + if (ApiPlugin.isRunningInFramework()) { + properties = getJavaProfileProperties(environmentId); + } else { + properties = Util.getEEProfile(eeFile); + } + if (properties == null) { + addStatus(new Status(IStatus.ERROR, ApiPlugin.PLUGIN_ID, MessageFormat.format("Unknown execution environment: ", new String[] {environmentId}))); + } else { + initialize(properties, eeFile); + } + addStatus(new Status(IStatus.OK, ApiPlugin.PLUGIN_ID, MessageFormat.format(CoreMessages.ApiProfile_1, new String[]{profile}))); + } + catch(CoreException ce) {} + } + + /** + * Initializes this profile from the given properties. + * + * @param profile OGSi profile properties + * @param description execution environment description file + * @throws CoreException if unable to initialize + */ + private void initialize(Properties profile, File description) throws CoreException { + String value = profile.getProperty(Constants.FRAMEWORK_SYSTEMPACKAGES); + Dictionary dictionary = new Hashtable(); + String[] systemPackages = null; + if (value != null) { + systemPackages = value.split(","); //$NON-NLS-1$ + dictionary.put(Constants.FRAMEWORK_SYSTEMPACKAGES, value); + } + value = profile.getProperty(Constants.FRAMEWORK_EXECUTIONENVIRONMENT); + if (value != null) { + dictionary.put(Constants.FRAMEWORK_EXECUTIONENVIRONMENT, value); + } + fExecutionEnvironment = profile.getProperty("osgi.java.profile.name"); //$NON-NLS-1$ + if (fExecutionEnvironment == null) { + addStatus(new Status(IStatus.ERROR, ApiPlugin.PLUGIN_ID, "Profile file missing 'osgi.java.profile.name'")); + } + dictionary.put("osgi.os", ANY_VALUE); //$NON-NLS-1$ + dictionary.put("osgi.arch", ANY_VALUE); //$NON-NLS-1$ + dictionary.put("osgi.ws", ANY_VALUE); //$NON-NLS-1$ + dictionary.put("osgi.nl", ANY_VALUE); //$NON-NLS-1$ + fState.setPlatformProperties(dictionary); + // clean up previous system library + if (fSystemLibraryComponent != null && fComponentsById != null) { + fComponentsById.remove(fSystemLibraryComponent.getId()); + } + if(fSystemPackageNames != null) { + fSystemPackageNames.clear(); + fSystemPackageNames = null; + } + clearComponentsCache(); + // set new system library + fSystemLibraryComponent = new SystemLibraryApiComponent((IApiBaseline) getOwner(), description, systemPackages); + addComponent(fSystemLibraryComponent); + } + + /** + * Returns the property file for the given environment or <code>null</code>. + * + * @param ee execution environment symbolic name + * @return properties file or <code>null</code> if none + */ + public Properties getJavaProfileProperties(String ee) throws CoreException { + Bundle osgiBundle = Platform.getBundle("org.eclipse.osgi"); //$NON-NLS-1$ + if (osgiBundle == null) + return null; + URL profileURL = osgiBundle.getEntry(ee.replace('/', '_') + ".profile"); //$NON-NLS-1$ + if (profileURL != null) { + InputStream is = null; + try { + profileURL = FileLocator.resolve(profileURL); + URLConnection openConnection = profileURL.openConnection(); + openConnection.setUseCaches(false); + is = openConnection.getInputStream(); + if (is != null) { + Properties profile = new Properties(); + profile.load(is); + return profile; + } + } catch (IOException e) { + addStatus(new Status(IStatus.ERROR, ApiPlugin.PLUGIN_ID, MessageFormat.format("Unable to read profile: ", new String[] {ee}))); + } finally { + try { + if (is != null) { + is.close(); + } + } catch (IOException e) { + ApiPlugin.log(e); + } + } + } + return null; + } + + /** + * Resolves and initializes the system library to use based on API component requirements. + * Only works when running in the framework. Has no effect if not running in the framework. + */ + public void resolveSystemLibrary(HashSet ees) { + if (ApiPlugin.isRunningInFramework() && fAutoresolve) { + IStatus error = null; + IExecutionEnvironmentsManager manager = JavaRuntime.getExecutionEnvironmentsManager(); + Iterator iterator = ees.iterator(); + Map VMsToEEs = new HashMap(); + while (iterator.hasNext()) { + String ee = (String) iterator.next(); + IExecutionEnvironment environment = manager.getEnvironment(ee); + if (environment != null) { + IVMInstall[] compatibleVMs = environment.getCompatibleVMs(); + for (int i = 0; i < compatibleVMs.length; i++) { + IVMInstall vm = compatibleVMs[i]; + Set EEs = (Set) VMsToEEs.get(vm); + if (EEs == null) { + EEs = new HashSet(); + VMsToEEs.put(vm, EEs); + } + EEs.add(ee); + } + } + } + // select VM that is compatible with most required environments + iterator = VMsToEEs.entrySet().iterator(); + IVMInstall bestFit = null; + int bestCount = 0; + while (iterator.hasNext()) { + Entry entry = (Entry) iterator.next(); + Set EEs = (Set)entry.getValue(); + if (EEs.size() > bestCount) { + bestCount = EEs.size(); + bestFit = (IVMInstall)entry.getKey(); + } + } + String systemEE = null; + if (bestFit != null) { + // find the EE this VM is strictly compatible with + IExecutionEnvironment[] environments = manager.getExecutionEnvironments(); + for (int i = 0; i < environments.length; i++) { + IExecutionEnvironment environment = environments[i]; + if (environment.isStrictlyCompatible(bestFit)) { + systemEE = environment.getId(); + break; + } + } + if (systemEE == null) { + // a best fit, but not strictly compatible with any environment (e.g. + // a 1.7 VM for which there is no profile yet). This is a bit of a hack + // until an OSGi profile exists for 1.7. + if (bestFit instanceof IVMInstall2) { + String javaVersion = ((IVMInstall2)bestFit).getJavaVersion(); + if (javaVersion != null) { + if (javaVersion.startsWith(JavaCore.VERSION_1_7)) { + // set EE to 1.6 when 1.7 is detected + systemEE = "JavaSE-1.6"; //$NON-NLS-1$ + } + } + } + } + if (systemEE != null) { + // only update if different from current or missing VM binding + if (!systemEE.equals(getExecutionEnvironment()) || fVMBinding == null) { + try { + File file = Util.createEEFile(bestFit, systemEE); + JavaRuntime.addVMInstallChangedListener((ApiBaseline)getOwner()); + fVMBinding = bestFit; + initialize(systemEE, file); + } + catch (IOException e) { + error = new Status(IStatus.ERROR, ApiPlugin.PLUGIN_ID, CoreMessages.ApiProfile_2, e); + } + } + } else { + // VM is not strictly compatible with any EE + error = new Status(IStatus.ERROR, ApiPlugin.PLUGIN_ID, CoreMessages.ApiProfile_4); + } + } else { + // no VMs match any required EE + error = new Status(IStatus.ERROR, ApiPlugin.PLUGIN_ID, CoreMessages.ApiProfile_4); + } + if (error == null) { + // build status for unbound required EE's + Set missing = new HashSet(ees); + Set covered = new HashSet((Set)VMsToEEs.get(bestFit)); + missing.removeAll(covered); + if (missing.isEmpty()) { + addStatus(new Status(IStatus.OK, ApiPlugin.PLUGIN_ID, MessageFormat.format(CoreMessages.ApiProfile_1, new String[]{systemEE}))); + } else { + iterator = missing.iterator(); + MultiStatus multi = new MultiStatus(ApiPlugin.PLUGIN_ID, 0, CoreMessages.ApiProfile_7, null); + while (iterator.hasNext()) { + String id = (String) iterator.next(); + multi.add(new Status(IStatus.WARNING, ApiPlugin.PLUGIN_ID, + MessageFormat.format(CoreMessages.ApiProfile_8, new String[]{id}))); + } + addStatus(multi); + } + } else { + addStatus(error); + } + } + } + + /** + * cleans up residents of this info + */ + public void dispose() { + fState = null; + } + + /** + * @return the id of the currently bound EE + */ + public String getExecutionEnvironment() { + return fExecutionEnvironment; + } + + /** + * @return the current OSGi state in use in this info + */ + public State getState() { + return fState; + } + + /** + * @return the complete listing of errors from attempted resolution of the backing OSGi state + */ + public ResolverError[] getResolutionErrors() { + List errs = new ArrayList(); + BundleDescription[] bundles = fState.getBundles(); + for (int i = 0; i < bundles.length; i++) { + ResolverError[] errors = fState.getResolverErrors(bundles[i]); + for (int j = 0; j < errors.length; j++) { + errs.add(errors[j]); + } + } + return (ResolverError[]) errs.toArray(new ResolverError[errs.size()]); + } + + /** + * Adds a new status to the profiles' overall status + * @param newstatus + */ + private void addStatus(IStatus newstatus) { + if(fStatus == null) { + fStatus = new MultiStatus(ApiPlugin.PLUGIN_ID, IStatus.ERROR, "API Baseline Problems", null); + } + fStatus.add(newstatus); + } + + /** + * @return the complete status of the profile at the time this method is called + */ + public MultiStatus getStatus() { + return fStatus; + } + +}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/infos/ApiComponentInfo.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/infos/ApiComponentInfo.java new file mode 100644 index 0000000..368b906 --- /dev/null +++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/infos/ApiComponentInfo.java
@@ -0,0 +1,32 @@ +/******************************************************************************* + * Copyright (c) 2008 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package org.eclipse.pde.api.tools.internal.model.infos; + +import org.eclipse.pde.api.tools.internal.provisional.model.IApiElement; + +/** + * {@link IApiComponent} specific info. + * + * @since 1.0.0 + * @noextend This class is not intended to be subclassed by clients. + * @noinstantiate This class is not intended to be instantiated by clients. + */ +public class ApiComponentInfo extends ApiElementInfo { + + /** + * Constructor + * @param owner + */ + public ApiComponentInfo(IApiElement owner) { + super(owner); + } + +}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/infos/ApiDescriptionInfo.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/infos/ApiDescriptionInfo.java new file mode 100644 index 0000000..e7123d2 --- /dev/null +++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/infos/ApiDescriptionInfo.java
@@ -0,0 +1,32 @@ +/******************************************************************************* + * Copyright (c) 2008 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package org.eclipse.pde.api.tools.internal.model.infos; + +import org.eclipse.pde.api.tools.internal.provisional.model.IApiElement; + +/** + * {@link IApiDescription} specific info + * + * @since 1.0.0 + * @noextend This class is not intended to be subclassed by clients. + * @noinstantiate This class is not intended to be instantiated by clients. + */ +public class ApiDescriptionInfo extends ApiElementInfo { + + /** + * Constructor + * @param owner + */ + public ApiDescriptionInfo(IApiElement owner) { + super(owner); + } + +}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/infos/ApiElementInfo.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/infos/ApiElementInfo.java new file mode 100644 index 0000000..2938c8a --- /dev/null +++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/infos/ApiElementInfo.java
@@ -0,0 +1,38 @@ +/******************************************************************************* + * Copyright (c) 2008 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package org.eclipse.pde.api.tools.internal.model.infos; + +import org.eclipse.pde.api.tools.internal.provisional.model.IApiElement; + +/** + * Describes backing non-handle information for an {@link IApiElement} + * + * @since 1.0.0 + * @noextend This class is not intended to be subclassed by clients. + */ +public abstract class ApiElementInfo { + + private IApiElement fOwner = null; + + /** + * Constructor + */ + public ApiElementInfo(IApiElement owner) { + fOwner = owner; + } + + /** + * @return the {@link IApiElement} that owns this info + */ + protected IApiElement getOwner() { + return fOwner; + } +}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/infos/ApiResourceInfo.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/infos/ApiResourceInfo.java new file mode 100644 index 0000000..ad6dc8a --- /dev/null +++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/infos/ApiResourceInfo.java
@@ -0,0 +1,86 @@ +/******************************************************************************* + * Copyright (c) 2008 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package org.eclipse.pde.api.tools.internal.model.infos; + +import org.eclipse.core.resources.IFolder; +import org.eclipse.core.resources.IProject; +import org.eclipse.core.resources.IResource; +import org.eclipse.core.runtime.CoreException; +import org.eclipse.pde.api.tools.internal.model.ApiResource; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiElement; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiResource; + +/** + * {@link IApiResource} element info. + * + * @since 1.0.0 + * @noextend This class is not intended to be subclassed by clients. + * @noinstantiate This class is not intended to be instantiated by clients. + */ +public class ApiResourceInfo extends ApiElementInfo { + + private IResource fResource = null; + + /** + * Constructor + */ + public ApiResourceInfo(IApiResource owner, IResource resource) { + super(owner); + fResource = resource; + } + + /** + * @return if the resource has children + */ + public boolean hasChildren() throws CoreException { + switch(fResource.getType()) { + case IResource.PROJECT: { + return ((IProject)fResource).members().length > 0; + } + case IResource.FOLDER: { + return ((IFolder)fResource).members().length > 0; + } + } + return false; + } + + private IResource[] getMembers() throws CoreException { + switch(fResource.getType()) { + case IResource.PROJECT: { + return ((IProject)fResource).members(); + } + case IResource.FOLDER: { + return ((IFolder)fResource).members(); + } + } + return null; + } + + /** + * @return the children of this resource + */ + public IApiElement[] getChildren() throws CoreException { + IApiElement[] children = null; + if(hasChildren()) { + IResource[] members = getMembers(); + if(members == null) { + return null; + } + children = new IApiElement[members.length]; + IApiResource owner = (IApiResource) getOwner(); + for(int i = 0; i < members.length; i++) { + //TODO should we cache the children of a resource element? + children[i] = new ApiResource(owner, members[i]); + } + } + return children; + } +}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/ApiPlugin.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/ApiPlugin.java index 685d71f..ccc979a 100644 --- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/ApiPlugin.java +++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/ApiPlugin.java
@@ -30,13 +30,13 @@ import org.eclipse.core.runtime.preferences.InstanceScope; import org.eclipse.pde.api.tools.internal.ApiDescriptionManager; import org.eclipse.pde.api.tools.internal.ApiFilterStore; -import org.eclipse.pde.api.tools.internal.ApiProfile; -import org.eclipse.pde.api.tools.internal.ApiProfileManager; +import org.eclipse.pde.api.tools.internal.ApiBaselineManager; import org.eclipse.pde.api.tools.internal.JavadocTagManager; import org.eclipse.pde.api.tools.internal.PluginProjectApiComponent; import org.eclipse.pde.api.tools.internal.builder.ApiAnalysisBuilder; import org.eclipse.pde.api.tools.internal.comparator.ClassFileComparator; import org.eclipse.pde.api.tools.internal.descriptors.ElementDescriptorImpl; +import org.eclipse.pde.api.tools.internal.model.ApiBaseline; import org.eclipse.pde.api.tools.internal.provisional.comparator.ApiComparator; import org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblemTypes; import org.eclipse.pde.api.tools.internal.provisional.scanner.TagScanner; @@ -304,12 +304,12 @@ /** * Returns the {@link IApiProfileManager}, allowing clients to add/remove and search - * for {@link IApiProfile}s stored in the manager. + * for {@link IApiBaseline}s stored in the manager. * * @return the singleton instance of the {@link IApiProfileManager} */ public IApiProfileManager getApiProfileManager() { - return ApiProfileManager.getManager(); + return ApiBaselineManager.getManager(); } /** @@ -516,12 +516,12 @@ option = Platform.getDebugOption(API_PROFILE_MANAGER_DEBUG); if(option != null) { - ApiProfileManager.setDebug(option.equalsIgnoreCase(TRUE)); + ApiBaselineManager.setDebug(option.equalsIgnoreCase(TRUE)); } option = Platform.getDebugOption(API_PROFILE_DEBUG); if(option != null) { - ApiProfile.setDebug(option.equalsIgnoreCase(TRUE)); + ApiBaseline.setDebug(option.equalsIgnoreCase(TRUE)); } option = Platform.getDebugOption(API_FILTER_STORE_DEBUG); if(option != null) {
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/Factory.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/Factory.java index 803071b..4917a00 100644 --- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/Factory.java +++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/Factory.java
@@ -15,16 +15,17 @@ import org.eclipse.core.resources.IResource; import org.eclipse.core.runtime.CoreException; -import org.eclipse.pde.api.tools.internal.ApiProfile; -import org.eclipse.pde.api.tools.internal.ApiProfileManager; +import org.eclipse.pde.api.tools.internal.ApiBaselineManager; import org.eclipse.pde.api.tools.internal.descriptors.PackageDescriptorImpl; import org.eclipse.pde.api.tools.internal.descriptors.ResourceDescriptorImpl; +import org.eclipse.pde.api.tools.internal.model.ApiBaseline; import org.eclipse.pde.api.tools.internal.provisional.descriptors.IElementDescriptor; import org.eclipse.pde.api.tools.internal.provisional.descriptors.IFieldDescriptor; import org.eclipse.pde.api.tools.internal.provisional.descriptors.IMethodDescriptor; import org.eclipse.pde.api.tools.internal.provisional.descriptors.IPackageDescriptor; import org.eclipse.pde.api.tools.internal.provisional.descriptors.IReferenceTypeDescriptor; import org.eclipse.pde.api.tools.internal.provisional.descriptors.IResourceDescriptor; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiBaseline; import org.eclipse.pde.api.tools.internal.provisional.search.IApiSearchCriteria; import org.eclipse.pde.api.tools.internal.provisional.search.IApiSearchEngine; import org.eclipse.pde.api.tools.internal.provisional.search.IApiSearchScope; @@ -54,8 +55,8 @@ * * @param name profile name */ - public static IApiProfile newApiProfile(String name) { - return new ApiProfile(name); + public static IApiBaseline newApiProfile(String name) { + return new ApiBaseline(name); } /** @@ -71,8 +72,8 @@ * @return API profile * @throws CoreException if unable to create a new profile with the specified attributes */ - public static IApiProfile newApiProfile(String name, File eeDescription) throws CoreException { - return new ApiProfile(name, eeDescription); + public static IApiBaseline newApiProfile(String name, File eeDescription) throws CoreException { + return new ApiBaseline(name, eeDescription); } /** @@ -189,14 +190,14 @@ /** * Creates and returns an API profile from the given input stream. The * contents of the stream must have been created with - * {@link IApiProfile#writeProfileDescription(java.io.OutputStream)}. + * {@link IApiBaseline#writeProfileDescription(java.io.OutputStream)}. * * @param descriptionStream profile description * @return API profile * @exception CoreException if unable to create a profile from the stream */ - public static IApiProfile createProfile(InputStream descriptionStream) throws CoreException { - return ApiProfileManager.restoreProfile(descriptionStream); + public static IApiBaseline createProfile(InputStream descriptionStream) throws CoreException { + return ApiBaselineManager.restoreProfile(descriptionStream); } /**
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/IApiComponent.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/IApiComponent.java index 8b26189..c3337f1 100644 --- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/IApiComponent.java +++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/IApiComponent.java
@@ -11,6 +11,8 @@ package org.eclipse.pde.api.tools.internal.provisional; import org.eclipse.core.runtime.CoreException; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiDescription; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiBaseline; import org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblem; import org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblemFilter; @@ -138,7 +140,7 @@ public boolean isSourceComponent(); /** * Disposes this API component. Clients must call this method when done - * with an API component. Note that disposing an {@link IApiProfile} will dispose all of + * with an API component. Note that disposing an {@link IApiBaseline} will dispose all of * its components. */ public void dispose(); @@ -148,7 +150,7 @@ * * @return API profile */ - public IApiProfile getProfile(); + public IApiBaseline getProfile(); /** * Returns a store of problem filters defined for this component or <code>null</code>
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/IApiProfileManager.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/IApiProfileManager.java index b4f4566..d46638b 100644 --- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/IApiProfileManager.java +++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/IApiProfileManager.java
@@ -10,9 +10,11 @@ *******************************************************************************/ package org.eclipse.pde.api.tools.internal.provisional; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiBaseline; + /** - * Interface describing the {@link ApiProfileManager} + * Interface describing the {@link ApiBaselineManager} * * @noimplement this interface is not to be implemented by clients * @since 1.0.0 @@ -22,33 +24,33 @@ /** * Allows a new profile to be added to the managers' cache of profiles. * New profiles are added to the cache on a replace policy, meaning if there - * already exists an {@link IApiProfile} entry it will be replaced with the + * already exists an {@link IApiBaseline} entry it will be replaced with the * new profile provided. If <code>null</code> is passed in as a new profile * no work is done. * * @param newprofile the new profile to add to the manager */ - public void addApiProfile(IApiProfile newprofile); + public void addApiProfile(IApiBaseline newprofile); /** - * Returns the complete listing of {@link IApiProfile}s contained in the + * Returns the complete listing of {@link IApiBaseline}s contained in the * manager or an empty array, never <code>null</code>. * - * @return the complete listing of {@link IApiProfile}s or an empty array + * @return the complete listing of {@link IApiBaseline}s or an empty array */ - public IApiProfile[] getApiProfiles(); + public IApiBaseline[] getApiProfiles(); /** - * Returns the {@link IApiProfile} object with the given id, or + * Returns the {@link IApiBaseline} object with the given id, or * <code>null</code> if there is no profile with the given id. * * @param name the name of the profile to fetch - * @return the {@link IApiProfile} with the given id or <code>null</code> + * @return the {@link IApiBaseline} with the given id or <code>null</code> */ - public IApiProfile getApiProfile(String name); + public IApiBaseline getApiProfile(String name); /** - * Removes the {@link IApiProfile} with the given id from + * Removes the {@link IApiBaseline} with the given id from * the manager, which propagates to the file-system to remove the * underlying stored profile (if it exists). * @@ -60,20 +62,20 @@ public boolean removeApiProfile(String name); /** - * Allows the {@link IApiProfile} with the specified id to be set as + * Allows the {@link IApiBaseline} with the specified id to be set as * the default profile. This method will accept <code>null</code>, which will remove - * a default {@link IApiProfile} setting. - * @param name the name of the {@link IApiProfile} to be the default + * a default {@link IApiBaseline} setting. + * @param name the name of the {@link IApiBaseline} to be the default */ public void setDefaultApiProfile(String name); /** - * Returns the {@link IApiProfile} that is the current default, or <code>null</code> + * Returns the {@link IApiBaseline} that is the current default, or <code>null</code> * if one has not been set, or the currently specified id for the default profile no longer exists. * - * @return the default {@link IApiProfile} or <code>null</code> + * @return the default {@link IApiBaseline} or <code>null</code> */ - public IApiProfile getDefaultApiProfile(); + public IApiBaseline getDefaultApiProfile(); /** * Returns the workspace profile. Creates a new one if one does not exist. @@ -86,5 +88,5 @@ * </p> * @return the workspace profile or <code>null</code> */ - public IApiProfile getWorkspaceProfile(); + public IApiBaseline getWorkspaceProfile(); }
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/builder/IApiAnalyzer.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/builder/IApiAnalyzer.java index b51af2d..ff3e06c 100644 --- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/builder/IApiAnalyzer.java +++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/builder/IApiAnalyzer.java
@@ -14,7 +14,7 @@ import org.eclipse.pde.api.tools.internal.builder.BuildState; import org.eclipse.pde.api.tools.internal.provisional.IApiComponent; import org.eclipse.pde.api.tools.internal.provisional.IApiFilterStore; -import org.eclipse.pde.api.tools.internal.provisional.IApiProfile; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiBaseline; import org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblem; /** @@ -43,7 +43,7 @@ * @see PluginProjectApiComponent * @see BundleApiComponent */ - public void analyzeComponent(final BuildState buildState, final IApiFilterStore filterStore, final IApiProfile baseline, final IApiComponent component, final String[] typenames, final String[] changedtypes, IProgressMonitor monitor); + public void analyzeComponent(final BuildState buildState, final IApiFilterStore filterStore, final IApiBaseline baseline, final IApiComponent component, final String[] typenames, final String[] changedtypes, IProgressMonitor monitor); /** * Returns the complete set of {@link IApiProblem}s found by this analyzer, or an empty
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/comparator/ApiComparator.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/comparator/ApiComparator.java index 1595dff..e2921f1 100644 --- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/comparator/ApiComparator.java +++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/comparator/ApiComparator.java
@@ -24,12 +24,12 @@ import org.eclipse.pde.api.tools.internal.provisional.Factory; import org.eclipse.pde.api.tools.internal.provisional.IApiAnnotations; import org.eclipse.pde.api.tools.internal.provisional.IApiComponent; -import org.eclipse.pde.api.tools.internal.provisional.IApiDescription; -import org.eclipse.pde.api.tools.internal.provisional.IApiProfile; import org.eclipse.pde.api.tools.internal.provisional.IClassFile; import org.eclipse.pde.api.tools.internal.provisional.IClassFileContainer; import org.eclipse.pde.api.tools.internal.provisional.RestrictionModifiers; import org.eclipse.pde.api.tools.internal.provisional.VisibilityModifiers; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiDescription; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiBaseline; import org.eclipse.pde.api.tools.internal.util.Util; import org.osgi.framework.Version; @@ -74,8 +74,8 @@ final IClassFile classFile2, final IApiComponent component, final IApiComponent component2, - final IApiProfile referenceProfile, - final IApiProfile profile, + final IApiBaseline referenceProfile, + final IApiBaseline profile, final int visibilityModifiers) { if (classFile2 == null) { @@ -218,8 +218,8 @@ final IClassFile classFile2, final IApiComponent component, final IApiComponent component2, - final IApiProfile referenceProfile, - final IApiProfile profile, + final IApiBaseline referenceProfile, + final IApiBaseline profile, final int visibilityModifiers) { if (classFile == null || classFile2 == null) { @@ -265,8 +265,8 @@ * @throws IllegalArgumentException if one of the two profiles is null */ public static IDelta compare( - final IApiProfile referenceProfile, - final IApiProfile profile, + final IApiBaseline referenceProfile, + final IApiBaseline profile, final boolean force) { return compare(referenceProfile, profile, VisibilityModifiers.ALL_VISIBILITIES, force); } @@ -283,8 +283,8 @@ * @throws IllegalArgumentException if one of the two profiles is null */ public static IDelta compare( - final IApiProfile referenceProfile, - final IApiProfile profile) { + final IApiBaseline referenceProfile, + final IApiBaseline profile) { return compare(referenceProfile, profile, VisibilityModifiers.ALL_VISIBILITIES, false); } @@ -301,8 +301,8 @@ * @throws IllegalArgumentException if one of the two profiles is null */ public static IDelta compare( - final IApiProfile referenceProfile, - final IApiProfile profile, + final IApiBaseline referenceProfile, + final IApiBaseline profile, final int visibilityModifiers) { return compare(referenceProfile, profile, visibilityModifiers, false); } @@ -319,8 +319,8 @@ * @throws IllegalArgumentException if one of the two profiles is null */ public static IDelta compare( - final IApiProfile referenceProfile, - final IApiProfile profile, + final IApiBaseline referenceProfile, + final IApiBaseline profile, final int visibilityModifiers, final boolean force) { if (referenceProfile == null || profile == null) { @@ -456,7 +456,7 @@ */ public static IDelta compare( final IApiComponent component, - final IApiProfile referenceProfile, + final IApiBaseline referenceProfile, final int visibilityModifiers, final boolean force) { @@ -544,8 +544,8 @@ public static IDelta compare( final IApiComponent referenceComponent, final IApiComponent component2, - final IApiProfile referenceProfile, - final IApiProfile profile) { + final IApiBaseline referenceProfile, + final IApiBaseline profile) { return compare(referenceComponent, component2, referenceProfile, profile, VisibilityModifiers.ALL_VISIBILITIES); } @@ -568,8 +568,8 @@ public static IDelta compare( final IApiComponent referenceComponent, final IApiComponent component2, - final IApiProfile referenceProfile, - final IApiProfile profile, + final IApiBaseline referenceProfile, + final IApiBaseline profile, final int visibilityModifiers) { if (referenceProfile == null || profile == null) { @@ -646,8 +646,8 @@ private static IDelta internalCompare( final IApiComponent component, final IApiComponent component2, - final IApiProfile referenceProfile, - final IApiProfile profile, + final IApiBaseline referenceProfile, + final IApiBaseline profile, final int visibilityModifiers, final Delta globalDelta) throws CoreException {
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/comparator/Compare.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/comparator/Compare.java index 3336a3a..80015bc 100644 --- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/comparator/Compare.java +++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/comparator/Compare.java
@@ -19,11 +19,11 @@ import java.io.IOException; import org.eclipse.core.runtime.CoreException; -import org.eclipse.pde.api.tools.internal.ApiProfileManager; +import org.eclipse.pde.api.tools.internal.ApiBaselineManager; import org.eclipse.pde.api.tools.internal.comparator.DeltaXmlVisitor; import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin; -import org.eclipse.pde.api.tools.internal.provisional.IApiProfile; import org.eclipse.pde.api.tools.internal.provisional.VisibilityModifiers; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiBaseline; /** * Java application to compare two API profiles @@ -143,10 +143,10 @@ private void process() { // processing the comparison BufferedInputStream inputStream = null; - IApiProfile baseline = null; + IApiBaseline baseline = null; try { inputStream = new BufferedInputStream(new FileInputStream(this.baseline)); - baseline = ApiProfileManager.restoreProfile(inputStream); + baseline = ApiBaselineManager.restoreProfile(inputStream); } catch (FileNotFoundException e) { ApiPlugin.log(e); } catch (CoreException e) { @@ -161,10 +161,10 @@ } } inputStream = null; - IApiProfile profile = null; + IApiBaseline profile = null; try { inputStream = new BufferedInputStream(new FileInputStream(this.profile)); - profile = ApiProfileManager.restoreProfile(inputStream); + profile = ApiBaselineManager.restoreProfile(inputStream); } catch (FileNotFoundException e) { ApiPlugin.log(e); } catch (CoreException e) {
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/IApiProfile.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/model/IApiBaseline.java similarity index 88% rename from apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/IApiProfile.java rename to apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/model/IApiBaseline.java index cdebc93..654acd7 100644 --- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/IApiProfile.java +++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/model/IApiBaseline.java
@@ -8,12 +8,12 @@ * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ -package org.eclipse.pde.api.tools.internal.provisional; - -import java.io.OutputStream; +package org.eclipse.pde.api.tools.internal.provisional.model; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IStatus; +import org.eclipse.osgi.service.resolver.ResolverError; +import org.eclipse.pde.api.tools.internal.provisional.IApiComponent; import org.eclipse.pde.core.plugin.IPluginModelBase; /** @@ -22,7 +22,7 @@ * * @since 1.0.0 */ -public interface IApiProfile { +public interface IApiBaseline extends IApiParent, IApiElement { /** * Returns all API components in this profile. The components @@ -115,14 +115,6 @@ public String getExecutionEnvironment(); /** - * Returns a status describing how the execution environment bound to this API - * profile satisfies the requirements of the components in this profile. - * - * @return status describing execution environment bound to this profile - */ - public IStatus getExecutionEnvironmentStatus(); - - /** * Disposes this API profile. Clients must call this method when done * with a profile in order to free system resources. * <p> @@ -141,15 +133,6 @@ public void close() throws CoreException; /** - * Writes a description of this profile to the given output stream. - * The profile can be recreated using the {@link Factory}. - * - * @param stream output stream to write description to - * @throws CoreException if something goes terribly wrong - */ - public void writeProfileDescription(OutputStream stream) throws CoreException; - - /** * Returns all components in this profile depending on the given components. * The returned collection includes the given components and all dependents. * @@ -169,4 +152,20 @@ */ public IApiComponent[] getPrerequisiteComponents(IApiComponent[] components); + /** + * Returns all errors in the underlying {@link org.eclipse.osgi.service.resolver.State} + * from an attempt to resolve the state. + * + * If there are no resolution errors an empty array is returned. + * + * @return state errors + */ + public ResolverError[] getResolutionErrors(); + + /** + * Returns the combined status of the {@link IApiBaseline} + * + * @return the combined status of this baseline + */ + public IStatus getStatus(); }
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/model/IApiComponent.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/model/IApiComponent.java new file mode 100644 index 0000000..99b1f52 --- /dev/null +++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/model/IApiComponent.java
@@ -0,0 +1,21 @@ +/******************************************************************************* + * Copyright (c) 2008 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package org.eclipse.pde.api.tools.internal.provisional.model; + +/** + * Describes an {@link IApiProject} as it appears in an {@link org.eclipse.pde.api.tools.internal.provisional.IApiProfile} + * + * @since 1.0.0 + * @noimplement This interface is not intended to be implemented by clients. + */ +public interface IApiComponent extends IApiElement, IApiParent { + +}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/IApiDescription.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/model/IApiDescription.java similarity index 90% rename from apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/IApiDescription.java rename to apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/model/IApiDescription.java index 87dce18..7e2f451 100644 --- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/IApiDescription.java +++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/model/IApiDescription.java
@@ -8,9 +8,11 @@ * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ -package org.eclipse.pde.api.tools.internal.provisional; +package org.eclipse.pde.api.tools.internal.provisional.model; import org.eclipse.core.runtime.IStatus; +import org.eclipse.pde.api.tools.internal.provisional.ApiDescriptionVisitor; +import org.eclipse.pde.api.tools.internal.provisional.IApiAnnotations; import org.eclipse.pde.api.tools.internal.provisional.descriptors.IElementDescriptor; @@ -22,7 +24,7 @@ * * @since 1.0 */ -public interface IApiDescription { +public interface IApiDescription extends IApiParent, IApiElement { /** * Status code indicating an element was not found when attempting to
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/model/IApiElement.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/model/IApiElement.java new file mode 100644 index 0000000..6dedf08 --- /dev/null +++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/model/IApiElement.java
@@ -0,0 +1,139 @@ +/******************************************************************************* + * Copyright (c) 2008 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package org.eclipse.pde.api.tools.internal.provisional.model; + +import org.eclipse.core.resources.IResource; +import org.eclipse.core.runtime.IPath; + +/** + * Describes an element that can appear in the API tooling model. + * <p> + * Methods annotated as "handle-only" do not require underlying elements to exist. + * Methods that require underlying elements to exist throw + * a <code>CoreException</code> when an underlying element is missing. + * </p> + * + * @since 1.0.0 + * @noimplement This interface is not intended to be implemented by clients. + */ +public interface IApiElement { + + /** + * Constant representing a package. + */ + public int PACKAGE = 1; + + /** + * Constant representing a reference type. + */ + public int TYPE = 2; + + /** + * Constant representing a package container + */ + public int PACKAGE_ROOT = 3; + + /** + * Constant representing a static initializer + */ + public int INITIALIZER = 4; + + /** + * Constant representing a field. + */ + public int FIELD = 5; + + /** + * Constant representing a method. + */ + public int METHOD = 6; + + /** + * Constant representing an {@link IResource} + */ + public int RESOURCE = 7; + + /** + * Constant representing an API component + */ + public int COMPONENT = 8; + + /** + * Constant representing an {@link IApiBaseline} + */ + public int BASELINE = 9; + + /** + * Returns the name of this element. This is a handle-only method. + * + * @return the element name + */ + public String getName(); + + /** + * Returns this element's kind encoded as an integer. + * This is a handle-only method. + * + * @return the kind of element; one of the constants declared in <code>IApiElement</code> + * @see IApiElement + */ + public int getType(); + + /** + * Returns whether this {@link IApiElement} exists in the current model or not. + * + * @return true if this element exists in the current model, false otherwise + */ + public boolean exists(); + + /** + * Returns the immediate parent {@link IApiElement} of this element, + * or <code>null</code> if this parent has no parent. + * This is a handle-only method. + * + * @return the immediate parent of this element or <code>null</code> + */ + public IApiElement getParent(); + + /** + * Returns the first ancestor of this API element that has the given type. + * Returns <code>null</code> if no such an ancestor can be found. + * This is a handle-only method. + * + * @param ancestorType the given type + * @return the first ancestor of this Java element that has the given type, null if no such an ancestor can be found + */ + public IApiElement getAncestor(int ancestorType); + + /** + * Returns the path to the innermost resource enclosing this element. + * This is a handle-only method. + * + * @return the path to the innermost resource enclosing this element or <code>null</code> + */ + public IPath getPath(); + + /** + * Returns the innermost resource enclosing this element. + * This is a handle-only method. + * + * @return the innermost resource enclosing this element + */ + public IResource getResource(); + + /** + * Returns a signature-like description of the element. Can be used to persist and restore + * {@link IApiElement}s. + * + * @return a signature-like description of this element + */ + public String getDescriptor(); +}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/model/IApiField.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/model/IApiField.java new file mode 100644 index 0000000..b0f00cd --- /dev/null +++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/model/IApiField.java
@@ -0,0 +1,30 @@ +/******************************************************************************* + * Copyright (c) 2008 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package org.eclipse.pde.api.tools.internal.provisional.model; + +import org.eclipse.core.runtime.CoreException; + +/** + * Describes a field with an {@link IApiType} + * + * @since 1.0.0 + * @noimplement This interface is not intended to be implemented by clients. + */ +public interface IApiField extends IApiMember { + + /** + * Returns if this field is an enum constant. + * + * @return true if this field is an enum constant, false otherwise + * @throws CoreException if this element does not exist or if an exception occurs while accessing its corresponding resource. + */ + public boolean isEnumConstant() throws CoreException; +}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/model/IApiInitializer.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/model/IApiInitializer.java new file mode 100644 index 0000000..aa4f137 --- /dev/null +++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/model/IApiInitializer.java
@@ -0,0 +1,21 @@ +/******************************************************************************* + * Copyright (c) 2008 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package org.eclipse.pde.api.tools.internal.provisional.model; + +/** + * Describes a static initializer inside an {@link IApiType} + * + * @since 1.0.0 + * @noimplement This interface is not intended to be implemented by clients. + */ +public interface IApiInitializer extends IApiMember { + +}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/model/IApiMember.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/model/IApiMember.java new file mode 100644 index 0000000..7656476 --- /dev/null +++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/model/IApiMember.java
@@ -0,0 +1,52 @@ +/******************************************************************************* + * Copyright (c) 2008 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package org.eclipse.pde.api.tools.internal.provisional.model; + +import org.eclipse.core.runtime.CoreException; + +/** + * Description of elements that can be members of {@link IApiType}s + * <p> + * This set consists of: + * <ul> + * <li>{@link IApiType}</li> + * <li>{@link IApiField}</li> + * <li>{@link IApiMethod}</li> + * </ul> + * </p> + * @since 1.0.0 + * @noimplement This interface is not intended to be implemented by clients. + */ +public interface IApiMember extends IApiParent, IApiElement { + + /** + * Returns the smallest enclosing {@link IApiType} that encloses this element or + * <code>null</code> if the enclosing type is a top-level type. + * + * @return the smallest enclosing {@link IApiType} of this element or <code>null</code> + * @throws CoreException + */ + public IApiType getDeclaringType() throws CoreException; + + /** + * Returns the modifier flags for this member. The flags can be examined using the class + * <code>Flags</code>. + * <p> + * Note that only flags as indicated in the source are returned. Thus if an interface + * defines a method <code>void myMethod();</code> the flags don't include the + * 'public' flag. + * + * @exception CoreException if this element does not exist or if an exception occurs while accessing its corresponding resource. + * @return the modifier flags for this member + * @see Flags + */ + public int getFlags() throws CoreException; +}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/model/IApiMethod.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/model/IApiMethod.java new file mode 100644 index 0000000..3ee97ff --- /dev/null +++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/model/IApiMethod.java
@@ -0,0 +1,53 @@ +/******************************************************************************* + * Copyright (c) 2008 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package org.eclipse.pde.api.tools.internal.provisional.model; + +import org.eclipse.core.runtime.CoreException; + +/** + * Describes a method. + * + * @since 1.0.0 + * @noimplement This interface is not intended to be implemented by clients. + */ +public interface IApiMethod extends IApiMember { + + /** + * Returns if this method is a constructor or not. + * + * @return is this method is a constructor + * @throws CoreException if this element does not exist or if an exception occurs while accessing its corresponding resource. + */ + public boolean isConstructor() throws CoreException; + + /** + * Returns the signature of this method. + * + * @return the signature of this method + * @throws CoreException if this element does not exist or if an exception occurs while accessing its corresponding resource. + */ + public String getSignature() throws CoreException; + + /** + * Returns whether this method is similar to the given method. + * Two methods are similar if: + * <ul> + * <li>their element names are equal</li> + * <li>they have the same number of parameters</li> + * <li>the simple names of their parameter types are equal</li> + * </ul> + * This is a handle-only method. + * + * @param method the given method + * @return true if this method is similar to the given method. + */ + public boolean isSimilar(IApiMethod method); +}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/model/IApiPackageFragment.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/model/IApiPackageFragment.java new file mode 100644 index 0000000..d30ab21 --- /dev/null +++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/model/IApiPackageFragment.java
@@ -0,0 +1,19 @@ +/******************************************************************************* + * Copyright (c) 2008 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package org.eclipse.pde.api.tools.internal.provisional.model; + +/** + * @since 1.0.0 + * @noimplement This interface is not intended to be implemented by clients. + */ +public interface IApiPackageFragment extends IApiParent, IApiElement { + +}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/model/IApiPackageFragmentRoot.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/model/IApiPackageFragmentRoot.java new file mode 100644 index 0000000..fa8ee67 --- /dev/null +++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/model/IApiPackageFragmentRoot.java
@@ -0,0 +1,19 @@ +/******************************************************************************* + * Copyright (c) 2008 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package org.eclipse.pde.api.tools.internal.provisional.model; + +/** + * @since 1.0.0 + * @noimplement This interface is not intended to be implemented by clients. + */ +public interface IApiPackageFragmentRoot extends IApiParent, IApiElement { + +}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/model/IApiParent.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/model/IApiParent.java new file mode 100644 index 0000000..5a903a4 --- /dev/null +++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/model/IApiParent.java
@@ -0,0 +1,39 @@ +/******************************************************************************* + * Copyright (c) 2008 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package org.eclipse.pde.api.tools.internal.provisional.model; + +import org.eclipse.core.runtime.CoreException; + +/** + * Describes an {@link IApiElement} that can have other {@link IApiElement}s as children + * + * @since 1.0.0 + * @noimplement This interface is not intended to be implemented by clients. + */ +public interface IApiParent { + + /** + * Returns the immediate children of this element. + * Unless otherwise specified by the implementing element the children are in no particular order. + * + * @exception CoreException if this element does not exist or if an exception occurs while accessing its corresponding resource + * @return the immediate children of this element + */ + public IApiElement[] getChildren() throws CoreException; + + /** + * Returns whether this element has one or more immediate children. + * + * @exception CoreException if this element does not exist or if an exception occurs while accessing its corresponding resource + * @return true if the immediate children of this element, false otherwise + */ + public boolean hasChildren() throws CoreException; +}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/model/IApiResource.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/model/IApiResource.java new file mode 100644 index 0000000..c02e897 --- /dev/null +++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/model/IApiResource.java
@@ -0,0 +1,21 @@ +/******************************************************************************* + * Copyright (c) 2008 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package org.eclipse.pde.api.tools.internal.provisional.model; + +/** + * Describes a general resource: i.e. a MANIFEST.MF file + * + * @since 1.0.0 + * @noimplement This interface is not intended to be implemented by clients. + */ +public interface IApiResource extends IApiElement, IApiParent { + +}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/model/IApiType.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/model/IApiType.java new file mode 100644 index 0000000..8d9f86b --- /dev/null +++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/model/IApiType.java
@@ -0,0 +1,127 @@ +/******************************************************************************* + * Copyright (c) 2008 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package org.eclipse.pde.api.tools.internal.provisional.model; + +import org.eclipse.core.runtime.CoreException; + +/** + * Describes a Java type (class, interface, enum or annotation). + * + * @since 1.0.0 + * @noimplement This interface is not intended to be implemented by clients. + */ +public interface IApiType extends IApiMember { + + /** + * Returns whether this type represents a class. + * <p> + * Note that a class can neither be an interface, an enumeration class, nor an annotation type. + * </p> + * @throws CoreException if this element does not exist or if an exception occurs while accessing its corresponding resource. + * @return true if this type represents a class, false otherwise + */ + public boolean isClass() throws CoreException; + + /** + * Returns whether this type represents an interface. + * <p> + * Note that an interface can also be an annotation type, but it can neither be a class nor an enumeration class. + * </p> + * @return true if this type represents an interface, false otherwise + * @throws CoreException + */ + public boolean isInterface() throws CoreException; + + /** + * Returns whether this type represents an enumeration class. + * <p> + * Note that an enumeration class can neither be a class, an interface, nor an annotation type. + * </p> + * @throws CoreExeption if this element does not exist or if an exception occurs while accessing its corresponding resource. + * @return true if this type represents an enumeration class, false otherwise + */ + public boolean isEnum() throws CoreException; + + /** + * Returns whether this type represents an annotation type. + * <p> + * Note that an annotation type is also an interface, but it can neither be a class nor an enumeration class. + * </p> + * @return true if this type represents an annotation type, false otherwise + * @throws CoreException + */ + public boolean isAnnotation() throws CoreException; + + /** + * Returns whether this type represents a member type. + * + * @return true if this type represents a member type, false otherwise + * @throws CoreException + */ + public boolean isMember() throws CoreException; + + /** + * Returns the fully qualified name of this type. + * Member types are denoted using '$'. For example a.b.c.C$InnerC + * + * @return the fully qualified name of the type + */ + public String getFullyQualifiedName(); + + /** + * Returns the immediate member types declared by this type. + * The results are listed in the order in which they appear in the source or class file. + * + * @throws CoreException if this element does not exist or if an exception occurs while accessing its corresponding resource. + * @return the immediate member types declared by this type + */ + public IApiType[] getTypes() throws CoreException; + + /** + * Returns all of the {@link IApiField}s directly enclosed by this type. + * + * @return all of the {@link IApiField}s of this type + * @throws CoreException if the element does not exist or an exception occurs while accessing its corresponding resource. + */ + public IApiField[] getFields() throws CoreException; + + /** + * Returns all of the {@link IApiMethod}s directly enclosed by this type. + * + * @return all of the {@link IApiMethod}s of this type + * @throws CoreException if the element does not exist or an exception occurs while accessing its corresponding resource. + */ + public IApiMethod[] getMethods() throws CoreException; + + /** + * Returns the immediate enclosing {@link IApiPackageFragment} that this type resides in. + * + * @return the immediate parent {@link IApiPackageFragment} this type resides in + * @throws CoreException if the element does not exist or an exception occurs while accessing its corresponding resource. + */ + public IApiPackageFragment getPackageFragment() throws CoreException; + + /** + * Returns the super-class of this type if there is one, <code>null</code> otherwise. + * + * @return the super-class of this type or <code>null</code> for types that do not have super-classes + * @throws CoreException if the element does not exist or an exception occurs while accessing its corresponding resource. + */ + public IApiType getSuperClass() throws CoreException; + + /** + * Returns the super-interface set of this type if there is one, <code>null</code> otherwise. + * + * @return the super-interface set of this type or <code>null</code> if there isn't one + * @throws CoreException if the element does not exist or an exception occurs while accessing its corresponding resource. + */ + public IApiType[] getSuperInterfaces() throws CoreException; +}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/scanner/ApiDescriptionProcessor.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/scanner/ApiDescriptionProcessor.java index 4a72cc5..9e312e5 100644 --- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/scanner/ApiDescriptionProcessor.java +++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/scanner/ApiDescriptionProcessor.java
@@ -56,16 +56,15 @@ import org.eclipse.jdt.core.dom.rewrite.ListRewrite; import org.eclipse.jface.text.BadLocationException; import org.eclipse.jface.text.IDocument; -import org.eclipse.pde.api.tools.internal.ApiDescription; import org.eclipse.pde.api.tools.internal.ApiSettingsXmlVisitor; import org.eclipse.pde.api.tools.internal.IApiCoreConstants; import org.eclipse.pde.api.tools.internal.IApiXmlConstants; import org.eclipse.pde.api.tools.internal.JavadocTagManager; +import org.eclipse.pde.api.tools.internal.model.ApiDescription; import org.eclipse.pde.api.tools.internal.provisional.ApiDescriptionVisitor; import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin; import org.eclipse.pde.api.tools.internal.provisional.Factory; import org.eclipse.pde.api.tools.internal.provisional.IApiAnnotations; -import org.eclipse.pde.api.tools.internal.provisional.IApiDescription; import org.eclipse.pde.api.tools.internal.provisional.IApiJavadocTag; import org.eclipse.pde.api.tools.internal.provisional.RestrictionModifiers; import org.eclipse.pde.api.tools.internal.provisional.VisibilityModifiers; @@ -74,6 +73,7 @@ import org.eclipse.pde.api.tools.internal.provisional.descriptors.IMethodDescriptor; import org.eclipse.pde.api.tools.internal.provisional.descriptors.IPackageDescriptor; import org.eclipse.pde.api.tools.internal.provisional.descriptors.IReferenceTypeDescriptor; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiDescription; import org.eclipse.pde.api.tools.internal.util.Util; import org.eclipse.text.edits.TextEdit; import org.w3c.dom.Element;
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/scanner/TagScanner.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/scanner/TagScanner.java index 6ade1e1..d0f0569 100644 --- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/scanner/TagScanner.java +++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/scanner/TagScanner.java
@@ -47,7 +47,6 @@ import org.eclipse.pde.api.tools.internal.JavadocTagManager; import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin; import org.eclipse.pde.api.tools.internal.provisional.Factory; -import org.eclipse.pde.api.tools.internal.provisional.IApiDescription; import org.eclipse.pde.api.tools.internal.provisional.IApiJavadocTag; import org.eclipse.pde.api.tools.internal.provisional.IClassFile; import org.eclipse.pde.api.tools.internal.provisional.IClassFileContainer; @@ -56,6 +55,7 @@ import org.eclipse.pde.api.tools.internal.provisional.descriptors.IMethodDescriptor; import org.eclipse.pde.api.tools.internal.provisional.descriptors.IPackageDescriptor; import org.eclipse.pde.api.tools.internal.provisional.descriptors.IReferenceTypeDescriptor; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiDescription; import org.eclipse.pde.api.tools.internal.search.MethodExtractor; import org.eclipse.pde.api.tools.internal.util.HashtableOfInt; import org.eclipse.pde.api.tools.internal.util.Util;
diff --git a/apitools/org.eclipse.pde.api.tools/src_ant/org/eclipse/pde/api/tools/internal/tasks/APIFreezeTask.java b/apitools/org.eclipse.pde.api.tools/src_ant/org/eclipse/pde/api/tools/internal/tasks/APIFreezeTask.java index 49f3dd6..bf451e2 100644 --- a/apitools/org.eclipse.pde.api.tools/src_ant/org/eclipse/pde/api/tools/internal/tasks/APIFreezeTask.java +++ b/apitools/org.eclipse.pde.api.tools/src_ant/org/eclipse/pde/api/tools/internal/tasks/APIFreezeTask.java
@@ -33,12 +33,12 @@ import org.eclipse.core.runtime.CoreException; import org.eclipse.pde.api.tools.internal.comparator.DeltaXmlVisitor; import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin; -import org.eclipse.pde.api.tools.internal.provisional.IApiProfile; import org.eclipse.pde.api.tools.internal.provisional.RestrictionModifiers; import org.eclipse.pde.api.tools.internal.provisional.VisibilityModifiers; import org.eclipse.pde.api.tools.internal.provisional.comparator.ApiComparator; import org.eclipse.pde.api.tools.internal.provisional.comparator.DeltaProcessor; import org.eclipse.pde.api.tools.internal.provisional.comparator.IDelta; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiBaseline; import org.eclipse.pde.api.tools.internal.util.Util; /** @@ -298,8 +298,8 @@ } // run the comparison // create profile for the reference - IApiProfile referenceProfile = createProfile(REFERENCE_PROFILE_NAME, getInstallDir(tempDir, REFERENCE), this.eeFileLocation); - IApiProfile currentProfile = createProfile(CURRENT_PROFILE_NAME, getInstallDir(tempDir, CURRENT), this.eeFileLocation); + IApiBaseline referenceProfile = createProfile(REFERENCE_PROFILE_NAME, getInstallDir(tempDir, REFERENCE), this.eeFileLocation); + IApiBaseline currentProfile = createProfile(CURRENT_PROFILE_NAME, getInstallDir(tempDir, CURRENT), this.eeFileLocation); IDelta delta = null; if (this.debug) {
diff --git a/apitools/org.eclipse.pde.api.tools/src_ant/org/eclipse/pde/api/tools/internal/tasks/APIToolsVerificationTask.java b/apitools/org.eclipse.pde.api.tools/src_ant/org/eclipse/pde/api/tools/internal/tasks/APIToolsVerificationTask.java index e429219..5cfcb8c 100644 --- a/apitools/org.eclipse.pde.api.tools/src_ant/org/eclipse/pde/api/tools/internal/tasks/APIToolsVerificationTask.java +++ b/apitools/org.eclipse.pde.api.tools/src_ant/org/eclipse/pde/api/tools/internal/tasks/APIToolsVerificationTask.java
@@ -48,8 +48,8 @@ import org.eclipse.pde.api.tools.internal.provisional.IApiComponent; import org.eclipse.pde.api.tools.internal.provisional.IApiFilterStore; import org.eclipse.pde.api.tools.internal.provisional.IApiMarkerConstants; -import org.eclipse.pde.api.tools.internal.provisional.IApiProfile; import org.eclipse.pde.api.tools.internal.provisional.comparator.IDelta; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiBaseline; import org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblem; import org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblemFilter; import org.eclipse.pde.api.tools.internal.util.Util; @@ -509,8 +509,8 @@ } // run the comparison // create profile for the reference - IApiProfile referenceProfile = createProfile(REFERENCE_PROFILE_NAME, getInstallDir(tempDir, REFERENCE), this.eeFileLocation); - IApiProfile currentProfile = createProfile(CURRENT_PROFILE_NAME, getInstallDir(tempDir, CURRENT), this.eeFileLocation); + IApiBaseline referenceProfile = createProfile(REFERENCE_PROFILE_NAME, getInstallDir(tempDir, REFERENCE), this.eeFileLocation); + IApiBaseline currentProfile = createProfile(CURRENT_PROFILE_NAME, getInstallDir(tempDir, CURRENT), this.eeFileLocation); if (this.debug) { System.out.println("Creation of both profiles : " + (System.currentTimeMillis() - time) + "ms"); //$NON-NLS-1$ //$NON-NLS-2$
diff --git a/apitools/org.eclipse.pde.api.tools/src_ant/org/eclipse/pde/api/tools/internal/tasks/ApiFileGeneratorTask.java b/apitools/org.eclipse.pde.api.tools/src_ant/org/eclipse/pde/api/tools/internal/tasks/ApiFileGeneratorTask.java index fa3bc39..85d09c2 100644 --- a/apitools/org.eclipse.pde.api.tools/src_ant/org/eclipse/pde/api/tools/internal/tasks/ApiFileGeneratorTask.java +++ b/apitools/org.eclipse.pde.api.tools/src_ant/org/eclipse/pde/api/tools/internal/tasks/ApiFileGeneratorTask.java
@@ -32,11 +32,11 @@ import org.eclipse.core.runtime.CoreException; import org.eclipse.jdt.core.JavaCore; import org.eclipse.osgi.util.ManifestElement; -import org.eclipse.pde.api.tools.internal.ApiDescription; import org.eclipse.pde.api.tools.internal.ApiSettingsXmlVisitor; import org.eclipse.pde.api.tools.internal.CompilationUnit; import org.eclipse.pde.api.tools.internal.DirectoryClassFileContainer; import org.eclipse.pde.api.tools.internal.IApiCoreConstants; +import org.eclipse.pde.api.tools.internal.model.ApiDescription; import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin; import org.eclipse.pde.api.tools.internal.provisional.scanner.TagScanner; import org.eclipse.pde.api.tools.internal.util.Util;
diff --git a/apitools/org.eclipse.pde.api.tools/src_ant/org/eclipse/pde/api/tools/internal/tasks/CommonUtilsTask.java b/apitools/org.eclipse.pde.api.tools/src_ant/org/eclipse/pde/api/tools/internal/tasks/CommonUtilsTask.java index 6aeb671..ff489f1 100644 --- a/apitools/org.eclipse.pde.api.tools/src_ant/org/eclipse/pde/api/tools/internal/tasks/CommonUtilsTask.java +++ b/apitools/org.eclipse.pde.api.tools/src_ant/org/eclipse/pde/api/tools/internal/tasks/CommonUtilsTask.java
@@ -21,7 +21,7 @@ import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin; import org.eclipse.pde.api.tools.internal.provisional.Factory; import org.eclipse.pde.api.tools.internal.provisional.IApiComponent; -import org.eclipse.pde.api.tools.internal.provisional.IApiProfile; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiBaseline; import org.eclipse.pde.api.tools.internal.util.Util; /** @@ -55,9 +55,9 @@ return new File(new File(new File(dir, profileInstallName), ECLIPSE_FOLDER_NAME), PLUGINS_FOLDER_NAME).getAbsolutePath(); } - public static IApiProfile createProfile(String profileName, String fileName, String eeFileLocation) { + public static IApiBaseline createProfile(String profileName, String fileName, String eeFileLocation) { try { - IApiProfile baseline = null; + IApiBaseline baseline = null; if (ApiPlugin.isRunningInFramework()) { baseline = Factory.newApiProfile(profileName); } else if (eeFileLocation != null) {
diff --git a/apitools/org.eclipse.pde.api.tools/src_ant/org/eclipse/pde/api/tools/internal/tasks/CompareProfilesTask.java b/apitools/org.eclipse.pde.api.tools/src_ant/org/eclipse/pde/api/tools/internal/tasks/CompareProfilesTask.java index 96404b3..d095774 100644 --- a/apitools/org.eclipse.pde.api.tools/src_ant/org/eclipse/pde/api/tools/internal/tasks/CompareProfilesTask.java +++ b/apitools/org.eclipse.pde.api.tools/src_ant/org/eclipse/pde/api/tools/internal/tasks/CompareProfilesTask.java
@@ -26,10 +26,10 @@ import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin; import org.eclipse.pde.api.tools.internal.provisional.Factory; import org.eclipse.pde.api.tools.internal.provisional.IApiComponent; -import org.eclipse.pde.api.tools.internal.provisional.IApiProfile; import org.eclipse.pde.api.tools.internal.provisional.VisibilityModifiers; import org.eclipse.pde.api.tools.internal.provisional.comparator.ApiComparator; import org.eclipse.pde.api.tools.internal.provisional.comparator.IDelta; +import org.eclipse.pde.api.tools.internal.provisional.model.IApiBaseline; import org.eclipse.pde.api.tools.internal.util.Util; /** @@ -97,8 +97,8 @@ // run the comparison // create profile for the reference - IApiProfile referenceProfile = createProfile(REFERENCE_PROFILE_NAME, getInstallDir(tempDir, REFERENCE), this.eeFileLocation); - IApiProfile currentProfile = createProfile(CURRENT_PROFILE_NAME, getInstallDir(tempDir, CURRENT), this.eeFileLocation); + IApiBaseline referenceProfile = createProfile(REFERENCE_PROFILE_NAME, getInstallDir(tempDir, REFERENCE), this.eeFileLocation); + IApiBaseline currentProfile = createProfile(CURRENT_PROFILE_NAME, getInstallDir(tempDir, CURRENT), this.eeFileLocation); IDelta delta = null; @@ -171,9 +171,9 @@ return new File(new File(new File(dir, profileInstallName), ECLIPSE_FOLDER_NAME), PLUGINS_FOLDER_NAME).getAbsolutePath(); } - private static IApiProfile createProfile(String profileName, String fileName, String eeFileLocation) { + private static IApiBaseline createProfile(String profileName, String fileName, String eeFileLocation) { try { - IApiProfile baseline = null; + IApiBaseline baseline = null; if (ApiPlugin.isRunningInFramework()) { baseline = Factory.newApiProfile(profileName); } else if (eeFileLocation != null) {