Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/wizards/CfgHolder.java')
-rw-r--r--build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/wizards/CfgHolder.java329
1 files changed, 170 insertions, 159 deletions
diff --git a/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/wizards/CfgHolder.java b/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/wizards/CfgHolder.java
index 42ce34842fc..3ef5ddb84b8 100644
--- a/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/wizards/CfgHolder.java
+++ b/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/wizards/CfgHolder.java
@@ -23,212 +23,223 @@ import org.eclipse.cdt.managedbuilder.core.ManagedBuildManager;
import org.eclipse.cdt.managedbuilder.internal.ui.Messages;
/**
- * This class is intended for data exchange between
- * Configuration page and Handlers.
- * It may hold configuration in case of managed project
- * or to be a placeholder in case of make project
- *
+ * This class is intended for data exchange between
+ * Configuration page and Handlers.
+ * It may hold configuration in case of managed project
+ * or to be a placeholder in case of make project
+ *
* @noextend This class is not intended to be subclassed by clients.
* @noinstantiate This class is not intended to be instantiated by clients.
*/
public class CfgHolder {
- private static final String DELIMITER = "_with_"; //$NON-NLS-1$
- private static final String LBR = " (v "; //$NON-NLS-1$
- private static final String RBR = ")"; //$NON-NLS-1$
+ private static final String DELIMITER = "_with_"; //$NON-NLS-1$
+ private static final String LBR = " (v "; //$NON-NLS-1$
+ private static final String RBR = ")"; //$NON-NLS-1$
private String name;
private IConfiguration cfg;
private IToolChain tc;
-
+
public CfgHolder(IToolChain _tc, IConfiguration _cfg) {
tc = _tc;
cfg = _cfg;
if (cfg == null) {
if (tc == null || tc.getParent() == null)
- name = Messages.StdProjectTypeHandler_2;
+ name = Messages.StdProjectTypeHandler_2;
else
name = tc.getParent().getName();
- } else
+ } else
name = cfg.getName();
}
-
+
/**
* @since 8.0
*/
public void setConfiguration(IConfiguration cfg) {
this.cfg = cfg;
}
-
+
public boolean isSystem() {
- if (cfg == null) return false;
+ if (cfg == null)
+ return false;
return (cfg.isSystemObject());
}
+
public boolean isSupported() {
- if (cfg == null) return true;
+ if (cfg == null)
+ return true;
return (cfg.isSupported());
}
-
+
/**
* Checks whether names are unique
- *
+ *
* @param its array of CfgHolders
* @return boolean if CfgHolder name appears more than once
*/
- public static boolean hasDoubles(CfgHolder[] its) {
- for (int i=0; i<its.length; i++) {
- String s = its[i].name;
- for (int j=0; j<its.length; j++) {
- if (i == j) continue;
- if (s.equals(its[j].name))
- return true;
- }
- }
- return false;
- }
-
- /**
- * Creates array of {@link CfgHolder}s based on the passed in
- * {@link IConfiguration}s
- *
- * @param cfgs {@link IConfiguration}s to turn to CfgHolders
- * @return CfgHolder[]
- */
- public static CfgHolder[] cfgs2items(IConfiguration[] cfgs) {
- CfgHolder[] its = new CfgHolder[cfgs.length];
- for (int i=0; i<cfgs.length; i++) {
- its[i] = new CfgHolder(cfgs[i].getToolChain(), cfgs[i]);
- }
- return its;
- }
-
- /**
- * Makes configuration's names unique.
- * Adds either version number or toolchain name.
- * If it does not help, simply adds index.
- *
- * @param its - list of items.
- * @return the same list with unique names.
- */
-
- public static CfgHolder[] unique(CfgHolder[] its) {
- // if names are not unique, add version name
- if (hasDoubles(its)) {
- for (int k=0; k<its.length; k++) {
- if (its[k].tc != null) {
- String ver = ManagedBuildManager.getVersionFromIdAndVersion(its[k].tc.getId());
- if(ver != null)
- its[k].name = its[k].name + LBR + ver + RBR;
- }
- }
+ public static boolean hasDoubles(CfgHolder[] its) {
+ for (int i = 0; i < its.length; i++) {
+ String s = its[i].name;
+ for (int j = 0; j < its.length; j++) {
+ if (i == j)
+ continue;
+ if (s.equals(its[j].name))
+ return true;
+ }
+ }
+ return false;
+ }
+
+ /**
+ * Creates array of {@link CfgHolder}s based on the passed in
+ * {@link IConfiguration}s
+ *
+ * @param cfgs {@link IConfiguration}s to turn to CfgHolders
+ * @return CfgHolder[]
+ */
+ public static CfgHolder[] cfgs2items(IConfiguration[] cfgs) {
+ CfgHolder[] its = new CfgHolder[cfgs.length];
+ for (int i = 0; i < cfgs.length; i++) {
+ its[i] = new CfgHolder(cfgs[i].getToolChain(), cfgs[i]);
+ }
+ return its;
+ }
+
+ /**
+ * Makes configuration's names unique.
+ * Adds either version number or toolchain name.
+ * If it does not help, simply adds index.
+ *
+ * @param its - list of items.
+ * @return the same list with unique names.
+ */
+
+ public static CfgHolder[] unique(CfgHolder[] its) {
+ // if names are not unique, add version name
+ if (hasDoubles(its)) {
+ for (int k = 0; k < its.length; k++) {
+ if (its[k].tc != null) {
+ String ver = ManagedBuildManager.getVersionFromIdAndVersion(its[k].tc.getId());
+ if (ver != null)
+ its[k].name = its[k].name + LBR + ver + RBR;
+ }
+ }
}
- // if names are still not unique, add toolchain name
- if (hasDoubles(its)) {
- for (int k=0; k<its.length; k++) {
- String s = its[k].name;
- int x = s.indexOf(LBR);
- if (x >= 0)
- s = s.substring(0, x);
- IToolChain tc = its[k].tc;
- if (tc == null && its[k].cfg != null)
- tc = its[k].cfg.getToolChain();
- if (tc != null)
- its[k].name = s + DELIMITER + tc.getUniqueRealName();
- }
+ // if names are still not unique, add toolchain name
+ if (hasDoubles(its)) {
+ for (int k = 0; k < its.length; k++) {
+ String s = its[k].name;
+ int x = s.indexOf(LBR);
+ if (x >= 0)
+ s = s.substring(0, x);
+ IToolChain tc = its[k].tc;
+ if (tc == null && its[k].cfg != null)
+ tc = its[k].cfg.getToolChain();
+ if (tc != null)
+ its[k].name = s + DELIMITER + tc.getUniqueRealName();
+ }
}
- // if names are still not unique, add index
- if (hasDoubles(its)) {
- for (int k=0; k<its.length; k++) {
- its[k].name = its[k].name + k;
- }
+ // if names are still not unique, add index
+ if (hasDoubles(its)) {
+ for (int k = 0; k < its.length; k++) {
+ its[k].name = its[k].name + k;
+ }
}
- return its;
- }
-
- /**
- * Returns corresponding project type
- * obtained either from configuration
- * (if any) or from toolchain.
- *
- * @return projectType
- */
-
- public IProjectType getProjectType() {
- if (cfg != null)
- return cfg.getProjectType();
- if (tc != null && tc.getParent() != null)
- return tc.getParent().getProjectType();
- return null;
- }
-
- /**
- * Reorders selected configurations in "physical" order.
- * Although toolchains are displayed in alphabetical
- * order in Wizard, it's required to create corresponding
- * configurations in the same order as they are listed
- * in xml file, inside of single project type.
- *
- * @param its - items in initial order.
- * @return - items in "physical" order.
- */
-
- public static CfgHolder[] reorder(CfgHolder[] its) {
- ArrayList<CfgHolder> ls = new ArrayList<CfgHolder>(its.length);
- boolean found = true;
- while (found) {
+ return its;
+ }
+
+ /**
+ * Returns corresponding project type
+ * obtained either from configuration
+ * (if any) or from toolchain.
+ *
+ * @return projectType
+ */
+
+ public IProjectType getProjectType() {
+ if (cfg != null)
+ return cfg.getProjectType();
+ if (tc != null && tc.getParent() != null)
+ return tc.getParent().getProjectType();
+ return null;
+ }
+
+ /**
+ * Reorders selected configurations in "physical" order.
+ * Although toolchains are displayed in alphabetical
+ * order in Wizard, it's required to create corresponding
+ * configurations in the same order as they are listed
+ * in xml file, inside of single project type.
+ *
+ * @param its - items in initial order.
+ * @return - items in "physical" order.
+ */
+
+ public static CfgHolder[] reorder(CfgHolder[] its) {
+ ArrayList<CfgHolder> ls = new ArrayList<CfgHolder>(its.length);
+ boolean found = true;
+ while (found) {
found = false;
- for (int i=0; i<its.length; i++) {
- if (its[i] == null)
- continue;
- found = true;
- IProjectType pt = its[i].getProjectType();
- if (pt == null) {
+ for (int i = 0; i < its.length; i++) {
+ if (its[i] == null)
+ continue;
+ found = true;
+ IProjectType pt = its[i].getProjectType();
+ if (pt == null) {
ls.add(its[i]);
its[i] = null;
- continue;
- }
- IConfiguration[] cfs = pt.getConfigurations();
- for (int j=0; j<cfs.length; j++) {
- for (int k=0; k<its.length; k++) {
- if (its[k] == null)
- continue;
- if (cfs[j].equals(its[k].getTcCfg())) {
- ls.add(its[k]);
- its[k] = null;
- }
- }
- }
- }
- }
- return ls.toArray(new CfgHolder[ls.size()]);
- }
-
-
- /*
- * Note that null configurations are ignored !
- */
- public static IConfiguration[] items2cfgs(CfgHolder[] its) {
- ArrayList<IConfiguration> lst = new ArrayList<IConfiguration>(its.length);
- for (CfgHolder h : its)
- if (h.cfg != null)
- lst.add(h.cfg);
- return lst.toArray(new IConfiguration[lst.size()]);
- }
-
- public IConfiguration getTcCfg() {
- if (tc != null)
- return tc.getParent();
- return null;
- }
+ continue;
+ }
+ IConfiguration[] cfs = pt.getConfigurations();
+ for (int j = 0; j < cfs.length; j++) {
+ for (int k = 0; k < its.length; k++) {
+ if (its[k] == null)
+ continue;
+ if (cfs[j].equals(its[k].getTcCfg())) {
+ ls.add(its[k]);
+ its[k] = null;
+ }
+ }
+ }
+ }
+ }
+ return ls.toArray(new CfgHolder[ls.size()]);
+ }
+
+ /*
+ * Note that null configurations are ignored !
+ */
+ public static IConfiguration[] items2cfgs(CfgHolder[] its) {
+ ArrayList<IConfiguration> lst = new ArrayList<IConfiguration>(its.length);
+ for (CfgHolder h : its)
+ if (h.cfg != null)
+ lst.add(h.cfg);
+ return lst.toArray(new IConfiguration[lst.size()]);
+ }
+
+ public IConfiguration getTcCfg() {
+ if (tc != null)
+ return tc.getParent();
+ return null;
+ }
/**
* @return the IConfiguration stored in this holder.
* @since 8.0
*/
- public IConfiguration getConfiguration() { return cfg; }
- public String getName() { return name; }
+ public IConfiguration getConfiguration() {
+ return cfg;
+ }
+
+ public String getName() {
+ return name;
+ }
+
/**
* @return the IToolchain stored in this holder
* @since 8.0
*/
- public IToolChain getToolChain() { return tc; }
+ public IToolChain getToolChain() {
+ return tc;
+ }
}

Back to the top