Xstream+oracle+gerar schema banco em xml

0 respostas
F

Caros bom dia.

Estou iniciando meus estudos em java com xml e necessito desenvolver uma rotina de backup e restore de banco dados em xml.
Pesquisando na web encontrei a API XSTREAM estou tentando utilizar essa API para gerar schema do ORACLE.

Minha ideia e gerar um XML com seguintes configurações:

. . . . . . . .

Mais ao inves disso esta gerando a seguinte saida em XML:

ATM ATM_CODIGOS_DDD ATM CATEGORIAS ATM ENTRANTE_DIARIO ATM ENTRANTE_NIVEL_1 ATM ENTRANTE_NIVEL_1_MENSAL ATM ENTRANTE_NIVEL_2 ATM ENTRANTE_NIVEL_2_MENSAL ATM ENTRANTE_NIVEL_3 ATM ENTRANTE_NIVEL_3_MENSAL

CLASSES EM JAVA:

package schema;

import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import com.thoughtworks.xstream.XStream;
public class Main {

public static void main(String[] args) {

Connection connection = null;

try{

Connection conn = ConnectionMaker.getInstance(cce, Cce, GTI2, UXRJOCP2);
String query = "Select distinct owner,table_name from all_tables";
        PreparedStatement stmt = conn.prepareStatement(query);
        ResultSet rs = stmt.executeQuery();

        ListaDatabase lb = new ListaDatabase();

        while(rs.next()){
            DataBase db = new DataBase();
            Table    tb = new Table();
            db.setDataBase(rs.getString(1));
            tb.setTableName(rs.getString(2));
            db.add(tb);
            lb.add(db);
        }

        XStream xstream = new XStream();
        xstream.addImplicitCollection(ListaDatabase.class,"databases");
        xstream.alias("Schemas",ListaDatabase.class);
        xstream.alias("DataBase",DataBase.class);
        String xml = xstream.toXML(lb);
        System.out.println(xml);
        
        stmt.close();
        rs.close();
        conn.close();
    }catch(Exception ex) {
        ex.printStackTrace();
    }
}

}

----------------------------------------------------------------//-----------------------------------------------------------

package schema;

import java.sql.Connection;

import java.sql.DriverManager;

import oracle.jdbc.driver.OracleDriver;
public class ConnectionMaker {

public static Connection getInstance(String user, String password, String sid, String url) throws Exception{

DriverManager.registerDriver(new OracleDriver());

Connection conn = DriverManager.getConnection(jdbc:oracle:thin:@” + url + :1521: + sid, user, password);

conn.setAutoCommit(false);

return conn;

}

public static Connection getInstance(String user, String password, String sid) throws Exception{

return getInstance(user, password, sid, localhost);

}

}

----------------------------------------------------------------//-----------------------------------------------------------

package schema;

import java.util.ArrayList;
import java.util.List;

public class DataBase {

private String dataBaseName;

private List
databases = new ArrayList
();
public void setDataBase(String dataBaseName){
    this.dataBaseName = dataBaseName;
}

public String getDatabase(){
    return dataBaseName;
}

public void add(Table tb){
    this.databases.add(tb);
}

}

----------------------------------------------------------------//-----------------------------------------------------------

package schema;

import java.util.ArrayList;
import java.util.List;

public class ListaDatabase {
private List databases = new ArrayList();

public void add(DataBase db){
    this.databases.add(db);
}

}

----------------------------------------------------------------//-----------------------------------------------------------

package schema;

public class Table {
private String tableName;

public void setTableName(String tableName){
    this.tableName = tableName;
}

public String getTableName() {
    return tableName;
}

}

Desde já muito obrigado a todos.

Atenciosamente.

Criado 18 de outubro de 2010
Respostas 0
Participantes 1