Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Ferrazzutti2014-04-25 14:05:37 +0000
committerAlexander Kurtakov2014-04-26 05:35:49 +0000
commit9f5e0ed5dfda7ac2bf14f4b59228135bdbcb6a10 (patch)
tree6460ae9326e2948a1c746798febd00f82321f638 /rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal
parentfe48cecc1b6ba671cf0a70014e760413dae4cce9 (diff)
downloadorg.eclipse.linuxtools-9f5e0ed5dfda7ac2bf14f4b59228135bdbcb6a10.tar.gz
org.eclipse.linuxtools-9f5e0ed5dfda7ac2bf14f4b59228135bdbcb6a10.tar.xz
org.eclipse.linuxtools-9f5e0ed5dfda7ac2bf14f4b59228135bdbcb6a10.zip
Change tabs to spaces; elim trailing whitespace.
To comply with Sonar style requirements, replace all tab characters with four whitespace characters/spaces, and remove all trailing whitespace. Perform this change to all Java and XML files. Also replace tabs with "\t" in test strings that require tabs, and edit STPIndenterTest so that it doesn't rely on indented comments. Change-Id: I48c3c5449a58fe5310967d998a05df1a28fbcbb0 Signed-off-by: Andrew Ferrazzutti <aferrazz@redhat.com> Reviewed-on: https://git.eclipse.org/r/25561 Reviewed-by: Alexander Kurtakov <akurtako@redhat.com> Tested-by: Alexander Kurtakov <akurtako@redhat.com>
Diffstat (limited to 'rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal')
-rw-r--r--rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/Activator.java148
-rw-r--r--rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/Createrepo.java6
-rw-r--r--rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/CreaterepoCommandCreator.java356
-rw-r--r--rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/CreaterepoProject.java416
-rw-r--r--rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/CreaterepoProjectCreator.java58
-rw-r--r--rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/CreaterepoProjectNature.java70
-rw-r--r--rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/ICreaterepoConstants.java2
-rw-r--r--rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/IRepoFileConstants.java32
-rw-r--r--rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/Messages.java400
-rw-r--r--rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/dnd/ImportRPMDropListener.java120
-rw-r--r--rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/form/ImportRPMsPage.java742
-rw-r--r--rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/form/MetadataPage.java708
-rw-r--r--rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/form/RepoFormEditor.java204
-rw-r--r--rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/handler/CreaterepoCommandHandler.java80
-rw-r--r--rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/listener/CreaterepoResourceChangeListener.java106
-rw-r--r--rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/preference/CreaterepoDeltaPropertyPage.java290
-rw-r--r--rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/preference/CreaterepoGeneralPropertyPage.java712
-rw-r--r--rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/preference/CreaterepoPathEditor.java76
-rw-r--r--rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/preference/CreaterepoPreferenceInitializer.java78
-rw-r--r--rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/preference/CreaterepoPreferencePage.java348
-rw-r--r--rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/preference/CreaterepoPropertyPage.java146
-rw-r--r--rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/tree/CreaterepoCategoryModel.java146
-rw-r--r--rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/tree/CreaterepoTreeCategory.java98
-rw-r--r--rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/tree/CreaterepoTreeContentProvider.java116
-rw-r--r--rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/tree/CreaterepoTreeLabelProvider.java50
-rw-r--r--rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/wizard/CreaterepoNewWizardPageOne.java30
-rw-r--r--rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/wizard/CreaterepoNewWizardPageTwo.java336
-rw-r--r--rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/wizard/CreaterepoWizard.java234
28 files changed, 3054 insertions, 3054 deletions
diff --git a/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/Activator.java b/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/Activator.java
index b0cd8a5691..b8278d1b23 100644
--- a/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/Activator.java
+++ b/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/Activator.java
@@ -21,88 +21,88 @@ import org.osgi.framework.BundleContext;
*/
public class Activator extends AbstractUIPlugin {
- // The plug-in ID
- public static final String PLUGIN_ID = "org.eclipse.linuxtools.rpm.createrepo"; //$NON-NLS-1$
+ // The plug-in ID
+ public static final String PLUGIN_ID = "org.eclipse.linuxtools.rpm.createrepo"; //$NON-NLS-1$
- // The shared instance
- private static Activator plugin;
+ // The shared instance
+ private static Activator plugin;
- /**
- * The constructor
- */
- public Activator() {
- }
+ /**
+ * The constructor
+ */
+ public Activator() {
+ }
- /*
- * (non-Javadoc)
- * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
- */
- @Override
- public void start(BundleContext context) throws Exception {
- super.start(context);
- plugin = this;
- }
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+ */
+ @Override
+ public void start(BundleContext context) throws Exception {
+ super.start(context);
+ plugin = this;
+ }
- /*
- * (non-Javadoc)
- * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
- */
- @Override
- public void stop(BundleContext context) throws Exception {
- plugin = null;
- super.stop(context);
- }
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
+ */
+ @Override
+ public void stop(BundleContext context) throws Exception {
+ plugin = null;
+ super.stop(context);
+ }
- /**
- * Returns the shared instance
- *
- * @return the shared instance
- */
- public static Activator getDefault() {
- return plugin;
- }
+ /**
+ * Returns the shared instance
+ *
+ * @return the shared instance
+ */
+ public static Activator getDefault() {
+ return plugin;
+ }
- /**
- * Returns an image descriptor for the image file at the given
- * plug-in relative path
- *
- * @param path the path
- * @return the image descriptor
- */
- public static ImageDescriptor getImageDescriptor(String path) {
- return imageDescriptorFromPlugin(PLUGIN_ID, path);
- }
+ /**
+ * Returns an image descriptor for the image file at the given
+ * plug-in relative path
+ *
+ * @param path the path
+ * @return the image descriptor
+ */
+ public static ImageDescriptor getImageDescriptor(String path) {
+ return imageDescriptorFromPlugin(PLUGIN_ID, path);
+ }
- /**
- * Get the enabled status of using the project specific settings of
- * createrepo.
- *
- * @return True if it is being used, false otherwise.
- */
- public static boolean isProjectPrefEnabled() {
- return getDefault().getPreferenceStore().getBoolean(CreaterepoPreferenceConstants.PREF_GENERAL_ENABLED);
- }
+ /**
+ * Get the enabled status of using the project specific settings of
+ * createrepo.
+ *
+ * @return True if it is being used, false otherwise.
+ */
+ public static boolean isProjectPrefEnabled() {
+ return getDefault().getPreferenceStore().getBoolean(CreaterepoPreferenceConstants.PREF_GENERAL_ENABLED);
+ }
- /**
- * Get the enabled status of using the delta preferences of
- * createrepo.
- *
- * @return True if it is being used, false otherwise.
- */
- public static boolean isDeltaPrefEnabled() {
- return getDefault().getPreferenceStore().getBoolean(CreaterepoPreferenceConstants.PREF_DELTA_ENABLE);
- }
+ /**
+ * Get the enabled status of using the delta preferences of
+ * createrepo.
+ *
+ * @return True if it is being used, false otherwise.
+ */
+ public static boolean isDeltaPrefEnabled() {
+ return getDefault().getPreferenceStore().getBoolean(CreaterepoPreferenceConstants.PREF_DELTA_ENABLE);
+ }
- /**
- * Log an error.
- *
- * @param message A human-readable message.
- * @param exception The exception to log.
- */
- public static void logError(String message, Throwable exception) {
- IStatus status = new Status(IStatus.ERROR, PLUGIN_ID, message,
- exception);
- getDefault().getLog().log(status);
- }
+ /**
+ * Log an error.
+ *
+ * @param message A human-readable message.
+ * @param exception The exception to log.
+ */
+ public static void logError(String message, Throwable exception) {
+ IStatus status = new Status(IStatus.ERROR, PLUGIN_ID, message,
+ exception);
+ getDefault().getLog().log(status);
+ }
}
diff --git a/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/Createrepo.java b/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/Createrepo.java
index da4d699e6b..8a46a36cf5 100644
--- a/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/Createrepo.java
+++ b/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/Createrepo.java
@@ -129,7 +129,7 @@ public class Createrepo {
* can continue on executing.
*
* 0.9.8 = latest development release
- * requires: yum version >= 3.2.23
+ * requires: yum version >= 3.2.23
*
* @return True if version is supported, false otherwise.
* @throws CoreException Occurs when failure to get version number.
@@ -160,8 +160,8 @@ public class Createrepo {
String yumOutput = Utils.runCommandToString("yum", "--version").trim(); //$NON-NLS-1$ //$NON-NLS-2$
// yum --version output is like:
// x.x.x
- // blah...
- // blah...
+ // blah...
+ // blah...
String[] yumTemp = yumOutput.split("\n"); //$NON-NLS-1$
if (yumTemp.length > 0) {
yumVersion = yumTemp[0];
diff --git a/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/CreaterepoCommandCreator.java b/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/CreaterepoCommandCreator.java
index 0a8808c75e..c130745136 100644
--- a/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/CreaterepoCommandCreator.java
+++ b/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/CreaterepoCommandCreator.java
@@ -21,183 +21,183 @@ import org.eclipse.jface.preference.IPreferenceStore;
*/
public class CreaterepoCommandCreator {
- // commands that are either used or not used
- private static final String[] BOOLEAN_COMMANDS = {
- // general
- CreaterepoPreferenceConstants.PREF_UNIQUE_MD_NAME,
- CreaterepoPreferenceConstants.PREF_GENERATE_DB,
- CreaterepoPreferenceConstants.PREF_IGNORE_SYMLINKS,
- CreaterepoPreferenceConstants.PREF_PRETTY_XML,
- CreaterepoPreferenceConstants.PREF_CHECK_TS,
- };
-
- // commands that determine used state by arguments passed with it
- private static final String[] STRING_COMMANDS = {
- // general
- CreaterepoPreferenceConstants.PREF_CHECKSUM,
- CreaterepoPreferenceConstants.PREF_COMPRESSION_TYPE,
- };
-
- private static final String[] STRING_META_COMMANDS = {
- // metadata
- CreaterepoPreferenceConstants.PREF_REVISION,
- CreaterepoPreferenceConstants.PREF_DISTRO_TAG,
- CreaterepoPreferenceConstants.PREF_CONTENT_TAG,
- CreaterepoPreferenceConstants.PREF_REPO_TAG,
- };
-
- private static final String[] STRING_DELTA_COMMANDS = {
- // deltas
- CreaterepoPreferenceConstants.PREF_OLD_PACKAGE_DIRS,
- };
-
- // commands that determine used state by int passed with it
- private static final String[] INT_COMMANDS = {
- // general
- CreaterepoPreferenceConstants.PREF_WORKERS,
- CreaterepoPreferenceConstants.PREF_CHANGELOG_LIMIT,
- };
-
- private static final String[] INT_DELTA_COMMANDS = {
- // deltas
- CreaterepoPreferenceConstants.PREF_MAX_DELTA_SIZE,
- CreaterepoPreferenceConstants.PREF_NUM_DELTAS,
- };
-
- private IEclipsePreferences projectPreferences;
- private IPreferenceStore preferenceStore;
- private boolean project;
- private boolean delta;
-
- public CreaterepoCommandCreator(IEclipsePreferences projectPreferences) {
- project = Activator.isProjectPrefEnabled();
- delta = Activator.isDeltaPrefEnabled();
- this.projectPreferences = projectPreferences;
- preferenceStore = Activator.getDefault().getPreferenceStore();
- }
-
- /**
- * Get all the command arguments.
- *
- * @return A list of all the command arguments.
- */
- public List<String> getCommands() {
- List<String> commands = new ArrayList<>();
- commands.addAll(prepareBooleanCommands());
- commands.addAll(prepareStringCommands());
- commands.addAll(prepareIntCommands());
- return commands;
- }
-
- /**
- * These commands are either added to the execution or not, depending
- * on the enabled status from the preferences.
- *
- * @return The command options to add.
- */
- public List<String> prepareBooleanCommands() {
- List<String> commands = new ArrayList<>();
- if (delta) {
- commands.add(ICreaterepoConstants.DASH.concat(CreaterepoPreferenceConstants.PREF_DELTA_ENABLE));
- }
- for (String arg : BOOLEAN_COMMANDS) {
- // if project preferences are enabled, use the preferences from there
- boolean value = project ? projectPreferences.getBoolean(arg, preferenceStore.getDefaultBoolean(arg))
- : preferenceStore.getBoolean(arg);
- // if the value returned is true, that means the switch should be added
- if (value) {
- if (arg.equals(CreaterepoPreferenceConstants.PREF_UNIQUE_MD_NAME)) {
- arg = ICreaterepoConstants.DASH.concat("unique-").concat(arg); //$NON-NLS-1$
- } else {
- arg = ICreaterepoConstants.DASH.concat(arg);
- }
- commands.add(arg);
- } else {
- // only add the switch if its one of these options
- if (arg.equals(CreaterepoPreferenceConstants.PREF_UNIQUE_MD_NAME)) {
- arg = ICreaterepoConstants.DASH.concat("simple-").concat(arg); //$NON-NLS-1$
- commands.add(arg);
- } else if (arg.equals(CreaterepoPreferenceConstants.PREF_GENERATE_DB)) {
- arg = ICreaterepoConstants.DASH.concat("no-").concat(arg); //$NON-NLS-1$
- commands.add(arg);
- }
- }
- }
- return commands;
- }
-
- /**
- * Prepare the commands that require a string passed with them
- * when executing.
- *
- * @return The command options to add.
- */
- public List<String> prepareStringCommands() {
- List<String> commands = new ArrayList<>();
- for (String arg : STRING_COMMANDS) {
- String value = project ? projectPreferences.get(arg, preferenceStore.getDefaultString(arg))
- : preferenceStore.getString(arg);
- arg = ICreaterepoConstants.DASH.concat(arg);
- if (!value.isEmpty()) {
- commands.add(arg);
- commands.add(value);
- }
- }
- for (String arg : STRING_META_COMMANDS) {
- String value = projectPreferences.get(arg, preferenceStore.getDefaultString(arg));
- arg = ICreaterepoConstants.DASH.concat(arg);
- for (String tag : value.split(ICreaterepoConstants.DELIMITER)) {
- if (!tag.isEmpty()) {
- commands.add(arg);
- commands.add(tag);
- }
- }
- }
- if (delta) {
- for (String arg : STRING_DELTA_COMMANDS) {
- String value = projectPreferences.get(arg, preferenceStore.getDefaultString(arg));
- arg = ICreaterepoConstants.DASH.concat(arg);
- for (String dirs : value.split(ICreaterepoConstants.DELIMITER)) {
- if (!dirs.isEmpty()) {
- commands.add(arg);
- commands.add(dirs);
- }
- }
- }
- }
- return commands;
- }
-
- /**
- * Prepare the commands that require an integer passed with them
- * when executing. Differs from prepareStringCommands() by how it
- * retrieves the values from the preferences.
- *
- * @return The command options to add.
- */
- public List<String> prepareIntCommands() {
- List<String> commands = new ArrayList<>();
- if (delta) {
- for (String arg : INT_DELTA_COMMANDS) {
- long value = projectPreferences.getInt(arg, preferenceStore.getDefaultInt(arg));
- if (arg.equals(CreaterepoPreferenceConstants.PREF_MAX_DELTA_SIZE)) {
- // 1048576 = bytes in a megabyte
- value *= 1048576;
- }
- arg = ICreaterepoConstants.DASH.concat(arg);
- commands.add(arg);
- commands.add(Long.toString(value));
- }
- }
- for (String arg : INT_COMMANDS) {
- // if project preferences are enabled, use the preferences from there
- int value = project ? projectPreferences.getInt(arg, preferenceStore.getDefaultInt(arg))
- : preferenceStore.getInt(arg);
- arg = ICreaterepoConstants.DASH.concat(arg);
- commands.add(arg);
- commands.add(Integer.toString(value));
- }
- return commands;
- }
+ // commands that are either used or not used
+ private static final String[] BOOLEAN_COMMANDS = {
+ // general
+ CreaterepoPreferenceConstants.PREF_UNIQUE_MD_NAME,
+ CreaterepoPreferenceConstants.PREF_GENERATE_DB,
+ CreaterepoPreferenceConstants.PREF_IGNORE_SYMLINKS,
+ CreaterepoPreferenceConstants.PREF_PRETTY_XML,
+ CreaterepoPreferenceConstants.PREF_CHECK_TS,
+ };
+
+ // commands that determine used state by arguments passed with it
+ private static final String[] STRING_COMMANDS = {
+ // general
+ CreaterepoPreferenceConstants.PREF_CHECKSUM,
+ CreaterepoPreferenceConstants.PREF_COMPRESSION_TYPE,
+ };
+
+ private static final String[] STRING_META_COMMANDS = {
+ // metadata
+ CreaterepoPreferenceConstants.PREF_REVISION,
+ CreaterepoPreferenceConstants.PREF_DISTRO_TAG,
+ CreaterepoPreferenceConstants.PREF_CONTENT_TAG,
+ CreaterepoPreferenceConstants.PREF_REPO_TAG,
+ };
+
+ private static final String[] STRING_DELTA_COMMANDS = {
+ // deltas
+ CreaterepoPreferenceConstants.PREF_OLD_PACKAGE_DIRS,
+ };
+
+ // commands that determine used state by int passed with it
+ private static final String[] INT_COMMANDS = {
+ // general
+ CreaterepoPreferenceConstants.PREF_WORKERS,
+ CreaterepoPreferenceConstants.PREF_CHANGELOG_LIMIT,
+ };
+
+ private static final String[] INT_DELTA_COMMANDS = {
+ // deltas
+ CreaterepoPreferenceConstants.PREF_MAX_DELTA_SIZE,
+ CreaterepoPreferenceConstants.PREF_NUM_DELTAS,
+ };
+
+ private IEclipsePreferences projectPreferences;
+ private IPreferenceStore preferenceStore;
+ private boolean project;
+ private boolean delta;
+
+ public CreaterepoCommandCreator(IEclipsePreferences projectPreferences) {
+ project = Activator.isProjectPrefEnabled();
+ delta = Activator.isDeltaPrefEnabled();
+ this.projectPreferences = projectPreferences;
+ preferenceStore = Activator.getDefault().getPreferenceStore();
+ }
+
+ /**
+ * Get all the command arguments.
+ *
+ * @return A list of all the command arguments.
+ */
+ public List<String> getCommands() {
+ List<String> commands = new ArrayList<>();
+ commands.addAll(prepareBooleanCommands());
+ commands.addAll(prepareStringCommands());
+ commands.addAll(prepareIntCommands());
+ return commands;
+ }
+
+ /**
+ * These commands are either added to the execution or not, depending
+ * on the enabled status from the preferences.
+ *
+ * @return The command options to add.
+ */
+ public List<String> prepareBooleanCommands() {
+ List<String> commands = new ArrayList<>();
+ if (delta) {
+ commands.add(ICreaterepoConstants.DASH.concat(CreaterepoPreferenceConstants.PREF_DELTA_ENABLE));
+ }
+ for (String arg : BOOLEAN_COMMANDS) {
+ // if project preferences are enabled, use the preferences from there
+ boolean value = project ? projectPreferences.getBoolean(arg, preferenceStore.getDefaultBoolean(arg))
+ : preferenceStore.getBoolean(arg);
+ // if the value returned is true, that means the switch should be added
+ if (value) {
+ if (arg.equals(CreaterepoPreferenceConstants.PREF_UNIQUE_MD_NAME)) {
+ arg = ICreaterepoConstants.DASH.concat("unique-").concat(arg); //$NON-NLS-1$
+ } else {
+ arg = ICreaterepoConstants.DASH.concat(arg);
+ }
+ commands.add(arg);
+ } else {
+ // only add the switch if its one of these options
+ if (arg.equals(CreaterepoPreferenceConstants.PREF_UNIQUE_MD_NAME)) {
+ arg = ICreaterepoConstants.DASH.concat("simple-").concat(arg); //$NON-NLS-1$
+ commands.add(arg);
+ } else if (arg.equals(CreaterepoPreferenceConstants.PREF_GENERATE_DB)) {
+ arg = ICreaterepoConstants.DASH.concat("no-").concat(arg); //$NON-NLS-1$
+ commands.add(arg);
+ }
+ }
+ }
+ return commands;
+ }
+
+ /**
+ * Prepare the commands that require a string passed with them
+ * when executing.
+ *
+ * @return The command options to add.
+ */
+ public List<String> prepareStringCommands() {
+ List<String> commands = new ArrayList<>();
+ for (String arg : STRING_COMMANDS) {
+ String value = project ? projectPreferences.get(arg, preferenceStore.getDefaultString(arg))
+ : preferenceStore.getString(arg);
+ arg = ICreaterepoConstants.DASH.concat(arg);
+ if (!value.isEmpty()) {
+ commands.add(arg);
+ commands.add(value);
+ }
+ }
+ for (String arg : STRING_META_COMMANDS) {
+ String value = projectPreferences.get(arg, preferenceStore.getDefaultString(arg));
+ arg = ICreaterepoConstants.DASH.concat(arg);
+ for (String tag : value.split(ICreaterepoConstants.DELIMITER)) {
+ if (!tag.isEmpty()) {
+ commands.add(arg);
+ commands.add(tag);
+ }
+ }
+ }
+ if (delta) {
+ for (String arg : STRING_DELTA_COMMANDS) {
+ String value = projectPreferences.get(arg, preferenceStore.getDefaultString(arg));
+ arg = ICreaterepoConstants.DASH.concat(arg);
+ for (String dirs : value.split(ICreaterepoConstants.DELIMITER)) {
+ if (!dirs.isEmpty()) {
+ commands.add(arg);
+ commands.add(dirs);
+ }
+ }
+ }
+ }
+ return commands;
+ }
+
+ /**
+ * Prepare the commands that require an integer passed with them
+ * when executing. Differs from prepareStringCommands() by how it
+ * retrieves the values from the preferences.
+ *
+ * @return The command options to add.
+ */
+ public List<String> prepareIntCommands() {
+ List<String> commands = new ArrayList<>();
+ if (delta) {
+ for (String arg : INT_DELTA_COMMANDS) {
+ long value = projectPreferences.getInt(arg, preferenceStore.getDefaultInt(arg));
+ if (arg.equals(CreaterepoPreferenceConstants.PREF_MAX_DELTA_SIZE)) {
+ // 1048576 = bytes in a megabyte
+ value *= 1048576;
+ }
+ arg = ICreaterepoConstants.DASH.concat(arg);
+ commands.add(arg);
+ commands.add(Long.toString(value));
+ }
+ }
+ for (String arg : INT_COMMANDS) {
+ // if project preferences are enabled, use the preferences from there
+ int value = project ? projectPreferences.getInt(arg, preferenceStore.getDefaultInt(arg))
+ : preferenceStore.getInt(arg);
+ arg = ICreaterepoConstants.DASH.concat(arg);
+ commands.add(arg);
+ commands.add(Integer.toString(value));
+ }
+ return commands;
+ }
}
diff --git a/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/CreaterepoProject.java b/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/CreaterepoProject.java
index 9c4f9922c0..3793c34fbc 100644
--- a/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/CreaterepoProject.java
+++ b/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/CreaterepoProject.java
@@ -37,213 +37,213 @@ import org.osgi.framework.FrameworkUtil;
*/
public class CreaterepoProject {
- private IEclipsePreferences projectPreferences;
-
- private IProject project;
- private IFolder content;
- private IFile repoFile;
-
- private IProgressMonitor monitor;
-
- /**
- * Constructor without repo file.
- *
- * @param project The project.
- * @throws CoreException Thrown when unable to initialize project.
- */
- public CreaterepoProject(IProject project) throws CoreException {
- this(project, null);
- }
-
- /**
- * Default constructor.
- *
- * @param project The project.
- * @throws CoreException Thrown when unable to initialize project.
- */
- public CreaterepoProject(IProject project, IFile repoFile) throws CoreException {
- this.project = project;
- this.repoFile = repoFile;
- monitor = new NullProgressMonitor();
- projectPreferences = new ProjectScope(project.getProject()).getNode(Activator.PLUGIN_ID);
- intitialize();
- // if something is deleted from the project while outside of eclipse,
- // the tree/preferences will be updated accordingly after refreshing
- getProject().refreshLocal(IResource.DEPTH_ONE, monitor);
- }
-
- /**
- * Initialize the createrepo project by creating the content folder if it doesn't
- * yet exist.
- *
- * @throws CoreException Thrown when unable to create the folders.
- */
- private void intitialize() throws CoreException {
- content = getProject().getFolder(ICreaterepoConstants.CONTENT_FOLDER);
- if (repoFile == null) {
- for (IResource child : getProject().members()) {
- String extension = child.getFileExtension();
- if (extension != null && extension.equals(ICreaterepoConstants.REPO_FILE_EXTENSION)) {
- // assumes that there will only be 1 .repo file in the folder
- repoFile = (IFile) child;
- }
- // if no repo file then keep it null
- }
- }
- }
-
- /**
- * Create the content folder if it doesn't exist.
- *
- * @throws CoreException
- */
- private void createContentFolder() throws CoreException {
- content = getProject().getFolder(ICreaterepoConstants.CONTENT_FOLDER);
- if (!content.exists()) {
- content.create(true, true, monitor);
- }
- }
-
- /**
- * Import an RPM file outside of the eclipse workspace.
- *
- * @param externalFile The external file to import.
- * @throws CoreException Thrown when failure to create a workspace file.
- */
- public void importRPM(File externalFile) throws CoreException {
- // must first check if external file exists
- if (!externalFile.exists()) {
- return;
- }
- // must put imported RPMs into the content folder; create if missing
- if (!getContentFolder().exists()) {
- createContentFolder();
- }
- IFile file = getContentFolder().getFile(new Path(externalFile.getName()));
- // do not import non-RPMs
- if (!file.getFileExtension().equals(ICreaterepoConstants.RPM_FILE_EXTENSION)) {
- return;
- }
- if (!file.exists()) {
- try {
- file.create(new FileInputStream(externalFile), false, monitor);
- } catch (FileNotFoundException e) {
- IStatus status = new Status(
- IStatus.ERROR,
- FrameworkUtil.getBundle(CreaterepoProject.class).getSymbolicName(),
- Messages.CreaterepoProject_errorGettingFile, null);
- throw new CoreException(status);
- }
- getProject().refreshLocal(IResource.DEPTH_INFINITE, monitor);
- }
- }
-
- /**
- * Execute the createrepo command.
- *
- * @param os Direct execution stream to this.
- * @return The status of the execution.
- * @throws CoreException Thrown when failure to execute command.
- */
- public IStatus createrepo(OutputStream os) throws CoreException {
- if (!getContentFolder().exists()) {
- createContentFolder();
- }
- Createrepo createrepo = new Createrepo();
- IStatus result = createrepo.execute(os, this, getCommandArguments());
- getProject().refreshLocal(IResource.DEPTH_INFINITE, monitor);
- return result;
- }
-
- /**
- * Execute the createrepo command with a call to update.
- *
- * @param os Direct execution stream to this.
- * @return The status of the execution.
- * @throws CoreException Thrown when failure to execute command.
- */
- public IStatus update(OutputStream os) throws CoreException {
- if (!getContentFolder().exists()) {
- createContentFolder();
- }
- Createrepo createrepo = new Createrepo();
- List<String> commands = getCommandArguments();
- commands.add(ICreaterepoConstants.DASH.concat(CreaterepoPreferenceConstants.PREF_UPDATE));
- IStatus result = createrepo.execute(os, this, commands);
- getProject().refreshLocal(IResource.DEPTH_INFINITE, monitor);
- return result;
- }
-
- /**
- * Get the project.
- *
- * @return The project.
- */
- public IProject getProject() {
- return project;
- }
-
- /**
- * Get the content folder.
- *
- * @return The content folder.
- */
- public IFolder getContentFolder() {
- return content;
- }
-
- /**
- * Get the .repo file.
- *
- * @return The .repo file.
- */
- public IFile getRepoFile() {
- return repoFile;
- }
-
- /**
- * Get the RPMs in the project.
- *
- * @return A list of RPMs located within the project.
- * @throws CoreException Thrown when unable to look into the project.
- */
- public List<IResource> getRPMs() throws CoreException {
- List<IResource> rpms = new ArrayList<>();
- if (!getContentFolder().exists()) {
- return rpms;
- }
- if (getProject().members().length > 0) {
- for (IResource child : getContentFolder().members()) {
- String extension = child.getFileExtension();
- if (extension != null && extension.equals(ICreaterepoConstants.RPM_FILE_EXTENSION)) {
- rpms.add(child);
- }
- }
- }
- return rpms;
- }
-
- /**
- * Get the eclipse preferences of this project.
- *
- * @return The eclipse preferences for the project.
- */
- public IEclipsePreferences getEclipsePreferences() {
- return projectPreferences;
- }
-
- /**
- * Get the command arguments to pass to the createrepo command. The
- * arguments come from the stored preferences from the preference page
- * and the project preferences.
- *
- * @return The command arguments.
- */
- private List<String> getCommandArguments() {
- List<String> commands = new ArrayList<>();
- CreaterepoCommandCreator creator = new CreaterepoCommandCreator(projectPreferences);
- commands.addAll(creator.getCommands());
- return commands;
- }
+ private IEclipsePreferences projectPreferences;
+
+ private IProject project;
+ private IFolder content;
+ private IFile repoFile;
+
+ private IProgressMonitor monitor;
+
+ /**
+ * Constructor without repo file.
+ *
+ * @param project The project.
+ * @throws CoreException Thrown when unable to initialize project.
+ */
+ public CreaterepoProject(IProject project) throws CoreException {
+ this(project, null);
+ }
+
+ /**
+ * Default constructor.
+ *
+ * @param project The project.
+ * @throws CoreException Thrown when unable to initialize project.
+ */
+ public CreaterepoProject(IProject project, IFile repoFile) throws CoreException {
+ this.project = project;
+ this.repoFile = repoFile;
+ monitor = new NullProgressMonitor();
+ projectPreferences = new ProjectScope(project.getProject()).getNode(Activator.PLUGIN_ID);
+ intitialize();
+ // if something is deleted from the project while outside of eclipse,
+ // the tree/preferences will be updated accordingly after refreshing
+ getProject().refreshLocal(IResource.DEPTH_ONE, monitor);
+ }
+
+ /**
+ * Initialize the createrepo project by creating the content folder if it doesn't
+ * yet exist.
+ *
+ * @throws CoreException Thrown when unable to create the folders.
+ */
+ private void intitialize() throws CoreException {
+ content = getProject().getFolder(ICreaterepoConstants.CONTENT_FOLDER);
+ if (repoFile == null) {
+ for (IResource child : getProject().members()) {
+ String extension = child.getFileExtension();
+ if (extension != null && extension.equals(ICreaterepoConstants.REPO_FILE_EXTENSION)) {
+ // assumes that there will only be 1 .repo file in the folder
+ repoFile = (IFile) child;
+ }
+ // if no repo file then keep it null
+ }
+ }
+ }
+
+ /**
+ * Create the content folder if it doesn't exist.
+ *
+ * @throws CoreException
+ */
+ private void createContentFolder() throws CoreException {
+ content = getProject().getFolder(ICreaterepoConstants.CONTENT_FOLDER);
+ if (!content.exists()) {
+ content.create(true, true, monitor);
+ }
+ }
+
+ /**
+ * Import an RPM file outside of the eclipse workspace.
+ *
+ * @param externalFile The external file to import.
+ * @throws CoreException Thrown when failure to create a workspace file.
+ */
+ public void importRPM(File externalFile) throws CoreException {
+ // must first check if external file exists
+ if (!externalFile.exists()) {
+ return;
+ }
+ // must put imported RPMs into the content folder; create if missing
+ if (!getContentFolder().exists()) {
+ createContentFolder();
+ }
+ IFile file = getContentFolder().getFile(new Path(externalFile.getName()));
+ // do not import non-RPMs
+ if (!file.getFileExtension().equals(ICreaterepoConstants.RPM_FILE_EXTENSION)) {
+ return;
+ }
+ if (!file.exists()) {
+ try {
+ file.create(new FileInputStream(externalFile), false, monitor);
+ } catch (FileNotFoundException e) {
+ IStatus status = new Status(
+ IStatus.ERROR,
+ FrameworkUtil.getBundle(CreaterepoProject.class).getSymbolicName(),
+ Messages.CreaterepoProject_errorGettingFile, null);
+ throw new CoreException(status);
+ }
+ getProject().refreshLocal(IResource.DEPTH_INFINITE, monitor);
+ }
+ }
+
+ /**
+ * Execute the createrepo command.
+ *
+ * @param os Direct execution stream to this.
+ * @return The status of the execution.
+ * @throws CoreException Thrown when failure to execute command.
+ */
+ public IStatus createrepo(OutputStream os) throws CoreException {
+ if (!getContentFolder().exists()) {
+ createContentFolder();
+ }
+ Createrepo createrepo = new Createrepo();
+ IStatus result = createrepo.execute(os, this, getCommandArguments());
+ getProject().refreshLocal(IResource.DEPTH_INFINITE, monitor);
+ return result;
+ }
+
+ /**
+ * Execute the createrepo command with a call to update.
+ *
+ * @param os Direct execution stream to this.
+ * @return The status of the execution.
+ * @throws CoreException Thrown when failure to execute command.
+ */
+ public IStatus update(OutputStream os) throws CoreException {
+ if (!getContentFolder().exists()) {
+ createContentFolder();
+ }
+ Createrepo createrepo = new Createrepo();
+ List<String> commands = getCommandArguments();
+ commands.add(ICreaterepoConstants.DASH.concat(CreaterepoPreferenceConstants.PREF_UPDATE));
+ IStatus result = createrepo.execute(os, this, commands);
+ getProject().refreshLocal(IResource.DEPTH_INFINITE, monitor);
+ return result;
+ }
+
+ /**
+ * Get the project.
+ *
+ * @return The project.
+ */
+ public IProject getProject() {
+ return project;
+ }
+
+ /**
+ * Get the content folder.
+ *
+ * @return The content folder.
+ */
+ public IFolder getContentFolder() {
+ return content;
+ }
+
+ /**
+ * Get the .repo file.
+ *
+ * @return The .repo file.
+ */
+ public IFile getRepoFile() {
+ return repoFile;
+ }
+
+ /**
+ * Get the RPMs in the project.
+ *
+ * @return A list of RPMs located within the project.
+ * @throws CoreException Thrown when unable to look into the project.
+ */
+ public List<IResource> getRPMs() throws CoreException {
+ List<IResource> rpms = new ArrayList<>();
+ if (!getContentFolder().exists()) {
+ return rpms;
+ }
+ if (getProject().members().length > 0) {
+ for (IResource child : getContentFolder().members()) {
+ String extension = child.getFileExtension();
+ if (extension != null && extension.equals(ICreaterepoConstants.RPM_FILE_EXTENSION)) {
+ rpms.add(child);
+ }
+ }
+ }
+ return rpms;
+ }
+
+ /**
+ * Get the eclipse preferences of this project.
+ *
+ * @return The eclipse preferences for the project.
+ */
+ public IEclipsePreferences getEclipsePreferences() {
+ return projectPreferences;
+ }
+
+ /**
+ * Get the command arguments to pass to the createrepo command. The
+ * arguments come from the stored preferences from the preference page
+ * and the project preferences.
+ *
+ * @return The command arguments.
+ */
+ private List<String> getCommandArguments() {
+ List<String> commands = new ArrayList<>();
+ CreaterepoCommandCreator creator = new CreaterepoCommandCreator(projectPreferences);
+ commands.addAll(creator.getCommands());
+ return commands;
+ }
}
diff --git a/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/CreaterepoProjectCreator.java b/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/CreaterepoProjectCreator.java
index 0d23cbcce7..633de37894 100644
--- a/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/CreaterepoProjectCreator.java
+++ b/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/CreaterepoProjectCreator.java
@@ -30,34 +30,34 @@ public final class CreaterepoProjectCreator {
private CreaterepoProjectCreator() {}
- /**
- * Create a createrepo project given a project name and the progress
- * monitor. The new project will contain an empty repodata folder.
- *
- * @param projectName The name of the project.
- * @param locationPath The location path of the project
- * @param monitor The progress monitor.
- * @return The newly created project.
- * @throws CoreException Thrown when creating a project fails.
- */
- public static IProject create(String projectName, IPath locationPath,
- String repoName, IProgressMonitor monitor) throws CoreException {
- IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
- IProject project = root.getProject(projectName);
- IProjectDescription description = ResourcesPlugin.getWorkspace()
- .newProjectDescription(projectName);
- if (!Platform.getLocation().equals(locationPath)) {
- description.setLocation(locationPath);
- }
- description.setNatureIds(new String[] {CreaterepoProjectNature.CREATEREPO_NATURE_ID});
- project.create(description, monitor);
- project.open(monitor);
- IFile repoFile = project.getFile(repoName);
- InputStream stream = new ByteArrayInputStream(ICreaterepoConstants.EMPTY_STRING.getBytes());
- if (!repoFile.exists()) {
- repoFile.create(stream, true, monitor);
- }
- return project;
- }
+ /**
+ * Create a createrepo project given a project name and the progress
+ * monitor. The new project will contain an empty repodata folder.
+ *
+ * @param projectName The name of the project.
+ * @param locationPath The location path of the project
+ * @param monitor The progress monitor.
+ * @return The newly created project.
+ * @throws CoreException Thrown when creating a project fails.
+ */
+ public static IProject create(String projectName, IPath locationPath,
+ String repoName, IProgressMonitor monitor) throws CoreException {
+ IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
+ IProject project = root.getProject(projectName);
+ IProjectDescription description = ResourcesPlugin.getWorkspace()
+ .newProjectDescription(projectName);
+ if (!Platform.getLocation().equals(locationPath)) {
+ description.setLocation(locationPath);
+ }
+ description.setNatureIds(new String[] {CreaterepoProjectNature.CREATEREPO_NATURE_ID});
+ project.create(description, monitor);
+ project.open(monitor);
+ IFile repoFile = project.getFile(repoName);
+ InputStream stream = new ByteArrayInputStream(ICreaterepoConstants.EMPTY_STRING.getBytes());
+ if (!repoFile.exists()) {
+ repoFile.create(stream, true, monitor);
+ }
+ return project;
+ }
}
diff --git a/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/CreaterepoProjectNature.java b/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/CreaterepoProjectNature.java
index d0700d1a93..9923602dc0 100644
--- a/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/CreaterepoProjectNature.java
+++ b/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/CreaterepoProjectNature.java
@@ -18,40 +18,40 @@ import org.eclipse.core.resources.IProjectNature;
*/
public class CreaterepoProjectNature implements IProjectNature {
- public static final String CREATEREPO_NATURE_ID = "org.eclipse.linuxtools.rpm.createrepo.createreponature"; //$NON-NLS-1$
-
- private IProject project;
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.core.resources.IProjectNature#configure()
- */
- @Override
- public void configure(){/* not implemented */}
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.core.resources.IProjectNature#deconfigure()
- */
- @Override
- public void deconfigure() {/* not implemented */}
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.core.resources.IProjectNature#getProject()
- */
- @Override
- public IProject getProject() {
- return project;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.core.resources.IProjectNature#setProject(org.eclipse.core.resources.IProject)
- */
- @Override
- public void setProject(IProject project) {
- this.project = project;
- }
+ public static final String CREATEREPO_NATURE_ID = "org.eclipse.linuxtools.rpm.createrepo.createreponature"; //$NON-NLS-1$
+
+ private IProject project;
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.core.resources.IProjectNature#configure()
+ */
+ @Override
+ public void configure(){/* not implemented */}
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.core.resources.IProjectNature#deconfigure()
+ */
+ @Override
+ public void deconfigure() {/* not implemented */}
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.core.resources.IProjectNature#getProject()
+ */
+ @Override
+ public IProject getProject() {
+ return project;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.core.resources.IProjectNature#setProject(org.eclipse.core.resources.IProject)
+ */
+ @Override
+ public void setProject(IProject project) {
+ this.project = project;
+ }
}
diff --git a/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/ICreaterepoConstants.java b/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/ICreaterepoConstants.java
index c8f0bbe28b..b48be86d38 100644
--- a/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/ICreaterepoConstants.java
+++ b/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/ICreaterepoConstants.java
@@ -34,7 +34,7 @@ public interface ICreaterepoConstants {
/**
* The file extension of RPM files.
*/
- String RPM_FILE_EXTENSION = "rpm"; //$NON-NLS-1$
+ String RPM_FILE_EXTENSION = "rpm"; //$NON-NLS-1$
/**
* An empty string.
diff --git a/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/IRepoFileConstants.java b/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/IRepoFileConstants.java
index 7568d15fd9..4df27652da 100644
--- a/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/IRepoFileConstants.java
+++ b/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/IRepoFileConstants.java
@@ -15,24 +15,24 @@ package org.eclipse.linuxtools.internal.rpm.createrepo;
*/
public interface IRepoFileConstants {
- /*
- * Mandatory options
- */
+ /*
+ * Mandatory options
+ */
- /**
- * A unique identifier for the repository.
- */
- String ID = "id"; //$NON-NLS-1$
+ /**
+ * A unique identifier for the repository.
+ */
+ String ID = "id"; //$NON-NLS-1$
- /**
- * A human-readable string describing the repository.
- */
- String NAME = "name"; //$NON-NLS-1$
+ /**
+ * A human-readable string describing the repository.
+ */
+ String NAME = "name"; //$NON-NLS-1$
- /**
- * The location of the repodata folder. It can point locally (file://),
- * remotely (http://), or via ftp (ftp://).
- */
- String BASE_URL = "baseurl"; //$NON-NLS-1$
+ /**
+ * The location of the repodata folder. It can point locally (file://),
+ * remotely (http://), or via ftp (ftp://).
+ */
+ String BASE_URL = "baseurl"; //$NON-NLS-1$
}
diff --git a/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/Messages.java b/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/Messages.java
index 4780a056e1..e461c0716a 100644
--- a/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/Messages.java
+++ b/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/Messages.java
@@ -17,205 +17,205 @@ import org.eclipse.osgi.util.NLS;
*/
public final class Messages {
- private static final String BUNDLE_NAME = "org.eclipse.linuxtools.internal.rpm.createrepo.messages"; //$NON-NLS-1$
-
- // CreaterepoWizard
- /****/
- public static String CreaterepoWizard_errorCreatingProject;
- /****/
- public static String CreaterepoWizard_openFileOnCreation;
- /****/
- public static String CreaterepoWizard_errorOpeningNewlyCreatedFile;
-
- // CreaterepoNewWizardPageOne
- /****/
- public static String CreaterepoNewWizardPageOne_wizardPageName;
- /****/
- public static String CreaterepoNewWizardPageOne_wizardPageTitle;
- /****/
- public static String CreaterepoNewWizardPageOne_wizardPageDescription;
-
- // CreaterepoNewWizardPageTwo
- /****/
- public static String CreaterepoNewWizardPageTwo_wizardPageName;
- /****/
- public static String CreaterepoNewWizardPageTwo_wizardPageTitle;
- /****/
- public static String CreaterepoNewWizardPageTwo_wizardPageDescription;
- /****/
- public static String CreaterepoNewWizardPageTwo_labelID;
- /****/
- public static String CreaterepoNewWizardPageTwo_labelName;
- /****/
- public static String CreaterepoNewWizardPageTwo_labelURL;
- /****/
- public static String CreaterepoNewWizardPageTwo_errorID;
- /****/
- public static String CreaterepoNewWizardPageTwo_errorName;
- /****/
- public static String CreaterepoNewWizardPageTwo_errorURL;
- /****/
- public static String CreaterepoNewWizardPageTwo_tooltipID;
- /****/
- public static String CreaterepoNewWizardPageTwo_tooltipName;
- /****/
- public static String CreaterepoNewWizardPageTwo_tooltipURL;
-
- // CreaterepoProject
- /****/
- public static String CreaterepoProject_executeCreaterepo;
- /****/
- public static String CreaterepoProject_errorGettingFile;
- /****/
- public static String CreaterepoProject_consoleName;
-
- // Createrepo
- /****/
- public static String Createrepo_jobName;
- /****/
- public static String Createrepo_jobCancelled;
- /****/
- public static String Createrepo_errorExecuting;
- /****/
- public static String Createrepo_errorTryingToFindCommand;
- /****/
- public static String Createrepo_errorCommandNotFound;
- /****/
- public static String Createrepo_errorWrongVersionCreaterepo;
- /****/
- public static String Createrepo_errorWrongVersionYum;
- /****/
- public static String Createrepo_errorCancelled;
- /****/
- public static String Createrepo_errorPasingVersion;
-
- // RepoFormEditor
- /****/
- public static String RepoFormEditor_errorInitializingForm;
- /****/
- public static String RepoFormEditor_errorInitializingProject;
-
- // ImportRPMsPage
- /****/
- public static String ImportRPMsPage_title;
- /****/
- public static String ImportRPMsPage_formHeaderText;
- /****/
- public static String ImportRPMsPage_sectionTitle;
- /****/
- public static String ImportRPMsPage_sectionInstruction;
- /****/
- public static String ImportRPMsPage_buttonImportRPMs;
- /****/
- public static String ImportRPMsPage_buttonRemoveRPMs;
- /****/
- public static String ImportRPMsPage_buttonCreateRepo;
- /****/
- public static String ImportRPMsPage_errorRefreshingTree;
- /****/
- public static String ImportRPMsPage_errorResourceChanged;
-
- // ImportRPMsPage$ImportButtonListener
- /****/
- public static String ImportButtonListener_error;
-
- // ImportRPMsPage$RemoveButtonListener
- /****/
- public static String RemoveButtonListener_error;
-
- // MetadataPage
- /****/
- public static String MetadataPage_title;
- /****/
- public static String MetadataPage_formHeaderText;
- /****/
- public static String MetadataPage_sectionTitleRevision;
- /****/
- public static String MetadataPage_sectionInstructionRevision;
- /****/
- public static String MetadataPage_labelRevision;
- /****/
- public static String MetadataPage_sectionTitleTags;
- /****/
- public static String MetadataPage_sectionInstructionTags;
- /****/
- public static String MetadataPage_labelTags;
- /****/
- public static String MetadataPage_buttonAddTag;
- /****/
- public static String MetadataPage_buttonEditTag;
- /****/
- public static String MetadataPage_buttonRemoveTag;
- /****/
- public static String MetadataPage_errorSavingPreferences;
-
- // CreaterepoResourceChangeListener
- /****/
- public static String CreaterepoResourceChangeListener_errorGettingResource;
-
- // CreaterepoPreferencePage
- /****/
- public static String CreaterepoPreferencePage_description;
- /****/
- public static String CreaterepoPreferencePage_generalGroupLabel;
- /****/
- public static String CreaterepoPreferencePage_booleanChecksumName;
- /****/
- public static String CreaterepoPreferencePage_booleanGenerateSQLDB;
- /****/
- public static String CreaterepoPreferencePage_booleanIgnoreSymlinks;
- /****/
- public static String CreaterepoPreferencePage_booleanPrettyXML;
- /****/
- public static String CreaterepoPreferencePage_numWorkers;
- /****/
- public static String CreaterepoPreferencePage_updateGroupLabel;
- /****/
- public static String CreaterepoPreferencePage_booleanCheckTS;
- /****/
- public static String CreaterepoPreferencePage_checkTSNote;
- /****/
- public static String CreaterepoPreferencePage_changelogGroupLabel;
- /****/
- public static String CreaterepoPreferencePage_numChangelogLimit;
- /****/
- public static String CreaterepoPreferencePage_checksumGroupLabel;
- /****/
- public static String CreaterepoPreferencePage_compressionGroupLabel;
-
- // CreaterepoGeneralPropertyPage
- /****/
- public static String CreaterepoGeneralPropertyPage_projectSettings;
- /****/
- public static String CreaterepoGeneralPropertyPage_workspaceSettings;
-
- // CreaterepoDeltaPropertyPage
- /****/
- public static String CreaterepoDeltaPropertyPage_description;
- /****/
- public static String CreaterepoDeltaPropertyPage_groupLabel;
- /****/
- public static String CreaterepoDeltaPropertyPage_groupDirectoryLabel;
- /****/
- public static String CreaterepoDeltaPropertyPage_booleanEnableLabel;
- /****/
- public static String CreaterepoDeltaPropertyPage_maxNumberOfDeltas;
- /****/
- public static String CreaterepoDeltaPropertyPage_maxDeltaSize;
- /****/
- public static String CreaterepoDeltaPropertyPage_errorInvalidText;
- /****/
- public static String CreaterepoDeltaPropertyPage_directoryDescription;
- /****/
- public static String CreaterepoDeltaPropertyPage_directoryDialogLabel;
-
- // ImportRPMDropListener
- /****/
- public static String ImportRPMDropListener_errorCopyingFileToProject;
-
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
+ private static final String BUNDLE_NAME = "org.eclipse.linuxtools.internal.rpm.createrepo.messages"; //$NON-NLS-1$
+
+ // CreaterepoWizard
+ /****/
+ public static String CreaterepoWizard_errorCreatingProject;
+ /****/
+ public static String CreaterepoWizard_openFileOnCreation;
+ /****/
+ public static String CreaterepoWizard_errorOpeningNewlyCreatedFile;
+
+ // CreaterepoNewWizardPageOne
+ /****/
+ public static String CreaterepoNewWizardPageOne_wizardPageName;
+ /****/
+ public static String CreaterepoNewWizardPageOne_wizardPageTitle;
+ /****/
+ public static String CreaterepoNewWizardPageOne_wizardPageDescription;
+
+ // CreaterepoNewWizardPageTwo
+ /****/
+ public static String CreaterepoNewWizardPageTwo_wizardPageName;
+ /****/
+ public static String CreaterepoNewWizardPageTwo_wizardPageTitle;
+ /****/
+ public static String CreaterepoNewWizardPageTwo_wizardPageDescription;
+ /****/
+ public static String CreaterepoNewWizardPageTwo_labelID;
+ /****/
+ public static String CreaterepoNewWizardPageTwo_labelName;
+ /****/
+ public static String CreaterepoNewWizardPageTwo_labelURL;
+ /****/
+ public static String CreaterepoNewWizardPageTwo_errorID;
+ /****/
+ public static String CreaterepoNewWizardPageTwo_errorName;
+ /****/
+ public static String CreaterepoNewWizardPageTwo_errorURL;
+ /****/
+ public static String CreaterepoNewWizardPageTwo_tooltipID;
+ /****/
+ public static String CreaterepoNewWizardPageTwo_tooltipName;
+ /****/
+ public static String CreaterepoNewWizardPageTwo_tooltipURL;
+
+ // CreaterepoProject
+ /****/
+ public static String CreaterepoProject_executeCreaterepo;
+ /****/
+ public static String CreaterepoProject_errorGettingFile;
+ /****/
+ public static String CreaterepoProject_consoleName;
+
+ // Createrepo
+ /****/
+ public static String Createrepo_jobName;
+ /****/
+ public static String Createrepo_jobCancelled;
+ /****/
+ public static String Createrepo_errorExecuting;
+ /****/
+ public static String Createrepo_errorTryingToFindCommand;
+ /****/
+ public static String Createrepo_errorCommandNotFound;
+ /****/
+ public static String Createrepo_errorWrongVersionCreaterepo;
+ /****/
+ public static String Createrepo_errorWrongVersionYum;
+ /****/
+ public static String Createrepo_errorCancelled;
+ /****/
+ public static String Createrepo_errorPasingVersion;
+
+ // RepoFormEditor
+ /****/
+ public static String RepoFormEditor_errorInitializingForm;
+ /****/
+ public static String RepoFormEditor_errorInitializingProject;
+
+ // ImportRPMsPage
+ /****/
+ public static String ImportRPMsPage_title;
+ /****/
+ public static String ImportRPMsPage_formHeaderText;
+ /****/
+ public static String ImportRPMsPage_sectionTitle;
+ /****/
+ public static String ImportRPMsPage_sectionInstruction;
+ /****/
+ public static String ImportRPMsPage_buttonImportRPMs;
+ /****/
+ public static String ImportRPMsPage_buttonRemoveRPMs;
+ /****/
+ public static String ImportRPMsPage_buttonCreateRepo;
+ /****/
+ public static String ImportRPMsPage_errorRefreshingTree;
+ /****/
+ public static String ImportRPMsPage_errorResourceChanged;
+
+ // ImportRPMsPage$ImportButtonListener
+ /****/
+ public static String ImportButtonListener_error;
+
+ // ImportRPMsPage$RemoveButtonListener
+ /****/
+ public static String RemoveButtonListener_error;
+
+ // MetadataPage
+ /****/
+ public static String MetadataPage_title;
+ /****/
+ public static String MetadataPage_formHeaderText;
+ /****/
+ public static String MetadataPage_sectionTitleRevision;
+ /****/
+ public static String MetadataPage_sectionInstructionRevision;
+ /****/
+ public static String MetadataPage_labelRevision;
+ /****/
+ public static String MetadataPage_sectionTitleTags;
+ /****/
+ public static String MetadataPage_sectionInstructionTags;
+ /****/
+ public static String MetadataPage_labelTags;
+ /****/
+ public static String MetadataPage_buttonAddTag;
+ /****/
+ public static String MetadataPage_buttonEditTag;
+ /****/
+ public static String MetadataPage_buttonRemoveTag;
+ /****/
+ public static String MetadataPage_errorSavingPreferences;
+
+ // CreaterepoResourceChangeListener
+ /****/
+ public static String CreaterepoResourceChangeListener_errorGettingResource;
+
+ // CreaterepoPreferencePage
+ /****/
+ public static String CreaterepoPreferencePage_description;
+ /****/
+ public static String CreaterepoPreferencePage_generalGroupLabel;
+ /****/
+ public static String CreaterepoPreferencePage_booleanChecksumName;
+ /****/
+ public static String CreaterepoPreferencePage_booleanGenerateSQLDB;
+ /****/
+ public static String CreaterepoPreferencePage_booleanIgnoreSymlinks;
+ /****/
+ public static String CreaterepoPreferencePage_booleanPrettyXML;
+ /****/
+ public static String CreaterepoPreferencePage_numWorkers;
+ /****/
+ public static String CreaterepoPreferencePage_updateGroupLabel;
+ /****/
+ public static String CreaterepoPreferencePage_booleanCheckTS;
+ /****/
+ public static String CreaterepoPreferencePage_checkTSNote;
+ /****/
+ public static String CreaterepoPreferencePage_changelogGroupLabel;
+ /****/
+ public static String CreaterepoPreferencePage_numChangelogLimit;
+ /****/
+ public static String CreaterepoPreferencePage_checksumGroupLabel;
+ /****/
+ public static String CreaterepoPreferencePage_compressionGroupLabel;
+
+ // CreaterepoGeneralPropertyPage
+ /****/
+ public static String CreaterepoGeneralPropertyPage_projectSettings;
+ /****/
+ public static String CreaterepoGeneralPropertyPage_workspaceSettings;
+
+ // CreaterepoDeltaPropertyPage
+ /****/
+ public static String CreaterepoDeltaPropertyPage_description;
+ /****/
+ public static String CreaterepoDeltaPropertyPage_groupLabel;
+ /****/
+ public static String CreaterepoDeltaPropertyPage_groupDirectoryLabel;
+ /****/
+ public static String CreaterepoDeltaPropertyPage_booleanEnableLabel;
+ /****/
+ public static String CreaterepoDeltaPropertyPage_maxNumberOfDeltas;
+ /****/
+ public static String CreaterepoDeltaPropertyPage_maxDeltaSize;
+ /****/
+ public static String CreaterepoDeltaPropertyPage_errorInvalidText;
+ /****/
+ public static String CreaterepoDeltaPropertyPage_directoryDescription;
+ /****/
+ public static String CreaterepoDeltaPropertyPage_directoryDialogLabel;
+
+ // ImportRPMDropListener
+ /****/
+ public static String ImportRPMDropListener_errorCopyingFileToProject;
+
+ static {
+ // initialize resource bundle
+ NLS.initializeMessages(BUNDLE_NAME, Messages.class);
+ }
}
diff --git a/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/dnd/ImportRPMDropListener.java b/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/dnd/ImportRPMDropListener.java
index 70f3e4a309..6947fcf68d 100644
--- a/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/dnd/ImportRPMDropListener.java
+++ b/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/dnd/ImportRPMDropListener.java
@@ -30,69 +30,69 @@ import org.eclipse.ui.console.MessageConsoleStream;
*/
public class ImportRPMDropListener extends ViewerDropAdapter {
- private CreaterepoProject project;
+ private CreaterepoProject project;
- /**
- * Default constructor.
- *
- * @param viewer The viewer to listen to.
- * @param project The createrepo project.
- */
- public ImportRPMDropListener(Viewer viewer, CreaterepoProject project) {
- super(viewer);
- this.project = project;
- }
+ /**
+ * Default constructor.
+ *
+ * @param viewer The viewer to listen to.
+ * @param project The createrepo project.
+ */
+ public ImportRPMDropListener(Viewer viewer, CreaterepoProject project) {
+ super(viewer);
+ this.project = project;
+ }
- /*
- * (non-Javadoc)
- * @see org.eclipse.jface.viewers.ViewerDropAdapter#dragEnter(org.eclipse.swt.dnd.DropTargetEvent)
- */
- @Override
- public void dragEnter(DropTargetEvent event) {
- // only support file transfer types
- if (FileTransfer.getInstance().isSupportedType(event.currentDataType)) {
- // change the detail to a drag copy if is file transfer
- event.detail = DND.DROP_COPY;
- }
- }
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.jface.viewers.ViewerDropAdapter#dragEnter(org.eclipse.swt.dnd.DropTargetEvent)
+ */
+ @Override
+ public void dragEnter(DropTargetEvent event) {
+ // only support file transfer types
+ if (FileTransfer.getInstance().isSupportedType(event.currentDataType)) {
+ // change the detail to a drag copy if is file transfer
+ event.detail = DND.DROP_COPY;
+ }
+ }
- /*
- * (non-Javadoc)
- * @see org.eclipse.jface.viewers.ViewerDropAdapter#validateDrop(java.lang.Object, int, org.eclipse.swt.dnd.TransferData)
- */
- @Override
- public boolean validateDrop(Object target, int operation,
- TransferData transferType) {
- // true if it is a file transfer and is a copy action
- if (FileTransfer.getInstance().isSupportedType(transferType) && operation == DND.DROP_COPY) {
- return true;
- }
- return false;
- }
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.jface.viewers.ViewerDropAdapter#validateDrop(java.lang.Object, int, org.eclipse.swt.dnd.TransferData)
+ */
+ @Override
+ public boolean validateDrop(Object target, int operation,
+ TransferData transferType) {
+ // true if it is a file transfer and is a copy action
+ if (FileTransfer.getInstance().isSupportedType(transferType) && operation == DND.DROP_COPY) {
+ return true;
+ }
+ return false;
+ }
- /*
- * (non-Javadoc)
- * @see org.eclipse.jface.viewers.ViewerDropAdapter#performDrop(java.lang.Object)
- */
- @Override
- public boolean performDrop(Object data) {
- // data should be an array of paths to the file being transferred
- if (data instanceof String[]) {
- String[] dragData = (String[]) data;
- for (String str : dragData) {
- IPath path = new Path(str);
- try {
- project.importRPM(path.toFile());
- } catch (CoreException e) {
- MessageConsoleStream os = CreaterepoUtils.findConsole(Messages.CreaterepoProject_consoleName)
- .newMessageStream();
- os.print(NLS.bind(Messages.ImportRPMDropListener_errorCopyingFileToProject,
- path.segment(path.segmentCount()-1)));
- }
- }
- return true;
- }
- return false;
- }
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.jface.viewers.ViewerDropAdapter#performDrop(java.lang.Object)
+ */
+ @Override
+ public boolean performDrop(Object data) {
+ // data should be an array of paths to the file being transferred
+ if (data instanceof String[]) {
+ String[] dragData = (String[]) data;
+ for (String str : dragData) {
+ IPath path = new Path(str);
+ try {
+ project.importRPM(path.toFile());
+ } catch (CoreException e) {
+ MessageConsoleStream os = CreaterepoUtils.findConsole(Messages.CreaterepoProject_consoleName)
+ .newMessageStream();
+ os.print(NLS.bind(Messages.ImportRPMDropListener_errorCopyingFileToProject,
+ path.segment(path.segmentCount()-1)));
+ }
+ }
+ return true;
+ }
+ return false;
+ }
}
diff --git a/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/form/ImportRPMsPage.java b/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/form/ImportRPMsPage.java
index c4be1d71bd..915644fb96 100644
--- a/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/form/ImportRPMsPage.java
+++ b/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/form/ImportRPMsPage.java
@@ -69,386 +69,386 @@ import org.eclipse.ui.menus.IMenuService;
*/
public class ImportRPMsPage extends FormPage implements IResourceChangeListener {
- private CreaterepoProject project;
-
- private FormToolkit toolkit;
- private ScrolledForm form;
-
- private Composite buttonList;
- private Tree tree;
-
- private static final String MENU_URI = "toolbar:formsToolbar"; //$NON-NLS-1$
- private static final String HEADER_ICON = "/icons/repository_rep.gif"; //$NON-NLS-1$
-
- /**
- * Default constructor.
- *
- * @param editor The editor.
- * @param project The project.
- */
- public ImportRPMsPage(FormEditor editor, CreaterepoProject project) {
- super(editor, Messages.ImportRPMsPage_title, Messages.ImportRPMsPage_title);
- this.project = project;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.ui.forms.editor.FormPage#init(org.eclipse.ui.IEditorSite, org.eclipse.ui.IEditorInput)
- */
- @Override
- public void init(IEditorSite site, IEditorInput input) {
- super.init(site, input);
- // add the resource change listener
- ResourcesPlugin.getWorkspace().addResourceChangeListener(this);
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.ui.forms.editor.FormPage#dispose()
- */
- @Override
- public void dispose() {
- // remove the resource change listener
- ResourcesPlugin.getWorkspace().removeResourceChangeListener(this);
- super.dispose();
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.ui.forms.editor.FormPage#createFormContent(org.eclipse.ui.forms.IManagedForm)
- */
- @Override
- protected void createFormContent(IManagedForm managedForm) {
- // setting up the form page
- super.createFormContent(managedForm);
- GridLayout layout = new GridLayout();
- GridData data = new GridData();
- toolkit = managedForm.getToolkit();
- form = managedForm.getForm();
- form.setText(Messages.ImportRPMsPage_formHeaderText);
- form.setImage(Activator.getImageDescriptor(HEADER_ICON).createImage());
- ToolBarManager toolbarManager = (ToolBarManager) form.getToolBarManager();
- toolkit.decorateFormHeading(form.getForm());
-
- // add the menuContribution from MANIFEST.MF to the form
- IMenuService menuService = (IMenuService) getSite().getService(IMenuService.class);
- menuService.populateContributionManager(toolbarManager, MENU_URI);
- toolbarManager.update(true);
-
- layout = new GridLayout(2, true);
- layout.marginWidth = 6; layout.marginHeight = 12;
- form.getBody().setLayout(layout);
-
- // Section and its client area to manage importing the RPMs
- Section rpmSection = toolkit.createSection(form.getBody(), Section.DESCRIPTION
- | ExpandableComposite.TITLE_BAR);
- layout = new GridLayout();
- rpmSection.setText(Messages.ImportRPMsPage_sectionTitle);
- rpmSection.setDescription(Messages.ImportRPMsPage_sectionInstruction);
- rpmSection.setLayoutData(expandComposite());
-
- // the client area containing the tree + buttons
- Composite sectionClient = toolkit.createComposite(rpmSection);
- layout = new GridLayout(2, false);
- layout.marginWidth = 1; layout.marginHeight = 7;
- sectionClient.setLayout(layout);
- TreeViewer viewer = new TreeViewer(sectionClient, SWT.BORDER | SWT.MULTI | SWT.HORIZONTAL
- | SWT.VERTICAL | SWT.LEFT_TO_RIGHT | SWT.SMOOTH);
- viewer.addDropSupport(DND.DROP_COPY, new Transfer[] {FileTransfer.getInstance()},
- new ImportRPMDropListener(viewer, project));
- tree = viewer.getTree();
- tree.setLayoutData(expandComposite());
-
- buttonList = toolkit.createComposite(sectionClient);
- layout = new GridLayout();
- data = new GridData(SWT.BEGINNING, SWT.FILL, false, true);
- layout.marginWidth = 0; layout.marginHeight = 0;
- buttonList.setLayout(layout);
- buttonList.setLayoutData(data);
-
- createPushButton(buttonList, Messages.ImportRPMsPage_buttonImportRPMs,
- toolkit).addSelectionListener(new ImportButtonListener());
- createPushButton(buttonList, Messages.ImportRPMsPage_buttonRemoveRPMs,
- toolkit).addSelectionListener(new RemoveButtonListener());
- createSpace();
-
- createPushButton(buttonList, Messages.ImportRPMsPage_buttonCreateRepo,
- toolkit).addSelectionListener(new CreaterepoButtonListener());
-
- refreshTree();
- rpmSection.setClient(sectionClient);
- managedForm.refresh();
- }
-
- /**
- * Make a GridData that expands to fill both horizontally
- * and vertically.
- *
- * @return The created GridData.
- */
- private static GridData expandComposite() {
- GridData data = new GridData();
- data.verticalAlignment = GridData.FILL;
- data.horizontalAlignment = GridData.FILL;
- data.grabExcessVerticalSpace = true;
- data.grabExcessHorizontalSpace = true;
- return data;
- }
-
- /**
- * Create a push style button.
- *
- * @param parent The parent the button will belong to.
- * @param buttonText The text show on the button.
- * @param toolkit The form toolkit used in creating a button.
- * @return The button created.
- */
- private static Button createPushButton(Composite parent, String buttonText, FormToolkit toolkit) {
- Button button = toolkit.createButton(parent, buttonText, SWT.PUSH | SWT.FLAT
- | SWT.CENTER | SWT.LEFT_TO_RIGHT);
- button.setFont(parent.getFont());
- GridData gd = new GridData(SWT.FILL, SWT.BEGINNING, true, false);
- button.setLayoutData(gd);
- return button;
- }
-
- /**
- * Create space between composites, such as buttons within a button list.
- *
- * @param parent The composite to attach a space to.
- */
- private void createSpace() {
- new Label(buttonList, SWT.NONE).setLayoutData(new GridData(0,0));
- }
-
- /**
- * On creating the form content the tree will be populated with
- * RPMs found in the root of the current project.
- *
- * @throws CoreException Thrown when getting rpms from project fails.
- */
- private void refreshTree() {
- tree.removeAll();
- try {
- for (IResource rpm : project.getRPMs()) {
- addItemToTree(rpm.getName());
- }
- } catch (CoreException e) {
- Activator.logError(Messages.ImportRPMsPage_errorRefreshingTree, e);
- }
- tree.setFocus();
- }
-
- /**
- * Add a new item to the tree if it does not yet exist. A null or empty
- * string will be ignored.
- *
- * @param itemName The name of the new item.
- * @return True if it does not exist and has been added, false otherwise.
- */
- private boolean addItemToTree(String itemName) {
- boolean exists = false;
- if (itemName == null || itemName.isEmpty())
- return false;
- // check to see if the tree item exists in the tree
- if (tree.getItemCount() > 0) {
- for (TreeItem item : tree.getItems()) {
- if (item.getText().equals(itemName)) {
- exists = true;
- }
- }
- }
- // if the tree item doesnt exists or the tree is empty
- if (!exists || tree.getItemCount() == 0) {
- TreeItem treeItem = new TreeItem(tree, SWT.NONE);
- treeItem.setText(itemName);
- return true;
- }
- return false;
- }
-
- /**
- * Handle the import button execution on the Import RPMs page.
- */
- public class ImportButtonListener extends SelectionAdapter {
- private final String[] EXTENSION_FILTERS = {"*." + ICreaterepoConstants.RPM_FILE_EXTENSION}; //$NON-NLS-1$
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
- */
- @Override
- public void widgetSelected(SelectionEvent e) {
- IWorkbench workbench = PlatformUI.getWorkbench();
- Shell shell = workbench.getModalDialogShellProvider().getShell();
- FileDialog fileDialog = new FileDialog(shell, SWT.MULTI);
- fileDialog.setFilterExtensions(EXTENSION_FILTERS);
- if (fileDialog.open() != null) {
- String[] files = fileDialog.getFileNames();
- if (files.length > 0) {
- String directoryPath = fileDialog.getFilterPath();
- for (String file : files) {
- File externalFile = new File(directoryPath, file);
- try {
- project.importRPM(externalFile);
- } catch (CoreException e1) {
- Activator.logError(Messages.ImportButtonListener_error, e1);
- }
- }
- refreshTree();
- }
- }
- }
- }
-
- /**
- * Handle the remove button execution on the Import RPMs page.
- */
- public class RemoveButtonListener extends SelectionAdapter {
- /*
- * (non-Javadoc)
- * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
- */
- @Override
- public void widgetSelected(SelectionEvent e) {
- TreeItem[] selection = tree.getSelection();
- try {
- List<IResource> rpms = project.getRPMs();
- if (selection.length > 0 && !rpms.isEmpty()) {
- for (IResource resource : rpms) {
- for (TreeItem treeItem : selection) {
- deleteIfEquals(resource, treeItem);
- }
- }
- }
- refreshTree();
- } catch (CoreException e1) {
- Activator.logError(Messages.RemoveButtonListener_error, e1);
- }
- }
-
- /**
+ private CreaterepoProject project;
+
+ private FormToolkit toolkit;
+ private ScrolledForm form;
+
+ private Composite buttonList;
+ private Tree tree;
+
+ private static final String MENU_URI = "toolbar:formsToolbar"; //$NON-NLS-1$
+ private static final String HEADER_ICON = "/icons/repository_rep.gif"; //$NON-NLS-1$
+
+ /**
+ * Default constructor.
+ *
+ * @param editor The editor.
+ * @param project The project.
+ */
+ public ImportRPMsPage(FormEditor editor, CreaterepoProject project) {
+ super(editor, Messages.ImportRPMsPage_title, Messages.ImportRPMsPage_title);
+ this.project = project;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.ui.forms.editor.FormPage#init(org.eclipse.ui.IEditorSite, org.eclipse.ui.IEditorInput)
+ */
+ @Override
+ public void init(IEditorSite site, IEditorInput input) {
+ super.init(site, input);
+ // add the resource change listener
+ ResourcesPlugin.getWorkspace().addResourceChangeListener(this);
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.ui.forms.editor.FormPage#dispose()
+ */
+ @Override
+ public void dispose() {
+ // remove the resource change listener
+ ResourcesPlugin.getWorkspace().removeResourceChangeListener(this);
+ super.dispose();
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.ui.forms.editor.FormPage#createFormContent(org.eclipse.ui.forms.IManagedForm)
+ */
+ @Override
+ protected void createFormContent(IManagedForm managedForm) {
+ // setting up the form page
+ super.createFormContent(managedForm);
+ GridLayout layout = new GridLayout();
+ GridData data = new GridData();
+ toolkit = managedForm.getToolkit();
+ form = managedForm.getForm();
+ form.setText(Messages.ImportRPMsPage_formHeaderText);
+ form.setImage(Activator.getImageDescriptor(HEADER_ICON).createImage());
+ ToolBarManager toolbarManager = (ToolBarManager) form.getToolBarManager();
+ toolkit.decorateFormHeading(form.getForm());
+
+ // add the menuContribution from MANIFEST.MF to the form
+ IMenuService menuService = (IMenuService) getSite().getService(IMenuService.class);
+ menuService.populateContributionManager(toolbarManager, MENU_URI);
+ toolbarManager.update(true);
+
+ layout = new GridLayout(2, true);
+ layout.marginWidth = 6; layout.marginHeight = 12;
+ form.getBody().setLayout(layout);
+
+ // Section and its client area to manage importing the RPMs
+ Section rpmSection = toolkit.createSection(form.getBody(), Section.DESCRIPTION
+ | ExpandableComposite.TITLE_BAR);
+ layout = new GridLayout();
+ rpmSection.setText(Messages.ImportRPMsPage_sectionTitle);
+ rpmSection.setDescription(Messages.ImportRPMsPage_sectionInstruction);
+ rpmSection.setLayoutData(expandComposite());
+
+ // the client area containing the tree + buttons
+ Composite sectionClient = toolkit.createComposite(rpmSection);
+ layout = new GridLayout(2, false);
+ layout.marginWidth = 1; layout.marginHeight = 7;
+ sectionClient.setLayout(layout);
+ TreeViewer viewer = new TreeViewer(sectionClient, SWT.BORDER | SWT.MULTI | SWT.HORIZONTAL
+ | SWT.VERTICAL | SWT.LEFT_TO_RIGHT | SWT.SMOOTH);
+ viewer.addDropSupport(DND.DROP_COPY, new Transfer[] {FileTransfer.getInstance()},
+ new ImportRPMDropListener(viewer, project));
+ tree = viewer.getTree();
+ tree.setLayoutData(expandComposite());
+
+ buttonList = toolkit.createComposite(sectionClient);
+ layout = new GridLayout();
+ data = new GridData(SWT.BEGINNING, SWT.FILL, false, true);
+ layout.marginWidth = 0; layout.marginHeight = 0;
+ buttonList.setLayout(layout);
+ buttonList.setLayoutData(data);
+
+ createPushButton(buttonList, Messages.ImportRPMsPage_buttonImportRPMs,
+ toolkit).addSelectionListener(new ImportButtonListener());
+ createPushButton(buttonList, Messages.ImportRPMsPage_buttonRemoveRPMs,
+ toolkit).addSelectionListener(new RemoveButtonListener());
+ createSpace();
+
+ createPushButton(buttonList, Messages.ImportRPMsPage_buttonCreateRepo,
+ toolkit).addSelectionListener(new CreaterepoButtonListener());
+
+ refreshTree();
+ rpmSection.setClient(sectionClient);
+ managedForm.refresh();
+ }
+
+ /**
+ * Make a GridData that expands to fill both horizontally
+ * and vertically.
+ *
+ * @return The created GridData.
+ */
+ private static GridData expandComposite() {
+ GridData data = new GridData();
+ data.verticalAlignment = GridData.FILL;
+ data.horizontalAlignment = GridData.FILL;
+ data.grabExcessVerticalSpace = true;
+ data.grabExcessHorizontalSpace = true;
+ return data;
+ }
+
+ /**
+ * Create a push style button.
+ *
+ * @param parent The parent the button will belong to.
+ * @param buttonText The text show on the button.
+ * @param toolkit The form toolkit used in creating a button.
+ * @return The button created.
+ */
+ private static Button createPushButton(Composite parent, String buttonText, FormToolkit toolkit) {
+ Button button = toolkit.createButton(parent, buttonText, SWT.PUSH | SWT.FLAT
+ | SWT.CENTER | SWT.LEFT_TO_RIGHT);
+ button.setFont(parent.getFont());
+ GridData gd = new GridData(SWT.FILL, SWT.BEGINNING, true, false);
+ button.setLayoutData(gd);
+ return button;
+ }
+
+ /**
+ * Create space between composites, such as buttons within a button list.
+ *
+ * @param parent The composite to attach a space to.
+ */
+ private void createSpace() {
+ new Label(buttonList, SWT.NONE).setLayoutData(new GridData(0,0));
+ }
+
+ /**
+ * On creating the form content the tree will be populated with
+ * RPMs found in the root of the current project.
+ *
+ * @throws CoreException Thrown when getting rpms from project fails.
+ */
+ private void refreshTree() {
+ tree.removeAll();
+ try {
+ for (IResource rpm : project.getRPMs()) {
+ addItemToTree(rpm.getName());
+ }
+ } catch (CoreException e) {
+ Activator.logError(Messages.ImportRPMsPage_errorRefreshingTree, e);
+ }
+ tree.setFocus();
+ }
+
+ /**
+ * Add a new item to the tree if it does not yet exist. A null or empty
+ * string will be ignored.
+ *
+ * @param itemName The name of the new item.
+ * @return True if it does not exist and has been added, false otherwise.
+ */
+ private boolean addItemToTree(String itemName) {
+ boolean exists = false;
+ if (itemName == null || itemName.isEmpty())
+ return false;
+ // check to see if the tree item exists in the tree
+ if (tree.getItemCount() > 0) {
+ for (TreeItem item : tree.getItems()) {
+ if (item.getText().equals(itemName)) {
+ exists = true;
+ }
+ }
+ }
+ // if the tree item doesnt exists or the tree is empty
+ if (!exists || tree.getItemCount() == 0) {
+ TreeItem treeItem = new TreeItem(tree, SWT.NONE);
+ treeItem.setText(itemName);
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * Handle the import button execution on the Import RPMs page.
+ */
+ public class ImportButtonListener extends SelectionAdapter {
+ private final String[] EXTENSION_FILTERS = {"*." + ICreaterepoConstants.RPM_FILE_EXTENSION}; //$NON-NLS-1$
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
+ */
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ IWorkbench workbench = PlatformUI.getWorkbench();
+ Shell shell = workbench.getModalDialogShellProvider().getShell();
+ FileDialog fileDialog = new FileDialog(shell, SWT.MULTI);
+ fileDialog.setFilterExtensions(EXTENSION_FILTERS);
+ if (fileDialog.open() != null) {
+ String[] files = fileDialog.getFileNames();
+ if (files.length > 0) {
+ String directoryPath = fileDialog.getFilterPath();
+ for (String file : files) {
+ File externalFile = new File(directoryPath, file);
+ try {
+ project.importRPM(externalFile);
+ } catch (CoreException e1) {
+ Activator.logError(Messages.ImportButtonListener_error, e1);
+ }
+ }
+ refreshTree();
+ }
+ }
+ }
+ }
+
+ /**
+ * Handle the remove button execution on the Import RPMs page.
+ */
+ public class RemoveButtonListener extends SelectionAdapter {
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
+ */
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ TreeItem[] selection = tree.getSelection();
+ try {
+ List<IResource> rpms = project.getRPMs();
+ if (selection.length > 0 && !rpms.isEmpty()) {
+ for (IResource resource : rpms) {
+ for (TreeItem treeItem : selection) {
+ deleteIfEquals(resource, treeItem);
+ }
+ }
+ }
+ refreshTree();
+ } catch (CoreException e1) {
+ Activator.logError(Messages.RemoveButtonListener_error, e1);
+ }
+ }
+
+ /**
* Delete the resource if the tree item has the same name as it.
*
* @param resource The resource in the project (the RPM).
* @param treeItem The RPM in the tree.
* @throws CoreException Thrown when deleting fails.
*/
- private void deleteIfEquals(IResource resource, TreeItem treeItem) throws CoreException {
+ private void deleteIfEquals(IResource resource, TreeItem treeItem) throws CoreException {
if (resource.getName().equals(treeItem.getText())) {
resource.delete(false, new NullProgressMonitor());
}
}
- }
-
- /**
- * Handle the createrepo button execution on the Import RPMs page.
- */
- public class CreaterepoButtonListener extends SelectionAdapter {
- /*
- * (non-Javadoc)
- * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
- */
- @Override
- public void widgetSelected(SelectionEvent e) {
- Job executeCreaterepo = new Job(Messages.Createrepo_jobName) {
- @Override
- protected IStatus run(IProgressMonitor monitor) {
- try {
- monitor.beginTask(Messages.CreaterepoProject_executeCreaterepo, IProgressMonitor.UNKNOWN);
- MessageConsoleStream os = CreaterepoUtils.findConsole(Messages.CreaterepoProject_consoleName)
- .newMessageStream();
- return project.createrepo(os);
- } catch (CoreException e) {
- Activator.logError(Messages.Createrepo_errorExecuting, e);
- } finally {
- monitor.done();
- }
- return null;
- }
- };
- executeCreaterepo.setUser(true);
- executeCreaterepo.schedule();
- }
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.core.resources.IResourceChangeListener#resourceChanged(org.eclipse.core.resources.IResourceChangeEvent)
- */
- @Override
- public void resourceChanged(IResourceChangeEvent event) {
- // might have to place the delete/close events to RepoMetadataFormEditor to
- // occur for all the pages
- switch (event.getType()) {
- case IResourceChangeEvent.POST_CHANGE:
- try {
- IPath projectPath = project.getContentFolder().getFullPath();
- IResourceDelta delta = event.getDelta().findMember(projectPath);
- // delta is only null when nothing changed within the project's
- // content folder
- if (delta != null) {
- delta.accept(new CreaterepoDeltaVisitor());
- }
- } catch (CoreException e) {
- Activator.logError(Messages.ImportRPMsPage_errorResourceChanged, e);
- }
- break;
- }
- }
-
- /**
- * Class to control what to do if something happens in the workspace.
- */
- class CreaterepoDeltaVisitor implements IResourceDeltaVisitor {
- /*
- * (non-Javadoc)
- * @see org.eclipse.core.resources.IResourceDeltaVisitor#visit(org.eclipse.core.resources.IResourceDelta)
- */
- @Override
- public boolean visit(IResourceDelta delta) {
- // exit if the project is being removed or closed
- if (delta.getKind() == IResourceDelta.REMOVED ||
- (delta.getFlags() | delta.getKind()) == (IResourceDelta.OPEN | IResourceDelta.CHANGED)) {
- return false;
- }
- // get the files that were removed/added and exit if nothing was removed/added
- IResourceDelta[] removedFiles = delta.getAffectedChildren(IResourceDelta.REMOVED);
- IResourceDelta[] addedFiles = delta.getAffectedChildren(IResourceDelta.ADDED);
- if (removedFiles.length <= 0 && addedFiles.length == 0) {
- return false;
- }
- // check if at least 1 of the files removed is an RPM and break out if so
- boolean rpmsDeleted = false;
- for (IResourceDelta resourceDelta : removedFiles) {
- String extension = resourceDelta.getResource().getFileExtension();
- if (extension != null && extension.equals(ICreaterepoConstants.RPM_FILE_EXTENSION)) {
- rpmsDeleted = true;
- break;
- }
- }
- // check if at least 1 of the files added is an RPM and break out if so
- boolean rpmsAdded = false;
- for (IResourceDelta resourceDelta : addedFiles) {
- String extension = resourceDelta.getResource().getFileExtension();
- if (extension != null && extension.equals(ICreaterepoConstants.RPM_FILE_EXTENSION)) {
- rpmsAdded = true;
- break;
- }
- }
- // exit if none of the removed/added files is an RPM; no need to update list
- if (!rpmsDeleted && !rpmsAdded) {
- return false;
- }
- // deals with updating the UI of the page
- PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
- @Override
- public void run() {
- refreshTree();
- }
- });
- return false;
- }
- }
+ }
+
+ /**
+ * Handle the createrepo button execution on the Import RPMs page.
+ */
+ public class CreaterepoButtonListener extends SelectionAdapter {
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
+ */
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ Job executeCreaterepo = new Job(Messages.Createrepo_jobName) {
+ @Override
+ protected IStatus run(IProgressMonitor monitor) {
+ try {
+ monitor.beginTask(Messages.CreaterepoProject_executeCreaterepo, IProgressMonitor.UNKNOWN);
+ MessageConsoleStream os = CreaterepoUtils.findConsole(Messages.CreaterepoProject_consoleName)
+ .newMessageStream();
+ return project.createrepo(os);
+ } catch (CoreException e) {
+ Activator.logError(Messages.Createrepo_errorExecuting, e);
+ } finally {
+ monitor.done();
+ }
+ return null;
+ }
+ };
+ executeCreaterepo.setUser(true);
+ executeCreaterepo.schedule();
+ }
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.core.resources.IResourceChangeListener#resourceChanged(org.eclipse.core.resources.IResourceChangeEvent)
+ */
+ @Override
+ public void resourceChanged(IResourceChangeEvent event) {
+ // might have to place the delete/close events to RepoMetadataFormEditor to
+ // occur for all the pages
+ switch (event.getType()) {
+ case IResourceChangeEvent.POST_CHANGE:
+ try {
+ IPath projectPath = project.getContentFolder().getFullPath();
+ IResourceDelta delta = event.getDelta().findMember(projectPath);
+ // delta is only null when nothing changed within the project's
+ // content folder
+ if (delta != null) {
+ delta.accept(new CreaterepoDeltaVisitor());
+ }
+ } catch (CoreException e) {
+ Activator.logError(Messages.ImportRPMsPage_errorResourceChanged, e);
+ }
+ break;
+ }
+ }
+
+ /**
+ * Class to control what to do if something happens in the workspace.
+ */
+ class CreaterepoDeltaVisitor implements IResourceDeltaVisitor {
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.core.resources.IResourceDeltaVisitor#visit(org.eclipse.core.resources.IResourceDelta)
+ */
+ @Override
+ public boolean visit(IResourceDelta delta) {
+ // exit if the project is being removed or closed
+ if (delta.getKind() == IResourceDelta.REMOVED ||
+ (delta.getFlags() | delta.getKind()) == (IResourceDelta.OPEN | IResourceDelta.CHANGED)) {
+ return false;
+ }
+ // get the files that were removed/added and exit if nothing was removed/added
+ IResourceDelta[] removedFiles = delta.getAffectedChildren(IResourceDelta.REMOVED);
+ IResourceDelta[] addedFiles = delta.getAffectedChildren(IResourceDelta.ADDED);
+ if (removedFiles.length <= 0 && addedFiles.length == 0) {
+ return false;
+ }
+ // check if at least 1 of the files removed is an RPM and break out if so
+ boolean rpmsDeleted = false;
+ for (IResourceDelta resourceDelta : removedFiles) {
+ String extension = resourceDelta.getResource().getFileExtension();
+ if (extension != null && extension.equals(ICreaterepoConstants.RPM_FILE_EXTENSION)) {
+ rpmsDeleted = true;
+ break;
+ }
+ }
+ // check if at least 1 of the files added is an RPM and break out if so
+ boolean rpmsAdded = false;
+ for (IResourceDelta resourceDelta : addedFiles) {
+ String extension = resourceDelta.getResource().getFileExtension();
+ if (extension != null && extension.equals(ICreaterepoConstants.RPM_FILE_EXTENSION)) {
+ rpmsAdded = true;
+ break;
+ }
+ }
+ // exit if none of the removed/added files is an RPM; no need to update list
+ if (!rpmsDeleted && !rpmsAdded) {
+ return false;
+ }
+ // deals with updating the UI of the page
+ PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
+ @Override
+ public void run() {
+ refreshTree();
+ }
+ });
+ return false;
+ }
+ }
}
diff --git a/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/form/MetadataPage.java b/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/form/MetadataPage.java
index 794591c98c..ad552ac42c 100644
--- a/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/form/MetadataPage.java
+++ b/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/form/MetadataPage.java
@@ -55,384 +55,384 @@ import org.osgi.service.prefs.BackingStoreException;
*/
public class MetadataPage extends FormPage {
- private CreaterepoProject project;
- private IEclipsePreferences eclipsePreferences;
+ private CreaterepoProject project;
+ private IEclipsePreferences eclipsePreferences;
- private FormToolkit toolkit;
- private ScrolledForm form;
+ private FormToolkit toolkit;
+ private ScrolledForm form;
- private Text revisionTxt;
- private Text tagTxt;
- private Tree tagsTree;
- private TreeViewer tagsTreeViewer;
- private Composite buttonList;
+ private Text revisionTxt;
+ private Text tagTxt;
+ private Tree tagsTree;
+ private TreeViewer tagsTreeViewer;
+ private Composite buttonList;
- private static final String MENU_URI = "toolbar:formsToolbar"; //$NON-NLS-1$
- private static final String HEADER_ICON = "/icons/library_obj.gif"; //$NON-NLS-1$
+ private static final String MENU_URI = "toolbar:formsToolbar"; //$NON-NLS-1$
+ private static final String HEADER_ICON = "/icons/library_obj.gif"; //$NON-NLS-1$
- /** Default constructor. */
- public MetadataPage(FormEditor editor, CreaterepoProject project) {
- super(editor, Messages.MetadataPage_title, Messages.MetadataPage_title);
- this.project = project;
- eclipsePreferences = project.getEclipsePreferences();
- }
+ /** Default constructor. */
+ public MetadataPage(FormEditor editor, CreaterepoProject project) {
+ super(editor, Messages.MetadataPage_title, Messages.MetadataPage_title);
+ this.project = project;
+ eclipsePreferences = project.getEclipsePreferences();
+ }
- /*
- * (non-Javadoc)
- * @see org.eclipse.ui.forms.editor.FormPage#createFormContent(org.eclipse.ui.forms.IManagedForm)
- */
- @Override
- protected void createFormContent(IManagedForm managedForm) {
- // setting up the form page
- super.createFormContent(managedForm);
- GridLayout layout = new GridLayout();
- GridData data = new GridData();
- toolkit = managedForm.getToolkit();
- form = managedForm.getForm();
- form.setText(Messages.MetadataPage_formHeaderText);
- form.setImage(Activator.getImageDescriptor(HEADER_ICON).createImage());
- ToolBarManager toolbarManager = (ToolBarManager) form.getToolBarManager();
- toolkit.decorateFormHeading(form.getForm());
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.ui.forms.editor.FormPage#createFormContent(org.eclipse.ui.forms.IManagedForm)
+ */
+ @Override
+ protected void createFormContent(IManagedForm managedForm) {
+ // setting up the form page
+ super.createFormContent(managedForm);
+ GridLayout layout = new GridLayout();
+ GridData data = new GridData();
+ toolkit = managedForm.getToolkit();
+ form = managedForm.getForm();
+ form.setText(Messages.MetadataPage_formHeaderText);
+ form.setImage(Activator.getImageDescriptor(HEADER_ICON).createImage());
+ ToolBarManager toolbarManager = (ToolBarManager) form.getToolBarManager();
+ toolkit.decorateFormHeading(form.getForm());
- // add the menuContribution from MANIFEST.MF to the form
- IMenuService menuService = (IMenuService) getSite().getService(IMenuService.class);
- menuService.populateContributionManager(toolbarManager, MENU_URI);
- toolbarManager.update(true);
+ // add the menuContribution from MANIFEST.MF to the form
+ IMenuService menuService = (IMenuService) getSite().getService(IMenuService.class);
+ menuService.populateContributionManager(toolbarManager, MENU_URI);
+ toolbarManager.update(true);
- layout = new GridLayout();
- layout.marginWidth = 6; layout.marginHeight = 12;
- form.getBody().setLayout(layout);
+ layout = new GridLayout();
+ layout.marginWidth = 6; layout.marginHeight = 12;
+ form.getBody().setLayout(layout);
- //--------------------------------- REVISION SECTION START ----------
- // Section and its client area to manage updating revision info
- Section revSection = toolkit.createSection(form.getBody(), Section.DESCRIPTION
- | ExpandableComposite.TITLE_BAR);
- layout = new GridLayout();
- data = new GridData();
- data.verticalAlignment = GridData.FILL;
- data.horizontalAlignment = GridData.FILL;
- data.grabExcessHorizontalSpace = true;
- revSection.setText(Messages.MetadataPage_sectionTitleRevision);
- revSection.setDescription(Messages.MetadataPage_sectionInstructionRevision);
- revSection.setLayoutData(data);
+ //--------------------------------- REVISION SECTION START ----------
+ // Section and its client area to manage updating revision info
+ Section revSection = toolkit.createSection(form.getBody(), Section.DESCRIPTION
+ | ExpandableComposite.TITLE_BAR);
+ layout = new GridLayout();
+ data = new GridData();
+ data.verticalAlignment = GridData.FILL;
+ data.horizontalAlignment = GridData.FILL;
+ data.grabExcessHorizontalSpace = true;
+ revSection.setText(Messages.MetadataPage_sectionTitleRevision);
+ revSection.setDescription(Messages.MetadataPage_sectionInstructionRevision);
+ revSection.setLayoutData(data);
- // the client area containing the editing fields
- Composite sectionClient = toolkit.createComposite(revSection);
- layout = new GridLayout(2, false);
- layout.marginWidth = 1; layout.marginHeight = 7;
- sectionClient.setLayout(layout);
+ // the client area containing the editing fields
+ Composite sectionClient = toolkit.createComposite(revSection);
+ layout = new GridLayout(2, false);
+ layout.marginWidth = 1; layout.marginHeight = 7;
+ sectionClient.setLayout(layout);
- revisionTxt = createTextFieldWithLabel(sectionClient, Messages.MetadataPage_labelRevision);
- String prefRevisionTxt = eclipsePreferences.get(CreaterepoPreferenceConstants.PREF_REVISION, ICreaterepoConstants.EMPTY_STRING);
- if (!prefRevisionTxt.isEmpty()) {
- revisionTxt.setText(prefRevisionTxt);
- }
- revisionTxt.addSelectionListener(new SelectionAdapter() {
- /*
- * (non-Javadoc)
- * @see org.eclipse.swt.events.SelectionListener#widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent)
- */
- @Override
- public void widgetDefaultSelected(SelectionEvent e) {
- String revisionText = revisionTxt.getText().trim();
- savePreferences(CreaterepoPreferenceConstants.PREF_REVISION, revisionText);
- }
- });
- revSection.setClient(sectionClient);
- //---------- REVISION SECTION END
+ revisionTxt = createTextFieldWithLabel(sectionClient, Messages.MetadataPage_labelRevision);
+ String prefRevisionTxt = eclipsePreferences.get(CreaterepoPreferenceConstants.PREF_REVISION, ICreaterepoConstants.EMPTY_STRING);
+ if (!prefRevisionTxt.isEmpty()) {
+ revisionTxt.setText(prefRevisionTxt);
+ }
+ revisionTxt.addSelectionListener(new SelectionAdapter() {
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.swt.events.SelectionListener#widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent)
+ */
+ @Override
+ public void widgetDefaultSelected(SelectionEvent e) {
+ String revisionText = revisionTxt.getText().trim();
+ savePreferences(CreaterepoPreferenceConstants.PREF_REVISION, revisionText);
+ }
+ });
+ revSection.setClient(sectionClient);
+ //---------- REVISION SECTION END
- //--------------------------------- TAGS SECTION START ----------
- // Section and its client area to manage tags
- Section tagSection = toolkit.createSection(form.getBody(), Section.DESCRIPTION
- | ExpandableComposite.TITLE_BAR);
- layout = new GridLayout();
- tagSection.setText(Messages.MetadataPage_sectionTitleTags);
- tagSection.setDescription(Messages.MetadataPage_sectionInstructionTags);
- tagSection.setLayoutData(expandComposite());
+ //--------------------------------- TAGS SECTION START ----------
+ // Section and its client area to manage tags
+ Section tagSection = toolkit.createSection(form.getBody(), Section.DESCRIPTION
+ | ExpandableComposite.TITLE_BAR);
+ layout = new GridLayout();
+ tagSection.setText(Messages.MetadataPage_sectionTitleTags);
+ tagSection.setDescription(Messages.MetadataPage_sectionInstructionTags);
+ tagSection.setLayoutData(expandComposite());
- // the client area containing the tags
- Composite sectionClientTags = toolkit.createComposite(tagSection);
- layout = new GridLayout(2, false);
- layout.marginWidth = 1; layout.marginHeight = 7;
- sectionClientTags.setLayout(layout);
+ // the client area containing the tags
+ Composite sectionClientTags = toolkit.createComposite(tagSection);
+ layout = new GridLayout(2, false);
+ layout.marginWidth = 1; layout.marginHeight = 7;
+ sectionClientTags.setLayout(layout);
- tagTxt = createTextFieldWithLabel(sectionClientTags, Messages.MetadataPage_labelTags);
- tagTxt.addSelectionListener(new SelectionAdapter() {
- /*
- * (non-Javadoc)
- * @see org.eclipse.swt.events.SelectionListener#widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent)
- */
- @Override
- public void widgetDefaultSelected(SelectionEvent e) {
- addTag();
- }
- });
+ tagTxt = createTextFieldWithLabel(sectionClientTags, Messages.MetadataPage_labelTags);
+ tagTxt.addSelectionListener(new SelectionAdapter() {
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.swt.events.SelectionListener#widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent)
+ */
+ @Override
+ public void widgetDefaultSelected(SelectionEvent e) {
+ addTag();
+ }
+ });
- tagsTreeViewer = new TreeViewer(sectionClientTags, SWT.BORDER | SWT.SINGLE | SWT.HORIZONTAL
- | SWT.VERTICAL | SWT.LEFT_TO_RIGHT | SWT.SMOOTH);
- tagsTreeViewer.setContentProvider(new CreaterepoTreeContentProvider());
- tagsTreeViewer.setLabelProvider(new CreaterepoTreeLabelProvider());
- CreaterepoCategoryModel model = new CreaterepoCategoryModel(project);
- tagsTreeViewer.setInput(model);
- // change the tag text field on change (make editing tag easier)
- tagsTreeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
- @Override
- public void selectionChanged(SelectionChangedEvent event) {
- if (tagsTree.getSelectionCount() == 1) {
- TreeItem treeItem = tagsTree.getSelection()[0];
- if (!(treeItem.getData() instanceof CreaterepoTreeCategory)) {
- String tag = (String) treeItem.getData();
- tagTxt.setText(tag);
- } else {
- tagTxt.setText(ICreaterepoConstants.EMPTY_STRING);
- }
- }
- }
- });
- // expand or shrink a category
- tagsTreeViewer.addDoubleClickListener(new IDoubleClickListener() {
- @Override
- public void doubleClick(DoubleClickEvent event) {
- IStructuredSelection selection = (IStructuredSelection) tagsTreeViewer.getSelection();
- if (selection.getFirstElement() instanceof CreaterepoTreeCategory) {
- CreaterepoTreeCategory category = (CreaterepoTreeCategory) selection.getFirstElement();
- tagsTreeViewer.setExpandedState(category, !tagsTreeViewer.getExpandedState(category));
- }
- }
- });
- tagsTree = tagsTreeViewer.getTree();
- tagsTree.setLayoutData(expandComposite());
+ tagsTreeViewer = new TreeViewer(sectionClientTags, SWT.BORDER | SWT.SINGLE | SWT.HORIZONTAL
+ | SWT.VERTICAL | SWT.LEFT_TO_RIGHT | SWT.SMOOTH);
+ tagsTreeViewer.setContentProvider(new CreaterepoTreeContentProvider());
+ tagsTreeViewer.setLabelProvider(new CreaterepoTreeLabelProvider());
+ CreaterepoCategoryModel model = new CreaterepoCategoryModel(project);
+ tagsTreeViewer.setInput(model);
+ // change the tag text field on change (make editing tag easier)
+ tagsTreeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
+ @Override
+ public void selectionChanged(SelectionChangedEvent event) {
+ if (tagsTree.getSelectionCount() == 1) {
+ TreeItem treeItem = tagsTree.getSelection()[0];
+ if (!(treeItem.getData() instanceof CreaterepoTreeCategory)) {
+ String tag = (String) treeItem.getData();
+ tagTxt.setText(tag);
+ } else {
+ tagTxt.setText(ICreaterepoConstants.EMPTY_STRING);
+ }
+ }
+ }
+ });
+ // expand or shrink a category
+ tagsTreeViewer.addDoubleClickListener(new IDoubleClickListener() {
+ @Override
+ public void doubleClick(DoubleClickEvent event) {
+ IStructuredSelection selection = (IStructuredSelection) tagsTreeViewer.getSelection();
+ if (selection.getFirstElement() instanceof CreaterepoTreeCategory) {
+ CreaterepoTreeCategory category = (CreaterepoTreeCategory) selection.getFirstElement();
+ tagsTreeViewer.setExpandedState(category, !tagsTreeViewer.getExpandedState(category));
+ }
+ }
+ });
+ tagsTree = tagsTreeViewer.getTree();
+ tagsTree.setLayoutData(expandComposite());
- // everything to do with the buttons
- buttonList = toolkit.createComposite(sectionClientTags);
- layout = new GridLayout();
- data = new GridData(SWT.BEGINNING, SWT.FILL, false, true);
- layout.marginWidth = 0; layout.marginHeight = 0;
- buttonList.setLayout(layout);
- buttonList.setLayoutData(data);
- createPushButton(buttonList, Messages.MetadataPage_buttonAddTag,
- toolkit).addSelectionListener(new AddTagButtonListener());
- createPushButton(buttonList, Messages.MetadataPage_buttonEditTag,
- toolkit).addSelectionListener(new EditTagButtonListener());
- createPushButton(buttonList, Messages.MetadataPage_buttonRemoveTag,
- toolkit).addSelectionListener(new RemoveTagButtonListener());
- tagSection.setClient(sectionClientTags);
- //---------- TAGS SECTION END
- refreshTree();
- managedForm.refresh();
- }
+ // everything to do with the buttons
+ buttonList = toolkit.createComposite(sectionClientTags);
+ layout = new GridLayout();
+ data = new GridData(SWT.BEGINNING, SWT.FILL, false, true);
+ layout.marginWidth = 0; layout.marginHeight = 0;
+ buttonList.setLayout(layout);
+ buttonList.setLayoutData(data);
+ createPushButton(buttonList, Messages.MetadataPage_buttonAddTag,
+ toolkit).addSelectionListener(new AddTagButtonListener());
+ createPushButton(buttonList, Messages.MetadataPage_buttonEditTag,
+ toolkit).addSelectionListener(new EditTagButtonListener());
+ createPushButton(buttonList, Messages.MetadataPage_buttonRemoveTag,
+ toolkit).addSelectionListener(new RemoveTagButtonListener());
+ tagSection.setClient(sectionClientTags);
+ //---------- TAGS SECTION END
+ refreshTree();
+ managedForm.refresh();
+ }
- /**
- * Refresh the tree. This includes removing the expand button of a
- * category if there are no tags placed under it.
- */
- private void refreshTree() {
- // expand categories with no tags under them to remove expand button
- for (TreeItem treeItem : tagsTree.getItems()) {
- if (treeItem.getData() instanceof CreaterepoTreeCategory) {
- CreaterepoTreeCategory category = (CreaterepoTreeCategory) treeItem.getData();
- if (category.getTags().isEmpty()) {
- tagsTreeViewer.expandToLevel(category, 1);
- tagsTreeViewer.update(category, null);
- }
- }
- }
- }
+ /**
+ * Refresh the tree. This includes removing the expand button of a
+ * category if there are no tags placed under it.
+ */
+ private void refreshTree() {
+ // expand categories with no tags under them to remove expand button
+ for (TreeItem treeItem : tagsTree.getItems()) {
+ if (treeItem.getData() instanceof CreaterepoTreeCategory) {
+ CreaterepoTreeCategory category = (CreaterepoTreeCategory) treeItem.getData();
+ if (category.getTags().isEmpty()) {
+ tagsTreeViewer.expandToLevel(category, 1);
+ tagsTreeViewer.update(category, null);
+ }
+ }
+ }
+ }
- /**
- * Make a GridData that expands to fill both horizontally
- * and vertically.
- *
- * @return The created GridData.
- */
- protected static GridData expandComposite() {
- GridData data = new GridData();
- data.verticalAlignment = GridData.FILL;
- data.horizontalAlignment = GridData.FILL;
- data.grabExcessHorizontalSpace = true;
- data.grabExcessVerticalSpace = true;
- return data;
- }
+ /**
+ * Make a GridData that expands to fill both horizontally
+ * and vertically.
+ *
+ * @return The created GridData.
+ */
+ protected static GridData expandComposite() {
+ GridData data = new GridData();
+ data.verticalAlignment = GridData.FILL;
+ data.horizontalAlignment = GridData.FILL;
+ data.grabExcessHorizontalSpace = true;
+ data.grabExcessVerticalSpace = true;
+ return data;
+ }
- /**
- * Create a push style button.
- *
- * @param parent The parent the button will belong to.
- * @param buttonText The text show on the button.
- * @param toolkit The form toolkit used in creating a button.
- * @return The button created.
- */
- protected Button createPushButton(Composite parent, String buttonText, FormToolkit toolkit) {
- Button button = toolkit.createButton(parent, buttonText, SWT.PUSH | SWT.FLAT
- | SWT.CENTER | SWT.LEFT_TO_RIGHT);
- button.setFont(parent.getFont());
- GridData gd = new GridData(SWT.FILL, SWT.BEGINNING, true, false);
- button.setLayoutData(gd);
- return button;
- }
+ /**
+ * Create a push style button.
+ *
+ * @param parent The parent the button will belong to.
+ * @param buttonText The text show on the button.
+ * @param toolkit The form toolkit used in creating a button.
+ * @return The button created.
+ */
+ protected Button createPushButton(Composite parent, String buttonText, FormToolkit toolkit) {
+ Button button = toolkit.createButton(parent, buttonText, SWT.PUSH | SWT.FLAT
+ | SWT.CENTER | SWT.LEFT_TO_RIGHT);
+ button.setFont(parent.getFont());
+ GridData gd = new GridData(SWT.FILL, SWT.BEGINNING, true, false);
+ button.setLayoutData(gd);
+ return button;
+ }
- /**
- * Create a text field with a label.
- *
- * @param parent The parent of the text field and label.
- * @param labelName The name on the label.
- * @return The newly created text field.
- */
- protected Text createTextFieldWithLabel(Composite parent, String labelName) {
- // set up the area in which the label and text will reside
- Composite areaLabelText = new Composite(parent, SWT.NONE);
- GridData layoutData = new GridData();
- GridLayout gridlayout = new GridLayout(2, false);
- layoutData.horizontalAlignment = GridData.FILL;
- layoutData.verticalAlignment = GridData.CENTER;
- layoutData.horizontalSpan = 2;
- layoutData.grabExcessHorizontalSpace = true;
- areaLabelText.setLayoutData(layoutData);
- areaLabelText.setLayout(gridlayout);
- // create the label
- Label respositoryBaseURLLbl = new Label(areaLabelText, SWT.NONE);
- respositoryBaseURLLbl.setText(labelName);
- layoutData = new GridData();
- layoutData.widthHint = 100;
- layoutData.horizontalAlignment = GridData.BEGINNING;
- layoutData.verticalAlignment = GridData.CENTER;
- respositoryBaseURLLbl.setLayoutData(layoutData);
- // create the text field
- Text textField = new Text(areaLabelText, SWT.SINGLE);
- layoutData = new GridData();
- layoutData.horizontalIndent = 50;
- layoutData.grabExcessHorizontalSpace = true;
- layoutData.horizontalAlignment = GridData.FILL;
- layoutData.verticalAlignment = GridData.CENTER;
- // achieve flat look (don't put SWT.BORDER)
- textField.setData(FormToolkit.KEY_DRAW_BORDER, FormToolkit.TEXT_BORDER);
- textField.setLayoutData(layoutData);
- toolkit.paintBordersFor(areaLabelText);
- return textField;
- }
+ /**
+ * Create a text field with a label.
+ *
+ * @param parent The parent of the text field and label.
+ * @param labelName The name on the label.
+ * @return The newly created text field.
+ */
+ protected Text createTextFieldWithLabel(Composite parent, String labelName) {
+ // set up the area in which the label and text will reside
+ Composite areaLabelText = new Composite(parent, SWT.NONE);
+ GridData layoutData = new GridData();
+ GridLayout gridlayout = new GridLayout(2, false);
+ layoutData.horizontalAlignment = GridData.FILL;
+ layoutData.verticalAlignment = GridData.CENTER;
+ layoutData.horizontalSpan = 2;
+ layoutData.grabExcessHorizontalSpace = true;
+ areaLabelText.setLayoutData(layoutData);
+ areaLabelText.setLayout(gridlayout);
+ // create the label
+ Label respositoryBaseURLLbl = new Label(areaLabelText, SWT.NONE);
+ respositoryBaseURLLbl.setText(labelName);
+ layoutData = new GridData();
+ layoutData.widthHint = 100;
+ layoutData.horizontalAlignment = GridData.BEGINNING;
+ layoutData.verticalAlignment = GridData.CENTER;
+ respositoryBaseURLLbl.setLayoutData(layoutData);
+ // create the text field
+ Text textField = new Text(areaLabelText, SWT.SINGLE);
+ layoutData = new GridData();
+ layoutData.horizontalIndent = 50;
+ layoutData.grabExcessHorizontalSpace = true;
+ layoutData.horizontalAlignment = GridData.FILL;
+ layoutData.verticalAlignment = GridData.CENTER;
+ // achieve flat look (don't put SWT.BORDER)
+ textField.setData(FormToolkit.KEY_DRAW_BORDER, FormToolkit.TEXT_BORDER);
+ textField.setLayoutData(layoutData);
+ toolkit.paintBordersFor(areaLabelText);
+ return textField;
+ }
- /**
- * Save the project preferences of some value to a key.
- *
- * @param key The preferences key.
- * @param val The value to save.
- */
- protected void savePreferences(String key, String val) {
- eclipsePreferences.put(key, val);
- try {
- eclipsePreferences.flush();
- refreshTree();
- } catch (BackingStoreException e) {
- Activator.logError(Messages.MetadataPage_errorSavingPreferences, e);
- }
- }
+ /**
+ * Save the project preferences of some value to a key.
+ *
+ * @param key The preferences key.
+ * @param val The value to save.
+ */
+ protected void savePreferences(String key, String val) {
+ eclipsePreferences.put(key, val);
+ try {
+ eclipsePreferences.flush();
+ refreshTree();
+ } catch (BackingStoreException e) {
+ Activator.logError(Messages.MetadataPage_errorSavingPreferences, e);
+ }
+ }
- /**
- * Prepare the tags to be saved to the preference. This class gets all the tags
- * from a category and transforms it into a semicolon-delimited string.
- *
- * @param category The category to prepare the tag string for.
- * @return A semicolon-delimited string of tags taken from the category.
- */
- private static String preparePreferenceTag(CreaterepoTreeCategory category) {
- String preferenceToSave = ICreaterepoConstants.EMPTY_STRING;
- if (!category.getTags().isEmpty()) {
- for (String tag : category.getTags()){
- preferenceToSave = preferenceToSave.concat(tag+ICreaterepoConstants.DELIMITER);
- }
- // remove the hanging delimiter
- preferenceToSave = preferenceToSave.substring(0, preferenceToSave.length()-1);
- }
- return preferenceToSave;
- }
+ /**
+ * Prepare the tags to be saved to the preference. This class gets all the tags
+ * from a category and transforms it into a semicolon-delimited string.
+ *
+ * @param category The category to prepare the tag string for.
+ * @return A semicolon-delimited string of tags taken from the category.
+ */
+ private static String preparePreferenceTag(CreaterepoTreeCategory category) {
+ String preferenceToSave = ICreaterepoConstants.EMPTY_STRING;
+ if (!category.getTags().isEmpty()) {
+ for (String tag : category.getTags()){
+ preferenceToSave = preferenceToSave.concat(tag+ICreaterepoConstants.DELIMITER);
+ }
+ // remove the hanging delimiter
+ preferenceToSave = preferenceToSave.substring(0, preferenceToSave.length()-1);
+ }
+ return preferenceToSave;
+ }
- /**
- * Method to add the tag from the tag text field to the category in the tree.
- * Used by the "Add" button and the default operation when ENTER is pressed while
- * in the tag text field.
- */
- protected void addTag() {
- IStructuredSelection selection = (IStructuredSelection) tagsTreeViewer.getSelection();
- if (selection.getFirstElement() instanceof CreaterepoTreeCategory) {
- CreaterepoTreeCategory category = (CreaterepoTreeCategory) selection.getFirstElement();
- String text = tagTxt.getText().trim();
- if (!text.isEmpty()) {
- category.addTag(text);
- tagsTreeViewer.refresh(category, false);
- tagsTreeViewer.setExpandedState(category, true);
- tagTxt.setText(ICreaterepoConstants.EMPTY_STRING);
- String preferenceToSave = preparePreferenceTag(category);
- savePreferences(category.getName(), preferenceToSave);
- }
- }
- }
+ /**
+ * Method to add the tag from the tag text field to the category in the tree.
+ * Used by the "Add" button and the default operation when ENTER is pressed while
+ * in the tag text field.
+ */
+ protected void addTag() {
+ IStructuredSelection selection = (IStructuredSelection) tagsTreeViewer.getSelection();
+ if (selection.getFirstElement() instanceof CreaterepoTreeCategory) {
+ CreaterepoTreeCategory category = (CreaterepoTreeCategory) selection.getFirstElement();
+ String text = tagTxt.getText().trim();
+ if (!text.isEmpty()) {
+ category.addTag(text);
+ tagsTreeViewer.refresh(category, false);
+ tagsTreeViewer.setExpandedState(category, true);
+ tagTxt.setText(ICreaterepoConstants.EMPTY_STRING);
+ String preferenceToSave = preparePreferenceTag(category);
+ savePreferences(category.getName(), preferenceToSave);
+ }
+ }
+ }
- /**
- * Handle the add button execution on the Metadata page.
- */
- public class AddTagButtonListener extends SelectionAdapter {
- /*
- * (non-Javadoc)
- * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
- */
- @Override
- public void widgetSelected(SelectionEvent e) {
- addTag();
- }
- }
+ /**
+ * Handle the add button execution on the Metadata page.
+ */
+ public class AddTagButtonListener extends SelectionAdapter {
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
+ */
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ addTag();
+ }
+ }
- /**
- * Handle the edit button execution on the Metadata page.
- */
- public class EditTagButtonListener extends SelectionAdapter {
- /*
- * (non-Javadoc)
- * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
- */
- @Override
- public void widgetSelected(SelectionEvent e) {
- if (tagsTree.getSelectionCount() == 1) {
- TreeItem treeItem = tagsTree.getSelection()[0];
- String newTag = tagTxt.getText().trim();
- if (!(treeItem.getData() instanceof CreaterepoTreeCategory) && !newTag.isEmpty()) {
- CreaterepoTreeCategory parent = (CreaterepoTreeCategory) treeItem.getParentItem().getData();
- String oldTag = (String) treeItem.getData();
- int oldTagIndex = parent.getTags().indexOf(oldTag);
- if (parent.getTags().indexOf(newTag) == -1) {
- parent.getTags().set(oldTagIndex, newTag);
- tagsTreeViewer.refresh(parent, true);
- tagsTree.setSelection(treeItem);
- String preferenceToSave = preparePreferenceTag(parent);
- savePreferences(parent.getName(), preferenceToSave);
- }
- }
- }
- }
- }
+ /**
+ * Handle the edit button execution on the Metadata page.
+ */
+ public class EditTagButtonListener extends SelectionAdapter {
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
+ */
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ if (tagsTree.getSelectionCount() == 1) {
+ TreeItem treeItem = tagsTree.getSelection()[0];
+ String newTag = tagTxt.getText().trim();
+ if (!(treeItem.getData() instanceof CreaterepoTreeCategory) && !newTag.isEmpty()) {
+ CreaterepoTreeCategory parent = (CreaterepoTreeCategory) treeItem.getParentItem().getData();
+ String oldTag = (String) treeItem.getData();
+ int oldTagIndex = parent.getTags().indexOf(oldTag);
+ if (parent.getTags().indexOf(newTag) == -1) {
+ parent.getTags().set(oldTagIndex, newTag);
+ tagsTreeViewer.refresh(parent, true);
+ tagsTree.setSelection(treeItem);
+ String preferenceToSave = preparePreferenceTag(parent);
+ savePreferences(parent.getName(), preferenceToSave);
+ }
+ }
+ }
+ }
+ }
- /**
- * Handle the remove button execution on the Metadata page.
- */
- public class RemoveTagButtonListener extends SelectionAdapter {
- /*
- * (non-Javadoc)
- * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
- */
- @Override
- public void widgetSelected(SelectionEvent e) {
- if (tagsTree.getSelectionCount() == 1) {
- TreeItem treeItem = tagsTree.getSelection()[0];
- if (!(treeItem.getData() instanceof CreaterepoTreeCategory)) {
- CreaterepoTreeCategory parent = (CreaterepoTreeCategory) treeItem.getParentItem().getData();
- String tag = (String) treeItem.getData();
- parent.removeTag(tag);
- tagsTreeViewer.refresh(parent, true);
- tagTxt.setText(ICreaterepoConstants.EMPTY_STRING);
- String preferenceToSave = preparePreferenceTag(parent);
- savePreferences(parent.getName(), preferenceToSave);
- }
- }
- }
- }
+ /**
+ * Handle the remove button execution on the Metadata page.
+ */
+ public class RemoveTagButtonListener extends SelectionAdapter {
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
+ */
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ if (tagsTree.getSelectionCount() == 1) {
+ TreeItem treeItem = tagsTree.getSelection()[0];
+ if (!(treeItem.getData() instanceof CreaterepoTreeCategory)) {
+ CreaterepoTreeCategory parent = (CreaterepoTreeCategory) treeItem.getParentItem().getData();
+ String tag = (String) treeItem.getData();
+ parent.removeTag(tag);
+ tagsTreeViewer.refresh(parent, true);
+ tagTxt.setText(ICreaterepoConstants.EMPTY_STRING);
+ String preferenceToSave = preparePreferenceTag(parent);
+ savePreferences(parent.getName(), preferenceToSave);
+ }
+ }
+ }
+ }
}
diff --git a/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/form/RepoFormEditor.java b/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/form/RepoFormEditor.java
index 19f5147c41..e6ce8f19b1 100644
--- a/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/form/RepoFormEditor.java
+++ b/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/form/RepoFormEditor.java
@@ -34,117 +34,117 @@ import org.eclipse.ui.ide.ResourceUtil;
*/
public class RepoFormEditor extends FormEditor {
- public static final String EDITOR_ID = "org.eclipse.linuxtools.rpm.createrepo.repoEditor"; //$NON-NLS-1$
+ public static final String EDITOR_ID = "org.eclipse.linuxtools.rpm.createrepo.repoEditor"; //$NON-NLS-1$
- private CreaterepoProject project;
- private TextEditor editor;
- private IResourceChangeListener resourceChangeListener;
+ private CreaterepoProject project;
+ private TextEditor editor;
+ private IResourceChangeListener resourceChangeListener;
- /*
- * (non-Javadoc)
- * @see org.eclipse.ui.forms.editor.FormEditor#init(org.eclipse.ui.IEditorSite, org.eclipse.ui.IEditorInput)
- */
- @Override
- public void init(IEditorSite site, IEditorInput input) throws PartInitException {
- super.init(site, input);
- IFile file = ResourceUtil.getFile(input);
- setPartName(file.getName());
- try {
- project = new CreaterepoProject(file.getProject(), file);
- } catch (CoreException e) {
- Activator.logError(Messages.RepoFormEditor_errorInitializingProject, e);
- }
- resourceChangeListener = new CreaterepoResourceChangeListener(project);
- ResourcesPlugin.getWorkspace().addResourceChangeListener(resourceChangeListener);
- }
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.ui.forms.editor.FormEditor#init(org.eclipse.ui.IEditorSite, org.eclipse.ui.IEditorInput)
+ */
+ @Override
+ public void init(IEditorSite site, IEditorInput input) throws PartInitException {
+ super.init(site, input);
+ IFile file = ResourceUtil.getFile(input);
+ setPartName(file.getName());
+ try {
+ project = new CreaterepoProject(file.getProject(), file);
+ } catch (CoreException e) {
+ Activator.logError(Messages.RepoFormEditor_errorInitializingProject, e);
+ }
+ resourceChangeListener = new CreaterepoResourceChangeListener(project);
+ ResourcesPlugin.getWorkspace().addResourceChangeListener(resourceChangeListener);
+ }
- /*
- * (non-Javadoc)
- * @see org.eclipse.ui.forms.editor.FormEditor#dispose()
- */
- @Override
- public void dispose() {
- ResourcesPlugin.getWorkspace().removeResourceChangeListener(resourceChangeListener);
- super.dispose();
- }
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.ui.forms.editor.FormEditor#dispose()
+ */
+ @Override
+ public void dispose() {
+ ResourcesPlugin.getWorkspace().removeResourceChangeListener(resourceChangeListener);
+ super.dispose();
+ }
- /*
- * (non-Javadoc)
- * @see org.eclipse.ui.part.EditorPart#doSave(org.eclipse.core.runtime.IProgressMonitor)
- */
- @Override
- public void doSave(IProgressMonitor monitor) {
- editor.doSave(monitor);
- }
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.ui.part.EditorPart#doSave(org.eclipse.core.runtime.IProgressMonitor)
+ */
+ @Override
+ public void doSave(IProgressMonitor monitor) {
+ editor.doSave(monitor);
+ }
- /*
- * (non-Javadoc)
- * @see org.eclipse.ui.part.EditorPart#doSaveAs()
- */
- @Override
- public void doSaveAs() {
- editor.doSaveAs();
- }
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.ui.part.EditorPart#doSaveAs()
+ */
+ @Override
+ public void doSaveAs() {
+ editor.doSaveAs();
+ }
- /*
- * (non-Javadoc)
- * @see org.eclipse.ui.part.EditorPart#isSaveAsAllowed()
- */
- @Override
- public boolean isSaveAsAllowed() {
- return true;
- }
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.ui.part.EditorPart#isSaveAsAllowed()
+ */
+ @Override
+ public boolean isSaveAsAllowed() {
+ return true;
+ }
- /*
- * (non-Javadoc)
- * @see org.eclipse.ui.forms.editor.FormEditor#addPages()
- */
- @Override
- protected void addPages() {
- createPage0();
- createPage1();
- createPage2();
- }
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.ui.forms.editor.FormEditor#addPages()
+ */
+ @Override
+ protected void addPages() {
+ createPage0();
+ createPage1();
+ createPage2();
+ }
- /**
- * Page 0 allows the user to import RPMs from the workspace or
- * the file system.
- */
- void createPage0() {
- try {
- FormPage composite = new ImportRPMsPage(this, project);
- addPage(composite);
- } catch (PartInitException e) {
- Activator.logError(Messages.RepoFormEditor_errorInitializingForm, e);
- }
- }
+ /**
+ * Page 0 allows the user to import RPMs from the workspace or
+ * the file system.
+ */
+ void createPage0() {
+ try {
+ FormPage composite = new ImportRPMsPage(this, project);
+ addPage(composite);
+ } catch (PartInitException e) {
+ Activator.logError(Messages.RepoFormEditor_errorInitializingForm, e);
+ }
+ }
- /**
- * Page 1 allows the user to modify some of the data in the
- * repomd.xml as well as some options when customizing the
- * execution of the createrepo command. The default execution
- * would satisfy most users.
- */
- void createPage1() {
- try {
- FormPage composite = new MetadataPage(this, project);
- addPage(composite);
- } catch (PartInitException e) {
- Activator.logError(Messages.RepoFormEditor_errorInitializingForm, e);
- }
- }
+ /**
+ * Page 1 allows the user to modify some of the data in the
+ * repomd.xml as well as some options when customizing the
+ * execution of the createrepo command. The default execution
+ * would satisfy most users.
+ */
+ void createPage1() {
+ try {
+ FormPage composite = new MetadataPage(this, project);
+ addPage(composite);
+ } catch (PartInitException e) {
+ Activator.logError(Messages.RepoFormEditor_errorInitializingForm, e);
+ }
+ }
- /**
- * Page 2 allows the user to view the current .repo file.
- */
- void createPage2() {
- try {
- editor = new TextEditor();
- int index = addPage(editor, getEditorInput());
- setPageText(index, editor.getTitle());
- } catch (PartInitException e) {
- Activator.logError(Messages.RepoFormEditor_errorInitializingForm, e);
- }
- }
+ /**
+ * Page 2 allows the user to view the current .repo file.
+ */
+ void createPage2() {
+ try {
+ editor = new TextEditor();
+ int index = addPage(editor, getEditorInput());
+ setPageText(index, editor.getTitle());
+ } catch (PartInitException e) {
+ Activator.logError(Messages.RepoFormEditor_errorInitializingForm, e);
+ }
+ }
}
diff --git a/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/handler/CreaterepoCommandHandler.java b/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/handler/CreaterepoCommandHandler.java
index a652aa13bf..40573ff2e3 100644
--- a/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/handler/CreaterepoCommandHandler.java
+++ b/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/handler/CreaterepoCommandHandler.java
@@ -33,45 +33,45 @@ import org.eclipse.ui.ide.ResourceUtil;
*/
public class CreaterepoCommandHandler extends AbstractHandler {
- /*
- * (non-Javadoc)
- * @see org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.ExecutionEvent)
- */
- @Override
- public Object execute(ExecutionEvent event) {
- final String executionType = event.getParameter("executionType"); //$NON-NLS-1$
- try {
- IWorkbench wb = PlatformUI.getWorkbench();
- IWorkbenchPage wbPage = wb.getActiveWorkbenchWindow().getActivePage();
- IEditorInput editorInput = wbPage.getActiveEditor().getEditorInput();
- IResource resource = ResourceUtil.getResource(editorInput);
- final CreaterepoProject project = new CreaterepoProject(resource.getProject());
- Job executeCreaterepo = new Job(Messages.Createrepo_jobName) {
- @Override
- protected IStatus run(IProgressMonitor monitor) {
- try {
- monitor.beginTask(Messages.CreaterepoProject_executeCreaterepo, IProgressMonitor.UNKNOWN);
- MessageConsoleStream os = CreaterepoUtils.findConsole(Messages.CreaterepoProject_consoleName)
- .newMessageStream();
- if (executionType.equals("refresh")) { //$NON-NLS-1$
- return project.update(os);
- } else {
- return project.createrepo(os);
- }
- } catch (CoreException e) {
- Activator.logError(Messages.Createrepo_errorExecuting, e);
- } finally {
- monitor.done();
- }
- return null;
- }
- };
- executeCreaterepo.setUser(true);
- executeCreaterepo.schedule();
- } catch (CoreException e) {
- Activator.logError(Messages.CreaterepoProject_executeCreaterepo, e);
- }
- return null;
- }
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.ExecutionEvent)
+ */
+ @Override
+ public Object execute(ExecutionEvent event) {
+ final String executionType = event.getParameter("executionType"); //$NON-NLS-1$
+ try {
+ IWorkbench wb = PlatformUI.getWorkbench();
+ IWorkbenchPage wbPage = wb.getActiveWorkbenchWindow().getActivePage();
+ IEditorInput editorInput = wbPage.getActiveEditor().getEditorInput();
+ IResource resource = ResourceUtil.getResource(editorInput);
+ final CreaterepoProject project = new CreaterepoProject(resource.getProject());
+ Job executeCreaterepo = new Job(Messages.Createrepo_jobName) {
+ @Override
+ protected IStatus run(IProgressMonitor monitor) {
+ try {
+ monitor.beginTask(Messages.CreaterepoProject_executeCreaterepo, IProgressMonitor.UNKNOWN);
+ MessageConsoleStream os = CreaterepoUtils.findConsole(Messages.CreaterepoProject_consoleName)
+ .newMessageStream();
+ if (executionType.equals("refresh")) { //$NON-NLS-1$
+ return project.update(os);
+ } else {
+ return project.createrepo(os);
+ }
+ } catch (CoreException e) {
+ Activator.logError(Messages.Createrepo_errorExecuting, e);
+ } finally {
+ monitor.done();
+ }
+ return null;
+ }
+ };
+ executeCreaterepo.setUser(true);
+ executeCreaterepo.schedule();
+ } catch (CoreException e) {
+ Activator.logError(Messages.CreaterepoProject_executeCreaterepo, e);
+ }
+ return null;
+ }
}
diff --git a/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/listener/CreaterepoResourceChangeListener.java b/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/listener/CreaterepoResourceChangeListener.java
index 7cbb82e545..fc8c17bfd9 100644
--- a/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/listener/CreaterepoResourceChangeListener.java
+++ b/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/listener/CreaterepoResourceChangeListener.java
@@ -29,62 +29,62 @@ import org.eclipse.ui.ide.ResourceUtil;
* get deleted or closed.
*/
public class CreaterepoResourceChangeListener implements
- IResourceChangeListener {
+ IResourceChangeListener {
- private CreaterepoProject project;
+ private CreaterepoProject project;
- /** Default Constructor. */
- public CreaterepoResourceChangeListener(CreaterepoProject project) {
- this.project = project;
- }
+ /** Default Constructor. */
+ public CreaterepoResourceChangeListener(CreaterepoProject project) {
+ this.project = project;
+ }
- /*
- * (non-Javadoc)
- * @see org.eclipse.core.resources.IResourceChangeListener#resourceChanged(org.eclipse.core.resources.IResourceChangeEvent)
- */
- @Override
- public void resourceChanged(IResourceChangeEvent event) {
- switch (event.getType()) {
- case IResourceChangeEvent.POST_CHANGE:
- case IResourceChangeEvent.PRE_CLOSE:
- case IResourceChangeEvent.PRE_DELETE:
- PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
- @Override
- public void run() {
- closeEditors();
- }
- });
- break;
- }
- }
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.core.resources.IResourceChangeListener#resourceChanged(org.eclipse.core.resources.IResourceChangeEvent)
+ */
+ @Override
+ public void resourceChanged(IResourceChangeEvent event) {
+ switch (event.getType()) {
+ case IResourceChangeEvent.POST_CHANGE:
+ case IResourceChangeEvent.PRE_CLOSE:
+ case IResourceChangeEvent.PRE_DELETE:
+ PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
+ @Override
+ public void run() {
+ closeEditors();
+ }
+ });
+ break;
+ }
+ }
- /**
- * Close the editors thats resource has been affected by a change in the
- * workspace. E.g. if an editor's project has been closed/deleted, close the
- * editor.
- */
- private void closeEditors() {
- IWorkbench workbench = PlatformUI.getWorkbench();
- IResource repomdFile = project.getRepoFile();
- // If the file is gone, that could mean: the project is closed, the project was
- // deleted, or the file was deleted. If so, close the editor of the file.
- if (!repomdFile.exists()) {
- for (IWorkbenchPage page : workbench.getActiveWorkbenchWindow().getPages()) {
- for (IEditorReference ref : page.getEditorReferences()) {
- try {
- // get the resource from the editor part and exit the editor if
- // it is within the project(s) being closed/deleted
- IResource resource = ResourceUtil.getResource(ref.getEditorInput());
- if (ref.getId().equals(RepoFormEditor.EDITOR_ID) &&
- resource.getProject().equals(project.getProject())) {
- page.closeEditor(ref.getEditor(false), false);
- }
- } catch (PartInitException e) {
- Activator.logError(Messages.CreaterepoResourceChangeListener_errorGettingResource, e);
- }
- }
- }
- }
- }
+ /**
+ * Close the editors thats resource has been affected by a change in the
+ * workspace. E.g. if an editor's project has been closed/deleted, close the
+ * editor.
+ */
+ private void closeEditors() {
+ IWorkbench workbench = PlatformUI.getWorkbench();
+ IResource repomdFile = project.getRepoFile();
+ // If the file is gone, that could mean: the project is closed, the project was
+ // deleted, or the file was deleted. If so, close the editor of the file.
+ if (!repomdFile.exists()) {
+ for (IWorkbenchPage page : workbench.getActiveWorkbenchWindow().getPages()) {
+ for (IEditorReference ref : page.getEditorReferences()) {
+ try {
+ // get the resource from the editor part and exit the editor if
+ // it is within the project(s) being closed/deleted
+ IResource resource = ResourceUtil.getResource(ref.getEditorInput());
+ if (ref.getId().equals(RepoFormEditor.EDITOR_ID) &&
+ resource.getProject().equals(project.getProject())) {
+ page.closeEditor(ref.getEditor(false), false);
+ }
+ } catch (PartInitException e) {
+ Activator.logError(Messages.CreaterepoResourceChangeListener_errorGettingResource, e);
+ }
+ }
+ }
+ }
+ }
}
diff --git a/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/preference/CreaterepoDeltaPropertyPage.java b/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/preference/CreaterepoDeltaPropertyPage.java
index 7f870cf828..c889a537f4 100644
--- a/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/preference/CreaterepoDeltaPropertyPage.java
+++ b/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/preference/CreaterepoDeltaPropertyPage.java
@@ -26,150 +26,150 @@ import org.eclipse.swt.widgets.Group;
*/
public class CreaterepoDeltaPropertyPage extends CreaterepoPropertyPage {
- private Composite composite;
- private BooleanFieldEditor bfeEnableDeltas;
- private Group optionsGroup;
- private IntegerFieldEditor ifeNumDeltas;
- private IntegerFieldEditor ifeMaxSizeDeltas;
-
- private Group dirGroup;
- private CreaterepoPathEditor peDirectories;
-
- /**
- * Default Constructor. Sets the description of the property page.
- */
- public CreaterepoDeltaPropertyPage() {
- super(Messages.CreaterepoDeltaPropertyPage_description);
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.linuxtools.internal.rpm.createrepo.preference.CreaterepoPropertyPage#addContents(org.eclipse.swt.widgets.Composite)
- */
- @Override
- protected Composite addContents(Composite parent) {
- composite = new Composite(parent, SWT.NONE);
- GridLayout layout = new GridLayout();
- composite.setLayout(layout);
-
- bfeEnableDeltas = new BooleanFieldEditor(
- CreaterepoPreferenceConstants.PREF_DELTA_ENABLE,
- Messages.CreaterepoDeltaPropertyPage_booleanEnableLabel, composite);
- bfeEnableDeltas.setPreferenceStore(Activator.getDefault().getPreferenceStore());
- bfeEnableDeltas.load();
- bfeEnableDeltas.setPropertyChangeListener(this);
-
- optionsGroup = new Group(composite, SWT.SHADOW_ETCHED_IN);
-
- layout = new GridLayout(2, false);
- optionsGroup.setLayout(layout);
- optionsGroup.setText(Messages.CreaterepoDeltaPropertyPage_groupLabel);
- GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER)
- .grab(true, false).applyTo(optionsGroup);
-
- // max deltas.
- ifeNumDeltas = new IntegerFieldEditor(
- CreaterepoPreferenceConstants.PREF_NUM_DELTAS,
- Messages.CreaterepoDeltaPropertyPage_maxNumberOfDeltas, optionsGroup);
- ifeNumDeltas.setPreferenceStore(preferenceStore);
- ifeNumDeltas.setValidRange(0, Integer.MAX_VALUE);
- ifeNumDeltas.load();
- ifeNumDeltas.setPropertyChangeListener(this);
- ifeNumDeltas.setTextLimit(String.valueOf(Integer.MAX_VALUE).length());
-
- // max delta size. stored in megabytes for convenience to user
- ifeMaxSizeDeltas = new IntegerFieldEditor(
- CreaterepoPreferenceConstants.PREF_MAX_DELTA_SIZE,
- Messages.CreaterepoDeltaPropertyPage_maxDeltaSize, optionsGroup);
- ifeMaxSizeDeltas.setPreferenceStore(preferenceStore);
- ifeMaxSizeDeltas.setValidRange(0, Integer.MAX_VALUE);
- ifeMaxSizeDeltas.load();
- ifeMaxSizeDeltas.setPropertyChangeListener(this);
- ifeMaxSizeDeltas.setTextLimit(String.valueOf(Integer.MAX_VALUE).length());
-
- // spaces around the group
- layout = (GridLayout) optionsGroup.getLayout();
- layout.marginWidth = 5;
- layout.marginHeight = 5;
-
- // the group for directories to package against
- dirGroup = new Group(composite, SWT.SHADOW_ETCHED_IN);
- layout = new GridLayout(2, false);
- dirGroup.setLayout(layout);
- dirGroup.setText(Messages.CreaterepoDeltaPropertyPage_groupDirectoryLabel);
- GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER)
- .grab(true, false).applyTo(dirGroup);
-
- peDirectories = new CreaterepoPathEditor(CreaterepoPreferenceConstants.PREF_OLD_PACKAGE_DIRS,
- Messages.CreaterepoDeltaPropertyPage_directoryDescription,
- Messages.CreaterepoDeltaPropertyPage_directoryDialogLabel, dirGroup);
- peDirectories.setPreferenceStore(preferenceStore);
- peDirectories.load();
- peDirectories.setPropertyChangeListener(this);
-
- layout = (GridLayout) dirGroup.getLayout();
- layout.marginWidth = 5;
- layout.marginHeight = 5;
- toggleEnabled();
- return composite;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jface.preference.PreferencePage#performDefaults()
- */
- @Override
- public void performDefaults() {
- Activator.getDefault().getPreferenceStore().setToDefault(CreaterepoPreferenceConstants.PREF_DELTA_ENABLE);
- bfeEnableDeltas.loadDefault();
- ifeNumDeltas.loadDefault();
- ifeMaxSizeDeltas.loadDefault();
- peDirectories.loadDefault();
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jface.preference.PreferencePage#performOk()
- */
- @Override
- public boolean performOk() {
- Activator.getDefault().getPreferenceStore().setValue(CreaterepoPreferenceConstants.PREF_DELTA_ENABLE,
- bfeEnableDeltas.getBooleanValue());
- getPreferenceStore().setValue(CreaterepoPreferenceConstants.PREF_NUM_DELTAS,
- ifeNumDeltas.getIntValue());
- getPreferenceStore().setValue(CreaterepoPreferenceConstants.PREF_MAX_DELTA_SIZE,
- ifeMaxSizeDeltas.getIntValue());
- peDirectories.store();
- return true;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.linuxtools.internal.rpm.createrepo.preference.CreaterepoPropertyPage#checkState()
- */
- @Override
- protected void checkState() {
- if (!ifeNumDeltas.isValid() || !ifeMaxSizeDeltas.isValid()) {
- bfeEnableDeltas.setEnabled(false, composite);
- setErrorMessage(ifeMaxSizeDeltas.getErrorMessage());
- setValid(false);
- } else {
- bfeEnableDeltas.setEnabled(true, composite);
- setErrorMessage(null);
- setValid(true);
- }
- toggleEnabled();
- }
-
- /**
- * Toggle the enabled status of the field editors dependending on the
- * enabled status of the button.
- */
- private void toggleEnabled() {
- boolean enabled = bfeEnableDeltas.getBooleanValue();
- ifeNumDeltas.setEnabled(enabled, optionsGroup);
- ifeMaxSizeDeltas.setEnabled(enabled, optionsGroup);
- peDirectories.setEnabled(enabled, dirGroup);
- }
+ private Composite composite;
+ private BooleanFieldEditor bfeEnableDeltas;
+ private Group optionsGroup;
+ private IntegerFieldEditor ifeNumDeltas;
+ private IntegerFieldEditor ifeMaxSizeDeltas;
+
+ private Group dirGroup;
+ private CreaterepoPathEditor peDirectories;
+
+ /**
+ * Default Constructor. Sets the description of the property page.
+ */
+ public CreaterepoDeltaPropertyPage() {
+ super(Messages.CreaterepoDeltaPropertyPage_description);
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.linuxtools.internal.rpm.createrepo.preference.CreaterepoPropertyPage#addContents(org.eclipse.swt.widgets.Composite)
+ */
+ @Override
+ protected Composite addContents(Composite parent) {
+ composite = new Composite(parent, SWT.NONE);
+ GridLayout layout = new GridLayout();
+ composite.setLayout(layout);
+
+ bfeEnableDeltas = new BooleanFieldEditor(
+ CreaterepoPreferenceConstants.PREF_DELTA_ENABLE,
+ Messages.CreaterepoDeltaPropertyPage_booleanEnableLabel, composite);
+ bfeEnableDeltas.setPreferenceStore(Activator.getDefault().getPreferenceStore());
+ bfeEnableDeltas.load();
+ bfeEnableDeltas.setPropertyChangeListener(this);
+
+ optionsGroup = new Group(composite, SWT.SHADOW_ETCHED_IN);
+
+ layout = new GridLayout(2, false);
+ optionsGroup.setLayout(layout);
+ optionsGroup.setText(Messages.CreaterepoDeltaPropertyPage_groupLabel);
+ GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER)
+ .grab(true, false).applyTo(optionsGroup);
+
+ // max deltas.
+ ifeNumDeltas = new IntegerFieldEditor(
+ CreaterepoPreferenceConstants.PREF_NUM_DELTAS,
+ Messages.CreaterepoDeltaPropertyPage_maxNumberOfDeltas, optionsGroup);
+ ifeNumDeltas.setPreferenceStore(preferenceStore);
+ ifeNumDeltas.setValidRange(0, Integer.MAX_VALUE);
+ ifeNumDeltas.load();
+ ifeNumDeltas.setPropertyChangeListener(this);
+ ifeNumDeltas.setTextLimit(String.valueOf(Integer.MAX_VALUE).length());
+
+ // max delta size. stored in megabytes for convenience to user
+ ifeMaxSizeDeltas = new IntegerFieldEditor(
+ CreaterepoPreferenceConstants.PREF_MAX_DELTA_SIZE,
+ Messages.CreaterepoDeltaPropertyPage_maxDeltaSize, optionsGroup);
+ ifeMaxSizeDeltas.setPreferenceStore(preferenceStore);
+ ifeMaxSizeDeltas.setValidRange(0, Integer.MAX_VALUE);
+ ifeMaxSizeDeltas.load();
+ ifeMaxSizeDeltas.setPropertyChangeListener(this);
+ ifeMaxSizeDeltas.setTextLimit(String.valueOf(Integer.MAX_VALUE).length());
+
+ // spaces around the group
+ layout = (GridLayout) optionsGroup.getLayout();
+ layout.marginWidth = 5;
+ layout.marginHeight = 5;
+
+ // the group for directories to package against
+ dirGroup = new Group(composite, SWT.SHADOW_ETCHED_IN);
+ layout = new GridLayout(2, false);
+ dirGroup.setLayout(layout);
+ dirGroup.setText(Messages.CreaterepoDeltaPropertyPage_groupDirectoryLabel);
+ GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER)
+ .grab(true, false).applyTo(dirGroup);
+
+ peDirectories = new CreaterepoPathEditor(CreaterepoPreferenceConstants.PREF_OLD_PACKAGE_DIRS,
+ Messages.CreaterepoDeltaPropertyPage_directoryDescription,
+ Messages.CreaterepoDeltaPropertyPage_directoryDialogLabel, dirGroup);
+ peDirectories.setPreferenceStore(preferenceStore);
+ peDirectories.load();
+ peDirectories.setPropertyChangeListener(this);
+
+ layout = (GridLayout) dirGroup.getLayout();
+ layout.marginWidth = 5;
+ layout.marginHeight = 5;
+ toggleEnabled();
+ return composite;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.jface.preference.PreferencePage#performDefaults()
+ */
+ @Override
+ public void performDefaults() {
+ Activator.getDefault().getPreferenceStore().setToDefault(CreaterepoPreferenceConstants.PREF_DELTA_ENABLE);
+ bfeEnableDeltas.loadDefault();
+ ifeNumDeltas.loadDefault();
+ ifeMaxSizeDeltas.loadDefault();
+ peDirectories.loadDefault();
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.jface.preference.PreferencePage#performOk()
+ */
+ @Override
+ public boolean performOk() {
+ Activator.getDefault().getPreferenceStore().setValue(CreaterepoPreferenceConstants.PREF_DELTA_ENABLE,
+ bfeEnableDeltas.getBooleanValue());
+ getPreferenceStore().setValue(CreaterepoPreferenceConstants.PREF_NUM_DELTAS,
+ ifeNumDeltas.getIntValue());
+ getPreferenceStore().setValue(CreaterepoPreferenceConstants.PREF_MAX_DELTA_SIZE,
+ ifeMaxSizeDeltas.getIntValue());
+ peDirectories.store();
+ return true;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.linuxtools.internal.rpm.createrepo.preference.CreaterepoPropertyPage#checkState()
+ */
+ @Override
+ protected void checkState() {
+ if (!ifeNumDeltas.isValid() || !ifeMaxSizeDeltas.isValid()) {
+ bfeEnableDeltas.setEnabled(false, composite);
+ setErrorMessage(ifeMaxSizeDeltas.getErrorMessage());
+ setValid(false);
+ } else {
+ bfeEnableDeltas.setEnabled(true, composite);
+ setErrorMessage(null);
+ setValid(true);
+ }
+ toggleEnabled();
+ }
+
+ /**
+ * Toggle the enabled status of the field editors dependending on the
+ * enabled status of the button.
+ */
+ private void toggleEnabled() {
+ boolean enabled = bfeEnableDeltas.getBooleanValue();
+ ifeNumDeltas.setEnabled(enabled, optionsGroup);
+ ifeMaxSizeDeltas.setEnabled(enabled, optionsGroup);
+ peDirectories.setEnabled(enabled, dirGroup);
+ }
}
diff --git a/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/preference/CreaterepoGeneralPropertyPage.java b/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/preference/CreaterepoGeneralPropertyPage.java
index 7d8cfe7db2..87f58b0caa 100644
--- a/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/preference/CreaterepoGeneralPropertyPage.java
+++ b/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/preference/CreaterepoGeneralPropertyPage.java
@@ -41,361 +41,361 @@ import org.eclipse.ui.dialogs.PreferencesUtil;
*/
public class CreaterepoGeneralPropertyPage extends CreaterepoPropertyPage {
- private static final String linkTags = "<a>{0}</a>"; //$NON-NLS-1$
-
- private Composite composite;
-
- private Button btnProjectSettings;
- private Link lnWorkspaceSettings;
-
- private Group generalGroup;
- private BooleanFieldEditor bfeIncludeChecksum;
- private BooleanFieldEditor bfeSQLDB;
- private BooleanFieldEditor bfeIgnoreSymlinks;
- private BooleanFieldEditor bfePrettyXML;
- private IntegerFieldEditor ifeSpawns;
-
- private Group updatesGroup;
- private BooleanFieldEditor bfeSameFilename;
- private Label lblCheckTs;
-
- private Group changelogGroup;
- private IntegerFieldEditor ifeChangelogLimit;
-
- private Composite checksumsContainer;
- private RadioGroupFieldEditor rgfeChecksums;
- private Composite compressContainer;
- private RadioGroupFieldEditor rgfeCompressionTypes;
-
- /**
- * Default Constructor. Sets the description of the property page.
- */
- public CreaterepoGeneralPropertyPage() {
- super(Messages.CreaterepoPreferencePage_description);
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.linuxtools.internal.rpm.createrepo.preference.CreaterepoPropertyPage#addContents(org.eclipse.swt.widgets.Composite)
- */
- @Override
- protected Composite addContents(Composite parent) {
- composite = new Composite(parent, SWT.NONE);
- GridLayout layout = new GridLayout(2, false);
- GridData layoutData = new GridData();
- composite.setLayout(layout);
-
- // TODO: use BooleanFieldEditor and get it to layout properly
- // with the link (lnWorkspaceSettings)
- btnProjectSettings = new Button(composite, SWT.CHECK);
- btnProjectSettings.addListener(SWT.Selection, new Listener() {
- @Override
- public void handleEvent(Event event) {
- toggleEnabled();
- }
- });
- layoutData = new GridData();
- layoutData.horizontalAlignment = GridData.BEGINNING;
- layoutData.horizontalAlignment = GridData.FILL;
- layoutData.grabExcessHorizontalSpace = true;
- btnProjectSettings.setText(Messages.CreaterepoGeneralPropertyPage_projectSettings);
- btnProjectSettings.setLayoutData(layoutData);
- btnProjectSettings.setSelection(Activator.getDefault().getPreferenceStore()
- .getBoolean(CreaterepoPreferenceConstants.PREF_GENERAL_ENABLED));
- btnProjectSettings.addSelectionListener(new SelectionAdapter() {
- /*
- * (non-Javadoc)
- * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
- */
- @Override
- public void widgetSelected(SelectionEvent e) {
- checkState();
- }
- });
-
- lnWorkspaceSettings = new Link(composite, SWT.NONE);
- layoutData = new GridData();
- layoutData.horizontalAlignment = SWT.END;
- lnWorkspaceSettings.setLayoutData(layoutData);
- lnWorkspaceSettings.setText(NLS.bind(linkTags, Messages.CreaterepoGeneralPropertyPage_workspaceSettings));
- lnWorkspaceSettings.setFont(parent.getFont());
- lnWorkspaceSettings.addListener(SWT.Selection, new Listener() {
- /*
- * (non-Javadoc)
- * @see org.eclipse.swt.widgets.Listener#handleEvent(org.eclipse.swt.widgets.Event)
- */
- @Override
- public void handleEvent(Event event) {
- PreferenceDialog preferenceDialog = PreferencesUtil.createPreferenceDialogOn(getShell(),
- CREATEREPO_PREFERENCE_ID, new String[] {CREATEREPO_PREFERENCE_ID}, null);
- preferenceDialog.open();
- }
- });
-
- // general group
- generalGroup = new Group(composite, SWT.SHADOW_ETCHED_IN);
- layout = new GridLayout(2, false);
- generalGroup.setLayout(layout);
- generalGroup.setText(Messages.CreaterepoPreferencePage_generalGroupLabel);
- GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER).grab(true, false).span(2,1).applyTo(generalGroup);
-
- // generate unique metadata filenames
- bfeIncludeChecksum = new BooleanFieldEditor(CreaterepoPreferenceConstants.PREF_UNIQUE_MD_NAME,
- Messages.CreaterepoPreferencePage_booleanChecksumName, generalGroup);
- bfeIncludeChecksum.fillIntoGrid(generalGroup, 2);
- bfeIncludeChecksum.setPreferenceStore(preferenceStore);
- bfeIncludeChecksum.setPropertyChangeListener(this);
- bfeIncludeChecksum.load();
-
- // generate sqlite databases
- bfeSQLDB = new BooleanFieldEditor(CreaterepoPreferenceConstants.PREF_GENERATE_DB,
- Messages.CreaterepoPreferencePage_booleanGenerateSQLDB, generalGroup);
- bfeSQLDB.fillIntoGrid(generalGroup, 2);
- bfeSQLDB.setPreferenceStore(preferenceStore);
- bfeSQLDB.setPropertyChangeListener(this);
- bfeSQLDB.load();
-
- // ignore symlinks for packages
- bfeIgnoreSymlinks = new BooleanFieldEditor(CreaterepoPreferenceConstants.PREF_IGNORE_SYMLINKS,
- Messages.CreaterepoPreferencePage_booleanIgnoreSymlinks, generalGroup);
- bfeIgnoreSymlinks.fillIntoGrid(generalGroup, 2);
- bfeIgnoreSymlinks.setPreferenceStore(preferenceStore);
- bfeIgnoreSymlinks.setPropertyChangeListener(this);
- bfeIgnoreSymlinks.load();
-
- // output files in pretty xml format
- bfePrettyXML = new BooleanFieldEditor(CreaterepoPreferenceConstants.PREF_PRETTY_XML,
- Messages.CreaterepoPreferencePage_booleanPrettyXML, generalGroup);
- bfePrettyXML.fillIntoGrid(generalGroup, 2);
- bfePrettyXML.setPreferenceStore(preferenceStore);
- bfePrettyXML.setPropertyChangeListener(this);
- bfePrettyXML.load();
-
- // number of workers
- ifeSpawns = new IntegerFieldEditor(CreaterepoPreferenceConstants.PREF_WORKERS,
- Messages.CreaterepoPreferencePage_numWorkers, generalGroup);
- ifeSpawns.fillIntoGrid(generalGroup, 2);
- // more than 128 is alot. limiting. (createrepo warning)
- ifeSpawns.setValidRange(0, 128);
- ifeSpawns.setPreferenceStore(preferenceStore);
- ifeSpawns.setPropertyChangeListener(this);
- ifeSpawns.load();
- updateGroupSpacing(generalGroup);
-
- // updates group
- updatesGroup = new Group(composite, SWT.SHADOW_ETCHED_IN);
- updatesGroup.setText(Messages.CreaterepoPreferencePage_updateGroupLabel);
- GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER).grab(true, false).span(2, 1).hint(10, SWT.DEFAULT).applyTo(updatesGroup);
-
- // don't generate repo metadata, if their timestamps are newer than its rpms
- bfeSameFilename = new BooleanFieldEditor(CreaterepoPreferenceConstants.PREF_CHECK_TS,
- Messages.CreaterepoPreferencePage_booleanCheckTS, updatesGroup);
- bfeSameFilename.fillIntoGrid(updatesGroup, 2);
- bfeSameFilename.setPreferenceStore(preferenceStore);
- bfeSameFilename.setPropertyChangeListener(this);
- bfeSameFilename.load();
-
- // note of caution
- lblCheckTs = new Label(updatesGroup, SWT.WRAP);
- lblCheckTs.setText(Messages.CreaterepoPreferencePage_checkTSNote);
- layoutData = new GridData();
- layoutData.widthHint = 130;
- layoutData.horizontalAlignment = SWT.FILL;
- layoutData.grabExcessHorizontalSpace = true;
- layoutData.horizontalIndent = 5;
- lblCheckTs.setLayoutData(layoutData);
- updateGroupSpacing(updatesGroup);
-
- // changelog group
- changelogGroup = new Group(composite, SWT.SHADOW_ETCHED_IN);
- changelogGroup.setText(Messages.CreaterepoPreferencePage_changelogGroupLabel);
- GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER).grab(true, false).span(2, 1).hint(10, SWT.DEFAULT).applyTo(changelogGroup);
-
- // don't generate repo metadata, if their timestamps are newer than its rpms
- ifeChangelogLimit = new IntegerFieldEditor(CreaterepoPreferenceConstants.PREF_CHANGELOG_LIMIT,
- Messages.CreaterepoPreferencePage_numChangelogLimit, changelogGroup);
- ifeChangelogLimit.fillIntoGrid(changelogGroup, 2);
- ifeChangelogLimit.setValidRange(0, Integer.MAX_VALUE);
- ifeChangelogLimit.setPreferenceStore(preferenceStore);
- ifeChangelogLimit.setPropertyChangeListener(this);
- ifeChangelogLimit.load();
- updateGroupSpacing(changelogGroup);
-
- checksumsContainer = new Composite(composite, SWT.NONE);
- checksumsContainer.setLayout(new GridLayout());
- GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER).indent(0, 20).grab(true, false).applyTo(checksumsContainer);
- // available checksums
- rgfeChecksums = new RadioGroupFieldEditor(CreaterepoPreferenceConstants.PREF_CHECKSUM,
- Messages.CreaterepoPreferencePage_checksumGroupLabel, 1, new String[][]{
- {ICreaterepoChecksums.SHA1, ICreaterepoChecksums.SHA1},
- {ICreaterepoChecksums.MD5, ICreaterepoChecksums.MD5},
- {ICreaterepoChecksums.SHA256, ICreaterepoChecksums.SHA256},
- {ICreaterepoChecksums.SHA512, ICreaterepoChecksums.SHA512}
- }, checksumsContainer, true);
- rgfeChecksums.setPreferenceStore(preferenceStore);
- rgfeChecksums.setPropertyChangeListener(this);
- rgfeChecksums.load();
-
- compressContainer = new Composite(composite, SWT.NONE);
- compressContainer.setLayout(new GridLayout());
- GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER).indent(0, 20).grab(true, false).applyTo(compressContainer);
- // available compression types
- rgfeCompressionTypes = new RadioGroupFieldEditor(CreaterepoPreferenceConstants.PREF_COMPRESSION_TYPE,
- Messages.CreaterepoPreferencePage_compressionGroupLabel, 1, new String[][]{
- {ICreaterepoCompressionTypes.COMPAT, ICreaterepoCompressionTypes.COMPAT},
- {ICreaterepoCompressionTypes.XZ, ICreaterepoCompressionTypes.XZ},
- {ICreaterepoCompressionTypes.GZ, ICreaterepoCompressionTypes.GZ},
- {ICreaterepoCompressionTypes.BZ2, ICreaterepoCompressionTypes.BZ2}
- }, compressContainer, true);
- rgfeCompressionTypes.setPreferenceStore(preferenceStore);
- rgfeCompressionTypes.setPropertyChangeListener(this);
- rgfeCompressionTypes.load();
-
- toggleEnabled();
-
- return composite;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jface.preference.PreferencePage#performDefaults()
- */
- @Override
- public void performDefaults() {
- // load the defaults UI
- btnProjectSettings.setSelection(Activator.getDefault().getPreferenceStore()
- .getDefaultBoolean(CreaterepoPreferenceConstants.PREF_GENERAL_ENABLED));
- bfeIncludeChecksum.loadDefault();
- bfeSQLDB.loadDefault();
- bfeIgnoreSymlinks.loadDefault();
- bfePrettyXML.loadDefault();
- ifeSpawns.loadDefault();
- rgfeChecksums.loadDefault();
- bfeSameFilename.loadDefault();
- ifeChangelogLimit.loadDefault();
- rgfeChecksums.loadDefault();
- rgfeCompressionTypes.loadDefault();
-
- // set the defaults preferences
- Activator.getDefault().getPreferenceStore().setToDefault(CreaterepoPreferenceConstants.PREF_GENERAL_ENABLED);
- getPreferenceStore().setToDefault(CreaterepoPreferenceConstants.PREF_UNIQUE_MD_NAME);
- getPreferenceStore().setToDefault(CreaterepoPreferenceConstants.PREF_GENERATE_DB);
- getPreferenceStore().setToDefault(CreaterepoPreferenceConstants.PREF_IGNORE_SYMLINKS);
- getPreferenceStore().setToDefault(CreaterepoPreferenceConstants.PREF_PRETTY_XML);
- getPreferenceStore().setToDefault(CreaterepoPreferenceConstants.PREF_WORKERS);
- getPreferenceStore().setToDefault(CreaterepoPreferenceConstants.PREF_CHECK_TS);
- getPreferenceStore().setToDefault(CreaterepoPreferenceConstants.PREF_CHANGELOG_LIMIT);
- getPreferenceStore().setToDefault(CreaterepoPreferenceConstants.PREF_CHECKSUM);
- getPreferenceStore().setToDefault(CreaterepoPreferenceConstants.PREF_COMPRESSION_TYPE);
-
- toggleEnabled();
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jface.preference.PreferencePage#performOk()
- */
- @Override
- public boolean performOk() {
- // only save when using project specific settings
- if (btnProjectSettings.getSelection()) {
- Activator.getDefault().getPreferenceStore().setValue(CreaterepoPreferenceConstants.PREF_GENERAL_ENABLED,
- true);
- getPreferenceStore().setValue(CreaterepoPreferenceConstants.PREF_UNIQUE_MD_NAME,
- bfeIncludeChecksum.getBooleanValue());
- getPreferenceStore().setValue(CreaterepoPreferenceConstants.PREF_GENERATE_DB,
- bfeSQLDB.getBooleanValue());
- getPreferenceStore().setValue(CreaterepoPreferenceConstants.PREF_IGNORE_SYMLINKS,
- bfeIgnoreSymlinks.getBooleanValue());
- getPreferenceStore().setValue(CreaterepoPreferenceConstants.PREF_PRETTY_XML,
- bfePrettyXML.getBooleanValue());
- getPreferenceStore().setValue(CreaterepoPreferenceConstants.PREF_WORKERS,
- ifeSpawns.getIntValue());
- getPreferenceStore().setValue(CreaterepoPreferenceConstants.PREF_CHECK_TS,
- bfeSameFilename.getBooleanValue());
- getPreferenceStore().setValue(CreaterepoPreferenceConstants.PREF_CHANGELOG_LIMIT,
- ifeChangelogLimit.getIntValue());
-
- getPreferenceStore().setValue(CreaterepoPreferenceConstants.PREF_CHECKSUM,
- getSelectedRadioButton(rgfeChecksums.getRadioBoxControl(checksumsContainer),
- rgfeChecksums.getPreferenceName()));
- getPreferenceStore().setValue(CreaterepoPreferenceConstants.PREF_COMPRESSION_TYPE,
- getSelectedRadioButton(rgfeCompressionTypes.getRadioBoxControl(compressContainer),
- rgfeCompressionTypes.getPreferenceName()));
- } else {
- Activator.getDefault().getPreferenceStore().setValue(CreaterepoPreferenceConstants.PREF_GENERAL_ENABLED,
- false);
- }
- return true;
- }
-
- /**
- * Helper method to get the selected radio button from the radio button list.
- * The default value of the preference key will be returned if nothing was found to be
- * selected.
- *
- * @param radioBoxControl The radio button list.
- * @param preferenceKey The preference key to get the default from.
- * @return The selected radio button or the default value if nothing selected.
- */
- private String getSelectedRadioButton(Composite radioBoxControl, String preferenceKey) {
- String defaultValue = getPreferenceStore().getDefaultString(preferenceKey);
- Control[] children = radioBoxControl.getChildren();
- if (children.length > 0) {
- for (Control control : children) {
- Button radioButton = (Button) control;
- if (radioButton.getSelection()) {
- return radioButton.getText();
- }
- }
- }
- return defaultValue;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.linuxtools.internal.rpm.createrepo.preference.CreaterepoPropertyPage#checkState()
- */
- @Override
- protected void checkState() {
- // if enable project specific settings is false, then allow performOk
- if (!btnProjectSettings.getSelection()) {
- setErrorMessage(null);
- setValid(true);
- // if the spawns are invalid, disable performOk
- } else if (!ifeSpawns.isValid()) {
- setErrorMessage(ifeSpawns.getErrorMessage());
- setValid(false);
- } else if (!ifeChangelogLimit.isValid()) {
- setErrorMessage(ifeChangelogLimit.getErrorMessage());
- setValid(false);
- // otherwise, allow performOk
- } else {
- setErrorMessage(null);
- setValid(true);
- }
- toggleEnabled();
- }
-
- /**
- * If "Enable project specific settings" is true, so will
- * the options below it. The workspace settings link will be opposite
- * to what value the checkbox is.
- */
- private void toggleEnabled() {
- boolean enabled = btnProjectSettings.getSelection();
- lnWorkspaceSettings.setEnabled(!enabled);
- bfeIncludeChecksum.setEnabled(enabled, generalGroup);
- bfeSQLDB.setEnabled(enabled, generalGroup);
- bfeIgnoreSymlinks.setEnabled(enabled, generalGroup);
- bfePrettyXML.setEnabled(enabled, generalGroup);
- ifeSpawns.setEnabled(enabled, generalGroup);
- rgfeChecksums.setEnabled(enabled, generalGroup);
- bfeSameFilename.setEnabled(enabled, updatesGroup);
- ifeChangelogLimit.setEnabled(enabled, changelogGroup);
- rgfeChecksums.setEnabled(enabled, checksumsContainer);
- rgfeCompressionTypes.setEnabled(enabled, compressContainer);
- lblCheckTs.setEnabled(enabled);
- }
+ private static final String linkTags = "<a>{0}</a>"; //$NON-NLS-1$
+
+ private Composite composite;
+
+ private Button btnProjectSettings;
+ private Link lnWorkspaceSettings;
+
+ private Group generalGroup;
+ private BooleanFieldEditor bfeIncludeChecksum;
+ private BooleanFieldEditor bfeSQLDB;
+ private BooleanFieldEditor bfeIgnoreSymlinks;
+ private BooleanFieldEditor bfePrettyXML;
+ private IntegerFieldEditor ifeSpawns;
+
+ private Group updatesGroup;
+ private BooleanFieldEditor bfeSameFilename;
+ private Label lblCheckTs;
+
+ private Group changelogGroup;
+ private IntegerFieldEditor ifeChangelogLimit;
+
+ private Composite checksumsContainer;
+ private RadioGroupFieldEditor rgfeChecksums;
+ private Composite compressContainer;
+ private RadioGroupFieldEditor rgfeCompressionTypes;
+
+ /**
+ * Default Constructor. Sets the description of the property page.
+ */
+ public CreaterepoGeneralPropertyPage() {
+ super(Messages.CreaterepoPreferencePage_description);
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.linuxtools.internal.rpm.createrepo.preference.CreaterepoPropertyPage#addContents(org.eclipse.swt.widgets.Composite)
+ */
+ @Override
+ protected Composite addContents(Composite parent) {
+ composite = new Composite(parent, SWT.NONE);
+ GridLayout layout = new GridLayout(2, false);
+ GridData layoutData = new GridData();
+ composite.setLayout(layout);
+
+ // TODO: use BooleanFieldEditor and get it to layout properly
+ // with the link (lnWorkspaceSettings)
+ btnProjectSettings = new Button(composite, SWT.CHECK);
+ btnProjectSettings.addListener(SWT.Selection, new Listener() {
+ @Override
+ public void handleEvent(Event event) {
+ toggleEnabled();
+ }
+ });
+ layoutData = new GridData();
+ layoutData.horizontalAlignment = GridData.BEGINNING;
+ layoutData.horizontalAlignment = GridData.FILL;
+ layoutData.grabExcessHorizontalSpace = true;
+ btnProjectSettings.setText(Messages.CreaterepoGeneralPropertyPage_projectSettings);
+ btnProjectSettings.setLayoutData(layoutData);
+ btnProjectSettings.setSelection(Activator.getDefault().getPreferenceStore()
+ .getBoolean(CreaterepoPreferenceConstants.PREF_GENERAL_ENABLED));
+ btnProjectSettings.addSelectionListener(new SelectionAdapter() {
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
+ */
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ checkState();
+ }
+ });
+
+ lnWorkspaceSettings = new Link(composite, SWT.NONE);
+ layoutData = new GridData();
+ layoutData.horizontalAlignment = SWT.END;
+ lnWorkspaceSettings.setLayoutData(layoutData);
+ lnWorkspaceSettings.setText(NLS.bind(linkTags, Messages.CreaterepoGeneralPropertyPage_workspaceSettings));
+ lnWorkspaceSettings.setFont(parent.getFont());
+ lnWorkspaceSettings.addListener(SWT.Selection, new Listener() {
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.swt.widgets.Listener#handleEvent(org.eclipse.swt.widgets.Event)
+ */
+ @Override
+ public void handleEvent(Event event) {
+ PreferenceDialog preferenceDialog = PreferencesUtil.createPreferenceDialogOn(getShell(),
+ CREATEREPO_PREFERENCE_ID, new String[] {CREATEREPO_PREFERENCE_ID}, null);
+ preferenceDialog.open();
+ }
+ });
+
+ // general group
+ generalGroup = new Group(composite, SWT.SHADOW_ETCHED_IN);
+ layout = new GridLayout(2, false);
+ generalGroup.setLayout(layout);
+ generalGroup.setText(Messages.CreaterepoPreferencePage_generalGroupLabel);
+ GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER).grab(true, false).span(2,1).applyTo(generalGroup);
+
+ // generate unique metadata filenames
+ bfeIncludeChecksum = new BooleanFieldEditor(CreaterepoPreferenceConstants.PREF_UNIQUE_MD_NAME,
+ Messages.CreaterepoPreferencePage_booleanChecksumName, generalGroup);
+ bfeIncludeChecksum.fillIntoGrid(generalGroup, 2);
+ bfeIncludeChecksum.setPreferenceStore(preferenceStore);
+ bfeIncludeChecksum.setPropertyChangeListener(this);
+ bfeIncludeChecksum.load();
+
+ // generate sqlite databases
+ bfeSQLDB = new BooleanFieldEditor(CreaterepoPreferenceConstants.PREF_GENERATE_DB,
+ Messages.CreaterepoPreferencePage_booleanGenerateSQLDB, generalGroup);
+ bfeSQLDB.fillIntoGrid(generalGroup, 2);
+ bfeSQLDB.setPreferenceStore(preferenceStore);
+ bfeSQLDB.setPropertyChangeListener(this);
+ bfeSQLDB.load();
+
+ // ignore symlinks for packages
+ bfeIgnoreSymlinks = new BooleanFieldEditor(CreaterepoPreferenceConstants.PREF_IGNORE_SYMLINKS,
+ Messages.CreaterepoPreferencePage_booleanIgnoreSymlinks, generalGroup);
+ bfeIgnoreSymlinks.fillIntoGrid(generalGroup, 2);
+ bfeIgnoreSymlinks.setPreferenceStore(preferenceStore);
+ bfeIgnoreSymlinks.setPropertyChangeListener(this);
+ bfeIgnoreSymlinks.load();
+
+ // output files in pretty xml format
+ bfePrettyXML = new BooleanFieldEditor(CreaterepoPreferenceConstants.PREF_PRETTY_XML,
+ Messages.CreaterepoPreferencePage_booleanPrettyXML, generalGroup);
+ bfePrettyXML.fillIntoGrid(generalGroup, 2);
+ bfePrettyXML.setPreferenceStore(preferenceStore);
+ bfePrettyXML.setPropertyChangeListener(this);
+ bfePrettyXML.load();
+
+ // number of workers
+ ifeSpawns = new IntegerFieldEditor(CreaterepoPreferenceConstants.PREF_WORKERS,
+ Messages.CreaterepoPreferencePage_numWorkers, generalGroup);
+ ifeSpawns.fillIntoGrid(generalGroup, 2);
+ // more than 128 is alot. limiting. (createrepo warning)
+ ifeSpawns.setValidRange(0, 128);
+ ifeSpawns.setPreferenceStore(preferenceStore);
+ ifeSpawns.setPropertyChangeListener(this);
+ ifeSpawns.load();
+ updateGroupSpacing(generalGroup);
+
+ // updates group
+ updatesGroup = new Group(composite, SWT.SHADOW_ETCHED_IN);
+ updatesGroup.setText(Messages.CreaterepoPreferencePage_updateGroupLabel);
+ GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER).grab(true, false).span(2, 1).hint(10, SWT.DEFAULT).applyTo(updatesGroup);
+
+ // don't generate repo metadata, if their timestamps are newer than its rpms
+ bfeSameFilename = new BooleanFieldEditor(CreaterepoPreferenceConstants.PREF_CHECK_TS,
+ Messages.CreaterepoPreferencePage_booleanCheckTS, updatesGroup);
+ bfeSameFilename.fillIntoGrid(updatesGroup, 2);
+ bfeSameFilename.setPreferenceStore(preferenceStore);
+ bfeSameFilename.setPropertyChangeListener(this);
+ bfeSameFilename.load();
+
+ // note of caution
+ lblCheckTs = new Label(updatesGroup, SWT.WRAP);
+ lblCheckTs.setText(Messages.CreaterepoPreferencePage_checkTSNote);
+ layoutData = new GridData();
+ layoutData.widthHint = 130;
+ layoutData.horizontalAlignment = SWT.FILL;
+ layoutData.grabExcessHorizontalSpace = true;
+ layoutData.horizontalIndent = 5;
+ lblCheckTs.setLayoutData(layoutData);
+ updateGroupSpacing(updatesGroup);
+
+ // changelog group
+ changelogGroup = new Group(composite, SWT.SHADOW_ETCHED_IN);
+ changelogGroup.setText(Messages.CreaterepoPreferencePage_changelogGroupLabel);
+ GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER).grab(true, false).span(2, 1).hint(10, SWT.DEFAULT).applyTo(changelogGroup);
+
+ // don't generate repo metadata, if their timestamps are newer than its rpms
+ ifeChangelogLimit = new IntegerFieldEditor(CreaterepoPreferenceConstants.PREF_CHANGELOG_LIMIT,
+ Messages.CreaterepoPreferencePage_numChangelogLimit, changelogGroup);
+ ifeChangelogLimit.fillIntoGrid(changelogGroup, 2);
+ ifeChangelogLimit.setValidRange(0, Integer.MAX_VALUE);
+ ifeChangelogLimit.setPreferenceStore(preferenceStore);
+ ifeChangelogLimit.setPropertyChangeListener(this);
+ ifeChangelogLimit.load();
+ updateGroupSpacing(changelogGroup);
+
+ checksumsContainer = new Composite(composite, SWT.NONE);
+ checksumsContainer.setLayout(new GridLayout());
+ GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER).indent(0, 20).grab(true, false).applyTo(checksumsContainer);
+ // available checksums
+ rgfeChecksums = new RadioGroupFieldEditor(CreaterepoPreferenceConstants.PREF_CHECKSUM,
+ Messages.CreaterepoPreferencePage_checksumGroupLabel, 1, new String[][]{
+ {ICreaterepoChecksums.SHA1, ICreaterepoChecksums.SHA1},
+ {ICreaterepoChecksums.MD5, ICreaterepoChecksums.MD5},
+ {ICreaterepoChecksums.SHA256, ICreaterepoChecksums.SHA256},
+ {ICreaterepoChecksums.SHA512, ICreaterepoChecksums.SHA512}
+ }, checksumsContainer, true);
+ rgfeChecksums.setPreferenceStore(preferenceStore);
+ rgfeChecksums.setPropertyChangeListener(this);
+ rgfeChecksums.load();
+
+ compressContainer = new Composite(composite, SWT.NONE);
+ compressContainer.setLayout(new GridLayout());
+ GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER).indent(0, 20).grab(true, false).applyTo(compressContainer);
+ // available compression types
+ rgfeCompressionTypes = new RadioGroupFieldEditor(CreaterepoPreferenceConstants.PREF_COMPRESSION_TYPE,
+ Messages.CreaterepoPreferencePage_compressionGroupLabel, 1, new String[][]{
+ {ICreaterepoCompressionTypes.COMPAT, ICreaterepoCompressionTypes.COMPAT},
+ {ICreaterepoCompressionTypes.XZ, ICreaterepoCompressionTypes.XZ},
+ {ICreaterepoCompressionTypes.GZ, ICreaterepoCompressionTypes.GZ},
+ {ICreaterepoCompressionTypes.BZ2, ICreaterepoCompressionTypes.BZ2}
+ }, compressContainer, true);
+ rgfeCompressionTypes.setPreferenceStore(preferenceStore);
+ rgfeCompressionTypes.setPropertyChangeListener(this);
+ rgfeCompressionTypes.load();
+
+ toggleEnabled();
+
+ return composite;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.jface.preference.PreferencePage#performDefaults()
+ */
+ @Override
+ public void performDefaults() {
+ // load the defaults UI
+ btnProjectSettings.setSelection(Activator.getDefault().getPreferenceStore()
+ .getDefaultBoolean(CreaterepoPreferenceConstants.PREF_GENERAL_ENABLED));
+ bfeIncludeChecksum.loadDefault();
+ bfeSQLDB.loadDefault();
+ bfeIgnoreSymlinks.loadDefault();
+ bfePrettyXML.loadDefault();
+ ifeSpawns.loadDefault();
+ rgfeChecksums.loadDefault();
+ bfeSameFilename.loadDefault();
+ ifeChangelogLimit.loadDefault();
+ rgfeChecksums.loadDefault();
+ rgfeCompressionTypes.loadDefault();
+
+ // set the defaults preferences
+ Activator.getDefault().getPreferenceStore().setToDefault(CreaterepoPreferenceConstants.PREF_GENERAL_ENABLED);
+ getPreferenceStore().setToDefault(CreaterepoPreferenceConstants.PREF_UNIQUE_MD_NAME);
+ getPreferenceStore().setToDefault(CreaterepoPreferenceConstants.PREF_GENERATE_DB);
+ getPreferenceStore().setToDefault(CreaterepoPreferenceConstants.PREF_IGNORE_SYMLINKS);
+ getPreferenceStore().setToDefault(CreaterepoPreferenceConstants.PREF_PRETTY_XML);
+ getPreferenceStore().setToDefault(CreaterepoPreferenceConstants.PREF_WORKERS);
+ getPreferenceStore().setToDefault(CreaterepoPreferenceConstants.PREF_CHECK_TS);
+ getPreferenceStore().setToDefault(CreaterepoPreferenceConstants.PREF_CHANGELOG_LIMIT);
+ getPreferenceStore().setToDefault(CreaterepoPreferenceConstants.PREF_CHECKSUM);
+ getPreferenceStore().setToDefault(CreaterepoPreferenceConstants.PREF_COMPRESSION_TYPE);
+
+ toggleEnabled();
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.jface.preference.PreferencePage#performOk()
+ */
+ @Override
+ public boolean performOk() {
+ // only save when using project specific settings
+ if (btnProjectSettings.getSelection()) {
+ Activator.getDefault().getPreferenceStore().setValue(CreaterepoPreferenceConstants.PREF_GENERAL_ENABLED,
+ true);
+ getPreferenceStore().setValue(CreaterepoPreferenceConstants.PREF_UNIQUE_MD_NAME,
+ bfeIncludeChecksum.getBooleanValue());
+ getPreferenceStore().setValue(CreaterepoPreferenceConstants.PREF_GENERATE_DB,
+ bfeSQLDB.getBooleanValue());
+ getPreferenceStore().setValue(CreaterepoPreferenceConstants.PREF_IGNORE_SYMLINKS,
+ bfeIgnoreSymlinks.getBooleanValue());
+ getPreferenceStore().setValue(CreaterepoPreferenceConstants.PREF_PRETTY_XML,
+ bfePrettyXML.getBooleanValue());
+ getPreferenceStore().setValue(CreaterepoPreferenceConstants.PREF_WORKERS,
+ ifeSpawns.getIntValue());
+ getPreferenceStore().setValue(CreaterepoPreferenceConstants.PREF_CHECK_TS,
+ bfeSameFilename.getBooleanValue());
+ getPreferenceStore().setValue(CreaterepoPreferenceConstants.PREF_CHANGELOG_LIMIT,
+ ifeChangelogLimit.getIntValue());
+
+ getPreferenceStore().setValue(CreaterepoPreferenceConstants.PREF_CHECKSUM,
+ getSelectedRadioButton(rgfeChecksums.getRadioBoxControl(checksumsContainer),
+ rgfeChecksums.getPreferenceName()));
+ getPreferenceStore().setValue(CreaterepoPreferenceConstants.PREF_COMPRESSION_TYPE,
+ getSelectedRadioButton(rgfeCompressionTypes.getRadioBoxControl(compressContainer),
+ rgfeCompressionTypes.getPreferenceName()));
+ } else {
+ Activator.getDefault().getPreferenceStore().setValue(CreaterepoPreferenceConstants.PREF_GENERAL_ENABLED,
+ false);
+ }
+ return true;
+ }
+
+ /**
+ * Helper method to get the selected radio button from the radio button list.
+ * The default value of the preference key will be returned if nothing was found to be
+ * selected.
+ *
+ * @param radioBoxControl The radio button list.
+ * @param preferenceKey The preference key to get the default from.
+ * @return The selected radio button or the default value if nothing selected.
+ */
+ private String getSelectedRadioButton(Composite radioBoxControl, String preferenceKey) {
+ String defaultValue = getPreferenceStore().getDefaultString(preferenceKey);
+ Control[] children = radioBoxControl.getChildren();
+ if (children.length > 0) {
+ for (Control control : children) {
+ Button radioButton = (Button) control;
+ if (radioButton.getSelection()) {
+ return radioButton.getText();
+ }
+ }
+ }
+ return defaultValue;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.linuxtools.internal.rpm.createrepo.preference.CreaterepoPropertyPage#checkState()
+ */
+ @Override
+ protected void checkState() {
+ // if enable project specific settings is false, then allow performOk
+ if (!btnProjectSettings.getSelection()) {
+ setErrorMessage(null);
+ setValid(true);
+ // if the spawns are invalid, disable performOk
+ } else if (!ifeSpawns.isValid()) {
+ setErrorMessage(ifeSpawns.getErrorMessage());
+ setValid(false);
+ } else if (!ifeChangelogLimit.isValid()) {
+ setErrorMessage(ifeChangelogLimit.getErrorMessage());
+ setValid(false);
+ // otherwise, allow performOk
+ } else {
+ setErrorMessage(null);
+ setValid(true);
+ }
+ toggleEnabled();
+ }
+
+ /**
+ * If "Enable project specific settings" is true, so will
+ * the options below it. The workspace settings link will be opposite
+ * to what value the checkbox is.
+ */
+ private void toggleEnabled() {
+ boolean enabled = btnProjectSettings.getSelection();
+ lnWorkspaceSettings.setEnabled(!enabled);
+ bfeIncludeChecksum.setEnabled(enabled, generalGroup);
+ bfeSQLDB.setEnabled(enabled, generalGroup);
+ bfeIgnoreSymlinks.setEnabled(enabled, generalGroup);
+ bfePrettyXML.setEnabled(enabled, generalGroup);
+ ifeSpawns.setEnabled(enabled, generalGroup);
+ rgfeChecksums.setEnabled(enabled, generalGroup);
+ bfeSameFilename.setEnabled(enabled, updatesGroup);
+ ifeChangelogLimit.setEnabled(enabled, changelogGroup);
+ rgfeChecksums.setEnabled(enabled, checksumsContainer);
+ rgfeCompressionTypes.setEnabled(enabled, compressContainer);
+ lblCheckTs.setEnabled(enabled);
+ }
}
diff --git a/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/preference/CreaterepoPathEditor.java b/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/preference/CreaterepoPathEditor.java
index 2aa4643e9d..83eb035091 100644
--- a/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/preference/CreaterepoPathEditor.java
+++ b/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/preference/CreaterepoPathEditor.java
@@ -20,45 +20,45 @@ import org.eclipse.swt.widgets.Composite;
*/
public class CreaterepoPathEditor extends PathEditor {
- /**
- * Default Constructor.
- *
- * @param name The name of the preference to save in.
- * @param labelText The description label.
- * @param dirChooserLabelText The label shown at the bottom of the directory dialog.
- * @param parent The parent composite this PathEditor belongs to.
- */
- public CreaterepoPathEditor(String name, String labelText, String dirChooserLabelText, Composite parent) {
- super(name, labelText, dirChooserLabelText, parent);
- }
+ /**
+ * Default Constructor.
+ *
+ * @param name The name of the preference to save in.
+ * @param labelText The description label.
+ * @param dirChooserLabelText The label shown at the bottom of the directory dialog.
+ * @param parent The parent composite this PathEditor belongs to.
+ */
+ public CreaterepoPathEditor(String name, String labelText, String dirChooserLabelText, Composite parent) {
+ super(name, labelText, dirChooserLabelText, parent);
+ }
- /*
- * (non-Javadoc)
- * @see org.eclipse.jface.preference.PathEditor#createList(java.lang.String[])
- */
- @Override
- protected String createList(String[] items) {
- String preferenceValue = ICreaterepoConstants.EMPTY_STRING;
- if (items.length > 0) {
- for (String str : items) {
- preferenceValue = preferenceValue.concat(str + ICreaterepoConstants.DELIMITER);
- }
- // remove hanging delimiter
- preferenceValue = preferenceValue.substring(0, preferenceValue.length()-1);
- }
- return preferenceValue;
- }
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.jface.preference.PathEditor#createList(java.lang.String[])
+ */
+ @Override
+ protected String createList(String[] items) {
+ String preferenceValue = ICreaterepoConstants.EMPTY_STRING;
+ if (items.length > 0) {
+ for (String str : items) {
+ preferenceValue = preferenceValue.concat(str + ICreaterepoConstants.DELIMITER);
+ }
+ // remove hanging delimiter
+ preferenceValue = preferenceValue.substring(0, preferenceValue.length()-1);
+ }
+ return preferenceValue;
+ }
- /*
- * (non-Javadoc)
- * @see org.eclipse.jface.preference.PathEditor#parseString(java.lang.String)
- */
- @Override
- protected String[] parseString(String stringList) {
- if (!stringList.isEmpty()) {
- return stringList.split(ICreaterepoConstants.DELIMITER);
- }
- return new String[]{};
- }
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.jface.preference.PathEditor#parseString(java.lang.String)
+ */
+ @Override
+ protected String[] parseString(String stringList) {
+ if (!stringList.isEmpty()) {
+ return stringList.split(ICreaterepoConstants.DELIMITER);
+ }
+ return new String[]{};
+ }
}
diff --git a/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/preference/CreaterepoPreferenceInitializer.java b/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/preference/CreaterepoPreferenceInitializer.java
index 2420098df8..eb424ad73c 100644
--- a/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/preference/CreaterepoPreferenceInitializer.java
+++ b/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/preference/CreaterepoPreferenceInitializer.java
@@ -21,48 +21,48 @@ import org.eclipse.linuxtools.internal.rpm.createrepo.CreaterepoPreferenceConsta
* Initialize the default preferences.
*/
public class CreaterepoPreferenceInitializer extends
- AbstractPreferenceInitializer {
+ AbstractPreferenceInitializer {
- /*
- * (non-Javadoc)
- * @see org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer#initializeDefaultPreferences()
- */
- @Override
- public void initializeDefaultPreferences() {
- // initial preferences
- IEclipsePreferences node = DefaultScope.INSTANCE.getNode(Activator.PLUGIN_ID);
- // CreaterepoPreferencePage
- node.putBoolean(CreaterepoPreferenceConstants.PREF_UNIQUE_MD_NAME, CreaterepoPreferenceConstants.DEFAULT_UNIQUE_MD_NAME);
- node.putBoolean(CreaterepoPreferenceConstants.PREF_GENERATE_DB, CreaterepoPreferenceConstants.DEFAULT_GENERATE_DB);
- node.putBoolean(CreaterepoPreferenceConstants.PREF_IGNORE_SYMLINKS, CreaterepoPreferenceConstants.DEFAULT_IGNORE_SYMLINKS);
- node.putBoolean(CreaterepoPreferenceConstants.PREF_PRETTY_XML, CreaterepoPreferenceConstants.DEFAULT_PRETTY);
- node.putInt(CreaterepoPreferenceConstants.PREF_WORKERS, CreaterepoPreferenceConstants.DEFAULT_NUM_WORKERS);
- node.putBoolean(CreaterepoPreferenceConstants.PREF_CHECK_TS, CreaterepoPreferenceConstants.DEFAULT_CHECK_TS);
- node.putInt(CreaterepoPreferenceConstants.PREF_CHANGELOG_LIMIT, CreaterepoPreferenceConstants.DEFAULT_CHANGELOG_LIMIT);
- node.put(CreaterepoPreferenceConstants.PREF_CHECKSUM, CreaterepoPreferenceConstants.DEFAULT_CHECKSUM);
- node.put(CreaterepoPreferenceConstants.PREF_COMPRESSION_TYPE, CreaterepoPreferenceConstants.DEFAULT_COMPRESS_TYPE);
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer#initializeDefaultPreferences()
+ */
+ @Override
+ public void initializeDefaultPreferences() {
+ // initial preferences
+ IEclipsePreferences node = DefaultScope.INSTANCE.getNode(Activator.PLUGIN_ID);
+ // CreaterepoPreferencePage
+ node.putBoolean(CreaterepoPreferenceConstants.PREF_UNIQUE_MD_NAME, CreaterepoPreferenceConstants.DEFAULT_UNIQUE_MD_NAME);
+ node.putBoolean(CreaterepoPreferenceConstants.PREF_GENERATE_DB, CreaterepoPreferenceConstants.DEFAULT_GENERATE_DB);
+ node.putBoolean(CreaterepoPreferenceConstants.PREF_IGNORE_SYMLINKS, CreaterepoPreferenceConstants.DEFAULT_IGNORE_SYMLINKS);
+ node.putBoolean(CreaterepoPreferenceConstants.PREF_PRETTY_XML, CreaterepoPreferenceConstants.DEFAULT_PRETTY);
+ node.putInt(CreaterepoPreferenceConstants.PREF_WORKERS, CreaterepoPreferenceConstants.DEFAULT_NUM_WORKERS);
+ node.putBoolean(CreaterepoPreferenceConstants.PREF_CHECK_TS, CreaterepoPreferenceConstants.DEFAULT_CHECK_TS);
+ node.putInt(CreaterepoPreferenceConstants.PREF_CHANGELOG_LIMIT, CreaterepoPreferenceConstants.DEFAULT_CHANGELOG_LIMIT);
+ node.put(CreaterepoPreferenceConstants.PREF_CHECKSUM, CreaterepoPreferenceConstants.DEFAULT_CHECKSUM);
+ node.put(CreaterepoPreferenceConstants.PREF_COMPRESSION_TYPE, CreaterepoPreferenceConstants.DEFAULT_COMPRESS_TYPE);
- // default preferences
- IPreferenceStore prefStore = Activator.getDefault().getPreferenceStore();
- // CreaterepoPreferencePage
- prefStore.setDefault(CreaterepoPreferenceConstants.PREF_UNIQUE_MD_NAME, CreaterepoPreferenceConstants.DEFAULT_UNIQUE_MD_NAME);
- prefStore.setDefault(CreaterepoPreferenceConstants.PREF_GENERATE_DB, CreaterepoPreferenceConstants.DEFAULT_GENERATE_DB);
- prefStore.setDefault(CreaterepoPreferenceConstants.PREF_IGNORE_SYMLINKS, CreaterepoPreferenceConstants.DEFAULT_IGNORE_SYMLINKS);
- prefStore.setDefault(CreaterepoPreferenceConstants.PREF_PRETTY_XML, CreaterepoPreferenceConstants.DEFAULT_PRETTY);
- prefStore.setDefault(CreaterepoPreferenceConstants.PREF_WORKERS, CreaterepoPreferenceConstants.DEFAULT_NUM_WORKERS);
- prefStore.setDefault(CreaterepoPreferenceConstants.PREF_CHECK_TS, CreaterepoPreferenceConstants.DEFAULT_CHECK_TS);
- prefStore.setDefault(CreaterepoPreferenceConstants.PREF_CHANGELOG_LIMIT, CreaterepoPreferenceConstants.DEFAULT_CHANGELOG_LIMIT);
- prefStore.setDefault(CreaterepoPreferenceConstants.PREF_CHECKSUM, CreaterepoPreferenceConstants.DEFAULT_CHECKSUM);
- prefStore.setDefault(CreaterepoPreferenceConstants.PREF_COMPRESSION_TYPE, CreaterepoPreferenceConstants.DEFAULT_COMPRESS_TYPE);
+ // default preferences
+ IPreferenceStore prefStore = Activator.getDefault().getPreferenceStore();
+ // CreaterepoPreferencePage
+ prefStore.setDefault(CreaterepoPreferenceConstants.PREF_UNIQUE_MD_NAME, CreaterepoPreferenceConstants.DEFAULT_UNIQUE_MD_NAME);
+ prefStore.setDefault(CreaterepoPreferenceConstants.PREF_GENERATE_DB, CreaterepoPreferenceConstants.DEFAULT_GENERATE_DB);
+ prefStore.setDefault(CreaterepoPreferenceConstants.PREF_IGNORE_SYMLINKS, CreaterepoPreferenceConstants.DEFAULT_IGNORE_SYMLINKS);
+ prefStore.setDefault(CreaterepoPreferenceConstants.PREF_PRETTY_XML, CreaterepoPreferenceConstants.DEFAULT_PRETTY);
+ prefStore.setDefault(CreaterepoPreferenceConstants.PREF_WORKERS, CreaterepoPreferenceConstants.DEFAULT_NUM_WORKERS);
+ prefStore.setDefault(CreaterepoPreferenceConstants.PREF_CHECK_TS, CreaterepoPreferenceConstants.DEFAULT_CHECK_TS);
+ prefStore.setDefault(CreaterepoPreferenceConstants.PREF_CHANGELOG_LIMIT, CreaterepoPreferenceConstants.DEFAULT_CHANGELOG_LIMIT);
+ prefStore.setDefault(CreaterepoPreferenceConstants.PREF_CHECKSUM, CreaterepoPreferenceConstants.DEFAULT_CHECKSUM);
+ prefStore.setDefault(CreaterepoPreferenceConstants.PREF_COMPRESSION_TYPE, CreaterepoPreferenceConstants.DEFAULT_COMPRESS_TYPE);
- // CreaterepoGeneralPropertyPage
- prefStore.setDefault(CreaterepoPreferenceConstants.PREF_GENERAL_ENABLED, CreaterepoPreferenceConstants.DEFAULT_GENERAL_ENABLED);
+ // CreaterepoGeneralPropertyPage
+ prefStore.setDefault(CreaterepoPreferenceConstants.PREF_GENERAL_ENABLED, CreaterepoPreferenceConstants.DEFAULT_GENERAL_ENABLED);
- // CreaterepoDeltaPropertyPage
- prefStore.setDefault(CreaterepoPreferenceConstants.PREF_DELTA_ENABLE, CreaterepoPreferenceConstants.DEFAULT_DELTA_ENABLE);
- prefStore.setDefault(CreaterepoPreferenceConstants.PREF_NUM_DELTAS, CreaterepoPreferenceConstants.DEFAULT_NUM_DELTAS);
- prefStore.setDefault(CreaterepoPreferenceConstants.PREF_MAX_DELTA_SIZE, CreaterepoPreferenceConstants.DEFAULT_MAX_DELTA_SIZE);
- prefStore.setDefault(CreaterepoPreferenceConstants.PREF_OLD_PACKAGE_DIRS, CreaterepoPreferenceConstants.DEFAULT_OLD_PACKAGE_DIR_LIST);
- }
+ // CreaterepoDeltaPropertyPage
+ prefStore.setDefault(CreaterepoPreferenceConstants.PREF_DELTA_ENABLE, CreaterepoPreferenceConstants.DEFAULT_DELTA_ENABLE);
+ prefStore.setDefault(CreaterepoPreferenceConstants.PREF_NUM_DELTAS, CreaterepoPreferenceConstants.DEFAULT_NUM_DELTAS);
+ prefStore.setDefault(CreaterepoPreferenceConstants.PREF_MAX_DELTA_SIZE, CreaterepoPreferenceConstants.DEFAULT_MAX_DELTA_SIZE);
+ prefStore.setDefault(CreaterepoPreferenceConstants.PREF_OLD_PACKAGE_DIRS, CreaterepoPreferenceConstants.DEFAULT_OLD_PACKAGE_DIR_LIST);
+ }
}
diff --git a/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/preference/CreaterepoPreferencePage.java b/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/preference/CreaterepoPreferencePage.java
index bffda71ea4..0c243dcd03 100644
--- a/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/preference/CreaterepoPreferencePage.java
+++ b/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/preference/CreaterepoPreferencePage.java
@@ -38,179 +38,179 @@ import org.eclipse.ui.preferences.ScopedPreferenceStore;
* executing the createrepo command.
*/
public class CreaterepoPreferencePage extends FieldEditorPreferencePage implements
- IWorkbenchPreferencePage {
-
- private Group generalGroup;
- private BooleanFieldEditor bfeIncludeChecksum;
- private BooleanFieldEditor bfeSQLDB;
- private BooleanFieldEditor bfeIgnoreSymlinks;
- private BooleanFieldEditor bfePrettyXML;
- private IntegerFieldEditor ifeSpawns;
-
- private Group updatesGroup;
- private BooleanFieldEditor bfeSameFilename;
-
- private Group changelogGroup;
- private IntegerFieldEditor ifeChangelogLimit;
-
- private RadioGroupFieldEditor rgfeChecksums;
- private RadioGroupFieldEditor rgfeCompressionTypes;
-
- public CreaterepoPreferencePage() {
- super(GRID);
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench)
- */
- @Override
- public void init(IWorkbench workbench) {
- setPreferenceStore(new ScopedPreferenceStore(InstanceScope.INSTANCE, Activator.PLUGIN_ID));
- setDescription(Messages.CreaterepoPreferencePage_description);
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent)
- */
- @Override
- public void propertyChange(PropertyChangeEvent event) {
- if (event.getProperty().equals(FieldEditor.VALUE)) {
- checkState();
- }
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jface.preference.FieldEditorPreferencePage#createFieldEditors()
- */
- @Override
- protected void createFieldEditors() {
- Composite parent = getFieldEditorParent();
- GridData data = new GridData();
- // general group
- generalGroup = new Group(parent, SWT.SHADOW_ETCHED_IN);
- generalGroup.setText(Messages.CreaterepoPreferencePage_generalGroupLabel);
- GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER).grab(true, false).span(2, 1).applyTo(generalGroup);
-
- // generate unique metadata filenames
- bfeIncludeChecksum = new BooleanFieldEditor(CreaterepoPreferenceConstants.PREF_UNIQUE_MD_NAME,
- Messages.CreaterepoPreferencePage_booleanChecksumName, generalGroup);
- bfeIncludeChecksum.load();
- bfeIncludeChecksum.setPropertyChangeListener(this);
- addField(bfeIncludeChecksum);
-
- // generate sqlite databases
- bfeSQLDB = new BooleanFieldEditor(CreaterepoPreferenceConstants.PREF_GENERATE_DB,
- Messages.CreaterepoPreferencePage_booleanGenerateSQLDB, generalGroup);
- bfeSQLDB.load();
- bfeSQLDB.setPropertyChangeListener(this);
- addField(bfeSQLDB);
-
- // ignore symlinks for packages
- bfeIgnoreSymlinks = new BooleanFieldEditor(CreaterepoPreferenceConstants.PREF_IGNORE_SYMLINKS,
- Messages.CreaterepoPreferencePage_booleanIgnoreSymlinks, generalGroup);
- bfeIgnoreSymlinks.load();
- bfeIgnoreSymlinks.setPropertyChangeListener(this);
- addField(bfeIgnoreSymlinks);
-
- // output files in pretty xml format
- bfePrettyXML = new BooleanFieldEditor(CreaterepoPreferenceConstants.PREF_PRETTY_XML,
- Messages.CreaterepoPreferencePage_booleanPrettyXML, generalGroup);
- bfePrettyXML.load();
- bfePrettyXML.setPropertyChangeListener(this);
- addField(bfePrettyXML);
-
- // number of workers
- ifeSpawns = new IntegerFieldEditor(CreaterepoPreferenceConstants.PREF_WORKERS,
- Messages.CreaterepoPreferencePage_numWorkers, generalGroup);
- // more than 128 is alot. limiting. (createrepo warning)
- ifeSpawns.setValidRange(0, 128);
- ifeSpawns.load();
- addField(ifeSpawns);
- updateGroupSpacing(generalGroup);
-
- // updates group
- updatesGroup = new Group(parent, SWT.SHADOW_ETCHED_IN);
- updatesGroup.setText(Messages.CreaterepoPreferencePage_updateGroupLabel);
- GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER).grab(true, false).span(2, 1).hint(10, SWT.DEFAULT).applyTo(updatesGroup);
-
- // don't generate repo metadata, if their timestamps are newer than its rpms
- bfeSameFilename = new BooleanFieldEditor(CreaterepoPreferenceConstants.PREF_CHECK_TS,
- Messages.CreaterepoPreferencePage_booleanCheckTS, updatesGroup);
- bfeSameFilename.load();
- bfeSameFilename.setPropertyChangeListener(this);
- addField(bfeSameFilename);
-
- // note of caution
- Label lblCheckTs = new Label(updatesGroup, SWT.WRAP);
- lblCheckTs.setText(Messages.CreaterepoPreferencePage_checkTSNote);
- data = new GridData();
- data.widthHint = 130;
- data.horizontalAlignment = SWT.FILL;
- data.grabExcessHorizontalSpace = true;
- data.horizontalIndent = 5;
- lblCheckTs.setLayoutData(data);
- updateGroupSpacing(updatesGroup);
-
- // changelog group
- changelogGroup = new Group(parent, SWT.SHADOW_ETCHED_IN);
- changelogGroup.setText(Messages.CreaterepoPreferencePage_changelogGroupLabel);
- GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER).grab(true, false).span(2, 1).hint(10, SWT.DEFAULT).applyTo(changelogGroup);
-
- // don't generate repo metadata, if their timestamps are newer than its rpms
- ifeChangelogLimit = new IntegerFieldEditor(CreaterepoPreferenceConstants.PREF_CHANGELOG_LIMIT,
- Messages.CreaterepoPreferencePage_numChangelogLimit, changelogGroup);
- ifeChangelogLimit.setValidRange(0, Integer.MAX_VALUE);
- ifeChangelogLimit.load();
- ifeChangelogLimit.setPropertyChangeListener(this);
- addField(ifeChangelogLimit);
- updateGroupSpacing(changelogGroup);
-
- Composite checksumsContainer = new Composite(parent, SWT.NONE);
- checksumsContainer.setLayout(new GridLayout());
- GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER).indent(0, 20).grab(true, false).applyTo(checksumsContainer);
- // available checksums
- rgfeChecksums = new RadioGroupFieldEditor(CreaterepoPreferenceConstants.PREF_CHECKSUM,
- Messages.CreaterepoPreferencePage_checksumGroupLabel, 1, new String[][]{
- {ICreaterepoChecksums.SHA1, ICreaterepoChecksums.SHA1},
- {ICreaterepoChecksums.MD5, ICreaterepoChecksums.MD5},
- {ICreaterepoChecksums.SHA256, ICreaterepoChecksums.SHA256},
- {ICreaterepoChecksums.SHA512, ICreaterepoChecksums.SHA512}
- }, checksumsContainer, true);
- rgfeChecksums.load();
- rgfeChecksums.setPropertyChangeListener(this);
- addField(rgfeChecksums);
-
- Composite compressContainer = new Composite(parent, SWT.NONE);
- compressContainer.setLayout(new GridLayout());
- GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER).indent(0, 20).grab(true, false).applyTo(compressContainer);
- // available compression types
- rgfeCompressionTypes = new RadioGroupFieldEditor(CreaterepoPreferenceConstants.PREF_COMPRESSION_TYPE,
- Messages.CreaterepoPreferencePage_compressionGroupLabel, 1, new String[][]{
- {ICreaterepoCompressionTypes.COMPAT, ICreaterepoCompressionTypes.COMPAT},
- {ICreaterepoCompressionTypes.XZ, ICreaterepoCompressionTypes.XZ},
- {ICreaterepoCompressionTypes.GZ, ICreaterepoCompressionTypes.GZ},
- {ICreaterepoCompressionTypes.BZ2, ICreaterepoCompressionTypes.BZ2}
- }, compressContainer, true);
- rgfeCompressionTypes.load();
- rgfeCompressionTypes.setPropertyChangeListener(this);
- addField(rgfeCompressionTypes);
- }
-
- /**
- * Make sure there is space above the group as well as space
- * between the contents of the group and its border.
- *
- * @param group The group to update the spacing of.
- */
- private static void updateGroupSpacing(Group group) {
- GridLayout layout = (GridLayout) group.getLayout();
- GridData data = (GridData) group.getLayoutData();
- layout.marginWidth = 5;
- layout.marginHeight = 5;
- data.verticalIndent = 20;
- }
+ IWorkbenchPreferencePage {
+
+ private Group generalGroup;
+ private BooleanFieldEditor bfeIncludeChecksum;
+ private BooleanFieldEditor bfeSQLDB;
+ private BooleanFieldEditor bfeIgnoreSymlinks;
+ private BooleanFieldEditor bfePrettyXML;
+ private IntegerFieldEditor ifeSpawns;
+
+ private Group updatesGroup;
+ private BooleanFieldEditor bfeSameFilename;
+
+ private Group changelogGroup;
+ private IntegerFieldEditor ifeChangelogLimit;
+
+ private RadioGroupFieldEditor rgfeChecksums;
+ private RadioGroupFieldEditor rgfeCompressionTypes;
+
+ public CreaterepoPreferencePage() {
+ super(GRID);
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench)
+ */
+ @Override
+ public void init(IWorkbench workbench) {
+ setPreferenceStore(new ScopedPreferenceStore(InstanceScope.INSTANCE, Activator.PLUGIN_ID));
+ setDescription(Messages.CreaterepoPreferencePage_description);
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent)
+ */
+ @Override
+ public void propertyChange(PropertyChangeEvent event) {
+ if (event.getProperty().equals(FieldEditor.VALUE)) {
+ checkState();
+ }
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.jface.preference.FieldEditorPreferencePage#createFieldEditors()
+ */
+ @Override
+ protected void createFieldEditors() {
+ Composite parent = getFieldEditorParent();
+ GridData data = new GridData();
+ // general group
+ generalGroup = new Group(parent, SWT.SHADOW_ETCHED_IN);
+ generalGroup.setText(Messages.CreaterepoPreferencePage_generalGroupLabel);
+ GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER).grab(true, false).span(2, 1).applyTo(generalGroup);
+
+ // generate unique metadata filenames
+ bfeIncludeChecksum = new BooleanFieldEditor(CreaterepoPreferenceConstants.PREF_UNIQUE_MD_NAME,
+ Messages.CreaterepoPreferencePage_booleanChecksumName, generalGroup);
+ bfeIncludeChecksum.load();
+ bfeIncludeChecksum.setPropertyChangeListener(this);
+ addField(bfeIncludeChecksum);
+
+ // generate sqlite databases
+ bfeSQLDB = new BooleanFieldEditor(CreaterepoPreferenceConstants.PREF_GENERATE_DB,
+ Messages.CreaterepoPreferencePage_booleanGenerateSQLDB, generalGroup);
+ bfeSQLDB.load();
+ bfeSQLDB.setPropertyChangeListener(this);
+ addField(bfeSQLDB);
+
+ // ignore symlinks for packages
+ bfeIgnoreSymlinks = new BooleanFieldEditor(CreaterepoPreferenceConstants.PREF_IGNORE_SYMLINKS,
+ Messages.CreaterepoPreferencePage_booleanIgnoreSymlinks, generalGroup);
+ bfeIgnoreSymlinks.load();
+ bfeIgnoreSymlinks.setPropertyChangeListener(this);
+ addField(bfeIgnoreSymlinks);
+
+ // output files in pretty xml format
+ bfePrettyXML = new BooleanFieldEditor(CreaterepoPreferenceConstants.PREF_PRETTY_XML,
+ Messages.CreaterepoPreferencePage_booleanPrettyXML, generalGroup);
+ bfePrettyXML.load();
+ bfePrettyXML.setPropertyChangeListener(this);
+ addField(bfePrettyXML);
+
+ // number of workers
+ ifeSpawns = new IntegerFieldEditor(CreaterepoPreferenceConstants.PREF_WORKERS,
+ Messages.CreaterepoPreferencePage_numWorkers, generalGroup);
+ // more than 128 is alot. limiting. (createrepo warning)
+ ifeSpawns.setValidRange(0, 128);
+ ifeSpawns.load();
+ addField(ifeSpawns);
+ updateGroupSpacing(generalGroup);
+
+ // updates group
+ updatesGroup = new Group(parent, SWT.SHADOW_ETCHED_IN);
+ updatesGroup.setText(Messages.CreaterepoPreferencePage_updateGroupLabel);
+ GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER).grab(true, false).span(2, 1).hint(10, SWT.DEFAULT).applyTo(updatesGroup);
+
+ // don't generate repo metadata, if their timestamps are newer than its rpms
+ bfeSameFilename = new BooleanFieldEditor(CreaterepoPreferenceConstants.PREF_CHECK_TS,
+ Messages.CreaterepoPreferencePage_booleanCheckTS, updatesGroup);
+ bfeSameFilename.load();
+ bfeSameFilename.setPropertyChangeListener(this);
+ addField(bfeSameFilename);
+
+ // note of caution
+ Label lblCheckTs = new Label(updatesGroup, SWT.WRAP);
+ lblCheckTs.setText(Messages.CreaterepoPreferencePage_checkTSNote);
+ data = new GridData();
+ data.widthHint = 130;
+ data.horizontalAlignment = SWT.FILL;
+ data.grabExcessHorizontalSpace = true;
+ data.horizontalIndent = 5;
+ lblCheckTs.setLayoutData(data);
+ updateGroupSpacing(updatesGroup);
+
+ // changelog group
+ changelogGroup = new Group(parent, SWT.SHADOW_ETCHED_IN);
+ changelogGroup.setText(Messages.CreaterepoPreferencePage_changelogGroupLabel);
+ GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER).grab(true, false).span(2, 1).hint(10, SWT.DEFAULT).applyTo(changelogGroup);
+
+ // don't generate repo metadata, if their timestamps are newer than its rpms
+ ifeChangelogLimit = new IntegerFieldEditor(CreaterepoPreferenceConstants.PREF_CHANGELOG_LIMIT,
+ Messages.CreaterepoPreferencePage_numChangelogLimit, changelogGroup);
+ ifeChangelogLimit.setValidRange(0, Integer.MAX_VALUE);
+ ifeChangelogLimit.load();
+ ifeChangelogLimit.setPropertyChangeListener(this);
+ addField(ifeChangelogLimit);
+ updateGroupSpacing(changelogGroup);
+
+ Composite checksumsContainer = new Composite(parent, SWT.NONE);
+ checksumsContainer.setLayout(new GridLayout());
+ GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER).indent(0, 20).grab(true, false).applyTo(checksumsContainer);
+ // available checksums
+ rgfeChecksums = new RadioGroupFieldEditor(CreaterepoPreferenceConstants.PREF_CHECKSUM,
+ Messages.CreaterepoPreferencePage_checksumGroupLabel, 1, new String[][]{
+ {ICreaterepoChecksums.SHA1, ICreaterepoChecksums.SHA1},
+ {ICreaterepoChecksums.MD5, ICreaterepoChecksums.MD5},
+ {ICreaterepoChecksums.SHA256, ICreaterepoChecksums.SHA256},
+ {ICreaterepoChecksums.SHA512, ICreaterepoChecksums.SHA512}
+ }, checksumsContainer, true);
+ rgfeChecksums.load();
+ rgfeChecksums.setPropertyChangeListener(this);
+ addField(rgfeChecksums);
+
+ Composite compressContainer = new Composite(parent, SWT.NONE);
+ compressContainer.setLayout(new GridLayout());
+ GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER).indent(0, 20).grab(true, false).applyTo(compressContainer);
+ // available compression types
+ rgfeCompressionTypes = new RadioGroupFieldEditor(CreaterepoPreferenceConstants.PREF_COMPRESSION_TYPE,
+ Messages.CreaterepoPreferencePage_compressionGroupLabel, 1, new String[][]{
+ {ICreaterepoCompressionTypes.COMPAT, ICreaterepoCompressionTypes.COMPAT},
+ {ICreaterepoCompressionTypes.XZ, ICreaterepoCompressionTypes.XZ},
+ {ICreaterepoCompressionTypes.GZ, ICreaterepoCompressionTypes.GZ},
+ {ICreaterepoCompressionTypes.BZ2, ICreaterepoCompressionTypes.BZ2}
+ }, compressContainer, true);
+ rgfeCompressionTypes.load();
+ rgfeCompressionTypes.setPropertyChangeListener(this);
+ addField(rgfeCompressionTypes);
+ }
+
+ /**
+ * Make sure there is space above the group as well as space
+ * between the contents of the group and its border.
+ *
+ * @param group The group to update the spacing of.
+ */
+ private static void updateGroupSpacing(Group group) {
+ GridLayout layout = (GridLayout) group.getLayout();
+ GridData data = (GridData) group.getLayoutData();
+ layout.marginWidth = 5;
+ layout.marginHeight = 5;
+ data.verticalIndent = 20;
+ }
}
diff --git a/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/preference/CreaterepoPropertyPage.java b/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/preference/CreaterepoPropertyPage.java
index 3cbe6446cf..aab0db91e9 100644
--- a/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/preference/CreaterepoPropertyPage.java
+++ b/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/preference/CreaterepoPropertyPage.java
@@ -31,86 +31,86 @@ import org.eclipse.ui.preferences.ScopedPreferenceStore;
*/
public abstract class CreaterepoPropertyPage extends PropertyPage implements IPropertyChangeListener {
- protected static final String CREATEREPO_PREFERENCE_ID = "org.eclipse.linuxtools.rpm.createrepo.preferences"; //$NON-NLS-1$
+ protected static final String CREATEREPO_PREFERENCE_ID = "org.eclipse.linuxtools.rpm.createrepo.preferences"; //$NON-NLS-1$
- protected IProject project;
- protected IPreferenceStore preferenceStore;
+ protected IProject project;
+ protected IPreferenceStore preferenceStore;
- /**
- * Default constructor has no description.
- */
- public CreaterepoPropertyPage() {
- this(null);
- }
+ /**
+ * Default constructor has no description.
+ */
+ public CreaterepoPropertyPage() {
+ this(null);
+ }
- /**
- * Constructor sets the description.
- *
- * @param description The description of the preference page.
- */
- public CreaterepoPropertyPage(String description) {
- setDescription(description);
- }
+ /**
+ * Constructor sets the description.
+ *
+ * @param description The description of the preference page.
+ */
+ public CreaterepoPropertyPage(String description) {
+ setDescription(description);
+ }
- /*
- * (non-Javadoc)
- * @see org.eclipse.jface.preference.PreferencePage#createContents(org.eclipse.swt.widgets.Composite)
- */
- @Override
- protected Control createContents(Composite parent) {
- if (getElement() instanceof IResource) {
- project = ((IResource) getElement()).getProject();
- } else {
- Object adapter = getElement().getAdapter(IResource.class);
- if (adapter instanceof IResource) {
- project = ((IResource) adapter).getProject();
- }
- }
- setPreferenceStore(new ScopedPreferenceStore(new ProjectScope(project),
- Activator.PLUGIN_ID));
- preferenceStore = getPreferenceStore();
- return addContents(parent);
- }
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.jface.preference.PreferencePage#createContents(org.eclipse.swt.widgets.Composite)
+ */
+ @Override
+ protected Control createContents(Composite parent) {
+ if (getElement() instanceof IResource) {
+ project = ((IResource) getElement()).getProject();
+ } else {
+ Object adapter = getElement().getAdapter(IResource.class);
+ if (adapter instanceof IResource) {
+ project = ((IResource) adapter).getProject();
+ }
+ }
+ setPreferenceStore(new ScopedPreferenceStore(new ProjectScope(project),
+ Activator.PLUGIN_ID));
+ preferenceStore = getPreferenceStore();
+ return addContents(parent);
+ }
- /*
- * (non-Javadoc)
- * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent)
- */
- @Override
- public void propertyChange(PropertyChangeEvent event) {
- if (event.getProperty().equals(FieldEditor.VALUE)) {
- checkState();
- }
- }
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent)
+ */
+ @Override
+ public void propertyChange(PropertyChangeEvent event) {
+ if (event.getProperty().equals(FieldEditor.VALUE)) {
+ checkState();
+ }
+ }
- /**
- * Must be implemented by the subclasses. These are the contents of the
- * property page. Subclasses should implement this rather than createContents
- * to add controls to the property page.
- *
- * @param parent The composite.
- * @return The newly customized composite.
- */
- protected abstract Composite addContents(Composite parent);
+ /**
+ * Must be implemented by the subclasses. These are the contents of the
+ * property page. Subclasses should implement this rather than createContents
+ * to add controls to the property page.
+ *
+ * @param parent The composite.
+ * @return The newly customized composite.
+ */
+ protected abstract Composite addContents(Composite parent);
- /**
- * This method will be called whenever a field editor is changed. Note that
- * the field editor must first set the property change listener to this.
- */
- protected abstract void checkState();
+ /**
+ * This method will be called whenever a field editor is changed. Note that
+ * the field editor must first set the property change listener to this.
+ */
+ protected abstract void checkState();
- /**
- * Make sure there is space above the group as well as space
- * between the contents of the group and its border.
- *
- * @param group The group to update the spacing of.
- */
- protected static void updateGroupSpacing(Group group) {
- GridLayout layout = (GridLayout) group.getLayout();
- GridData data = (GridData) group.getLayoutData();
- layout.marginWidth = 5;
- layout.marginHeight = 5;
- data.verticalIndent = 20;
- }
+ /**
+ * Make sure there is space above the group as well as space
+ * between the contents of the group and its border.
+ *
+ * @param group The group to update the spacing of.
+ */
+ protected static void updateGroupSpacing(Group group) {
+ GridLayout layout = (GridLayout) group.getLayout();
+ GridData data = (GridData) group.getLayoutData();
+ layout.marginWidth = 5;
+ layout.marginHeight = 5;
+ data.verticalIndent = 20;
+ }
}
diff --git a/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/tree/CreaterepoCategoryModel.java b/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/tree/CreaterepoCategoryModel.java
index dd82c95a48..36813c64f8 100644
--- a/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/tree/CreaterepoCategoryModel.java
+++ b/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/tree/CreaterepoCategoryModel.java
@@ -25,83 +25,83 @@ import org.eclipse.linuxtools.internal.rpm.createrepo.ICreaterepoConstants;
*/
public class CreaterepoCategoryModel {
- private IEclipsePreferences projectPreferences;
+ private IEclipsePreferences projectPreferences;
- public CreaterepoCategoryModel(CreaterepoProject project) {
- if (project != null) {
- projectPreferences = project.getEclipsePreferences();
- }
- }
+ public CreaterepoCategoryModel(CreaterepoProject project) {
+ if (project != null) {
+ projectPreferences = project.getEclipsePreferences();
+ }
+ }
- /**
- * The only categories acceptable by createrepo. The categories will be populated with
- * tags found from the project preferences (if any).
- *
- * @return Initial categories and saved tags (if any).
- */
- public List<CreaterepoTreeCategory> getCategories() {
- List<CreaterepoTreeCategory> model = new ArrayList<>();
- CreaterepoTreeCategory distroCat = new CreaterepoTreeCategory(
- CreaterepoPreferenceConstants.PREF_DISTRO_TAG);
- distroCat.addAllTags(getDistroTags());
- CreaterepoTreeCategory contentCat = new CreaterepoTreeCategory(
- CreaterepoPreferenceConstants.PREF_CONTENT_TAG);
- contentCat.addAllTags(getContentTags());
- CreaterepoTreeCategory repoCat = new CreaterepoTreeCategory(
- CreaterepoPreferenceConstants.PREF_REPO_TAG);
- repoCat.addAllTags(getRepoTags());
- model.add(distroCat);
- model.add(contentCat);
- model.add(repoCat);
- return model;
- }
+ /**
+ * The only categories acceptable by createrepo. The categories will be populated with
+ * tags found from the project preferences (if any).
+ *
+ * @return Initial categories and saved tags (if any).
+ */
+ public List<CreaterepoTreeCategory> getCategories() {
+ List<CreaterepoTreeCategory> model = new ArrayList<>();
+ CreaterepoTreeCategory distroCat = new CreaterepoTreeCategory(
+ CreaterepoPreferenceConstants.PREF_DISTRO_TAG);
+ distroCat.addAllTags(getDistroTags());
+ CreaterepoTreeCategory contentCat = new CreaterepoTreeCategory(
+ CreaterepoPreferenceConstants.PREF_CONTENT_TAG);
+ contentCat.addAllTags(getContentTags());
+ CreaterepoTreeCategory repoCat = new CreaterepoTreeCategory(
+ CreaterepoPreferenceConstants.PREF_REPO_TAG);
+ repoCat.addAllTags(getRepoTags());
+ model.add(distroCat);
+ model.add(contentCat);
+ model.add(repoCat);
+ return model;
+ }
- /**
- * Get the distro tags from the project preferences.
- *
- * @return The prefered distro tags or empty if no preferences stored.
- */
- private List<String> getDistroTags() {
- if (projectPreferences != null) {
- String tagPref = projectPreferences.get(CreaterepoPreferenceConstants.PREF_DISTRO_TAG,
- ICreaterepoConstants.EMPTY_STRING);
- if (!tagPref.isEmpty()) {
- return Arrays.asList(tagPref.split(ICreaterepoConstants.DELIMITER));
- }
- }
- return Collections.EMPTY_LIST;
- }
+ /**
+ * Get the distro tags from the project preferences.
+ *
+ * @return The prefered distro tags or empty if no preferences stored.
+ */
+ private List<String> getDistroTags() {
+ if (projectPreferences != null) {
+ String tagPref = projectPreferences.get(CreaterepoPreferenceConstants.PREF_DISTRO_TAG,
+ ICreaterepoConstants.EMPTY_STRING);
+ if (!tagPref.isEmpty()) {
+ return Arrays.asList(tagPref.split(ICreaterepoConstants.DELIMITER));
+ }
+ }
+ return Collections.EMPTY_LIST;
+ }
- /**
- * Get the content tags from the project preferences.
- *
- * @return The prefered content tags or empty if no preferences stored.
- */
- private List<String> getContentTags() {
- if (projectPreferences != null) {
- String tagPref = projectPreferences.get(CreaterepoPreferenceConstants.PREF_CONTENT_TAG,
- ICreaterepoConstants.EMPTY_STRING);
- if (!tagPref.isEmpty()) {
- return Arrays.asList(tagPref.split(ICreaterepoConstants.DELIMITER));
- }
- }
- return Collections.EMPTY_LIST;
- }
+ /**
+ * Get the content tags from the project preferences.
+ *
+ * @return The prefered content tags or empty if no preferences stored.
+ */
+ private List<String> getContentTags() {
+ if (projectPreferences != null) {
+ String tagPref = projectPreferences.get(CreaterepoPreferenceConstants.PREF_CONTENT_TAG,
+ ICreaterepoConstants.EMPTY_STRING);
+ if (!tagPref.isEmpty()) {
+ return Arrays.asList(tagPref.split(ICreaterepoConstants.DELIMITER));
+ }
+ }
+ return Collections.EMPTY_LIST;
+ }
- /**
- * Get the repo tags from the project preferences.
- *
- * @return The prefered repo tags or empty if no preferences stored.
- */
- private List<String> getRepoTags() {
- if (projectPreferences != null) {
- String tagPref = projectPreferences.get(CreaterepoPreferenceConstants.PREF_REPO_TAG,
- ICreaterepoConstants.EMPTY_STRING);
- if (!tagPref.isEmpty()) {
- return Arrays.asList(tagPref.split(ICreaterepoConstants.DELIMITER));
- }
- }
- return Collections.EMPTY_LIST;
- }
+ /**
+ * Get the repo tags from the project preferences.
+ *
+ * @return The prefered repo tags or empty if no preferences stored.
+ */
+ private List<String> getRepoTags() {
+ if (projectPreferences != null) {
+ String tagPref = projectPreferences.get(CreaterepoPreferenceConstants.PREF_REPO_TAG,
+ ICreaterepoConstants.EMPTY_STRING);
+ if (!tagPref.isEmpty()) {
+ return Arrays.asList(tagPref.split(ICreaterepoConstants.DELIMITER));
+ }
+ }
+ return Collections.EMPTY_LIST;
+ }
}
diff --git a/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/tree/CreaterepoTreeCategory.java b/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/tree/CreaterepoTreeCategory.java
index dfc0b0588f..57a07bcc03 100644
--- a/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/tree/CreaterepoTreeCategory.java
+++ b/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/tree/CreaterepoTreeCategory.java
@@ -18,60 +18,60 @@ import java.util.List;
*/
public class CreaterepoTreeCategory {
- private String name;
- private List<String> tags = new ArrayList<>();
+ private String name;
+ private List<String> tags = new ArrayList<>();
- /**
- * Default constructor to initialize name of the
- * category at instantiation.
- *
- * @param name Name of category.
- */
- public CreaterepoTreeCategory(String name) {
- if (name != null && !name.isEmpty()) {
- this.name = name;
- }
- }
+ /**
+ * Default constructor to initialize name of the
+ * category at instantiation.
+ *
+ * @param name Name of category.
+ */
+ public CreaterepoTreeCategory(String name) {
+ if (name != null && !name.isEmpty()) {
+ this.name = name;
+ }
+ }
- /**
- * @return The category name.
- */
- public String getName() {
- return name;
- }
+ /**
+ * @return The category name.
+ */
+ public String getName() {
+ return name;
+ }
- /**
- * @param tag The tag to remove from the category.
- */
- public void removeTag(String tag) {
- if (tags.contains(tag)) {
- tags.remove(tag);
- }
- }
+ /**
+ * @param tag The tag to remove from the category.
+ */
+ public void removeTag(String tag) {
+ if (tags.contains(tag)) {
+ tags.remove(tag);
+ }
+ }
- /**
- * @param tag A unique tag to add to the category.
- */
- public void addTag(String tag) {
- if (!tags.contains(tag)) {
- tags.add(tag);
- }
- }
+ /**
+ * @param tag A unique tag to add to the category.
+ */
+ public void addTag(String tag) {
+ if (!tags.contains(tag)) {
+ tags.add(tag);
+ }
+ }
- /**
- * @param tags A list of tags to add to the category.
- */
- public void addAllTags(List<String> tags) {
- for (String tag : tags) {
- addTag(tag);
- }
- }
+ /**
+ * @param tags A list of tags to add to the category.
+ */
+ public void addAllTags(List<String> tags) {
+ for (String tag : tags) {
+ addTag(tag);
+ }
+ }
- /**
- * @return The tags in the category.
- */
- public List<String> getTags() {
- return tags;
- }
+ /**
+ * @return The tags in the category.
+ */
+ public List<String> getTags() {
+ return tags;
+ }
}
diff --git a/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/tree/CreaterepoTreeContentProvider.java b/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/tree/CreaterepoTreeContentProvider.java
index e3f413d351..2453cae55c 100644
--- a/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/tree/CreaterepoTreeContentProvider.java
+++ b/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/tree/CreaterepoTreeContentProvider.java
@@ -18,69 +18,69 @@ import org.eclipse.jface.viewers.Viewer;
*/
public class CreaterepoTreeContentProvider implements ITreeContentProvider {
- private CreaterepoCategoryModel model;
+ private CreaterepoCategoryModel model;
- /*
- * (non-Javadoc)
- * @see org.eclipse.jface.viewers.IContentProvider#dispose()
- */
- @Override
- public void dispose() {/* not implemented */}
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.jface.viewers.IContentProvider#dispose()
+ */
+ @Override
+ public void dispose() {/* not implemented */}
- /*
- * (non-Javadoc)
- * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
- */
- @Override
- public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
- if (newInput instanceof CreaterepoCategoryModel) {
- model = (CreaterepoCategoryModel) newInput;
- }
- }
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
+ */
+ @Override
+ public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
+ if (newInput instanceof CreaterepoCategoryModel) {
+ model = (CreaterepoCategoryModel) newInput;
+ }
+ }
- /*
- * (non-Javadoc)
- * @see org.eclipse.jface.viewers.ITreeContentProvider#getElements(java.lang.Object)
- */
- @Override
- public Object[] getElements(Object inputElement) {
- return model.getCategories().toArray();
- }
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.jface.viewers.ITreeContentProvider#getElements(java.lang.Object)
+ */
+ @Override
+ public Object[] getElements(Object inputElement) {
+ return model.getCategories().toArray();
+ }
- /*
- * (non-Javadoc)
- * @see org.eclipse.jface.viewers.ITreeContentProvider#getChildren(java.lang.Object)
- */
- @Override
- public Object[] getChildren(Object parentElement) {
- if (parentElement instanceof CreaterepoTreeCategory) {
- CreaterepoTreeCategory category = (CreaterepoTreeCategory) parentElement;
- return category.getTags().toArray();
- }
- return null;
- }
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.jface.viewers.ITreeContentProvider#getChildren(java.lang.Object)
+ */
+ @Override
+ public Object[] getChildren(Object parentElement) {
+ if (parentElement instanceof CreaterepoTreeCategory) {
+ CreaterepoTreeCategory category = (CreaterepoTreeCategory) parentElement;
+ return category.getTags().toArray();
+ }
+ return null;
+ }
- /*
- * (non-Javadoc)
- * @see org.eclipse.jface.viewers.ITreeContentProvider#getParent(java.lang.Object)
- */
- @Override
- public Object getParent(Object element) {
- return null;
- }
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.jface.viewers.ITreeContentProvider#getParent(java.lang.Object)
+ */
+ @Override
+ public Object getParent(Object element) {
+ return null;
+ }
- /*
- * (non-Javadoc)
- * @see org.eclipse.jface.viewers.ITreeContentProvider#hasChildren(java.lang.Object)
- */
- @Override
- public boolean hasChildren(Object element) {
- if (element instanceof CreaterepoTreeCategory) {
- CreaterepoTreeCategory category = (CreaterepoTreeCategory) element;
- // category has children if ! empty
- return !category.getTags().isEmpty();
- }
- return false;
- }
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.jface.viewers.ITreeContentProvider#hasChildren(java.lang.Object)
+ */
+ @Override
+ public boolean hasChildren(Object element) {
+ if (element instanceof CreaterepoTreeCategory) {
+ CreaterepoTreeCategory category = (CreaterepoTreeCategory) element;
+ // category has children if ! empty
+ return !category.getTags().isEmpty();
+ }
+ return false;
+ }
}
diff --git a/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/tree/CreaterepoTreeLabelProvider.java b/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/tree/CreaterepoTreeLabelProvider.java
index f97156c55c..d67da4b98d 100644
--- a/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/tree/CreaterepoTreeLabelProvider.java
+++ b/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/tree/CreaterepoTreeLabelProvider.java
@@ -19,32 +19,32 @@ import org.eclipse.swt.graphics.Image;
*/
public class CreaterepoTreeLabelProvider extends LabelProvider {
- private static final String CATEGORY_IMAGE = "icons/library_obj.gif"; //$NON-NLS-1$
- private static final String TAG_IMAGE = "icons/templateprop_co.gif"; //$NON-NLS-1$
+ private static final String CATEGORY_IMAGE = "icons/library_obj.gif"; //$NON-NLS-1$
+ private static final String TAG_IMAGE = "icons/templateprop_co.gif"; //$NON-NLS-1$
- /*
- * (non-Javadoc)
- * @see org.eclipse.jface.viewers.LabelProvider#getText(java.lang.Object)
- */
- @Override
- public String getText(Object element) {
- if (element instanceof CreaterepoTreeCategory) {
- CreaterepoTreeCategory category = (CreaterepoTreeCategory) element;
- return category.getName();
- }
- return element.toString();
- }
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.jface.viewers.LabelProvider#getText(java.lang.Object)
+ */
+ @Override
+ public String getText(Object element) {
+ if (element instanceof CreaterepoTreeCategory) {
+ CreaterepoTreeCategory category = (CreaterepoTreeCategory) element;
+ return category.getName();
+ }
+ return element.toString();
+ }
- /*
- * (non-Javadoc)
- * @see org.eclipse.jface.viewers.LabelProvider#getImage(java.lang.Object)
- */
- @Override
- public Image getImage(Object element) {
- if (element instanceof CreaterepoTreeCategory) {
- return Activator.getImageDescriptor(CATEGORY_IMAGE).createImage();
- }
- return Activator.getImageDescriptor(TAG_IMAGE).createImage();
- }
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.jface.viewers.LabelProvider#getImage(java.lang.Object)
+ */
+ @Override
+ public Image getImage(Object element) {
+ if (element instanceof CreaterepoTreeCategory) {
+ return Activator.getImageDescriptor(CATEGORY_IMAGE).createImage();
+ }
+ return Activator.getImageDescriptor(TAG_IMAGE).createImage();
+ }
}
diff --git a/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/wizard/CreaterepoNewWizardPageOne.java b/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/wizard/CreaterepoNewWizardPageOne.java
index 528d277bea..2763613efd 100644
--- a/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/wizard/CreaterepoNewWizardPageOne.java
+++ b/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/wizard/CreaterepoNewWizardPageOne.java
@@ -17,22 +17,22 @@ import org.eclipse.ui.dialogs.WizardNewProjectCreationPage;
* The sole purpose of this page is to create a new project for createrepo.
*/
public class CreaterepoNewWizardPageOne extends
- WizardNewProjectCreationPage {
+ WizardNewProjectCreationPage {
- /*
- * TODO: add in working sets
- */
+ /*
+ * TODO: add in working sets
+ */
- /**
- * Constructor for CreaterepoWizardPage. Will set the page name, title, and
- * description.
- *
- * @param pageName The wizard page's name.
- */
- public CreaterepoNewWizardPageOne(String pageName) {
- super(pageName);
- setTitle(Messages.CreaterepoNewWizardPageOne_wizardPageTitle);
- setDescription(Messages.CreaterepoNewWizardPageOne_wizardPageDescription);
- }
+ /**
+ * Constructor for CreaterepoWizardPage. Will set the page name, title, and
+ * description.
+ *
+ * @param pageName The wizard page's name.
+ */
+ public CreaterepoNewWizardPageOne(String pageName) {
+ super(pageName);
+ setTitle(Messages.CreaterepoNewWizardPageOne_wizardPageTitle);
+ setDescription(Messages.CreaterepoNewWizardPageOne_wizardPageDescription);
+ }
} \ No newline at end of file
diff --git a/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/wizard/CreaterepoNewWizardPageTwo.java b/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/wizard/CreaterepoNewWizardPageTwo.java
index a8f51b8b2a..65fd8c6434 100644
--- a/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/wizard/CreaterepoNewWizardPageTwo.java
+++ b/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/wizard/CreaterepoNewWizardPageTwo.java
@@ -34,173 +34,173 @@ import org.eclipse.swt.widgets.Text;
*/
public class CreaterepoNewWizardPageTwo extends WizardPage {
- private Text repositoryIDTxt;
- private Text repositoryNameTxt;
- private Text repositoryBaseURLTxt;
-
- /**
- * Constructor for CreaterepoWizardPage. Will set the page name, title, and
- * description.
- *
- * @param pageName The wizard page's name.
- */
- public CreaterepoNewWizardPageTwo(String pageName) {
- super(pageName);
- setTitle(Messages.CreaterepoNewWizardPageTwo_wizardPageTitle);
- setDescription(Messages.CreaterepoNewWizardPageTwo_wizardPageDescription);
- setPageComplete(false);
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets.Composite)
- */
- @Override
- public void createControl(Composite parent) {
- Composite container = new Composite(parent, SWT.NONE);
- GridLayout layout = new GridLayout();
- GridData layoutData = new GridData();
- layoutData.grabExcessHorizontalSpace = true;
- layoutData.grabExcessVerticalSpace = true;
- layoutData.horizontalAlignment = GridData.FILL;
- layoutData.verticalAlignment = GridData.FILL;
- container.setLayout(layout);
- container.setLayoutData(layoutData);
-
- // composite to hold the required information
- Composite information = new Composite(container, SWT.NONE);
- layout = new GridLayout(2, false);
- layoutData = new GridData();
- layoutData.grabExcessHorizontalSpace = true;
- layoutData.horizontalAlignment = GridData.FILL;
- layoutData.verticalAlignment = GridData.CENTER;
- information.setLayoutData(layoutData);
- information.setLayout(layout);
-
- // listen on modifying the Text widgets
- ModifyListener modifyListner = new ModifyListener() {
- @Override
- public void modifyText(ModifyEvent e) {
- setPageComplete(isValid());
- }
- };
- repositoryIDTxt = createTextFieldWithLabel(information, Messages.CreaterepoNewWizardPageTwo_labelID,
- Messages.CreaterepoNewWizardPageTwo_tooltipID);
- repositoryIDTxt.addModifyListener(modifyListner);
- repositoryNameTxt = createTextFieldWithLabel(information, Messages.CreaterepoNewWizardPageTwo_labelName,
- Messages.CreaterepoNewWizardPageTwo_tooltipName);
- repositoryNameTxt.addModifyListener(modifyListner);
- repositoryBaseURLTxt = createTextFieldWithLabel(information, Messages.CreaterepoNewWizardPageTwo_labelURL,
- Messages.CreaterepoNewWizardPageTwo_tooltipURL);
- repositoryBaseURLTxt.addModifyListener(modifyListner);
- setControl(container);
- }
-
- /**
- * Create a text field with a label.
- *
- * @param parent The parent of the text field and label.
- * @param labelName The name on the label.
- * @return The newly created text field.
- */
- protected Text createTextFieldWithLabel(Composite parent, String labelName, String tooltip) {
- GridData layoutData = new GridData();
- // create the label
- Label respositoryBaseURLLbl = new Label(parent, SWT.NONE);
- respositoryBaseURLLbl.setText(labelName);
- layoutData = new GridData();
- layoutData.horizontalAlignment = GridData.BEGINNING;
- layoutData.verticalAlignment = GridData.CENTER;
- respositoryBaseURLLbl.setToolTipText(tooltip);
- // create the text field
- Text textField = new Text(parent, SWT.BORDER | SWT.SINGLE);
- layoutData = new GridData();
- layoutData.grabExcessHorizontalSpace = true;
- layoutData.horizontalAlignment = GridData.FILL;
- layoutData.verticalAlignment = GridData.CENTER;
- textField.setLayoutData(layoutData);
- textField.setToolTipText(tooltip);
- return textField;
- }
-
- /**
- * Check to see if all the text fields are valid. Otherwise, set error
- * messages appropriately.
- *
- * @return True if all the text fields are valid, false otherwise.
- */
- protected boolean isValid() {
- if (!validateID()) {
- setErrorMessage(Messages.CreaterepoNewWizardPageTwo_errorID);
- }
- if (repositoryNameTxt.getText().trim().isEmpty()) {
- setErrorMessage(Messages.CreaterepoNewWizardPageTwo_errorName);
- }
- if (!validateURL()) {
- setErrorMessage(Messages.CreaterepoNewWizardPageTwo_errorURL);
- }
- if (validateID() && validateURL() && !repositoryNameTxt.getText().trim().isEmpty()) {
- setErrorMessage(null);
- return true;
- } else {
- return false;
- }
- }
-
- /**
- * Check if the ID is valid. It is valid if it is a single string and
- * not empty.
- *
- * @return True if the ID is valid, false otherwise.
- */
- private boolean validateID() {
- // check if repository ID is a single string
- String tmpRepoID = repositoryIDTxt.getText().trim();
- Pattern singleStringPattern = Pattern.compile("\\b(\\S+)\\b", //$NON-NLS-1$
- Pattern.CASE_INSENSITIVE);
- Matcher singleStringMatcher = singleStringPattern.matcher(tmpRepoID);
- if (singleStringMatcher.matches()) {
- return true;
- }
- return false;
- }
-
- /**
- * Check if the URL is valid. It is valid if it contains a valid protocol and link.
- *
- * @return True if the URL is valid, false otherwise.
- */
- private boolean validateURL() {
- // check if baseURL is a valid URL
- String tmpRepoURL = repositoryBaseURLTxt.getText().trim();
- // TODO: possibly validate if pointing to something that exists (not really necessary, but nice)
- try {
- new URL(tmpRepoURL);
- return true;
- } catch (MalformedURLException e) {
- return false;
- }
- }
-
- public String getRepositoryID() {
- if (repositoryIDTxt == null) {
- return ICreaterepoConstants.EMPTY_STRING;
- }
- return repositoryIDTxt.getText().trim();
- }
-
- public String getRepositoryName() {
- if (repositoryNameTxt == null) {
- return ICreaterepoConstants.EMPTY_STRING;
- }
- return repositoryNameTxt.getText().trim();
- }
-
- public String getRepositoryURL() {
- if (repositoryBaseURLTxt == null) {
- return ICreaterepoConstants.EMPTY_STRING;
- }
- return repositoryBaseURLTxt.getText().trim();
- }
+ private Text repositoryIDTxt;
+ private Text repositoryNameTxt;
+ private Text repositoryBaseURLTxt;
+
+ /**
+ * Constructor for CreaterepoWizardPage. Will set the page name, title, and
+ * description.
+ *
+ * @param pageName The wizard page's name.
+ */
+ public CreaterepoNewWizardPageTwo(String pageName) {
+ super(pageName);
+ setTitle(Messages.CreaterepoNewWizardPageTwo_wizardPageTitle);
+ setDescription(Messages.CreaterepoNewWizardPageTwo_wizardPageDescription);
+ setPageComplete(false);
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets.Composite)
+ */
+ @Override
+ public void createControl(Composite parent) {
+ Composite container = new Composite(parent, SWT.NONE);
+ GridLayout layout = new GridLayout();
+ GridData layoutData = new GridData();
+ layoutData.grabExcessHorizontalSpace = true;
+ layoutData.grabExcessVerticalSpace = true;
+ layoutData.horizontalAlignment = GridData.FILL;
+ layoutData.verticalAlignment = GridData.FILL;
+ container.setLayout(layout);
+ container.setLayoutData(layoutData);
+
+ // composite to hold the required information
+ Composite information = new Composite(container, SWT.NONE);
+ layout = new GridLayout(2, false);
+ layoutData = new GridData();
+ layoutData.grabExcessHorizontalSpace = true;
+ layoutData.horizontalAlignment = GridData.FILL;
+ layoutData.verticalAlignment = GridData.CENTER;
+ information.setLayoutData(layoutData);
+ information.setLayout(layout);
+
+ // listen on modifying the Text widgets
+ ModifyListener modifyListner = new ModifyListener() {
+ @Override
+ public void modifyText(ModifyEvent e) {
+ setPageComplete(isValid());
+ }
+ };
+ repositoryIDTxt = createTextFieldWithLabel(information, Messages.CreaterepoNewWizardPageTwo_labelID,
+ Messages.CreaterepoNewWizardPageTwo_tooltipID);
+ repositoryIDTxt.addModifyListener(modifyListner);
+ repositoryNameTxt = createTextFieldWithLabel(information, Messages.CreaterepoNewWizardPageTwo_labelName,
+ Messages.CreaterepoNewWizardPageTwo_tooltipName);
+ repositoryNameTxt.addModifyListener(modifyListner);
+ repositoryBaseURLTxt = createTextFieldWithLabel(information, Messages.CreaterepoNewWizardPageTwo_labelURL,
+ Messages.CreaterepoNewWizardPageTwo_tooltipURL);
+ repositoryBaseURLTxt.addModifyListener(modifyListner);
+ setControl(container);
+ }
+
+ /**
+ * Create a text field with a label.
+ *
+ * @param parent The parent of the text field and label.
+ * @param labelName The name on the label.
+ * @return The newly created text field.
+ */
+ protected Text createTextFieldWithLabel(Composite parent, String labelName, String tooltip) {
+ GridData layoutData = new GridData();
+ // create the label
+ Label respositoryBaseURLLbl = new Label(parent, SWT.NONE);
+ respositoryBaseURLLbl.setText(labelName);
+ layoutData = new GridData();
+ layoutData.horizontalAlignment = GridData.BEGINNING;
+ layoutData.verticalAlignment = GridData.CENTER;
+ respositoryBaseURLLbl.setToolTipText(tooltip);
+ // create the text field
+ Text textField = new Text(parent, SWT.BORDER | SWT.SINGLE);
+ layoutData = new GridData();
+ layoutData.grabExcessHorizontalSpace = true;
+ layoutData.horizontalAlignment = GridData.FILL;
+ layoutData.verticalAlignment = GridData.CENTER;
+ textField.setLayoutData(layoutData);
+ textField.setToolTipText(tooltip);
+ return textField;
+ }
+
+ /**
+ * Check to see if all the text fields are valid. Otherwise, set error
+ * messages appropriately.
+ *
+ * @return True if all the text fields are valid, false otherwise.
+ */
+ protected boolean isValid() {
+ if (!validateID()) {
+ setErrorMessage(Messages.CreaterepoNewWizardPageTwo_errorID);
+ }
+ if (repositoryNameTxt.getText().trim().isEmpty()) {
+ setErrorMessage(Messages.CreaterepoNewWizardPageTwo_errorName);
+ }
+ if (!validateURL()) {
+ setErrorMessage(Messages.CreaterepoNewWizardPageTwo_errorURL);
+ }
+ if (validateID() && validateURL() && !repositoryNameTxt.getText().trim().isEmpty()) {
+ setErrorMessage(null);
+ return true;
+ } else {
+ return false;
+ }
+ }
+
+ /**
+ * Check if the ID is valid. It is valid if it is a single string and
+ * not empty.
+ *
+ * @return True if the ID is valid, false otherwise.
+ */
+ private boolean validateID() {
+ // check if repository ID is a single string
+ String tmpRepoID = repositoryIDTxt.getText().trim();
+ Pattern singleStringPattern = Pattern.compile("\\b(\\S+)\\b", //$NON-NLS-1$
+ Pattern.CASE_INSENSITIVE);
+ Matcher singleStringMatcher = singleStringPattern.matcher(tmpRepoID);
+ if (singleStringMatcher.matches()) {
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * Check if the URL is valid. It is valid if it contains a valid protocol and link.
+ *
+ * @return True if the URL is valid, false otherwise.
+ */
+ private boolean validateURL() {
+ // check if baseURL is a valid URL
+ String tmpRepoURL = repositoryBaseURLTxt.getText().trim();
+ // TODO: possibly validate if pointing to something that exists (not really necessary, but nice)
+ try {
+ new URL(tmpRepoURL);
+ return true;
+ } catch (MalformedURLException e) {
+ return false;
+ }
+ }
+
+ public String getRepositoryID() {
+ if (repositoryIDTxt == null) {
+ return ICreaterepoConstants.EMPTY_STRING;
+ }
+ return repositoryIDTxt.getText().trim();
+ }
+
+ public String getRepositoryName() {
+ if (repositoryNameTxt == null) {
+ return ICreaterepoConstants.EMPTY_STRING;
+ }
+ return repositoryNameTxt.getText().trim();
+ }
+
+ public String getRepositoryURL() {
+ if (repositoryBaseURLTxt == null) {
+ return ICreaterepoConstants.EMPTY_STRING;
+ }
+ return repositoryBaseURLTxt.getText().trim();
+ }
}
diff --git a/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/wizard/CreaterepoWizard.java b/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/wizard/CreaterepoWizard.java
index ca52698743..6e1aad609c 100644
--- a/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/wizard/CreaterepoWizard.java
+++ b/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/wizard/CreaterepoWizard.java
@@ -40,128 +40,128 @@ import org.eclipse.ui.ide.IDE;
*/
public class CreaterepoWizard extends Wizard implements INewWizard {
- private CreaterepoNewWizardPageOne pageOne;
- private CreaterepoNewWizardPageTwo pageTwo;
- private IProject project;
+ private CreaterepoNewWizardPageOne pageOne;
+ private CreaterepoNewWizardPageTwo pageTwo;
+ private IProject project;
- /*
- * (non-Javadoc)
- * @see org.eclipse.ui.IWorkbenchWizard#init(org.eclipse.ui.IWorkbench, org.eclipse.jface.viewers.IStructuredSelection)
- */
- @Override
- public void init(IWorkbench workbench, IStructuredSelection selection) {
- setNeedsProgressMonitor(true);
- }
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.ui.IWorkbenchWizard#init(org.eclipse.ui.IWorkbench, org.eclipse.jface.viewers.IStructuredSelection)
+ */
+ @Override
+ public void init(IWorkbench workbench, IStructuredSelection selection) {
+ setNeedsProgressMonitor(true);
+ }
- /*
- * (non-Javadoc)
- * @see org.eclipse.jface.wizard.Wizard#addPages()
- */
- @Override
- public void addPages() {
- super.addPages();
- pageOne = new CreaterepoNewWizardPageOne(
- Messages.CreaterepoNewWizardPageOne_wizardPageName);
- addPage(pageOne);
- pageTwo = new CreaterepoNewWizardPageTwo(
- Messages.CreaterepoNewWizardPageTwo_wizardPageName);
- addPage(pageTwo);
- }
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.jface.wizard.Wizard#addPages()
+ */
+ @Override
+ public void addPages() {
+ super.addPages();
+ pageOne = new CreaterepoNewWizardPageOne(
+ Messages.CreaterepoNewWizardPageOne_wizardPageName);
+ addPage(pageOne);
+ pageTwo = new CreaterepoNewWizardPageTwo(
+ Messages.CreaterepoNewWizardPageTwo_wizardPageName);
+ addPage(pageTwo);
+ }
- /*
- * (non-Javadoc)
- * @see org.eclipse.jface.wizard.Wizard#canFinish()
- */
- @Override
- public boolean canFinish() {
- return getContainer().getCurrentPage() == pageTwo && pageTwo.isPageComplete();
- }
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.jface.wizard.Wizard#canFinish()
+ */
+ @Override
+ public boolean canFinish() {
+ return getContainer().getCurrentPage() == pageTwo && pageTwo.isPageComplete();
+ }
- /*
- * (non-Javadoc)
- * @see org.eclipse.jface.wizard.Wizard#performFinish()
- */
- @Override
- public boolean performFinish() {
- WorkspaceModifyOperation op = new WorkspaceModifyOperation() {
- @Override
- protected void execute(IProgressMonitor monitor) {
- createProject(monitor);
- }
- };
- try {
- getContainer().run(false, true, op);
- } catch (InvocationTargetException e) {
- Activator.logError(Messages.CreaterepoWizard_errorCreatingProject, e);
- } catch (InterruptedException e) {
- Activator.logError(Messages.CreaterepoWizard_errorCreatingProject, e);
- }
- return true;
- }
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.jface.wizard.Wizard#performFinish()
+ */
+ @Override
+ public boolean performFinish() {
+ WorkspaceModifyOperation op = new WorkspaceModifyOperation() {
+ @Override
+ protected void execute(IProgressMonitor monitor) {
+ createProject(monitor);
+ }
+ };
+ try {
+ getContainer().run(false, true, op);
+ } catch (InvocationTargetException e) {
+ Activator.logError(Messages.CreaterepoWizard_errorCreatingProject, e);
+ } catch (InterruptedException e) {
+ Activator.logError(Messages.CreaterepoWizard_errorCreatingProject, e);
+ }
+ return true;
+ }
- /**
- * Create a createrepo project that contains an empty content folder and
- * a quickly initialized .repo file with the mandatory options.
- *
- * @param monitor The progress monitor.
- */
- protected void createProject(IProgressMonitor monitor) {
- try {
- String fileName = pageTwo.getRepositoryID().concat("."+ICreaterepoConstants. //$NON-NLS-1$
- REPO_FILE_EXTENSION);
- // create the project
- project = CreaterepoProjectCreator.create(pageOne.getProjectName(),
- pageOne.getLocationPath(), fileName, monitor);
- // get a handle on the content folder
- IFolder folder = project
- .getFolder(ICreaterepoConstants.CONTENT_FOLDER);
- if (!folder.exists()) {
- folder.create(false, true, monitor);
- }
- // get a handle on the .repo file
- final IFile file = project.getFile(fileName);
- final String repoFileContents = initializeRepoContents(pageTwo.getRepositoryID(),
- pageTwo.getRepositoryName(), pageTwo.getRepositoryURL());
- InputStream stream = new ByteArrayInputStream(repoFileContents.getBytes());
- if (file.exists()) {
- file.setContents(stream, true, true, monitor);
- } else {
- file.create(stream, true, monitor);
- }
- monitor.worked(1);
- monitor.setTaskName(Messages.CreaterepoWizard_openFileOnCreation);
- getShell().getDisplay().asyncExec(new Runnable() {
- @Override
- public void run() {
- IWorkbenchPage page = PlatformUI.getWorkbench()
- .getActiveWorkbenchWindow().getActivePage();
- try {
- IDE.openEditor(page, file, true);
- } catch (PartInitException e) {
- Activator.logError(
- Messages.CreaterepoWizard_errorOpeningNewlyCreatedFile, e);
- }
- }
- });
- monitor.worked(1);
- } catch (CoreException e) {
- Activator.logError(Messages.CreaterepoWizard_errorCreatingProject, e);
- }
- }
+ /**
+ * Create a createrepo project that contains an empty content folder and
+ * a quickly initialized .repo file with the mandatory options.
+ *
+ * @param monitor The progress monitor.
+ */
+ protected void createProject(IProgressMonitor monitor) {
+ try {
+ String fileName = pageTwo.getRepositoryID().concat("."+ICreaterepoConstants. //$NON-NLS-1$
+ REPO_FILE_EXTENSION);
+ // create the project
+ project = CreaterepoProjectCreator.create(pageOne.getProjectName(),
+ pageOne.getLocationPath(), fileName, monitor);
+ // get a handle on the content folder
+ IFolder folder = project
+ .getFolder(ICreaterepoConstants.CONTENT_FOLDER);
+ if (!folder.exists()) {
+ folder.create(false, true, monitor);
+ }
+ // get a handle on the .repo file
+ final IFile file = project.getFile(fileName);
+ final String repoFileContents = initializeRepoContents(pageTwo.getRepositoryID(),
+ pageTwo.getRepositoryName(), pageTwo.getRepositoryURL());
+ InputStream stream = new ByteArrayInputStream(repoFileContents.getBytes());
+ if (file.exists()) {
+ file.setContents(stream, true, true, monitor);
+ } else {
+ file.create(stream, true, monitor);
+ }
+ monitor.worked(1);
+ monitor.setTaskName(Messages.CreaterepoWizard_openFileOnCreation);
+ getShell().getDisplay().asyncExec(new Runnable() {
+ @Override
+ public void run() {
+ IWorkbenchPage page = PlatformUI.getWorkbench()
+ .getActiveWorkbenchWindow().getActivePage();
+ try {
+ IDE.openEditor(page, file, true);
+ } catch (PartInitException e) {
+ Activator.logError(
+ Messages.CreaterepoWizard_errorOpeningNewlyCreatedFile, e);
+ }
+ }
+ });
+ monitor.worked(1);
+ } catch (CoreException e) {
+ Activator.logError(Messages.CreaterepoWizard_errorCreatingProject, e);
+ }
+ }
- /**
- * Helper method to initialize the contents of the .repo file.
- *
- * @param id The unique repository ID.
- * @param name A human readable string that describes the repository.
- * @param url A URL pointing to the repodata folder.
- * @return
- */
- private static String initializeRepoContents(String id, String name, String url) {
- String contents = String.format("[%s]\n", id); //$NON-NLS-1$
- contents = contents.concat(String.format("%s=%s\n", IRepoFileConstants.NAME, name)); //$NON-NLS-1$
- contents = contents.concat(String.format("%s=%s\n", IRepoFileConstants.BASE_URL, url)); //$NON-NLS-1$
- return contents;
- }
+ /**
+ * Helper method to initialize the contents of the .repo file.
+ *
+ * @param id The unique repository ID.
+ * @param name A human readable string that describes the repository.
+ * @param url A URL pointing to the repodata folder.
+ * @return
+ */
+ private static String initializeRepoContents(String id, String name, String url) {
+ String contents = String.format("[%s]\n", id); //$NON-NLS-1$
+ contents = contents.concat(String.format("%s=%s\n", IRepoFileConstants.NAME, name)); //$NON-NLS-1$
+ contents = contents.concat(String.format("%s=%s\n", IRepoFileConstants.BASE_URL, url)); //$NON-NLS-1$
+ return contents;
+ }
} \ No newline at end of file

Back to the top