1818import com .gooddata .executeafm .afm .NegativeAttributeFilter ;
1919import com .gooddata .executeafm .afm .PositiveAttributeFilter ;
2020import com .gooddata .executeafm .afm .SimpleMeasureDefinition ;
21- import com .gooddata .executeafm .resultspec .AttributeSortItem ;
2221import com .gooddata .executeafm .resultspec .Dimension ;
23- import com .gooddata .executeafm .resultspec .Direction ;
24- import com .gooddata .executeafm .resultspec .MeasureLocatorItem ;
25- import com .gooddata .executeafm .resultspec .MeasureSortItem ;
2622import com .gooddata .executeafm .resultspec .ResultSpec ;
2723import com .gooddata .executeafm .resultspec .SortItem ;
2824
2925import java .util .ArrayList ;
30- import java .util .Collections ;
3126import java .util .List ;
3227import java .util .function .Function ;
3328import java .util .stream .Collectors ;
@@ -47,35 +42,49 @@ public abstract class VisualizationConverter {
4742 private static final ObjectMapper MAPPER = new ObjectMapper ();
4843
4944 /**
50- * Generate Execution from Visualization object. Currently {@link ResultSpec}'s {@link Dimension}s can be generated
51- * for table and four types of chart: bar, column, line and pie.
45+ * Generate Execution from Visualization object.
5246 *
5347 * @param visualizationObject which will be converted to {@link Execution}
5448 * @param visualizationClassGetter {@link Function} for fetching VisualizationClass, which is necessary for correct generation of {@link ResultSpec}
5549 * @return {@link Execution} object
50+ *
51+ * @see #convertToAfm(VisualizationObject)
52+ * @see #convertToResultSpec(VisualizationObject, Function)
5653 */
5754 public static Execution convertToExecution (final VisualizationObject visualizationObject , final Function <String , VisualizationClass > visualizationClassGetter ) {
58- VisualizationClass visualizationClass = notNull (visualizationClassGetter ).apply (notNull (visualizationObject ).getVisualizationClassUri ());
59-
60- ResultSpec resultSpec = convertToResultSpec (visualizationObject , visualizationClass .getVisualizationType ());
55+ ResultSpec resultSpec = convertToResultSpec (visualizationObject , visualizationClassGetter );
6156 Afm afm = convertToAfm (visualizationObject );
6257 return new Execution (afm , resultSpec );
6358 }
6459
65- static Afm convertToAfm (final VisualizationObject visualizationObject ) {
60+ /**
61+ * Generate Afm from Visualization object.
62+ *
63+ * @param visualizationObject which will be converted to {@link Execution}
64+ * @return {@link Afm} object
65+ */
66+ public static Afm convertToAfm (final VisualizationObject visualizationObject ) {
6667 final List <AttributeItem > attributes = convertAttributes (visualizationObject .getAttributes ());
6768 final List <CompatibilityFilter > filters = convertFilters (visualizationObject .getFilters ());
6869 final List <MeasureItem > measures = convertMeasures (visualizationObject .getMeasures ());
6970
7071 return new Afm (attributes , filters , measures , null );
7172 }
7273
73- static ResultSpec convertToResultSpec (final VisualizationObject visualizationObject ,
74- final VisualizationType visualizationType ) {
75- notNull (visualizationObject );
76- notNull (visualizationType );
74+ /**
75+ * Generate ResultSpec from Visualization object. Currently {@link ResultSpec}'s {@link Dimension}s can be generated
76+ * for table and four types of chart: bar, column, line and pie.
77+ *
78+ * @param visualizationObject which will be converted to {@link Execution}
79+ * @param visualizationClassGetter {@link Function} for fetching VisualizationClass, which is necessary for correct generation of {@link ResultSpec}
80+ * @return {@link Execution} object
81+ */
82+ public static ResultSpec convertToResultSpec (final VisualizationObject visualizationObject ,
83+ final Function <String , VisualizationClass > visualizationClassGetter ) {
84+ VisualizationClass visualizationClass = notNull (visualizationClassGetter ).apply (notNull (visualizationObject ).getVisualizationClassUri ());
85+
7786 List <SortItem > sorts = getSorting (visualizationObject );
78- List <Dimension > dimensions = getDimensions (visualizationObject , visualizationType );
87+ List <Dimension > dimensions = getDimensions (visualizationObject , visualizationClass . getVisualizationType () );
7988 return new ResultSpec (dimensions , sorts );
8089 }
8190
@@ -206,12 +215,11 @@ private static List<CompatibilityFilter> convertFilters(final List<FilterItem> f
206215 }
207216
208217 private static List <MeasureItem > convertMeasures (final List <Measure > measures ) {
209- List < MeasureItem > measuresForAfm = measures .stream ()
218+ return measures .stream ()
210219 .map (VisualizationConverter ::removeFormat )
211220 .map (VisualizationConverter ::getAfmMeasure )
212221 .map (VisualizationConverter ::convertMeasureFilters )
213222 .collect (toList ());
214- return measuresForAfm ;
215223 }
216224
217225 private static Measure removeFormat (final Measure measure ) {
0 commit comments