2013-03-11 1 views
0

Мне нужна ваша помощь и советы по отображению данных с помощью бульдозера.Советы по отображению структуры данных Строка [] [] в класс модели

После ситуация существует:

  • получение String [] [] из сервисного слоя.
    • первый [] представляет собой строки
    • второй [] представляет столбцы

FYI: Эти данные зависят от параметра "таблицы" запроса.

// exemplary service call 
String[] [] result = service.getData (String table); 
String[] [] result = service.getData (Enum table); 

В зависимости от таблицы параметров используется другой целевой объект.

пример:

  • String [] [] для параметра "TABLE_A" следует использовать объект назначения "com.foo.TableA"
  • String [] [] для параметра "TABLE_B" следует использовать объект назначения «com.bar.TableB»

Слой обслуживания нельзя изменить. В результате результат всегда возвращает этот struture.

Моя проблема в том, что у меня нет хорошей отправной точки для этой ситуации.

Я должен перебирать первый [], а затем зависит от таблицы параметров, необходимо сделать сопоставление.

// useful way? 
List<com.foo.TableA> mappedResult = new ArrayList<com.foo.TableA>(); 
for (int i = 0; i < result.size ; i++) { 
    String[] rowData = result[i]; 
    mappedResult.add(mapper.map(rowData; com.foo.TableA.class)); 
} 


// mapping.xml 
<mappings> 
    <mapping> 
     <class-a>how to configure String[] ? </class-a> 
     <class-b> com.foo.TableA </class-b> 

     <field> 
      <a>src[0] </a> // 1st column 
      <b>column_id</b> 
     </field> 
    <mapping> 
</mappings> 

Любые подсказки приветствуются!

Спасибо заранее

ответ

0

Для получения доступа к данным из строки массива, я использовал обертку

public class RowDataWrapper { 

    private final row[]; 
    public RowDataWrapper (String[] row) { 
     this.row=row; 
    } 

} 

и его использование в пределах mapping.xml

<mappings> 
    <mapping> 
     <class-a>foo.bar.RowDataWrapper</class-a> 
     <class-b>com.foo.TableA</class-b> 

     <field> 
      <a>row[0] </a> // 1st column 
      <b>column_id</b> 
     </field> 
    <mapping> 
</mappings> 

 Смежные вопросы

  • Нет связанных вопросов^_^