private static IInstallableUnit removeExportedPackages(IInstallableUnit initialUnit) { InstallableUnitDescription iud = new InstallableUnitDescription(); iud.setId(initialUnit.getId()); iud.setVersion(initialUnit.getVersion()); initialUnit.getProvidedCapabilities().stream() .filter(cap -> !PublisherHelper.CAPABILITY_NS_JAVA_PACKAGE.equals(cap.getNamespace())) .map(Collections::singleton).forEach(iud::addProvidedCapabilities); return MetadataFactory.createInstallableUnit(iud); }
private IInstallableUnit createIURepresentingTheProfile(Set<IRequirement> allRequirements) { InstallableUnitDescription iud = new MetadataFactory.InstallableUnitDescription(); String time = Long.toString(System.currentTimeMillis()); iud.setId(time); iud.setVersion(Version.createOSGi(0, 0, 0, time)); iud.setRequirements(allRequirements.toArray(new IRequirement[allRequirements.size()])); return MetadataFactory.createInstallableUnit(iud); }
protected static IInstallableUnit createUnitRequiring(String name, Collection<IInstallableUnit> units, Collection<IRequirement> additionalRequirements) { InstallableUnitDescription result = new MetadataFactory.InstallableUnitDescription(); String time = Long.toString(System.currentTimeMillis()); result.setId(name + "-" + time); result.setVersion(Version.createOSGi(0, 0, 0, time)); ArrayList<IRequirement> requirements = new ArrayList<>(); if (units != null) { for (IInstallableUnit unit : units) { requirements.add(createStrictRequirementTo(unit)); } } if (additionalRequirements != null) { requirements.addAll(additionalRequirements); } result.addRequirements(requirements); return MetadataFactory.createInstallableUnit(result); }
private static IInstallableUnit createSharedProfileIU(final IProfile sharedProfile) { InstallableUnitDescription iuDescription = new InstallableUnitDescription(); iuDescription.setId("SharedProfile_" + sharedProfile.getProfileId()); //$NON-NLS-1$ iuDescription.setVersion(Version.createOSGi(1, 0, 0, Long.toString(sharedProfile.getTimestamp()))); ArrayList<IProvidedCapability> iuCapabilities = new ArrayList<>(); IProvidedCapability selfCapability = MetadataFactory.createProvidedCapability(IInstallableUnit.NAMESPACE_IU_ID, iuDescription.getId(), iuDescription.getVersion()); iuCapabilities.add(selfCapability); iuDescription.addProvidedCapabilities(iuCapabilities); ArrayList<IRequirement> iuRequirements = new ArrayList<>(); IQueryResult<IInstallableUnit> allIUs = sharedProfile.query(QueryUtil.createIUAnyQuery(), null); for (Iterator<IInstallableUnit> iterator = allIUs.iterator(); iterator.hasNext();) { IInstallableUnit iu = iterator.next(); IMatchExpression<IInstallableUnit> iuMatcher = ExpressionUtil.getFactory().matchExpression(ExpressionUtil.parse("id == $0 && version == $1"), iu.getId(), iu.getVersion()); //$NON-NLS-1$ iuRequirements.add(MetadataFactory.createRequirement(iuMatcher, null, 0, 1, true)); } iuDescription.addRequirements(iuRequirements); iuDescription.setProperty(IInstallableUnit.PROP_NAME, NLS.bind(Messages.Shared_Profile, null)); IInstallableUnit sharedProfileIU = MetadataFactory.createInstallableUnit(iuDescription); return sharedProfileIU; }
private static IInstallableUnit createSharedProfileIU(final IProfile sharedProfile) { InstallableUnitDescription iuDescription = new InstallableUnitDescription(); iuDescription.setId("SharedProfile_" + sharedProfile.getProfileId()); //$NON-NLS-1$ iuDescription.setVersion(Version.createOSGi(1, 0, 0, Long.toString(sharedProfile.getTimestamp()))); ArrayList<IProvidedCapability> iuCapabilities = new ArrayList<IProvidedCapability>(); IProvidedCapability selfCapability = MetadataFactory.createProvidedCapability(IInstallableUnit.NAMESPACE_IU_ID, iuDescription.getId(), iuDescription.getVersion()); iuCapabilities.add(selfCapability); iuDescription.addProvidedCapabilities(iuCapabilities); ArrayList<IRequirement> iuRequirements = new ArrayList<IRequirement>(); IQueryResult<IInstallableUnit> allIUs = sharedProfile.query(QueryUtil.createIUAnyQuery(), null); for (Iterator<IInstallableUnit> iterator = allIUs.iterator(); iterator.hasNext();) { IInstallableUnit iu = iterator.next(); IMatchExpression<IInstallableUnit> iuMatcher = ExpressionUtil.getFactory().<IInstallableUnit> matchExpression(ExpressionUtil.parse("id == $0 && version == $1"), iu.getId(), iu.getVersion()); //$NON-NLS-1$ iuRequirements.add(MetadataFactory.createRequirement(iuMatcher, null, 0, 1, true)); } iuDescription.addRequirements(iuRequirements); iuDescription.setProperty(IInstallableUnit.PROP_NAME, NLS.bind(Messages.Shared_Profile, null)); IInstallableUnit sharedProfileIU = MetadataFactory.createInstallableUnit(iuDescription); return sharedProfileIU; }
private InstallableUnitDescription createTopLevelIUDescription(Collection<? extends IVersionedId> children, Collection<IRequirement> requires, boolean configureLauncherData) { InstallableUnitDescription root = new MetadataFactory.InstallableUnitDescription(); root.setSingleton(true); root.setId(id); root.setVersion(version); root.setProperty(IInstallableUnit.PROP_NAME, name); Collection<IRequirement> requiredCapabilities = createIURequirements(children); if (requires != null) requiredCapabilities.addAll(requires); root.setRequirements(requiredCapabilities.toArray(new IRequirement[requiredCapabilities.size()])); root.setArtifacts(new IArtifactKey[0]); root.setProperty(InstallableUnitDescription.PROP_TYPE_PRODUCT, Boolean.TRUE.toString()); root.setUpdateDescriptor(MetadataFactory.createUpdateDescriptor(id, VersionRange.emptyRange, IUpdateDescriptor.NORMAL, null)); root.setProperty(InstallableUnitDescription.PROP_TYPE_GROUP, Boolean.TRUE.toString()); root.setCapabilities(new IProvidedCapability[] {createSelfCapability(id, version)}); // TODO why is the type OSGI? root.setTouchpointType(PublisherHelper.TOUCHPOINT_OSGI); return root; }
private InstallableUnitDescription createTopLevelIUDescription(Collection<? extends IVersionedId> children, Collection<IRequirement> requires, boolean configureLauncherData) { InstallableUnitDescription root = new MetadataFactory.InstallableUnitDescription(); root.setSingleton(true); root.setId(id); root.setVersion(version); root.setProperty(IInstallableUnit.PROP_NAME, name); Collection<IRequirement> requiredCapabilities = createIURequirements(children); if (requires != null) requiredCapabilities.addAll(requires); root.setRequirements(requiredCapabilities.toArray(new IRequirement[requiredCapabilities.size()])); root.setArtifacts(new IArtifactKey[0]); root.setProperty(InstallableUnitDescription.PROP_TYPE_PRODUCT, Boolean.TRUE.toString()); root.setUpdateDescriptor(MetadataFactory.createUpdateDescriptor(id, VersionRange.emptyRange, IUpdateDescriptor.NORMAL, null)); root.setProperty(InstallableUnitDescription.PROP_TYPE_GROUP, Boolean.TRUE.toString()); root.setCapabilities(new IProvidedCapability[] {createSelfCapability(id, version)}); // TODO why is the type OSGI? root.setTouchpointType(PublisherHelper.TOUCHPOINT_OSGI); return root; }
private InstallableUnitDescription createTopLevelIUDescription(Collection<? extends IVersionedId> children, Collection<IRequirement> requires, boolean configureLauncherData) { InstallableUnitDescription root = new MetadataFactory.InstallableUnitDescription(); root.setSingleton(true); root.setId(id); root.setVersion(version); root.setProperty(IInstallableUnit.PROP_NAME, name); Collection<IRequirement> requiredCapabilities = createIURequirements(children); if (requires != null) requiredCapabilities.addAll(requires); root.setRequirements(requiredCapabilities.toArray(new IRequirement[requiredCapabilities.size()])); root.setArtifacts(new IArtifactKey[0]); root.setProperty(InstallableUnitDescription.PROP_TYPE_PRODUCT, Boolean.TRUE.toString()); root.setUpdateDescriptor(MetadataFactory.createUpdateDescriptor(id, VersionRange.emptyRange, IUpdateDescriptor.NORMAL, null)); root.setProperty(InstallableUnitDescription.PROP_TYPE_GROUP, Boolean.TRUE.toString()); root.setCapabilities(new IProvidedCapability[] {createSelfCapability(id, version)}); // TODO why is the type OSGI? root.setTouchpointType(PublisherHelper.TOUCHPOINT_OSGI); return root; }
/** * Create a CU whose id is flavor+id.type.configspec with the given version. * The resultant IU has the self capability and an abstract capabilty in the flavor+id namespace * with the name id.type and the given version. This allows others to create an abstract * dependency on having one of these things around but not having to list out the configs. */ private IInstallableUnit createCU(String cuId, Version cuVersion, String cuType, String cuFlavor, String configSpec, Map<String, String> touchpointData) { InstallableUnitDescription cu = new InstallableUnitDescription(); String resultId = createCUIdString(cuId, cuType, cuFlavor, configSpec); cu.setId(resultId); cu.setVersion(cuVersion); cu.setFilter(createFilterSpec(configSpec)); IProvidedCapability selfCapability = PublisherHelper.createSelfCapability(resultId, cuVersion); String namespace = getAbstractCUCapabilityNamespace(cuId, cuType, cuFlavor, configSpec); String abstractId = getAbstractCUCapabilityId(cuId, cuType, cuFlavor, configSpec); IProvidedCapability abstractCapability = MetadataFactory.createProvidedCapability(namespace, abstractId, cuVersion); cu.setCapabilities(new IProvidedCapability[] {selfCapability, abstractCapability}); cu.addTouchpointData(MetadataFactory.createTouchpointData(touchpointData)); cu.setTouchpointType(PublisherHelper.TOUCHPOINT_OSGI); return MetadataFactory.createInstallableUnit(cu); }
/** * Publishes the IUs that cause the executable to be actually set as the launcher for * the profile */ private void publishExecutableSetter(ExecutablesDescriptor brandedExecutables, IPublisherResult result) { InstallableUnitDescription iud = new MetadataFactory.InstallableUnitDescription(); String executableName = brandedExecutables.getExecutableName(); String id = getExecutableId() + '.' + executableName; iud.setId(id); iud.setVersion(version); iud.setTouchpointType(PublisherHelper.TOUCHPOINT_OSGI); iud.setCapabilities(new IProvidedCapability[] {createSelfCapability(id, version)}); iud.setFilter(createFilterSpec(configSpec)); Map<String, String> touchpointData = new HashMap<String, String>(); touchpointData.put("configure", "setLauncherName(name:" + executableName + ")"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ touchpointData.put("unconfigure", "setLauncherName()"); //$NON-NLS-1$ //$NON-NLS-2$ iud.addTouchpointData(MetadataFactory.createTouchpointData(touchpointData)); result.addIU(MetadataFactory.createInstallableUnit(iud), IPublisherResult.ROOT); }
private IInstallableUnit createEntryPointIU( Collection<IInstallableUnit> rootIUs ) { InstallableUnitDescription iud = new MetadataFactory.InstallableUnitDescription(); String time = Long.toString( System.currentTimeMillis() ); iud.setId( time ); iud.setVersion( Version.createOSGi( 0, 0, 0, time ) ); ArrayList<IRequirement> requirements = new ArrayList<IRequirement>(); for ( IInstallableUnit iu : rootIUs ) { VersionRange range = new VersionRange( iu.getVersion(), true, iu.getVersion(), true ); requirements.add( MetadataFactory.createRequirement( IInstallableUnit.NAMESPACE_IU_ID, iu.getId(), range, iu.getFilter(), 1 /* min */, iu.isSingleton() ? 1 : Integer.MAX_VALUE /* max */, true /* greedy */) ); } iud.setRequirements( (IRequirement[]) requirements.toArray( new IRequirement[requirements.size()] ) ); return MetadataFactory.createInstallableUnit( iud ); }
/** * Publishes the IUs that cause the executable to be actually set as the launcher for * the profile */ private void publishExecutableSetter(ExecutablesDescriptor brandedExecutables, IPublisherResult result) { InstallableUnitDescription iud = new MetadataFactory.InstallableUnitDescription(); String executableName = brandedExecutables.getExecutableName(); String id = getExecutableId() + '.' + executableName; iud.setId(id); iud.setVersion(version); iud.setTouchpointType(PublisherHelper.TOUCHPOINT_OSGI); iud.setCapabilities(new IProvidedCapability[] {createSelfCapability(id, version)}); iud.setFilter(createFilterSpec(configSpec)); Map<String, String> touchpointData = new HashMap<>(); touchpointData.put("configure", "setLauncherName(name:" + executableName + ")"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ touchpointData.put("unconfigure", "setLauncherName()"); //$NON-NLS-1$ //$NON-NLS-2$ iud.addTouchpointData(MetadataFactory.createTouchpointData(touchpointData)); result.addIU(MetadataFactory.createInstallableUnit(iud), IPublisherResult.ROOT); }
/** * Publishes the IUs that cause the executable to be actually set as the launcher for * the profile */ private void publishExecutableSetter(ExecutablesDescriptor brandedExecutables, IPublisherResult result) { InstallableUnitDescription iud = new MetadataFactory.InstallableUnitDescription(); String executableName = brandedExecutables.getExecutableName(); String id = getExecutableId() + '.' + executableName; iud.setId(id); iud.setVersion(version); iud.setTouchpointType(PublisherHelper.TOUCHPOINT_OSGI); iud.setCapabilities(new IProvidedCapability[] {createSelfCapability(id, version)}); iud.setFilter(createFilterSpec(configSpec)); Map<String, String> touchpointData = new HashMap<String, String>(); touchpointData.put("configure", "setLauncherName(name:" + executableName + ")"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ touchpointData.put("unconfigure", "setLauncherName()"); //$NON-NLS-1$ //$NON-NLS-2$ iud.addTouchpointData(MetadataFactory.createTouchpointData(touchpointData)); result.addIU(MetadataFactory.createInstallableUnit(iud), IPublisherResult.ROOT); }
private InstallableUnitDescription createTopLevelIUDescription(Collection<? extends IVersionedId> children, Collection<IRequirement> requires, boolean configureLauncherData) { InstallableUnitDescription root = new MetadataFactory.InstallableUnitDescription(); root.setSingleton(true); root.setId(id); root.setVersion(version); root.setProperty(IInstallableUnit.PROP_NAME, name); Collection<IRequirement> requiredCapabilities = createIURequirements(children); if (requires != null) requiredCapabilities.addAll(requires); root.setRequirements(requiredCapabilities.toArray(new IRequirement[requiredCapabilities.size()])); root.setArtifacts(new IArtifactKey[0]); root.setProperty(InstallableUnitDescription.PROP_TYPE_PRODUCT, Boolean.TRUE.toString()); root.setUpdateDescriptor(MetadataFactory.createUpdateDescriptor(id, VersionRange.emptyRange, IUpdateDescriptor.NORMAL, null)); root.setProperty(InstallableUnitDescription.PROP_TYPE_GROUP, Boolean.TRUE.toString()); root.setCapabilities(new IProvidedCapability[] {createSelfCapability(id, version)}); // TODO why is the type OSGI? root.setTouchpointType(PublisherHelper.TOUCHPOINT_OSGI); return root; }
private IInstallableUnit createIUForMetaRequirements(IProfile profile, Collection<IRequirement> metaRequirements) { InstallableUnitDescription description = new InstallableUnitDescription(); String id = getActionGatheringIUId(profile); description.setId(id); Version version = Version.createOSGi(1, 0, 0, Long.toString(profile.getTimestamp())); description.setVersion(version); description.addRequirements(metaRequirements); ArrayList<IProvidedCapability> providedCapabilities = new ArrayList<>(); IProvidedCapability providedCapability = MetadataFactory .createProvidedCapability(IInstallableUnit.NAMESPACE_IU_ID, id, version); providedCapabilities.add(providedCapability); description.addProvidedCapabilities(providedCapabilities); IInstallableUnit actionsIU = MetadataFactory.createInstallableUnit(description); return actionsIU; }
protected InstallableUnitDescription createIUShell(String id, Version version) { InstallableUnitDescription root = new MetadataFactory.InstallableUnitDescription(); root.setId(id); root.setVersion(version); return root; }
protected InstallableUnitDescription createIUShell(String id, Version version) { InstallableUnitDescription root = new MetadataFactory.InstallableUnitDescription(); root.setId(id); root.setVersion(version); return root; }
protected InstallableUnitDescription createIUShell(String id, Version version) { InstallableUnitDescription root = new MetadataFactory.InstallableUnitDescription(); root.setId(id); root.setVersion(version); return root; }
private static IInstallableUnit newIU(String id, Version version) { InstallableUnitDescription iud = new InstallableUnitDescription(); iud.setId(id); iud.setVersion(version); iud.addProvidedCapabilities(Collections .singleton(MetadataFactory.createProvidedCapability(IInstallableUnit.NAMESPACE_IU_ID, id, version))); return MetadataFactory.createInstallableUnit(iud); }
protected InstallableUnitDescription createIUShell(String id, Version version) { InstallableUnitDescription root = new MetadataFactory.InstallableUnitDescription(); root.setId(id); root.setVersion(version); return root; }