Community
Participate
Working Groups
To finish up the migration API for profiles we need to be able to tell a persistence provider to mark a profile as migrated. Profiles that have been migrated are not processed by the persistence provider.
API changes/additions: New interface: IRSECoreStatusCodes - constants for constructing IStatus values in core. IRSEPersistenceManager added public IStatus migrateProfile(ISystemProfile profile, IRSEPersistenceProvider persistenceProvider, boolean delete); IRSEPersistenceProvider added the following: /** * Sets the migration state of a profile. * @param profileName the name of the profile of which to set the migration state * @param migrated true if the profile is to be marked as migrated, false if it is to be marked as normal. * Normal profiles are returned in {@link #getSavedProfileNames()}, migrated profiles are returned * in {@link #getMigratedProfileNames()}. * @return a status representing the resulting state of the migration. An OK status * indicates a successful marking. An ERROR status indicates an unsuccessful marking. * @see IRSECoreStatusCodes * @since org.eclipse.rse.core 3.0 */ public IStatus setMigrationMark(String profileName, boolean migrated); /** * @return The names of the profiles that have been migrated by this persistence provider. * The names of profiles that have been marked as migrated are returned in this list. * The appearance of a profile name in this list implies that the profile may be * unmigrated by this provider by using {@link #setMigrationMark(String, boolean)}. * This may be an empty array but will never be null. * @since org.eclipse.rse.core 3.0 */ public String[] getMigratedProfileNames(); /** * Indicates whether or not this persistence provider supports migration. * @return true if the provider supports marking of the persistence form of profiles * as migrated, false otherwise. * @since org.eclipse.rse.core 3.0 */ public boolean supportsMigration();
Fix looks good to me. You'll want to mark interface RSEStatusCodes as @noimplement.