Пример #1
0
  public void testGetAction() {
    final ArrayList actionsList1 = new ArrayList();
    InstallableUnitPhase phase1 =
        new InstallableUnitPhase("test", 1) {
          protected List<ProvisioningAction> getActions(InstallableUnitOperand operand) {
            List<ProvisioningAction> actions = getActions(operand.second(), "test1");
            actionsList1.addAll(actions);
            return actions;
          }
        };
    final ArrayList actionsList2 = new ArrayList();
    InstallableUnitPhase phase2 =
        new InstallableUnitPhase("test", 1) {
          protected List<ProvisioningAction> getActions(InstallableUnitOperand operand) {
            List<ProvisioningAction> actions = getActions(operand.second(), "test2");
            actionsList2.addAll(actions);
            return actions;
          }
        };

    PhaseSet phaseSet = new TestPhaseSet(new Phase[] {phase1, phase2});
    IProfile profile = createProfile("PhaseTest");

    Map instructions = new HashMap();
    instructions.put("test1", MetadataFactory.createTouchpointInstruction("test1.test()", null));
    instructions.put("test2", MetadataFactory.createTouchpointInstruction("test2.test()", null));
    ITouchpointData touchpointData = MetadataFactory.createTouchpointData(instructions);
    IInstallableUnit unit =
        createIU(
            "test",
            Version.create("1.0.0"),
            null,
            NO_REQUIRES,
            new IProvidedCapability[0],
            NO_PROPERTIES,
            ITouchpointType.NONE,
            touchpointData,
            false);
    IProvisioningPlan plan = engine.createPlan(profile, null);
    plan.addInstallableUnit(unit);
    IStatus status = engine.perform(plan, phaseSet, new NullProgressMonitor());
    if (!status.isOK()) {
      fail(status.toString());
    }

    assertEquals(
        TestAction.class,
        ((ParameterizedProvisioningAction) actionsList1.get(0)).getAction().getClass());
    assertEquals(
        TestAction.class,
        ((ParameterizedProvisioningAction) actionsList2.get(0)).getAction().getClass());
  }
  protected void setUp() throws Exception {
    super.setUp();
    a1 = createIU("A", Version.create("1.0.0"), true);

    createIU(
        "A",
        Version.create("2.0.0"),
        null,
        NO_REQUIRES,
        NO_PROVIDES,
        NO_PROPERTIES,
        ITouchpointType.NONE,
        NO_TP_DATA,
        true,
        MetadataFactory.createUpdateDescriptor("A", VersionRange.emptyRange, 0, "foo bar"),
        null);
    a2 = createIU("A", Version.create("2.0.0"), true);

    createTestMetdataRepository(new IInstallableUnit[] {a1, a2});

    profile = createProfile("TestProfile." + getName());
    planner = createPlanner();
    engine = createEngine();
  }
Пример #3
0
  protected void setUp() throws Exception {
    super.setUp();
    a1 = createIU("A", Version.createOSGi(1, 0, 0), true);
    a2 = createIU("A", Version.create("2.0.0"), true);
    b1 = createIU("B", Version.create("1.0.0"), true);
    b2 = createIU("B", Version.create("2.0.0"), true);
    c2 = createIU("C", Version.create("2.0.0"), true);

    IRequirement[] req = new IRequirement[3];
    req[0] =
        MetadataFactory.createRequirement(
            IInstallableUnit.NAMESPACE_IU_ID,
            "A",
            new VersionRange("[1.0.0, 1.1.0)"),
            null,
            false,
            true);
    req[1] =
        MetadataFactory.createRequirement(
            IInstallableUnit.NAMESPACE_IU_ID,
            "B",
            new VersionRange("[1.0.0, 1.1.0)"),
            null,
            false,
            true);
    req[2] =
        MetadataFactory.createRequirement(
            IInstallableUnit.NAMESPACE_IU_ID,
            "C",
            new VersionRange("[2.0.0, 3.1.0)"),
            null,
            false,
            true);
    f1 = createIU("F", Version.createOSGi(1, 0, 0), req);

    IRequirementChange changeA =
        MetadataFactory.createRequirementChange(
            MetadataFactory.createRequirement(
                IInstallableUnit.NAMESPACE_IU_ID,
                "A",
                VersionRange.emptyRange,
                null,
                false,
                false,
                false),
            MetadataFactory.createRequirement(
                IInstallableUnit.NAMESPACE_IU_ID,
                "A",
                new VersionRange("[2.0.0, 3.0.0)"),
                null,
                false,
                false,
                true));
    IRequirement[][] scope =
        new IRequirement[][] {
          {
            MetadataFactory.createRequirement(
                IInstallableUnit.NAMESPACE_IU_ID,
                "F",
                VersionRange.emptyRange,
                null,
                false,
                false,
                false)
          }
        };
    p1 =
        createIUPatch(
            "P",
            Version.create("1.0.0"),
            null,
            NO_REQUIRES,
            NO_PROVIDES,
            NO_PROPERTIES,
            ITouchpointType.NONE,
            NO_TP_DATA,
            false,
            null,
            new IRequirementChange[] {changeA},
            scope,
            null,
            new IRequirement[0]);

    IRequirementChange changeB =
        MetadataFactory.createRequirementChange(
            MetadataFactory.createRequirement(
                IInstallableUnit.NAMESPACE_IU_ID,
                "B",
                VersionRange.emptyRange,
                null,
                false,
                false,
                false),
            MetadataFactory.createRequirement(
                IInstallableUnit.NAMESPACE_IU_ID,
                "B",
                new VersionRange("[2.0.0, 3.0.0)"),
                null,
                false,
                false,
                true));
    IRequirement[][] scopePP =
        new IRequirement[][] {
          {
            MetadataFactory.createRequirement(
                IInstallableUnit.NAMESPACE_IU_ID,
                "F",
                VersionRange.emptyRange,
                null,
                false,
                false,
                false)
          }
        };
    r1 =
        createIUPatch(
            "R",
            Version.create("1.0.0"),
            null,
            NO_REQUIRES,
            NO_PROVIDES,
            NO_PROPERTIES,
            ITouchpointType.NONE,
            NO_TP_DATA,
            false,
            null,
            new IRequirementChange[] {changeB},
            scopePP,
            null,
            new IRequirement[0]);

    createTestMetdataRepository(new IInstallableUnit[] {a1, a2, b1, b2, c2, f1, p1, r1});

    profile1 = createProfile("TestProfile." + getName());
    planner = createPlanner();
    engine = createEngine();
  }