Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 125946 Details for
Bug 166595
support moving bugs across products
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
[patch]
final patch
patch166595.txt (text/plain), 19.76 KB, created by
Frank Becker
on 2009-02-17 16:50:06 EST
(
hide
)
Description:
final patch
Filename:
MIME Type:
Creator:
Frank Becker
Created:
2009-02-17 16:50:06 EST
Size:
19.76 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.mylyn.bugzilla.ui >Index: src/org/eclipse/mylyn/internal/bugzilla/ui/editor/BugzillaTaskEditorPage.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/BugzillaTaskEditorPage.java,v >retrieving revision 1.22 >diff -u -r1.22 BugzillaTaskEditorPage.java >--- src/org/eclipse/mylyn/internal/bugzilla/ui/editor/BugzillaTaskEditorPage.java 7 Feb 2009 01:49:53 -0000 1.22 >+++ src/org/eclipse/mylyn/internal/bugzilla/ui/editor/BugzillaTaskEditorPage.java 17 Feb 2009 21:46:56 -0000 >@@ -11,17 +11,32 @@ > > package org.eclipse.mylyn.internal.bugzilla.ui.editor; > >+import java.util.Collections; >+import java.util.HashMap; >+import java.util.List; >+import java.util.Map; > import java.util.Set; > > import org.eclipse.core.runtime.CoreException; >+import org.eclipse.core.runtime.IStatus; >+import org.eclipse.core.runtime.NullProgressMonitor; > import org.eclipse.jface.dialogs.IMessageProvider; >+import org.eclipse.mylyn.commons.core.StatusHandler; > import org.eclipse.mylyn.internal.bugzilla.core.BugzillaAttribute; > import org.eclipse.mylyn.internal.bugzilla.core.BugzillaCorePlugin; > import org.eclipse.mylyn.internal.bugzilla.core.BugzillaCustomField; >+import org.eclipse.mylyn.internal.bugzilla.core.BugzillaTaskDataHandler; >+import org.eclipse.mylyn.internal.bugzilla.core.BugzillaVersion; > import org.eclipse.mylyn.internal.bugzilla.core.IBugzillaConstants; >+import org.eclipse.mylyn.internal.bugzilla.core.RepositoryConfiguration; >+import org.eclipse.mylyn.internal.bugzilla.ui.BugzillaUiPlugin; >+import org.eclipse.mylyn.tasks.core.RepositoryStatus; > import org.eclipse.mylyn.tasks.core.data.TaskAttribute; > import org.eclipse.mylyn.tasks.core.data.TaskAttributeMetaData; > import org.eclipse.mylyn.tasks.core.data.TaskData; >+import org.eclipse.mylyn.tasks.core.data.TaskDataModel; >+import org.eclipse.mylyn.tasks.core.data.TaskDataModelEvent; >+import org.eclipse.mylyn.tasks.core.data.TaskDataModelListener; > import org.eclipse.mylyn.tasks.ui.TasksUi; > import org.eclipse.mylyn.tasks.ui.editors.AbstractAttributeEditor; > import org.eclipse.mylyn.tasks.ui.editors.AbstractTaskEditorPage; >@@ -29,6 +44,7 @@ > import org.eclipse.mylyn.tasks.ui.editors.AttributeEditorFactory; > import org.eclipse.mylyn.tasks.ui.editors.LayoutHint; > import org.eclipse.mylyn.tasks.ui.editors.TaskEditor; >+import org.eclipse.mylyn.tasks.ui.editors.TaskEditorInput; > import org.eclipse.mylyn.tasks.ui.editors.TaskEditorPartDescriptor; > > /** >@@ -41,8 +57,12 @@ > > public static final String ID_PART_BUGZILLA_FLAGS = "org.eclipse.mylyn.bugzilla.ui.editors.part.flags"; //$NON-NLS-1$ > >+ private final Map<TaskAttribute, AbstractAttributeEditor> attributeEditorMap; >+ >+ private TaskDataModelListener productListener; >+ > public BugzillaTaskEditorPage(TaskEditor editor) { >- super(editor, BugzillaCorePlugin.CONNECTOR_KIND); >+ this(editor, BugzillaCorePlugin.CONNECTOR_KIND); > } > > /** >@@ -53,6 +73,7 @@ > */ > public BugzillaTaskEditorPage(TaskEditor editor, String connectorKind) { > super(editor, connectorKind); >+ this.attributeEditorMap = new HashMap<TaskAttribute, AbstractAttributeEditor>(); > } > > @Override >@@ -138,7 +159,7 @@ > } > }); > } >- >+ BugzillaTaskEditorPage.this.addToAttributeEditorMap(taskAttribute, editor); > return editor; > } > }; >@@ -193,4 +214,161 @@ > super.doSubmit(); > } > >+ @Override >+ protected void createParts() { >+ attributeEditorMap.clear(); >+ super.createParts(); >+ } >+ >+ @Override >+ protected TaskDataModel createModel(TaskEditorInput input) throws CoreException { >+ TaskDataModel model = super.createModel(input); >+ BugzillaVersion bugzillaVersion = null; >+ RepositoryConfiguration repositoryConfiguration = BugzillaCorePlugin.getRepositoryConfiguration( >+ input.getTaskRepository(), false, new NullProgressMonitor()); >+ if (repositoryConfiguration != null) { >+ bugzillaVersion = repositoryConfiguration.getInstallVersion(); >+ } else { >+ bugzillaVersion = BugzillaVersion.MIN_VERSION; >+ } >+ if (bugzillaVersion.compareTo(BugzillaVersion.BUGZILLA_3_0) >= 0) { >+ productListener = new ProductSelectionListener(); >+ model.addModelListener(productListener); >+ } >+ return model; >+ } >+ >+ /** >+ * @since 3.1 >+ */ >+ public void addToAttributeEditorMap(TaskAttribute attribute, AbstractAttributeEditor editor) { >+ if (attributeEditorMap.containsKey(attribute)) { >+ attributeEditorMap.remove(attribute); >+ } >+ attributeEditorMap.put(attribute, editor); >+ } >+ >+ /** >+ * @since 3.1 >+ */ >+ public AbstractAttributeEditor getEditorForAttribute(TaskAttribute attribute) { >+ return attributeEditorMap.get(attribute); >+ } >+ >+ /** >+ * @since 3.1 >+ */ >+ public Map<TaskAttribute, AbstractAttributeEditor> getAttributeEditorMap() { >+ return attributeEditorMap; >+ } >+ >+ /** >+ * @since 3.1 >+ */ >+ public void refresh() { >+ try { >+ showEditorBusy(true); >+ for (AbstractAttributeEditor abstractAttributeEditor : attributeEditorMap.values()) { >+ try { >+ abstractAttributeEditor.refresh(); >+ } catch (UnsupportedOperationException e) { >+ // ignore >+ } >+ } >+ } finally { >+ showEditorBusy(false); >+ } >+ } >+ >+ public void refresh(TaskAttribute attributeComponent) { >+ AbstractAttributeEditor editor = getEditorForAttribute(attributeComponent); >+ if (editor != null) { >+ try { >+ editor.refresh(); >+ } catch (UnsupportedOperationException e) { >+ // ignore >+ } >+ } >+ } >+ >+ private class ProductSelectionListener extends TaskDataModelListener { >+ @Override >+ public void attributeChanged(TaskDataModelEvent event) { >+ TaskAttribute taskAttribute = event.getTaskAttribute(); >+ if (taskAttribute != null) { >+ if (taskAttribute.getId().equals(BugzillaAttribute.PRODUCT.getKey())) { >+ RepositoryConfiguration repositoryConfiguration = null; >+ try { >+ repositoryConfiguration = BugzillaCorePlugin.getRepositoryConfiguration( >+ getModel().getTaskRepository(), false, new NullProgressMonitor()); >+ } catch (CoreException e) { >+ StatusHandler.log(new RepositoryStatus(getTaskRepository(), IStatus.ERROR, >+ BugzillaUiPlugin.ID_PLUGIN, 0, "Failed to obtain repository configuration", e)); //$NON-NLS-1$ >+ getTaskEditor().setMessage("Problem occured when updating attributes", IMessageProvider.ERROR); //$NON-NLS-1$ >+ return; >+ } >+ >+ TaskAttribute attributeComponent = taskAttribute.getTaskData().getRoot().getMappedAttribute( >+ BugzillaAttribute.COMPONENT.getKey()); >+ if (attributeComponent != null) { >+ List<String> optionValues = repositoryConfiguration.getComponents(taskAttribute.getValue()); >+ Collections.sort(optionValues); >+ attributeComponent.clearOptions(); >+ for (String option : optionValues) { >+ attributeComponent.putOption(option, option); >+ } >+ if (optionValues.size() == 1) { >+ attributeComponent.setValue(optionValues.get(0)); >+ } else { >+ attributeComponent.setValue(""); //$NON-NLS-1$ >+ } >+ refresh(attributeComponent); >+ } >+ >+ TaskAttribute attributeTargetMilestone = taskAttribute.getTaskData().getRoot().getMappedAttribute( >+ BugzillaAttribute.TARGET_MILESTONE.getKey()); >+ if (attributeTargetMilestone != null) { >+ List<String> optionValues = repositoryConfiguration.getTargetMilestones(taskAttribute.getValue()); >+ Collections.sort(optionValues); >+ attributeTargetMilestone.clearOptions(); >+ for (String option : optionValues) { >+ attributeTargetMilestone.putOption(option, option); >+ } >+ if (optionValues.size() == 1) { >+ attributeTargetMilestone.setValue(optionValues.get(0)); >+ } else { >+ attributeTargetMilestone.setValue("---"); //$NON-NLS-1$ >+ } >+ refresh(attributeTargetMilestone); >+ } >+ >+ TaskAttribute attributeDefaultAssignee = taskAttribute.getTaskData().getRoot().getMappedAttribute( >+ BugzillaAttribute.SET_DEFAULT_ASSIGNEE.getKey()); >+ if (attributeDefaultAssignee != null) { >+ attributeDefaultAssignee.setValue("1"); //$NON-NLS-1$ >+ refresh(attributeDefaultAssignee); >+ } >+ >+/* >+ * add confirm_product_change to avoid verification page on submit >+ */ >+ TaskAttribute attributeConfirmeProductChange = taskAttribute.getTaskData() >+ .getRoot() >+ .getMappedAttribute(BugzillaAttribute.CONFIRM_PRODUCT_CHANGE.getKey()); >+ if (attributeConfirmeProductChange == null) { >+// attributeConfirmeProductChange = taskAttribute.getTaskData().getRoot().createAttribute( >+// BugzillaAttribute.CONFIRM_PRODUCT_CHANGE.getKey()); >+ BugzillaTaskDataHandler.createAttribute(taskAttribute.getTaskData().getRoot(), >+ BugzillaAttribute.CONFIRM_PRODUCT_CHANGE); >+ attributeConfirmeProductChange = taskAttribute.getTaskData().getRoot().getMappedAttribute( >+ BugzillaAttribute.CONFIRM_PRODUCT_CHANGE.getKey()); >+ } >+ if (attributeConfirmeProductChange != null) { >+ attributeConfirmeProductChange.setValue("1"); >+ } >+ } >+ } >+ } >+ } >+ > } >#P org.eclipse.mylyn.bugzilla.core >Index: src/org/eclipse/mylyn/internal/bugzilla/core/RepositoryConfiguration.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/RepositoryConfiguration.java,v >retrieving revision 1.37 >diff -u -r1.37 RepositoryConfiguration.java >--- src/org/eclipse/mylyn/internal/bugzilla/core/RepositoryConfiguration.java 30 Jan 2009 04:26:13 -0000 1.37 >+++ src/org/eclipse/mylyn/internal/bugzilla/core/RepositoryConfiguration.java 17 Feb 2009 21:46:58 -0000 >@@ -368,6 +368,13 @@ > addMissingFlags(taskData); > updateAttributeOptions(taskData); > addValidOperations(taskData); >+ BugzillaVersion bugzillaVersion = getInstallVersion(); >+ if (bugzillaVersion.compareTo(BugzillaVersion.BUGZILLA_3_0) < 0) { >+ // Product change is only supported for Versions >= 3.0 without verify html page >+ TaskAttribute productAttribute = taskData.getRoot().getMappedAttribute( >+ BugzillaAttribute.PRODUCT.getKey()); >+ productAttribute.getMetaData().setReadOnly(true); >+ } > } > } > >Index: src/org/eclipse/mylyn/internal/bugzilla/core/BugzillaAttribute.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/BugzillaAttribute.java,v >retrieving revision 1.16 >diff -u -r1.16 BugzillaAttribute.java >--- src/org/eclipse/mylyn/internal/bugzilla/core/BugzillaAttribute.java 7 Feb 2009 01:49:54 -0000 1.16 >+++ src/org/eclipse/mylyn/internal/bugzilla/core/BugzillaAttribute.java 17 Feb 2009 21:46:58 -0000 >@@ -64,6 +64,8 @@ > > COMPONENT(Messages.BugzillaAttribute_Component, "component", TaskAttribute.TYPE_SINGLE_SELECT, false, false), //$NON-NLS-1$ > >+ CONFIRM_PRODUCT_CHANGE(Messages.BugzillaAttribute_confirm_product_change, "confirm_product_change", TaskAttribute.TYPE_BOOLEAN, true, false), //$NON-NLS-1$ >+ > CREATION_TS(Messages.BugzillaAttribute_Opened, "creation_ts", TaskAttribute.TYPE_DATE, true, false), //$NON-NLS-1$ > > CTYPE(Messages.BugzillaAttribute_Content_Type, "ctype", TaskAttribute.TYPE_SHORT_TEXT, false, false), //$NON-NLS-1$ >@@ -109,7 +111,7 @@ > > PRIORITY(Messages.BugzillaAttribute_Priority, "priority", TaskAttribute.TYPE_SINGLE_SELECT, false, false), //$NON-NLS-1$ > >- PRODUCT(Messages.BugzillaAttribute_Product, "product", TaskAttribute.TYPE_SHORT_TEXT, false, true), //$NON-NLS-1$ >+ PRODUCT(Messages.BugzillaAttribute_Product, "product", TaskAttribute.TYPE_SINGLE_SELECT, false, false), //$NON-NLS-1$ > > REP_PLATFORM(Messages.BugzillaAttribute_Platform, "rep_platform", TaskAttribute.TYPE_SINGLE_SELECT, false, false), //$NON-NLS-1$ > >Index: src/org/eclipse/mylyn/internal/bugzilla/core/messages.properties >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/messages.properties,v >retrieving revision 1.9 >diff -u -r1.9 messages.properties >--- src/org/eclipse/mylyn/internal/bugzilla/core/messages.properties 7 Feb 2009 01:49:54 -0000 1.9 >+++ src/org/eclipse/mylyn/internal/bugzilla/core/messages.properties 17 Feb 2009 21:46:58 -0000 >@@ -31,6 +31,7 @@ > BugzillaAttribute_Keywords=Keywords: > BugzillaAttribute_Modified=Modified: > BugzillaAttribute_new_comment=new comment >+BugzillaAttribute_confirm_product_change=Confirm Product Change(never shown in the UI) > BugzillaAttribute_Number_of_comments=Number of comments > BugzillaAttribute_Obsolete=Obsolete > BugzillaAttribute_open_status_values=open status values >Index: src/org/eclipse/mylyn/internal/bugzilla/core/Messages.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/Messages.java,v >retrieving revision 1.5 >diff -u -r1.5 Messages.java >--- src/org/eclipse/mylyn/internal/bugzilla/core/Messages.java 3 Feb 2009 04:48:42 -0000 1.5 >+++ src/org/eclipse/mylyn/internal/bugzilla/core/Messages.java 17 Feb 2009 21:46:58 -0000 >@@ -91,6 +91,8 @@ > > public static String BugzillaAttribute_new_comment; > >+ public static String BugzillaAttribute_confirm_product_change; >+ > public static String BugzillaAttribute_Number_of_comments; > > public static String BugzillaAttribute_Obsolete; >#P org.eclipse.mylyn.tasks.ui >Index: src/org/eclipse/mylyn/internal/tasks/ui/editors/SingleSelectionAttributeEditor.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/SingleSelectionAttributeEditor.java,v >retrieving revision 1.16 >diff -u -r1.16 SingleSelectionAttributeEditor.java >--- src/org/eclipse/mylyn/internal/tasks/ui/editors/SingleSelectionAttributeEditor.java 13 Jan 2009 07:07:35 -0000 1.16 >+++ src/org/eclipse/mylyn/internal/tasks/ui/editors/SingleSelectionAttributeEditor.java 17 Feb 2009 21:46:59 -0000 >@@ -34,6 +34,10 @@ > > private CCombo combo; > >+ private boolean ignoreNotification; >+ >+ private Text text; >+ > public SingleSelectionAttributeEditor(TaskDataModel manager, TaskAttribute taskAttribute) { > super(manager, taskAttribute); > } >@@ -41,17 +45,11 @@ > @Override > public void createControl(Composite parent, FormToolkit toolkit) { > if (isReadOnly()) { >- Text text = new Text(parent, SWT.FLAT | SWT.READ_ONLY); >+ text = new Text(parent, SWT.FLAT | SWT.READ_ONLY); > text.setFont(EditorUtil.TEXT_FONT); > toolkit.adapt(text, false, false); > text.setData(FormToolkit.KEY_DRAW_BORDER, Boolean.FALSE); >- String label = getValueLabel(); >- if ("".equals(label)) { //$NON-NLS-1$ >- // if set to the empty string the label will use 64px on GTK >- text.setText(" "); //$NON-NLS-1$ >- } else { >- text.setText(label); >- } >+ refresh(); > setControl(text); > } else { > combo = new CCombo(parent, SWT.FLAT | SWT.READ_ONLY); >@@ -59,25 +57,19 @@ > combo.setFont(EditorUtil.TEXT_FONT); > combo.setData(FormToolkit.KEY_DRAW_BORDER, FormToolkit.TEXT_BORDER); > >- Map<String, String> labelByValue = getAttributeMapper().getOptions(getTaskAttribute()); >- if (labelByValue != null) { >- values = labelByValue.keySet().toArray(new String[0]); >- for (String value : values) { >- combo.add(labelByValue.get(value)); >- } >- } >- >- select(getValue(), getValueLabel()); >+ refresh(); > > if (values != null) { > combo.addSelectionListener(new SelectionAdapter() { > @Override > public void widgetSelected(SelectionEvent event) { >- int index = combo.getSelectionIndex(); >- if (index > -1) { >- Assert.isNotNull(values); >- Assert.isLegal(index >= 0 && index <= values.length - 1); >- setValue(values[index]); >+ if (!ignoreNotification) { >+ int index = combo.getSelectionIndex(); >+ if (index > -1) { >+ Assert.isNotNull(values); >+ Assert.isLegal(index >= 0 && index <= values.length - 1); >+ setValue(values[index]); >+ } > } > } > }); >@@ -109,8 +101,11 @@ > } > > public void setValue(String value) { >- getAttributeMapper().setValue(getTaskAttribute(), value); >- attributeChanged(); >+ String oldValue = getAttributeMapper().getValue(getTaskAttribute()); >+ if (!oldValue.equals(value)) { >+ getAttributeMapper().setValue(getTaskAttribute(), value); >+ attributeChanged(); >+ } > } > > void selectDefaultValue() { >@@ -120,4 +115,32 @@ > } > } > >+ @Override >+ public void refresh() { >+ try { >+ ignoreNotification = true; >+ if (text != null) { >+ String label = getValueLabel(); >+ if ("".equals(label)) { //$NON-NLS-1$ >+ // if set to the empty string the label will use 64px on GTK >+ text.setText(" "); //$NON-NLS-1$ >+ } else { >+ text.setText(label); >+ } >+ } else { >+ combo.removeAll(); >+ Map<String, String> labelByValue = getAttributeMapper().getOptions(getTaskAttribute()); >+ if (labelByValue != null) { >+ values = labelByValue.keySet().toArray(new String[0]); >+ for (String value : values) { >+ combo.add(labelByValue.get(value)); >+ } >+ } >+ select(getValue(), getValueLabel()); >+ combo.redraw(); >+ } >+ } finally { >+ ignoreNotification = false; >+ } >+ } > } >Index: src/org/eclipse/mylyn/internal/tasks/ui/editors/BooleanAttributeEditor.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/BooleanAttributeEditor.java,v >retrieving revision 1.8 >diff -u -r1.8 BooleanAttributeEditor.java >--- src/org/eclipse/mylyn/internal/tasks/ui/editors/BooleanAttributeEditor.java 13 Jan 2009 07:07:35 -0000 1.8 >+++ src/org/eclipse/mylyn/internal/tasks/ui/editors/BooleanAttributeEditor.java 17 Feb 2009 21:46:59 -0000 >@@ -26,21 +26,27 @@ > */ > public class BooleanAttributeEditor extends AbstractAttributeEditor { > >+ private Button button; >+ >+ private boolean ignoreNotification; >+ > public BooleanAttributeEditor(TaskDataModel manager, TaskAttribute taskAttribute) { > super(manager, taskAttribute); > } > > @Override > public void createControl(Composite parent, FormToolkit toolkit) { >- final Button button = toolkit.createButton(parent, super.getLabel(), SWT.CHECK); >+ button = toolkit.createButton(parent, super.getLabel(), SWT.CHECK); > button.setEnabled(!isReadOnly()); >- button.setSelection(getValue()); > button.addSelectionListener(new SelectionAdapter() { > @Override > public void widgetSelected(SelectionEvent e) { >- setValue(button.getSelection()); >+ if (!ignoreNotification) { >+ setValue(button.getSelection()); >+ } > } > }); >+ refresh(); > setControl(button); > } > >@@ -58,4 +64,13 @@ > attributeChanged(); > } > >+ @Override >+ public void refresh() { >+ try { >+ ignoreNotification = true; >+ button.setSelection(getValue()); >+ } finally { >+ ignoreNotification = false; >+ } >+ } > } >Index: src/org/eclipse/mylyn/tasks/ui/editors/AbstractAttributeEditor.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/editors/AbstractAttributeEditor.java,v >retrieving revision 1.11 >diff -u -r1.11 AbstractAttributeEditor.java >--- src/org/eclipse/mylyn/tasks/ui/editors/AbstractAttributeEditor.java 7 Dec 2008 03:26:58 -0000 1.11 >+++ src/org/eclipse/mylyn/tasks/ui/editors/AbstractAttributeEditor.java 17 Feb 2009 21:46:59 -0000 >@@ -213,4 +213,19 @@ > this.readOnly = readOnly; > } > >+ /** >+ * Refreshes the state of the widget from the data model. The default implementation throws >+ * <code>UnsupportedOperationException</code>. >+ * >+ * <p> >+ * Subclasses should overwrite this method. >+ * >+ * @since 3.1 >+ * @throws UnsupportedOperationException >+ * if this method is not supported by the editor >+ */ >+ public void refresh() { >+ throw new UnsupportedOperationException(); >+ } >+ > }
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 166595
:
112518
|
112519
|
121030
|
121031
|
121482
|
121483
|
121492
|
121493
|
122759
|
122761
| 125946 |
125947
|
125965
|
126067
|
126068