/* * Copyright 2000-2013 Enonic AS * http://www.enonic.com/license */ package com.enonic.cms.upgrade.task.datasource.method; import org.jdom.Element; final class GetContentByCategoryConverter extends DataSourceMethodConverter { public GetContentByCategoryConverter() { super( "getContentByCategory" ); } @Override public Element convert( final String[] params ) { if ( params.length != 9 && params.length != 14 ) { return null; } if ( params.length == 14 ) { /* public XMLDocument getContentByCategory( 0 String query, 1 int[] categories, 2 boolean includeSubCategories, 3 String orderBy, 4 int index, 5 int count, 6 boolean titlesOnly, 7 int childrenLevel, 8 int parentLevel, 9 int parentChildrenLevel, 10 boolean relatedTitlesOnly, 11 boolean includeTotalCount, 12 boolean includeUserRights, 13 int[] contentTypes ); */ // If includeSubCategories, use all, else 1 Integer levels = Boolean.valueOf( params[2] ) ? Integer.MAX_VALUE : 1; // Translated from !relatedTitlesOnly && !titlesOnly boolean includeData = !Boolean.valueOf( params[10] ) || !Boolean.valueOf( params[6] ); return method() .param( "categoryKeys", params[1] ) .param( "levels", levels.toString() ) .param( "query", params[0] ) .param( "orderBy", params[3] ) .param( "index", params[4] ) .param( "count", params[5] ) .param( "includeData", Boolean.toString( includeData ) ) .param( "childrenLevel", params[7] ) .param( "parentLevel", params[8] ) .build(); } return method().params( params, "categoryKeys", "levels", "query", "orderBy", "index", "count", "includeData", "childrenLevel", "parentLevel" ).build(); } }