mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-08-13 19:25:38 +02:00
bug 288032: reformatting only
This commit is contained in:
parent
b37f1f3d9b
commit
0843b02a8f
1 changed files with 493 additions and 453 deletions
|
@ -67,10 +67,6 @@ public class DiscoveryTab extends AbstractCBuildPropertyTab implements IBuildInf
|
|||
@Deprecated
|
||||
protected static final String PREFIX = "ScannerConfigOptionsDialog"; //$NON-NLS-1$
|
||||
|
||||
private static final String SC_GROUP_LABEL = "ScannerConfigOptionsDialog.scGroup.label"; //$NON-NLS-1$
|
||||
private static final String SC_ENABLED_BUTTON = "ScannerConfigOptionsDialog.scGroup.enabled.button"; //$NON-NLS-1$
|
||||
private static final String SC_PROBLEM_REPORTING_ENABLED_BUTTON = "ScannerConfigOptionsDialog.scGroup.problemReporting.enabled.button"; //$NON-NLS-1$
|
||||
private static final String SC_SELECTED_PROFILE_COMBO = "ScannerConfigOptionsDialog.scGroup.selectedProfile.combo"; //$NON-NLS-1$
|
||||
private static final String NAMESPACE = "org.eclipse.cdt.make.ui"; //$NON-NLS-1$
|
||||
private static final String POINT = "DiscoveryProfilePage"; //$NON-NLS-1$
|
||||
private static final String PROFILE_PAGE = "profilePage"; //$NON-NLS-1$
|
||||
|
@ -98,8 +94,13 @@ public class DiscoveryTab extends AbstractCBuildPropertyTab implements IBuildInf
|
|||
protected SashForm sashForm;
|
||||
|
||||
private DiscoveryPageWrapper wrapper = null;
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets.Composite)
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see
|
||||
* org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets
|
||||
* .Composite)
|
||||
*/
|
||||
public void createControls(Composite parent) {
|
||||
super.createControls(parent);
|
||||
|
@ -107,7 +108,8 @@ public class DiscoveryTab extends AbstractCBuildPropertyTab implements IBuildInf
|
|||
usercomp.setLayout(new GridLayout(1, false));
|
||||
|
||||
if (page.isForProject() || page.isForPrefs()) {
|
||||
Group scopeGroup = setupGroup(usercomp, Messages.getString("DiscoveryTab.0"), 1, GridData.FILL_HORIZONTAL); //$NON-NLS-1$
|
||||
Group scopeGroup = setupGroup(usercomp, Messages.getString("DiscoveryTab.0"),
|
||||
1, GridData.FILL_HORIZONTAL); //$NON-NLS-1$
|
||||
scopeGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
|
||||
scopeComboBox = new Combo(scopeGroup, SWT.DROP_DOWN | SWT.READ_ONLY | SWT.BORDER);
|
||||
scopeComboBox.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
|
||||
|
@ -115,7 +117,8 @@ public class DiscoveryTab extends AbstractCBuildPropertyTab implements IBuildInf
|
|||
scopeComboBox.add(Messages.getString("DiscoveryTab.2")); //$NON-NLS-1$
|
||||
scopeComboBox.addSelectionListener(new SelectionAdapter() {
|
||||
public void widgetSelected(SelectionEvent e) {
|
||||
if (cbi == null) return;
|
||||
if (cbi == null)
|
||||
return;
|
||||
cbi.setPerRcTypeDiscovery(scopeComboBox.getSelectionIndex() == 0);
|
||||
updateData();
|
||||
}
|
||||
|
@ -134,14 +137,15 @@ public class DiscoveryTab extends AbstractCBuildPropertyTab implements IBuildInf
|
|||
fTableDefinition = new Label(comp, SWT.LEFT);
|
||||
fTableDefinition.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
|
||||
|
||||
resTable = new Table(comp, SWT.SINGLE|SWT.H_SCROLL|SWT.V_SCROLL|SWT.BORDER);
|
||||
resTable = new Table(comp, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
|
||||
GridData gd = new GridData(GridData.FILL_BOTH);
|
||||
gd.widthHint = 150;
|
||||
resTable.setLayoutData(gd);
|
||||
resTable.addSelectionListener(new SelectionAdapter() {
|
||||
public void widgetSelected(SelectionEvent e) {
|
||||
handleToolSelected();
|
||||
}});
|
||||
}
|
||||
});
|
||||
initializeProfilePageMap();
|
||||
|
||||
Composite c = new Composite(sashForm, 0);
|
||||
|
@ -160,9 +164,11 @@ public class DiscoveryTab extends AbstractCBuildPropertyTab implements IBuildInf
|
|||
}
|
||||
|
||||
private void createScannerConfigControls(Composite parent) {
|
||||
scGroup = setupGroup(parent, UIMessages.getString(SC_GROUP_LABEL), 2, GridData.FILL_HORIZONTAL);
|
||||
scGroup = setupGroup(parent, UIMessages.getString("ScannerConfigOptionsDialog.scGroup.label"),
|
||||
2, GridData.FILL_HORIZONTAL);
|
||||
|
||||
scEnabledButton = setupCheck(scGroup, UIMessages.getString(SC_ENABLED_BUTTON), 2, GridData.FILL_HORIZONTAL);
|
||||
scEnabledButton = setupCheck(scGroup, UIMessages.getString("ScannerConfigOptionsDialog.scGroup.enabled.button"),
|
||||
2, GridData.FILL_HORIZONTAL);
|
||||
scEnabledButton.addSelectionListener(new SelectionAdapter() {
|
||||
public void widgetSelected(SelectionEvent e) {
|
||||
buildInfo.setAutoDiscoveryEnabled(scEnabledButton.getSelection());
|
||||
|
@ -171,7 +177,8 @@ public class DiscoveryTab extends AbstractCBuildPropertyTab implements IBuildInf
|
|||
handleDiscoveryProfileChanged();
|
||||
}
|
||||
});
|
||||
scProblemReportingEnabledButton = setupCheck(scGroup, UIMessages.getString(SC_PROBLEM_REPORTING_ENABLED_BUTTON), 2, GridData.FILL_HORIZONTAL);
|
||||
scProblemReportingEnabledButton = setupCheck(scGroup, UIMessages.getString("ScannerConfigOptionsDialog.scGroup.problemReporting.enabled.button"),
|
||||
2, GridData.FILL_HORIZONTAL);
|
||||
scProblemReportingEnabledButton.addSelectionListener(new SelectionAdapter() {
|
||||
public void widgetSelected(SelectionEvent e) {
|
||||
buildInfo.setProblemReportingEnabled(scProblemReportingEnabledButton.getSelection());
|
||||
|
@ -179,7 +186,8 @@ public class DiscoveryTab extends AbstractCBuildPropertyTab implements IBuildInf
|
|||
});
|
||||
|
||||
// Add profile combo box
|
||||
setupLabel(scGroup,UIMessages.getString(SC_SELECTED_PROFILE_COMBO), 1, GridData.BEGINNING);
|
||||
setupLabel(scGroup, UIMessages.getString("ScannerConfigOptionsDialog.scGroup.selectedProfile.combo"),
|
||||
1, GridData.BEGINNING);
|
||||
profileComboBox = new Combo(scGroup, SWT.DROP_DOWN | SWT.READ_ONLY | SWT.BORDER);
|
||||
profileComboBox.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
|
||||
profileComboBox.addSelectionListener(new SelectionAdapter() {
|
||||
|
@ -208,9 +216,10 @@ public class DiscoveryTab extends AbstractCBuildPropertyTab implements IBuildInf
|
|||
configPath = rcfg.getPath();
|
||||
IConfiguration cfg = getCfg(rcfg.getConfiguration());
|
||||
cbi = CfgScannerConfigProfileManager.getCfgScannerConfigBuildInfo(cfg);
|
||||
if(!page.isForPrefs() && baseInfoMap == null){
|
||||
if (!page.isForPrefs() && baseInfoMap == null) {
|
||||
try {
|
||||
IScannerConfigBuilderInfo2Set baseCbi = ScannerConfigProfileManager.createScannerConfigBuildInfo2Set(cfg.getOwner().getProject());
|
||||
IProject project = cfg.getOwner().getProject();
|
||||
IScannerConfigBuilderInfo2Set baseCbi = ScannerConfigProfileManager.createScannerConfigBuildInfo2Set(project);
|
||||
baseInfoMap = baseCbi.getInfoMap();
|
||||
} catch (CoreException e) {
|
||||
}
|
||||
|
@ -222,7 +231,7 @@ public class DiscoveryTab extends AbstractCBuildPropertyTab implements IBuildInf
|
|||
private void updateData() {
|
||||
int selScope = 0;
|
||||
String lblText = "Tools:";
|
||||
if(!cbi.isPerRcTypeDiscovery()) {
|
||||
if (!cbi.isPerRcTypeDiscovery()) {
|
||||
selScope = 1;
|
||||
lblText = "Configuration:";
|
||||
}
|
||||
|
@ -230,7 +239,6 @@ public class DiscoveryTab extends AbstractCBuildPropertyTab implements IBuildInf
|
|||
scopeComboBox.select(selScope);
|
||||
fTableDefinition.setText(lblText);
|
||||
|
||||
|
||||
Map<CfgInfoContext, IScannerConfigBuilderInfo2> m = cbi.getInfoMap();
|
||||
int pos = resTable.getSelectionIndex();
|
||||
resTable.removeAll();
|
||||
|
@ -240,15 +248,18 @@ public class DiscoveryTab extends AbstractCBuildPropertyTab implements IBuildInf
|
|||
if (rci == null) { // per configuration
|
||||
s = ic.getConfiguration().getName();
|
||||
} else { // per resource
|
||||
if ( ! configPath.equals(rci.getPath())) continue;
|
||||
if (!configPath.equals(rci.getPath()))
|
||||
continue;
|
||||
IInputType typ = ic.getInputType();
|
||||
if (typ != null) s = typ.getName();
|
||||
if (typ != null)
|
||||
s = typ.getName();
|
||||
if (s == null) {
|
||||
ITool tool = ic.getTool();
|
||||
if (tool != null)
|
||||
s = tool.getName();
|
||||
}
|
||||
if (s == null) s = Messages.getString("DiscoveryTab.3"); //$NON-NLS-1$
|
||||
if (s == null)
|
||||
s = Messages.getString("DiscoveryTab.3"); //$NON-NLS-1$
|
||||
}
|
||||
IScannerConfigBuilderInfo2 bi2 = m.get(ic);
|
||||
TableItem ti = new TableItem(resTable, SWT.NONE);
|
||||
|
@ -272,25 +283,25 @@ public class DiscoveryTab extends AbstractCBuildPropertyTab implements IBuildInf
|
|||
resTable.setEnabled(errMsg == null);
|
||||
if (errMsg != null) {
|
||||
String[] ss = errMsg.split("\n"); //$NON-NLS-1$
|
||||
for (int i=0; i<ss.length; i++)
|
||||
for (int i = 0; i < ss.length; i++)
|
||||
new TableItem(resTable, SWT.NONE).setText(ss[i]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private String getProfileName(String id) {
|
||||
int x = id.lastIndexOf("."); //$NON-NLS-1$
|
||||
return (x == -1) ? id : id.substring(x+1);
|
||||
return (x == -1) ? id : id.substring(x + 1);
|
||||
}
|
||||
|
||||
private void handleToolSelected() {
|
||||
if (resTable.getSelectionCount() == 0) return;
|
||||
if (resTable.getSelectionCount() == 0)
|
||||
return;
|
||||
|
||||
performOK(false);
|
||||
|
||||
TableItem ti = resTable.getSelection()[0];
|
||||
buildInfo = (IScannerConfigBuilderInfo2)ti.getData("info"); //$NON-NLS-1$
|
||||
iContext = (CfgInfoContext)ti.getData("cont"); //$NON-NLS-1$
|
||||
buildInfo = (IScannerConfigBuilderInfo2) ti.getData("info"); //$NON-NLS-1$
|
||||
iContext = (CfgInfoContext) ti.getData("cont"); //$NON-NLS-1$
|
||||
scEnabledButton.setSelection(buildInfo.isAutoDiscoveryEnabled());
|
||||
scProblemReportingEnabledButton.setSelection(buildInfo.isProblemReportingEnabled());
|
||||
|
||||
|
@ -300,7 +311,7 @@ public class DiscoveryTab extends AbstractCBuildPropertyTab implements IBuildInf
|
|||
visibleProfilesList = new ArrayList<String>(profilesList.size());
|
||||
|
||||
if (realPages != null && realPages.length > 0) {
|
||||
for (int i=0; i<realPages.length; i++) {
|
||||
for (int i = 0; i < realPages.length; i++) {
|
||||
if (realPages[i] != null) {
|
||||
realPages[i].setVisible(false);
|
||||
realPages[i].dispose();
|
||||
|
@ -316,30 +327,30 @@ public class DiscoveryTab extends AbstractCBuildPropertyTab implements IBuildInf
|
|||
String savedId = buildInfo.getSelectedProfileId();
|
||||
ITool[] tools = null;
|
||||
boolean needPerRcProfile = cbi.isPerRcTypeDiscovery();
|
||||
if(!page.isForPrefs()) {
|
||||
Tool tool = (Tool)iContext.getTool();
|
||||
if(null == tool) {
|
||||
if (!page.isForPrefs()) {
|
||||
Tool tool = (Tool) iContext.getTool();
|
||||
if (null == tool) {
|
||||
IConfiguration conf = iContext.getConfiguration();
|
||||
if(null != conf) {
|
||||
if (null != conf) {
|
||||
tools = conf.getToolChain().getTools();
|
||||
}
|
||||
if(null == tools)
|
||||
if (null == tools)
|
||||
return;
|
||||
}
|
||||
else
|
||||
} else {
|
||||
tools = new ITool[] { tool };
|
||||
}
|
||||
}
|
||||
for (String profileId : profilesList) {
|
||||
if(tools != null) {
|
||||
if (tools != null) {
|
||||
boolean ok = false;
|
||||
for(int i = 0; i < tools.length; ++i) {
|
||||
IInputType[] inputTypes = ((Tool)tools[i]).getAllInputTypes();
|
||||
if(null != inputTypes) {
|
||||
for(IInputType it : inputTypes) {
|
||||
for (int i = 0; i < tools.length; ++i) {
|
||||
IInputType[] inputTypes = ((Tool) tools[i]).getAllInputTypes();
|
||||
if (null != inputTypes) {
|
||||
for (IInputType it : inputTypes) {
|
||||
String[] requiedProfiles = getDiscoveryProfileIds(tools[i], it);
|
||||
if(null != requiedProfiles) {
|
||||
for(String requiredProfile : requiedProfiles) {
|
||||
if(profileId.equals(requiredProfile)) {
|
||||
if (null != requiedProfiles) {
|
||||
for (String requiredProfile : requiedProfiles) {
|
||||
if (profileId.equals(requiredProfile)) {
|
||||
ok = true;
|
||||
break;
|
||||
}
|
||||
|
@ -347,7 +358,7 @@ public class DiscoveryTab extends AbstractCBuildPropertyTab implements IBuildInf
|
|||
}
|
||||
}
|
||||
}
|
||||
if(ok)
|
||||
if (ok)
|
||||
break;
|
||||
}
|
||||
if (!ok)
|
||||
|
@ -376,7 +387,7 @@ public class DiscoveryTab extends AbstractCBuildPropertyTab implements IBuildInf
|
|||
}
|
||||
}
|
||||
}
|
||||
counter ++;
|
||||
counter++;
|
||||
}
|
||||
profileComboBox.setItems(normalize(labels, profiles, counter));
|
||||
|
||||
|
@ -388,12 +399,13 @@ public class DiscoveryTab extends AbstractCBuildPropertyTab implements IBuildInf
|
|||
}
|
||||
|
||||
private String[] getDiscoveryProfileIds(ITool iTool, IInputType it) {
|
||||
String attribute = ((InputType)it).getDiscoveryProfileIdAttribute();
|
||||
if(null == attribute)
|
||||
String attribute = ((InputType) it).getDiscoveryProfileIdAttribute();
|
||||
if (null == attribute)
|
||||
return new String[0];
|
||||
// FIXME: temporary; we should add new method to IInputType instead of that
|
||||
// FIXME: temporary; we should add new method to IInputType instead of
|
||||
// that
|
||||
String[] profileIds = attribute.split("\\|");
|
||||
for(int i = 0; i < profileIds.length; ++i)
|
||||
for (int i = 0; i < profileIds.length; ++i)
|
||||
profileIds[i] = profileIds[i].trim();
|
||||
return profileIds;
|
||||
}
|
||||
|
@ -403,21 +415,21 @@ public class DiscoveryTab extends AbstractCBuildPropertyTab implements IBuildInf
|
|||
String[] tmp = new String[counter];
|
||||
// Always show either Name + ID, or ID only
|
||||
// These cases do not require checking for doubles.
|
||||
if (mode == CDTPrefUtil.DISC_NAMING_ALWAYS_BOTH ||
|
||||
mode == CDTPrefUtil.DISC_NAMING_ALWAYS_IDS){
|
||||
for (int i=0; i<counter; i++)
|
||||
tmp[i] = (mode == CDTPrefUtil.DISC_NAMING_ALWAYS_IDS) ?
|
||||
ids[i] :
|
||||
combine(labels[i], ids[i]);
|
||||
if (mode == CDTPrefUtil.DISC_NAMING_ALWAYS_BOTH || mode == CDTPrefUtil.DISC_NAMING_ALWAYS_IDS) {
|
||||
for (int i = 0; i < counter; i++) {
|
||||
tmp[i] = (mode == CDTPrefUtil.DISC_NAMING_ALWAYS_IDS)
|
||||
? ids[i]
|
||||
: combine(labels[i], ids[i]);
|
||||
}
|
||||
return tmp;
|
||||
}
|
||||
|
||||
// For not-unique names only, either display ID or name + ID
|
||||
boolean doubles = false;
|
||||
outer:
|
||||
// quick check for at least one double
|
||||
for (int i=0; i<counter; i++) {
|
||||
for (int j=0; j<counter; j++) {
|
||||
outer:
|
||||
for (int i = 0; i < counter; i++) {
|
||||
for (int j = 0; j < counter; j++) {
|
||||
// sic! i < j, to avoid repeated comparison
|
||||
if (i < j && labels[i].equals(labels[j])) {
|
||||
doubles = true;
|
||||
|
@ -426,12 +438,12 @@ public class DiscoveryTab extends AbstractCBuildPropertyTab implements IBuildInf
|
|||
}
|
||||
}
|
||||
if (!doubles) { // all names are unique.
|
||||
for (int i=0; i<counter; i++)
|
||||
for (int i = 0; i < counter; i++)
|
||||
tmp[i] = labels[i];
|
||||
} else {
|
||||
for (int i=0; i<counter; i++) {
|
||||
for (int i = 0; i < counter; i++) {
|
||||
doubles = false;
|
||||
for (int j=0; j<counter; j++) {
|
||||
for (int j = 0; j < counter; j++) {
|
||||
if (i != j && labels[i].equals(labels[j])) {
|
||||
doubles = true;
|
||||
break;
|
||||
|
@ -440,7 +452,8 @@ public class DiscoveryTab extends AbstractCBuildPropertyTab implements IBuildInf
|
|||
if (doubles) {
|
||||
if (mode == CDTPrefUtil.DISC_NAMING_UNIQUE_OR_IDS)
|
||||
tmp[i] = ids[i];
|
||||
else // replace with Name + Id
|
||||
else
|
||||
// replace with Name + Id
|
||||
tmp[i] = combine(labels[i], ids[i]);
|
||||
} else { // this name is unique - no changes !
|
||||
tmp[i] = labels[i];
|
||||
|
@ -451,15 +464,17 @@ public class DiscoveryTab extends AbstractCBuildPropertyTab implements IBuildInf
|
|||
}
|
||||
|
||||
private String combine(String s1, String s2) {
|
||||
if (s1.equals(s2)) return s1;
|
||||
else return s1 + " (" + s2 + ")"; //$NON-NLS-1$ //$NON-NLS-2$
|
||||
if (s1.equals(s2))
|
||||
return s1;
|
||||
else
|
||||
return s1 + " (" + s2 + ")"; //$NON-NLS-1$ //$NON-NLS-2$
|
||||
}
|
||||
|
||||
private void handleDiscoveryProfileChanged() {
|
||||
int pos = profileComboBox.getSelectionIndex();
|
||||
for (int i=0; i<realPages.length; i++)
|
||||
for (int i = 0; i < realPages.length; i++)
|
||||
if (realPages[i] != null)
|
||||
realPages[i].setVisible(i==pos);
|
||||
realPages[i].setVisible(i == pos);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -467,9 +482,9 @@ public class DiscoveryTab extends AbstractCBuildPropertyTab implements IBuildInf
|
|||
*/
|
||||
private void initializeProfilePageMap() {
|
||||
pagesList = new ArrayList<DiscoveryProfilePageConfiguration>(5);
|
||||
IExtensionPoint point = Platform.getExtensionRegistry().getExtensionPoint(
|
||||
NAMESPACE, POINT);
|
||||
if (point == null) return;
|
||||
IExtensionPoint point = Platform.getExtensionRegistry().getExtensionPoint(NAMESPACE, POINT);
|
||||
if (point == null)
|
||||
return;
|
||||
IConfigurationElement[] infos = point.getConfigurationElements();
|
||||
for (int i = 0; i < infos.length; i++) {
|
||||
if (infos[i].getName().equals(PROFILE_PAGE)) {
|
||||
|
@ -487,28 +502,32 @@ public class DiscoveryTab extends AbstractCBuildPropertyTab implements IBuildInf
|
|||
IConfigurationElement fElement;
|
||||
private String profId, name;
|
||||
|
||||
protected DiscoveryProfilePageConfiguration(IConfigurationElement element) {
|
||||
protected DiscoveryProfilePageConfiguration(
|
||||
IConfigurationElement element) {
|
||||
fElement = element;
|
||||
profId = fElement.getAttribute(PROFILE_ID);
|
||||
name = fElement.getAttribute(PROFILE_NAME);
|
||||
}
|
||||
protected String getName() { return name; }
|
||||
|
||||
private AbstractDiscoveryPage getPage()
|
||||
{
|
||||
protected String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
private AbstractDiscoveryPage getPage() {
|
||||
try {
|
||||
return (AbstractDiscoveryPage) fElement.createExecutableExtension("class"); //$NON-NLS-1$
|
||||
} catch (CoreException e) { return null; }
|
||||
} catch (CoreException e) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void performApply(ICResourceDescription src,ICResourceDescription dst) {
|
||||
public void performApply(ICResourceDescription src,
|
||||
ICResourceDescription dst) {
|
||||
if (page.isMultiCfg())
|
||||
return;
|
||||
ICfgScannerConfigBuilderInfo2Set cbi1 =
|
||||
CfgScannerConfigProfileManager.getCfgScannerConfigBuildInfo(getCfg(src.getConfiguration()));
|
||||
ICfgScannerConfigBuilderInfo2Set cbi2 =
|
||||
CfgScannerConfigProfileManager.getCfgScannerConfigBuildInfo(getCfg(dst.getConfiguration()));
|
||||
ICfgScannerConfigBuilderInfo2Set cbi1 = CfgScannerConfigProfileManager.getCfgScannerConfigBuildInfo(getCfg(src.getConfiguration()));
|
||||
ICfgScannerConfigBuilderInfo2Set cbi2 = CfgScannerConfigProfileManager.getCfgScannerConfigBuildInfo(getCfg(dst.getConfiguration()));
|
||||
cbi2.setPerRcTypeDiscovery(cbi1.isPerRcTypeDiscovery());
|
||||
|
||||
Map<CfgInfoContext, IScannerConfigBuilderInfo2> m1 = cbi1.getInfoMap();
|
||||
|
@ -539,7 +558,7 @@ public class DiscoveryTab extends AbstractCBuildPropertyTab implements IBuildInf
|
|||
if (buildInfo == null)
|
||||
return;
|
||||
String savedId = buildInfo.getSelectedProfileId();
|
||||
for (int i=0; i<realPages.length; i++) {
|
||||
for (int i = 0; i < realPages.length; i++) {
|
||||
if (realPages != null && realPages[i] != null) {
|
||||
String s = visibleProfilesList.get(i);
|
||||
buildInfo.setSelectedProfileId(s);
|
||||
|
@ -549,48 +568,48 @@ public class DiscoveryTab extends AbstractCBuildPropertyTab implements IBuildInf
|
|||
}
|
||||
buildInfo.setSelectedProfileId(savedId);
|
||||
handleDiscoveryProfileChanged();
|
||||
if(ok)
|
||||
if (ok)
|
||||
clearChangedDiscoveredInfos();
|
||||
}
|
||||
|
||||
private void clearChangedDiscoveredInfos(){
|
||||
private void clearChangedDiscoveredInfos() {
|
||||
List<CfgInfoContext> changedContexts = checkChanges();
|
||||
IProject project = getProject();
|
||||
for(int i = 0; i < changedContexts.size(); i++){
|
||||
for (int i = 0; i < changedContexts.size(); i++) {
|
||||
CfgInfoContext c = changedContexts.get(i);
|
||||
CfgDiscoveredPathManager.getInstance().removeDiscoveredInfo(project, c);
|
||||
// MakeCorePlugin.getDefault().getDiscoveryManager().removeDiscoveredInfo(c.getProject(), c);
|
||||
// MakeCorePlugin.getDefault().getDiscoveryManager().removeDiscoveredInfo(c.getProject(), c);
|
||||
}
|
||||
}
|
||||
|
||||
private List<CfgInfoContext> checkChanges(){
|
||||
if(cbi == null || baseInfoMap == null)
|
||||
private List<CfgInfoContext> checkChanges() {
|
||||
if (cbi == null || baseInfoMap == null)
|
||||
return new ArrayList<CfgInfoContext>(0);
|
||||
|
||||
Map<CfgInfoContext, IScannerConfigBuilderInfo2> cfgInfoMap = cbi.getInfoMap();
|
||||
HashMap<InfoContext, Object> baseCopy = new HashMap<InfoContext, Object>(baseInfoMap);
|
||||
List<CfgInfoContext> list = new ArrayList<CfgInfoContext>();
|
||||
for(Map.Entry<CfgInfoContext, IScannerConfigBuilderInfo2> entry : cfgInfoMap.entrySet()){
|
||||
for (Map.Entry<CfgInfoContext, IScannerConfigBuilderInfo2> entry : cfgInfoMap.entrySet()) {
|
||||
CfgInfoContext cic = entry.getKey();
|
||||
InfoContext c = cic.toInfoContext();
|
||||
if(c == null)
|
||||
if (c == null)
|
||||
continue;
|
||||
|
||||
IScannerConfigBuilderInfo2 changed = entry.getValue();
|
||||
IScannerConfigBuilderInfo2 old = (IScannerConfigBuilderInfo2)baseCopy.remove(c);
|
||||
IScannerConfigBuilderInfo2 old = (IScannerConfigBuilderInfo2) baseCopy.remove(c);
|
||||
|
||||
if(old == null){
|
||||
if (old == null) {
|
||||
list.add(cic);
|
||||
} else if(!settingsEqual(changed, old)){
|
||||
} else if (!settingsEqual(changed, old)) {
|
||||
list.add(cic);
|
||||
}
|
||||
}
|
||||
|
||||
if(baseCopy.size() != 0){
|
||||
if (baseCopy.size() != 0) {
|
||||
IConfiguration cfg = cbi.getConfiguration();
|
||||
for(InfoContext c : baseCopy.keySet()){
|
||||
for (InfoContext c : baseCopy.keySet()) {
|
||||
CfgInfoContext cic = CfgInfoContext.fromInfoContext(cfg, c);
|
||||
if(cic != null)
|
||||
if (cic != null)
|
||||
list.add(cic);
|
||||
}
|
||||
}
|
||||
|
@ -598,8 +617,9 @@ public class DiscoveryTab extends AbstractCBuildPropertyTab implements IBuildInf
|
|||
return list;
|
||||
}
|
||||
|
||||
private boolean settingsEqual(IScannerConfigBuilderInfo2 info1, IScannerConfigBuilderInfo2 info2){
|
||||
if(!CDataUtil.objectsEqual(info1.getSelectedProfileId(), info2.getSelectedProfileId()))
|
||||
private boolean settingsEqual(IScannerConfigBuilderInfo2 info1,
|
||||
IScannerConfigBuilderInfo2 info2) {
|
||||
if (!CDataUtil.objectsEqual(info1.getSelectedProfileId(), info2.getSelectedProfileId()))
|
||||
return false;
|
||||
if (!CDataUtil.objectsEqual(info1.getBuildOutputFilePath(), info2.getBuildOutputFilePath()))
|
||||
return false;
|
||||
|
@ -607,10 +627,10 @@ public class DiscoveryTab extends AbstractCBuildPropertyTab implements IBuildInf
|
|||
return false;
|
||||
if (!CDataUtil.objectsEqual(info1.getSelectedProfileId(), info2.getSelectedProfileId()))
|
||||
return false;
|
||||
if (info1.isAutoDiscoveryEnabled() != info2.isAutoDiscoveryEnabled() ||
|
||||
info1.isBuildOutputFileActionEnabled() != info2.isBuildOutputFileActionEnabled() ||
|
||||
info1.isBuildOutputParserEnabled() != info2.isBuildOutputParserEnabled() ||
|
||||
info1.isProblemReportingEnabled() != info2.isProblemReportingEnabled())
|
||||
if (info1.isAutoDiscoveryEnabled() != info2.isAutoDiscoveryEnabled()
|
||||
|| info1.isBuildOutputFileActionEnabled() != info2.isBuildOutputFileActionEnabled()
|
||||
|| info1.isBuildOutputParserEnabled() != info2.isBuildOutputParserEnabled()
|
||||
|| info1.isProblemReportingEnabled() != info2.isProblemReportingEnabled())
|
||||
return false;
|
||||
if (!listEqual(info1.getProfileIdList(), info2.getProfileIdList()))
|
||||
return false;
|
||||
|
@ -620,15 +640,20 @@ public class DiscoveryTab extends AbstractCBuildPropertyTab implements IBuildInf
|
|||
}
|
||||
|
||||
private boolean listEqual(List<String> l1, List<String> l2) {
|
||||
if (l1 == null && l2 == null) return true;
|
||||
if (l1 == null || l2 == null) return false;
|
||||
if (l1.size() != l2.size()) return false;
|
||||
if (l1 == null && l2 == null)
|
||||
return true;
|
||||
if (l1 == null || l2 == null)
|
||||
return false;
|
||||
if (l1.size() != l2.size())
|
||||
return false;
|
||||
// both lists have items in the same order ?
|
||||
// since it's most probable, try it first.
|
||||
if (l1.equals(l2)) return true;
|
||||
if (l1.equals(l2))
|
||||
return true;
|
||||
// order may differ...
|
||||
for (String s : l1)
|
||||
if (!l2.contains(s)) return false;
|
||||
if (!l2.contains(s))
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -642,18 +667,29 @@ public class DiscoveryTab extends AbstractCBuildPropertyTab implements IBuildInf
|
|||
return true;
|
||||
// Hide this page for folders and files
|
||||
// if Discovery scope is "per configuration", not "per resource"
|
||||
ICfgScannerConfigBuilderInfo2Set _cbi =
|
||||
CfgScannerConfigProfileManager.getCfgScannerConfigBuildInfo(getCfg(page.getResDesc().getConfiguration()));
|
||||
IConfiguration cfg = getCfg(page.getResDesc().getConfiguration());
|
||||
ICfgScannerConfigBuilderInfo2Set _cbi = CfgScannerConfigProfileManager.getCfgScannerConfigBuildInfo(cfg);
|
||||
return _cbi.isPerRcTypeDiscovery();
|
||||
}
|
||||
|
||||
/**
|
||||
* IBuildInfoContainer methods - called from dynamic pages
|
||||
*/
|
||||
public IScannerConfigBuilderInfo2 getBuildInfo() { return buildInfo; }
|
||||
public CfgInfoContext getContext() { return iContext; }
|
||||
public IProject getProject() { return page.getProject(); }
|
||||
public ICConfigurationDescription getConfiguration() { return getResDesc().getConfiguration(); }
|
||||
public IScannerConfigBuilderInfo2 getBuildInfo() {
|
||||
return buildInfo;
|
||||
}
|
||||
|
||||
public CfgInfoContext getContext() {
|
||||
return iContext;
|
||||
}
|
||||
|
||||
public IProject getProject() {
|
||||
return page.getProject();
|
||||
}
|
||||
|
||||
public ICConfigurationDescription getConfiguration() {
|
||||
return getResDesc().getConfiguration();
|
||||
}
|
||||
|
||||
protected void performDefaults() {
|
||||
if (page.isMultiCfg())
|
||||
|
@ -662,9 +698,13 @@ public class DiscoveryTab extends AbstractCBuildPropertyTab implements IBuildInf
|
|||
for (CfgInfoContext cic : cbi.getInfoMap().keySet()) {
|
||||
try {
|
||||
cbi.applyInfo(cic, null);
|
||||
} catch (CoreException e) {}
|
||||
} catch (CoreException e) {
|
||||
}
|
||||
}
|
||||
updateData();
|
||||
}
|
||||
protected void updateButtons() {} // Do nothing. No buttons to update.
|
||||
|
||||
protected void updateButtons() {
|
||||
// Do nothing. No buttons to update.
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue