diff --git a/designer_chart/src/com/fr/design/ChartTypeInterfaceManager.java b/designer_chart/src/com/fr/design/ChartTypeInterfaceManager.java index d40b43bd27..eaa8625302 100644 --- a/designer_chart/src/com/fr/design/ChartTypeInterfaceManager.java +++ b/designer_chart/src/com/fr/design/ChartTypeInterfaceManager.java @@ -290,20 +290,12 @@ public class ChartTypeInterfaceManager extends XMLFileManager implements ExtraCh //处理vanChart { Iterator vanChartUI = chartTypeInterfaces.get(ChartTypeManager.vanChartID).entrySet().iterator(); - while (vanChartUI.hasNext()) { - Map.Entry chartUIEntry = (Map.Entry) vanChartUI.next(); - IndependentChartUIProvider provider = (IndependentChartUIProvider) chartUIEntry.getValue(); - names[index++] = provider.getPlotTypePane().title4PopupWindow(); - } + fetchNames(vanChartUI, names, index++); } //处理chart { Iterator chartUI = chartTypeInterfaces.get(ChartTypeManager.chartID).entrySet().iterator(); - while (chartUI.hasNext()) { - Map.Entry chartUIEntry = (Map.Entry) chartUI.next(); - IndependentChartUIProvider provider = (IndependentChartUIProvider) chartUIEntry.getValue(); - names[index++] = provider.getPlotTypePane().title4PopupWindow(); - } + fetchNames(chartUI, names, index++); } //其它图表 Iterator i = chartTypeInterfaces.entrySet().iterator(); @@ -312,11 +304,7 @@ public class ChartTypeInterfaceManager extends XMLFileManager implements ExtraCh String chartID = (String) entry.getKey(); if (!(ComparatorUtils.equals(chartID, ChartTypeManager.chartID) || ComparatorUtils.equals(chartID, ChartTypeManager.vanChartID))) { Iterator otherChartUI = chartTypeInterfaces.get(chartID).entrySet().iterator(); - while (otherChartUI.hasNext()) { - Map.Entry chartUIEntry = (Map.Entry) otherChartUI.next(); - IndependentChartUIProvider provider = (IndependentChartUIProvider) chartUIEntry.getValue(); - names[index++] = provider.getPlotTypePane().title4PopupWindow(); - } + fetchNames(otherChartUI, names, index++); } } return names; @@ -325,6 +313,14 @@ public class ChartTypeInterfaceManager extends XMLFileManager implements ExtraCh return new String[0]; } + private void fetchNames(Iterator chartUI, String[] names, int index) { + while (chartUI.hasNext()) { + Map.Entry chartUIEntry = (Map.Entry) chartUI.next(); + IndependentChartUIProvider provider = (IndependentChartUIProvider) chartUIEntry.getValue(); + names[index] = provider.getPlotTypePane().title4PopupWindow(); + } + } + public ChartDataPane getChartDataPane(String plotID, AttributeChangeListener listener) { Iterator iterator = chartTypeInterfaces.entrySet().iterator(); while (iterator.hasNext()){