diff options
author | Susan Franklin | 2009-02-26 22:29:37 +0000 |
---|---|---|
committer | Susan Franklin | 2009-02-26 22:29:37 +0000 |
commit | 236f4495923ca88944e8ec7203374e93c0fc347c (patch) | |
tree | 82e3dbbde0d00a4a17bf04e7fd788f732d4ddac0 /bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox | |
parent | c7a34215806f330d4954b44d6fe0942a0f533cd5 (diff) | |
download | rt.equinox.p2-236f4495923ca88944e8ec7203374e93c0fc347c.tar.gz rt.equinox.p2-236f4495923ca88944e8ec7203374e93c0fc347c.tar.xz rt.equinox.p2-236f4495923ca88944e8ec7203374e93c0fc347c.zip |
Bug 194224 - [ui] User nicknames for repositories
Diffstat (limited to 'bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox')
3 files changed, 52 insertions, 12 deletions
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/AddArtifactRepositoryOperation.java b/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/AddArtifactRepositoryOperation.java index cc0b4a4eb..3550215ef 100644 --- a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/AddArtifactRepositoryOperation.java +++ b/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/AddArtifactRepositoryOperation.java @@ -10,19 +10,19 @@ *******************************************************************************/ package org.eclipse.equinox.internal.p2.ui.admin; -import org.eclipse.equinox.internal.provisional.p2.ui.operations.ProvisioningUtil; -import org.eclipse.equinox.internal.provisional.p2.ui.operations.RepositoryOperation; - import java.net.URI; import org.eclipse.core.runtime.*; import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException; +import org.eclipse.equinox.internal.provisional.p2.core.repository.IRepository; +import org.eclipse.equinox.internal.provisional.p2.ui.operations.AddRepositoryOperation; +import org.eclipse.equinox.internal.provisional.p2.ui.operations.ProvisioningUtil; /** - * Operation which adds an artifact repository given its URL. + * Operation which adds an artifact repository given its URI. * * @since 3.4 */ -public class AddArtifactRepositoryOperation extends RepositoryOperation { +public class AddArtifactRepositoryOperation extends AddRepositoryOperation { public AddArtifactRepositoryOperation(String label, URI location) { super(label, new URI[] {location}); @@ -36,4 +36,10 @@ public class AddArtifactRepositoryOperation extends RepositoryOperation { } return okStatus(); } + + protected void setNickname(URI location, String nickname) throws ProvisionException { + for (int i = 0; i < locations.length; i++) { + ProvisioningUtil.setArtifactRepositoryProperty(location, IRepository.PROP_NICKNAME, nickname); + } + } } diff --git a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/AddMetadataRepositoryOperation.java b/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/AddMetadataRepositoryOperation.java index 5e1f34008..3d41e5e38 100644 --- a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/AddMetadataRepositoryOperation.java +++ b/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/AddMetadataRepositoryOperation.java @@ -10,19 +10,19 @@ *******************************************************************************/ package org.eclipse.equinox.internal.p2.ui.admin; -import org.eclipse.equinox.internal.provisional.p2.ui.operations.ProvisioningUtil; -import org.eclipse.equinox.internal.provisional.p2.ui.operations.RepositoryOperation; - import java.net.URI; import org.eclipse.core.runtime.*; import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException; +import org.eclipse.equinox.internal.provisional.p2.core.repository.IRepository; +import org.eclipse.equinox.internal.provisional.p2.ui.operations.AddRepositoryOperation; +import org.eclipse.equinox.internal.provisional.p2.ui.operations.ProvisioningUtil; /** * Operation that adds a metadata repository given its URL. * * @since 3.4 */ -public class AddMetadataRepositoryOperation extends RepositoryOperation { +public class AddMetadataRepositoryOperation extends AddRepositoryOperation { public AddMetadataRepositoryOperation(String label, URI location) { super(label, new URI[] {location}); @@ -36,4 +36,10 @@ public class AddMetadataRepositoryOperation extends RepositoryOperation { } return okStatus(); } + + protected void setNickname(URI location, String nickname) throws ProvisionException { + for (int i = 0; i < locations.length; i++) { + ProvisioningUtil.setMetadataRepositoryProperty(location, IRepository.PROP_NICKNAME, nickname); + } + } } diff --git a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/dialogs/RepositoryImplementationPropertyPage.java b/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/dialogs/RepositoryImplementationPropertyPage.java index 1fc376ef7..f8f1cafb0 100644 --- a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/dialogs/RepositoryImplementationPropertyPage.java +++ b/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/dialogs/RepositoryImplementationPropertyPage.java @@ -12,6 +12,7 @@ package org.eclipse.equinox.internal.p2.ui.admin.dialogs; import java.util.Map; import org.eclipse.equinox.internal.p2.ui.admin.ProvAdminUIMessages; +import org.eclipse.equinox.internal.provisional.p2.core.repository.IRepository; import org.eclipse.equinox.internal.provisional.p2.ui.ProvUI; import org.eclipse.equinox.internal.provisional.p2.ui.model.IRepositoryElement; import org.eclipse.swt.SWT; @@ -29,7 +30,8 @@ public class RepositoryImplementationPropertyPage extends PropertyPage { private IRepositoryElement repositoryElement; private Composite composite; private Text name; - private Text url; + private Text location; + private Text nickname; private Text description; private Table propertiesTable; @@ -52,14 +54,19 @@ public class RepositoryImplementationPropertyPage extends PropertyPage { Label urlLabel = new Label(composite, SWT.NONE); urlLabel.setText(ProvAdminUIMessages.RepositoryImplementationPropertyPage_LocationLabel); - url = new Text(composite, SWT.WRAP | SWT.READ_ONLY); - url.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + location = new Text(composite, SWT.WRAP | SWT.READ_ONLY); + location.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); Label nameLabel = new Label(composite, SWT.NONE); nameLabel.setText(ProvAdminUIMessages.RepositoryImplementationPropertyPage_NameLabel); name = new Text(composite, SWT.WRAP | SWT.READ_ONLY); name.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + Label nicknameLabel = new Label(composite, SWT.NONE); + nicknameLabel.setText(ProvAdminUIMessages.RepositoryImplementationPropertyPage_NicknameLabel); + nickname = new Text(composite, SWT.WRAP | SWT.READ_ONLY); + nickname.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + Label descriptionLabel = new Label(composite, SWT.NONE); descriptionLabel.setText(ProvAdminUIMessages.RepositoryImplementationPropertyPage_DescriptionLabel); data = new GridData(); @@ -87,6 +94,7 @@ public class RepositoryImplementationPropertyPage extends PropertyPage { TableColumn valueColumn = new TableColumn(propertiesTable, SWT.NONE); valueColumn.setText(ProvAdminUIMessages.RepositoryImplementationPropertyPage_ValueColumnLabel); + initializeFields(); initializeTable(); nameColumn.pack(); @@ -96,6 +104,26 @@ public class RepositoryImplementationPropertyPage extends PropertyPage { } + private void initializeFields() { + IRepositoryElement element = getRepositoryElement(); + if (element != null) { + IRepository repo = getRepositoryElement().getRepository(null); + location.setText(repo.getLocation().toString()); + String value = repo.getName(); + if (value != null) + name.setText(value); + value = repo.getDescription(); + if (value != null) + description.setText(value); + String nick = element.getName(); + // Kind of a hack, to avoid figuring out which manager to go to get the + // nickname. Instead we are just assuming that any name stored in the element that + // is not location or provider name is the nickname. + if (!nick.equals(value) && !nick.equals(repo.getLocation().toString())) + nickname.setText(nick); + } + } + private void initializeTable() { if (getRepositoryElement() != null) { Map repoProperties = getRepositoryElement().getRepository(null).getProperties(); |