((Axis) axes.get(i)).setPercent(false); EList seriesdefinitions = ((Axis) axes.get(i)).getSeriesDefinitions(); for(int j = 0; j < seriesdefinitions.size(); j++) { Series series = ((SeriesDefinition) seriesdefinitions.get(j)).getDesignTimeSeries(); series = getConvertedSeries(series); series.setStacked(false); ((SeriesDefinition) seriesdefinitions.get(j)).getSeries().clear(); ((SeriesDefinition) seriesdefinitions.get(j)).getSeries().add(series); }
Series series = ((SeriesDefinition) seriesdefinitions.get(j)).getDesignTimeSeries(); series = getConvertedSeries(series); series.setStacked(false); ((SeriesDefinition) seriesdefinitions.get(j)).getSeries().clear(); ((SeriesDefinition) seriesdefinitions.get(j)).getSeries().add(series);
    private Chart getConvertedChart(Chart currentChart, String sNewSubType, Orientation newOrientation, String sNewDimension)    {        Chart helperModel = (Chart) EcoreUtil.copy(currentChart);        if((currentChart instanceof ChartWithAxes))	// Chart is ChartWithAxes        {            if(currentChart.getType().equals(sType))	// Original chart is of this type (LineChart)            {                if(!currentChart.getSubType().equals(sNewSubType))	// Original chart is of the required subtype                {                    if(!currentChart.getSubType().equals(sNewSubType))	// Original chart is of the required subtype                    {                        currentChart.setSubType(sNewSubType);                        EList axes = ((Axis) ((ChartWithAxes) currentChart).getAxes().get(0)).getAssociatedAxes();                        for(int i = 0; i < axes.size(); i++)                        {                            ((Axis) axes.get(i)).setPercent(false);                            EList seriesdefinitions = ((Axis) axes.get(i)).getSeriesDefinitions();                            for(int j = 0; j < seriesdefinitions.size(); j++)                            {                                Series series = ((SeriesDefinition) seriesdefinitions.get(j)).getDesignTimeSeries();                                series.setStacked(false);                            }                        }                    }                }            }            else if(currentChart.getType().equals("Bar Chart") || currentChart.getType().equals("Stock Chart") || currentChart.getType().equals("Line Chart"))            {                currentChart.setSampleData(getConvertedSampleData(currentChart.getSampleData()));                currentChart.setType(sType);                ((Axis) ((ChartWithAxes) currentChart).getAxes().get(0)).setType(AxisType.LINEAR_LITERAL);                ((Axis) ((ChartWithAxes) currentChart).getAxes().get(0)).setCategoryAxis(false);                if(!currentChart.getSubType().equals(sNewSubType))	// Original chart is not of the required subtype                {                    currentChart.setSubType(sNewSubType);                    EList axes = ((Axis) ((ChartWithAxes) currentChart).getAxes().get(0)).getAssociatedAxes();                    for(int i = 0; i < axes.size(); i++)                    {                        ((Axis) axes.get(i)).setPercent(false);                        EList seriesdefinitions = ((Axis) axes.get(i)).getSeriesDefinitions();                        for(int j = 0; j < seriesdefinitions.size(); j++)                        {                            Series series = ((SeriesDefinition) seriesdefinitions.get(j)).getDesignTimeSeries();                            series = getConvertedSeries(series);                            series.setStacked(false);                            ((SeriesDefinition) seriesdefinitions.get(j)).getSeries().clear();                            ((SeriesDefinition) seriesdefinitions.get(j)).getSeries().add(series);                        }                    }                }                ((ChartWithAxes) currentChart).setOrientation(newOrientation);                currentChart.setDimension(getDimensionFor(sNewDimension));            }            else            {                return null;            }        }        else        {            // Create a new instance of the correct type and set initial properties            currentChart = ChartWithAxesImpl.create();            currentChart.setType(sType);            currentChart.setSubType(sNewSubType);            ((ChartWithAxes) currentChart).setOrientation(newOrientation);            currentChart.setDimension(getDimensionFor(sNewDimension));            ((Axis) ((ChartWithAxes) currentChart).getAxes().get(0)).setOrientation(Orientation.HORIZONTAL_LITERAL);            ((Axis) ((ChartWithAxes) currentChart).getAxes().get(0)).setType(AxisType.LINEAR_LITERAL);            ((Axis) ((ChartWithAxes) currentChart).getAxes().get(0)).setCategoryAxis(false);                        ((Axis) ((Axis) ((ChartWithAxes) currentChart).getAxes().get(0)).getAssociatedAxes().get(0))            .setOrientation(Orientation.VERTICAL_LITERAL);            ((Axis) ((Axis) ((ChartWithAxes) currentChart).getAxes().get(0)).getAssociatedAxes().get(0)).setType(AxisType.LINEAR_LITERAL);                        // Copy generic chart properties from the old chart            currentChart.setBlock(helperModel.getBlock());            currentChart.setDescription(helperModel.getDescription());            currentChart.setGridColumnCount(helperModel.getGridColumnCount());            currentChart.setSampleData(getConvertedSampleData(helperModel.getSampleData()));            currentChart.setScript(helperModel.getScript());            currentChart.setSeriesThickness(helperModel.getSeriesThickness());            currentChart.setUnits(helperModel.getUnits());                        if(helperModel.getType().equals("Pie Chart"))            {                // Clear existing series definitions                ((Axis) ((ChartWithAxes) currentChart).getAxes().get(0)).getSeriesDefinitions().clear();                                // Copy base series definitions                ((Axis) ((ChartWithAxes) currentChart).getAxes().get(0)).getSeriesDefinitions().add(((ChartWithoutAxes) helperModel).getSeriesDefinitions().get(0));                                // Clear existing series definitions                ((Axis) ((Axis) ((ChartWithAxes) currentChart).getAxes().get(0)).getAssociatedAxes().get(0)).getSeriesDefinitions().clear();                                // Copy orthogonal series definitions                ((Axis) ((Axis) ((ChartWithAxes) currentChart).getAxes().get(0)).getAssociatedAxes().get(0)).getSeriesDefinitions().addAll(((SeriesDefinition) ((Axis) ((ChartWithAxes) currentChart).getAxes().get(0)).getSeriesDefinitions().get(0)).getSeriesDefinitions());                // Update the base series                Series series = ((SeriesDefinition) ((Axis) ((ChartWithAxes) currentChart).getAxes().get(0)).getSeriesDefinitions().get(0)).getDesignTimeSeries();                series = getConvertedSeries(series);                                // Clear existing series                ((SeriesDefinition) ((Axis) ((ChartWithAxes) currentChart).getAxes().get(0)).getSeriesDefinitions().get(0)).getSeries().clear();                                // Add converted series                ((SeriesDefinition) ((Axis) ((ChartWithAxes) currentChart).getAxes().get(0)).getSeriesDefinitions().get(0)).getSeries().add(series);                                // Update the orthogonal series                EList seriesdefinitions = ((Axis) ((Axis) ((ChartWithAxes) currentChart).getAxes().get(0)).getAssociatedAxes().get(0)).getSeriesDefinitions();                for(int j = 0; j < seriesdefinitions.size(); j++)                {                    series = ((SeriesDefinition) seriesdefinitions.get(j)).getDesignTimeSeries();                    series = getConvertedSeries(series);                    series.setStacked(false);                    // Clear any existing series                    ((SeriesDefinition) seriesdefinitions.get(j)).getSeries().clear();                    // Add the new series                    ((SeriesDefinition) seriesdefinitions.get(j)).getSeries().add(series);                }            }            else            {                return null;            }        }        if(currentChart instanceof ChartWithAxes && !((ChartWithAxes) currentChart).getOrientation().equals(newOrientation))        {            ((ChartWithAxes) currentChart).setOrientation(newOrientation);        }        if(!currentChart.getDimension().equals(getDimensionFor(sNewDimension)))        {            currentChart.setDimension(getDimensionFor(sNewDimension));        }        return currentChart;    }