Buscar este blog

domingo, 23 de septiembre de 2012

Conexion JDBC - JAVA a travès de un archivo Properties

Para conectar a bases de datos con el archivo properties necesitas definir la siguiente estructura:

Rutas de los Archivos Properties, es esas rutas tienes que haber creado tus archivos properties:

package com.develtrex.util;
import java.net.URL;
/**
 *
 * @author 007M
 */
public class Ruta {
    private final String dbOracle="/com/develtrex/propiedad/dboracle.properties";
    private final String dbMysql="/com/develtrex/propiedad/dbmysql.properties";
    private final String dbPostgres="/com/develtrex/propiedad/dbpostgres.properties";
    private final String dbSqlServer="/com/develtrex/propiedad/dbsqlserver.properties";
   
    public URL getFileDbOracle(){
        return getClass().getResource(dbOracle);
    }
   
    public URL getFileDbMysql(){
        return getClass().getResource(dbMysql);
    }
   
    public URL getFileDbPostgres(){
        return getClass().getResource(dbPostgres);
    }
   
    public URL getFileDbSqlServer(){
        return getClass().getResource(dbSqlServer);
    }
}

Definirmos la Clase ReadProperties, que se encarga de la lectura de  los archivos properties:

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.develtrex.dao;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.util.Properties;
/**
 *
 * @author 007M
 */
public  class ReadProperties {
    private java.net.URL ruta;
    private String ipHost;
    private String puerto;
    private String basedatos;
    private String usuario;
    private String contrasena;
    private String gestor;
   
    public ReadProperties(java.net.URL path) throws IOException{
        this.ruta=path;
        init();
    }
   
    private void init()throws IOException{
        try{
        Properties props=new Properties();
        InputStream in = ruta.openStream();
        props.load(in);   
        ipHost=props.getProperty("iphost");
        puerto=props.getProperty("puerto");
        basedatos=props.getProperty("namedb");
        usuario=props.getProperty("usuario");
        contrasena=props.getProperty("contrasena");
        gestor=props.getProperty("gestor");
        in.close();
        }catch(IOException ex){           
            System.err.println("causa: " + ex.getCause());
            System.err.println("Mensaje: " + ex.getMessage());
            System.err.println("Localizacion: " + ex.getLocalizedMessage());
            System.err.println("Traza: " + ex.getStackTrace());
            throw ex;
        }
    }
    public URL getRuta() {
        return ruta;
    }
    public void setRuta(URL ruta) {
        this.ruta = ruta;
    }
    public String getIpHost() {
        return ipHost;
    }
    public void setIpHost(String ipHost) {
        this.ipHost = ipHost;
    }
    public String getPuerto() {
        return puerto;
    }
    public void setPuerto(String puerto) {
        this.puerto = puerto;
    }
    public String getBasedatos() {
        return basedatos;
    }
    public void setBasedatos(String basedatos) {
        this.basedatos = basedatos;
    }
    public String getUsuario() {
        return usuario;
    }
    public void setUsuario(String usuario) {
        this.usuario = usuario;
    }
    public String getContrasena() {
        return contrasena;
    }
    public void setContrasena(String contrasena) {
        this.contrasena = contrasena;
    }
    public String getGestor() {
        return gestor;
    }
    public void setGestor(String gestor) {
        this.gestor = gestor;
    }
}

Archivos Properties:

MYSQL:
# To change this template, choose Tools | Templates
# and open the template in the editor.
usuario=root
contrasena=toor
iphost=192.168.1.124
puerto=3306
namedb=celltower
gestor=MYSQL

ORACLE:
# To change this template, choose Tools | Templates
# and open the template in the editor.
usuario=sysloquesea
contrasena=sysloquesea
iphost=192.168.1.124
puerto=1521
namedb=orcl
gestor=ORACLE

POSTGRES:
# To change this template, choose Tools | Templates
# and open the template in the editor.
usuario=postgres
contrasena=toor
iphost=192.168.1.124
puerto=5432
namedb=tumi
gestor=POSTGRES

SQLSERVER:
# To change this template, choose Tools | Templates
# and open the template in the editor.
usuario=SA
contrasena=
iphost=192.168.1.70
puerto=1433
namedb=appdevel
gestor=SQLSERVER

Necesitamos la Clase Conexion:

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.develtrex.dao;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
/**
 *
 * @author007M
 */
public class Conexion {
    private Connection cnx;
    private String ipHost;
    private String puerto;
    private String baseDatos;
    private String usuario;
    private String contrasena;
    private String cadenaConexion;
    private String gestorBD;
    private String driver;
    public Conexion(
            String paramIpHost,
            String paramPuerto,
            String paramBaseDatos,
            String paramUsuario,
            String paramContrasena,
            String paramGestorBD) {
        this.ipHost = paramIpHost;
        this.puerto = paramPuerto;
        this.baseDatos = paramBaseDatos;
        this.usuario = paramUsuario;
        this.contrasena = paramContrasena;
        this.gestorBD = paramGestorBD;
        if (gestorBD.equalsIgnoreCase("ORACLE")) {
            this.cadenaConexion = "jdbc:oracle:thin:@" + ipHost + ":" + puerto + ":" + baseDatos;
            this.driver = "oracle.jdbc.OracleDriver";
        } else if (gestorBD.equalsIgnoreCase("MYSQL")) {
            this.cadenaConexion = "jdbc:mysql://" + ipHost + ":" + puerto + "/" + baseDatos;
            this.driver = "com.mysql.jdbc.Driver";
        } else if(gestorBD.equalsIgnoreCase("POSTGRES")){
            this.cadenaConexion = "jdbc:postgresql://" + ipHost + ":" + puerto + "/" + baseDatos;
            this.driver = "org.postgresql.Driver";
        }else if(this.gestorBD.equalsIgnoreCase("SQLSERVER")){
            this.cadenaConexion = "jdbc:sqlserver://" + ipHost + ":" + puerto + ";DatabaseName=" + baseDatos;
            this.driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
        }else {
            System.err.println("No existe implementacion para ese gestor");
        }
    }
    public boolean conectarBD() throws ClassNotFoundException, InstantiationException, IllegalAccessException, SQLException {
        try {
            Class.forName(this.driver).newInstance();
            cnx = DriverManager.getConnection(cadenaConexion, usuario, contrasena);
            cnx.setTransactionIsolation(Connection.TRANSACTION_READ_COMMITTED);
            cnx.setAutoCommit(false);
            return true;
        } catch (ClassNotFoundException ex) {
            System.err.println("causa: " + ex.getCause());
            System.err.println("Mensaje: " + ex.getMessage());
            System.err.println("Localizacion: " + ex.getLocalizedMessage());
            System.err.println("Traza: " + ex.getStackTrace());
            throw ex;
        } catch (InstantiationException ex) {
            System.err.println("causa: " + ex.getCause());
            System.err.println("Mensaje: " + ex.getMessage());
            System.err.println("Localizacion: " + ex.getLocalizedMessage());
            System.err.println("Traza: " + ex.getStackTrace());
            throw ex;
        } catch (IllegalAccessException ex) {
            System.err.println("causa: " + ex.getCause());
            System.err.println("Mensaje: " + ex.getMessage());
            System.err.println("Localizacion: " + ex.getLocalizedMessage());
            System.err.println("Traza: " + ex.getStackTrace());
            throw ex;
        } catch (SQLException ex) {
            System.err.println("causa: " + ex.getCause());
            System.err.println("Mensaje: " + ex.getMessage());
            System.err.println("Localizacion: " + ex.getLocalizedMessage());
            System.err.println("Traza: " + ex.getStackTrace());
            throw ex;
        }
    }
    public boolean desconectarBD() throws SQLException {
        try {
            cnx.close();
            return true;
        } catch (SQLException ex) {
            System.err.println("causa: " + ex.getCause());
            System.err.println("Mensaje: " + ex.getMessage());
            System.err.println("Localizacion: " + ex.getLocalizedMessage());
            System.err.println("Traza: " + ex.getStackTrace());
            throw ex;
        }
    }
    public boolean confirmar() throws SQLException {
        try {
            cnx.commit();
            return true;
        } catch (SQLException ex) {
            System.err.println("causa: " + ex.getCause());
            System.err.println("Mensaje: " + ex.getMessage());
            System.err.println("Localizacion: " + ex.getLocalizedMessage());
            System.err.println("Traza: " + ex.getStackTrace());
            throw ex;
        }
    }
    public boolean deshacer() throws SQLException {
        try {
            cnx.rollback();
            return true;
        } catch (SQLException ex) {
            System.err.println("causa: " + ex.getCause());
            System.err.println("Mensaje: " + ex.getMessage());
            System.err.println("Localizacion: " + ex.getLocalizedMessage());
            System.err.println("Traza: " + ex.getStackTrace());
            throw ex;
        }
    }
    public Connection getCnx() {
        return cnx;
    }
    public void setCnx(Connection cnx) {
        this.cnx = cnx;
    }
    public String getIpHost() {
        return ipHost;
    }
    public void setIpHost(String ipHost) {
        this.ipHost = ipHost;
    }
    public String getPuerto() {
        return puerto;
    }
    public void setPuerto(String puerto) {
        this.puerto = puerto;
    }
    public String getBaseDatos() {
        return baseDatos;
    }
    public void setBaseDatos(String baseDatos) {
        this.baseDatos = baseDatos;
    }
    public String getUsuario() {
        return usuario;
    }
    public void setUsuario(String usuario) {
        this.usuario = usuario;
    }
    public String getContrasena() {
        return contrasena;
    }
    public void setContrasena(String contrasena) {
        this.contrasena = contrasena;
    }
    public String getCadenaConexion() {
        return cadenaConexion;
    }
    public void setCadenaConexion(String cadenaConexion) {
        this.cadenaConexion = cadenaConexion;
    }
    public String getGestorBD() {
        return gestorBD;
    }
    public void setGestorBD(String gestorBD) {
        this.gestorBD = gestorBD;
    }
    public String getDriver() {
        return driver;
    }
    public void setDriver(String driver) {
        this.driver = driver;
    }
}
Ejecutando un Test:

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.develtrex.tester;
import com.develtrex.dao.Conexion;
import com.develtrex.dao.ReadProperties;
import com.develtrex.util.Ruta;
import java.io.IOException;
import java.sql.SQLException;
/**
 *
 * @author 007M
 */
public class Tester {
    public static void main(String arg[]) throws ClassNotFoundException, ClassNotFoundException, InstantiationException, InstantiationException, IllegalAccessException, SQLException, IOException {
        Ruta src = new Ruta();
        ReadProperties rdOracle = new ReadProperties(src.getFileDbOracle());
        ReadProperties rdMysql = new ReadProperties(src.getFileDbMysql());
        ReadProperties rdPostgres = new ReadProperties(src.getFileDbPostgres());
        ReadProperties rdSqlServer = new ReadProperties(src.getFileDbSqlServer());
        Conexion cnxOracle = new Conexion(
                rdOracle.getIpHost(),
                rdOracle.getPuerto(),
                rdOracle.getBasedatos(),
                rdOracle.getUsuario(),
                rdOracle.getContrasena(),
                rdOracle.getGestor());
        Conexion cnxMysql = new Conexion(
                rdMysql.getIpHost(),
                rdMysql.getPuerto(),
                rdMysql.getBasedatos(),
                rdMysql.getUsuario(),
                rdMysql.getContrasena(),
                rdMysql.getGestor());
        System.out.println("ORACLE: " + cnxOracle.conectarBD());
        System.out.println("MYSQL: " + cnxMysql.conectarBD());
        /* .. continua tu con las demaàs */
    }
}

Conectador a Oracle - Postgres - Mysql - SQL Sever con JDBC - Java

Para conectar a Oracle, Postgres, Mysql y SQL Server es necesaria unicamente una clase de Conexiòn y Una clase ObjetoConexiòn donde definir los valores de la Conexion.

Tener en cuenta la estructura de paquetes, para no tener errror en el momento de ejecutar.

Clase Conexion:

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.develtrex.dao;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
/**
 *
 * @author 007M
 */
public class Conexion {
    private Connection cnx;
    private String ipHost;
    private String puerto;
    private String baseDatos;
    private String usuario;
    private String contrasena;
    private String cadenaConexion;
    private String gestorBD;
    private String driver;
    public Conexion(
            String paramIpHost,
            String paramPuerto,
            String paramBaseDatos,
            String paramUsuario,
            String paramContrasena,
            String paramGestorBD) {
        this.ipHost = paramIpHost;
        this.puerto = paramPuerto;
        this.baseDatos = paramBaseDatos;
        this.usuario = paramUsuario;
        this.contrasena = paramContrasena;
        this.gestorBD = paramGestorBD;
        if (gestorBD.equalsIgnoreCase("ORACLE")) {
            this.cadenaConexion = "jdbc:oracle:thin:@" + ipHost + ":" + puerto + ":" + baseDatos;
            this.driver = "oracle.jdbc.OracleDriver";
        } else if (gestorBD.equalsIgnoreCase("MYSQL")) {
            this.cadenaConexion = "jdbc:mysql://" + ipHost + ":" + puerto + "/" + baseDatos;
            this.driver = "com.mysql.jdbc.Driver";
        } else if(gestorBD.equalsIgnoreCase("POSTGRES")){
            this.cadenaConexion = "jdbc:postgresql://" + ipHost + ":" + puerto + "/" + baseDatos;
            this.driver = "org.postgresql.Driver";
        }else if(this.gestorBD.equalsIgnoreCase("SQLSERVER")){
            this.cadenaConexion = "jdbc:sqlserver://" + ipHost + ":" + puerto + ";DatabaseName=" + baseDatos;
            this.driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
        }else {
            System.err.println("No existe implementacion para ese gestor");
        }
    }
    public boolean conectarBD() throws ClassNotFoundException, InstantiationException, IllegalAccessException, SQLException {
        try {
            Class.forName(this.driver).newInstance();
            cnx = DriverManager.getConnection(cadenaConexion, usuario, contrasena);
            cnx.setTransactionIsolation(Connection.TRANSACTION_READ_COMMITTED);
            cnx.setAutoCommit(false);
            return true;
        } catch (ClassNotFoundException ex) {
            System.err.println("causa: " + ex.getCause());
            System.err.println("Mensaje: " + ex.getMessage());
            System.err.println("Localizacion: " + ex.getLocalizedMessage());
            System.err.println("Traza: " + ex.getStackTrace());
            throw ex;
        } catch (InstantiationException ex) {
            System.err.println("causa: " + ex.getCause());
            System.err.println("Mensaje: " + ex.getMessage());
            System.err.println("Localizacion: " + ex.getLocalizedMessage());
            System.err.println("Traza: " + ex.getStackTrace());
            throw ex;
        } catch (IllegalAccessException ex) {
            System.err.println("causa: " + ex.getCause());
            System.err.println("Mensaje: " + ex.getMessage());
            System.err.println("Localizacion: " + ex.getLocalizedMessage());
            System.err.println("Traza: " + ex.getStackTrace());
            throw ex;
        } catch (SQLException ex) {
            System.err.println("causa: " + ex.getCause());
            System.err.println("Mensaje: " + ex.getMessage());
            System.err.println("Localizacion: " + ex.getLocalizedMessage());
            System.err.println("Traza: " + ex.getStackTrace());
            throw ex;
        }
    }
    public boolean desconectarBD() throws SQLException {
        try {
            cnx.close();
            return true;
        } catch (SQLException ex) {
            System.err.println("causa: " + ex.getCause());
            System.err.println("Mensaje: " + ex.getMessage());
            System.err.println("Localizacion: " + ex.getLocalizedMessage());
            System.err.println("Traza: " + ex.getStackTrace());
            throw ex;
        }
    }
    public boolean confirmar() throws SQLException {
        try {
            cnx.commit();
            return true;
        } catch (SQLException ex) {
            System.err.println("causa: " + ex.getCause());
            System.err.println("Mensaje: " + ex.getMessage());
            System.err.println("Localizacion: " + ex.getLocalizedMessage());
            System.err.println("Traza: " + ex.getStackTrace());
            throw ex;
        }
    }
    public boolean deshacer() throws SQLException {
        try {
            cnx.rollback();
            return true;
        } catch (SQLException ex) {
            System.err.println("causa: " + ex.getCause());
            System.err.println("Mensaje: " + ex.getMessage());
            System.err.println("Localizacion: " + ex.getLocalizedMessage());
            System.err.println("Traza: " + ex.getStackTrace());
            throw ex;
        }
    }
    public Connection getCnx() {
        return cnx;
    }
    public void setCnx(Connection cnx) {
        this.cnx = cnx;
    }
    public String getIpHost() {
        return ipHost;
    }
    public void setIpHost(String ipHost) {
        this.ipHost = ipHost;
    }
    public String getPuerto() {
        return puerto;
    }
    public void setPuerto(String puerto) {
        this.puerto = puerto;
    }
    public String getBaseDatos() {
        return baseDatos;
    }
    public void setBaseDatos(String baseDatos) {
        this.baseDatos = baseDatos;
    }
    public String getUsuario() {
        return usuario;
    }
    public void setUsuario(String usuario) {
        this.usuario = usuario;
    }
    public String getContrasena() {
        return contrasena;
    }
    public void setContrasena(String contrasena) {
        this.contrasena = contrasena;
    }
    public String getCadenaConexion() {
        return cadenaConexion;
    }
    public void setCadenaConexion(String cadenaConexion) {
        this.cadenaConexion = cadenaConexion;
    }
    public String getGestorBD() {
        return gestorBD;
    }
    public void setGestorBD(String gestorBD) {
        this.gestorBD = gestorBD;
    }
    public String getDriver() {
        return driver;
    }
    public void setDriver(String driver) {
        this.driver = driver;
    }
}
Clase: ObjetoConexion:

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.develtrex.dao;
import java.sql.SQLException;
/**
 *
 * @author 007M
 */
public class ObjetoConexion {
    private Conexion oracle;
    private Conexion mysql;
    private Conexion postgres;
    private Conexion sqlServer;
   
    public boolean conectarOracle() throws ClassNotFoundException, InstantiationException, InstantiationException, IllegalAccessException, SQLException{
        oracle=new Conexion(
                "192.168.1.124",
                "1521",
                "orcl",
                "sysferronor",
                "sysferronor",
                "ORACLE"
                );
        return oracle.conectarBD();
    }
   
    public boolean conectarMysql() throws ClassNotFoundException, InstantiationException, InstantiationException, IllegalAccessException, SQLException{
        mysql=new Conexion(
                "192.168.1.124",
                "3306",
                "celltower",
                "root",
                "toor",
                "MYSQL"
                );
        return mysql.conectarBD();
    }
   
    public boolean conectarPostgres() throws ClassNotFoundException, ClassNotFoundException, InstantiationException, IllegalAccessException, SQLException{
        postgres=new Conexion(
                "192.168.1.124",
                "5432",
                "tumi",
                "postgres",
                "toor",
                "POSTGRES"
                );
        return postgres.conectarBD();
    }
   
    public boolean conectarSQLServer() throws ClassNotFoundException, ClassNotFoundException, InstantiationException, InstantiationException, IllegalAccessException, IllegalAccessException, SQLException{
        sqlServer=new Conexion(
                "192.168.1.70",
                "1433",
                "appdevel",
                "sa",
                "",
                "SQLSERVER"
                );
        return sqlServer.conectarBD();
    }
   
    public Conexion getOracle() {
        return oracle;
    }
    public void setOracle(Conexion oracle) {
        this.oracle = oracle;
    }
    public Conexion getMysql() {
        return mysql;
    }
    public void setMysql(Conexion mysql) {
        this.mysql = mysql;
    }
    public Conexion getPostgres() {
        return postgres;
    }
    public void setPostgres(Conexion postgres) {
        this.postgres = postgres;
    }
   
}
 Clase Principal o de Ejecuciòn:

package com.develtrex.tester;
import com.develtrex.dao.ObjetoConexion;
import java.sql.SQLException;

/**
 *
 * @author 007M
 */
public class Main {
    public static void main(String arg[]) throws ClassNotFoundException, ClassNotFoundException, InstantiationException, InstantiationException, IllegalAccessException, SQLException {
        ObjetoConexion objCnx=new ObjetoConexion();
         System.out.println("Postgres: "+objCnx.conectarPostgres());
         System.out.println("Mysql: "+objCnx.conectarMysql());
         System.out.println("Oracle: "+objCnx.conectarOracle());
         System.out.println("SqlServer: "+objCnx.conectarSQLServer());       
    }
}

martes, 1 de mayo de 2012

Slider Básico en GWT

Usado en: www.develtrex.com

Bueno esto lo hice a raíz de no encontrar una implementación de un slider con código nativo GWT. Espero que puedan mejorarlo, lo que hice fue aprovecharme de las funcionalidades de los paneles que nos brinda el google web toolkit, he creado una clase que crea un objeto, en este caso es objeto es el slider, bueno espero les sirva y lo mejoren.

Pueden crear cuanto slider e imagenes en el slider quieren usar.

Clase para crear Objetos Slider:

package com.develtrex.website.view;

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

import com.develtrex.website.image.WebSiteImagen;
import com.google.gwt.dom.client.Style;
import com.google.gwt.dom.client.Style.Unit;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.user.client.Timer;
import com.google.gwt.user.client.ui.DeckPanel;
import com.google.gwt.user.client.ui.FlowPanel;
import com.google.gwt.user.client.ui.Image;
import com.google.gwt.user.client.ui.Label;

public class Slider extends FlowPanel{
    private DeckPanel panelSlider=new DeckPanel();
    private Label nextLeft=new Label();
    private Label nextRight=new Label();
    private List<Image> listImage;
    private Timer timer;
    public Slider(ArrayList<Image> imagenes){
        listImage=imagenes;
        initComponents();
    }  
   
    private void initComponents(){
        this.add(nextLeft);
        this.add(panelSlider);
        this.add(nextRight);      
        panelSlider.setAnimationEnabled(true);
        Iterator<Image> i=listImage.iterator();
        while(i.hasNext()){
            panelSlider.add(i.next());                  
        }
        panelSlider.showWidget(0);
        stlSlider();
        stlDeckPanel();
        stlNextLeft();
        stlNextRigth();
        nextLeft.addClickHandler(click);
        nextRight.addClickHandler(click);
        timer=new Timer(){
            @Override
            public void run() {
                // TODO Auto-generated method stub
                int index = panelSlider.getVisibleWidget();
                index++;
                if (index == panelSlider.getWidgetCount()) index = 0;
                panelSlider.showWidget(index);
            }          
        };
        timer.scheduleRepeating(5000);
    }
   
    ClickHandler click=new ClickHandler(){

        @Override
        public void onClick(ClickEvent event) {
            if(event.getSource().equals(nextLeft)){
                int tamanno=listImage.size();
                int indexActual=panelSlider.getVisibleWidget();
                if(indexActual==0){
                    panelSlider.showWidget(tamanno-1);
                }else{
                    panelSlider.showWidget(indexActual-1);
                }
            }else if(event.getSource().equals(nextRight)){
                int tamanno=listImage.size();
                int indexActual=panelSlider.getVisibleWidget();
                if(indexActual==tamanno-1){
                    panelSlider.showWidget(0);
                }else{
                    panelSlider.showWidget(indexActual+1);
                }
            }
        }
      
    };
   
    private void stlNextLeft(){
        nextLeft.getElement().getStyle().setWidth(10,Unit.PCT);
        nextLeft.getElement().getStyle().setHeight(100,Unit.PCT);
        nextLeft.getElement().getStyle().setFloat(Style.Float.LEFT);
        nextLeft.getElement().getStyle().setProperty("background", "url("+WebSiteImagen.INSTANCE.getBack().getSafeUri().asString()+") no-repeat scroll 0% 0% transparent");
        nextLeft.getElement().getStyle().setProperty("backgroundPosition","center");
        nextLeft.getElement().getStyle().setBorderWidth(0, Unit.PX);
        nextLeft.getElement().getStyle().setFontSize(30, Unit.PX);
    }
   
    private void stlNextRigth(){
        nextRight.getElement().getStyle().setWidth(10,Unit.PCT);
        nextRight.getElement().getStyle().setHeight(100,Unit.PCT);
        nextRight.getElement().getStyle().setFloat(Style.Float.LEFT);
        nextRight.getElement().getStyle().setProperty("background", "url("+WebSiteImagen.INSTANCE.getNext().getSafeUri().asString()+") no-repeat scroll 0% 0% transparent");
        nextRight.getElement().getStyle().setProperty("backgroundPosition","center");
        nextRight.getElement().getStyle().setBorderWidth(0, Unit.PX);
        nextRight.getElement().getStyle().setFontSize(30, Unit.PX);
    }
   
    private void stlSlider(){
        this.getElement().getStyle().setWidth(100,Unit.PCT);
        this.getElement().getStyle().setHeight(100,Unit.PCT);
        this.getElement().getStyle().setMargin(0, Unit.PX);      
        this.getElement().getStyle().setPadding(0, Unit.PX);
        this.getElement().getStyle().setBorderWidth(0, Unit.PX);
    }
   
    private void stlDeckPanel(){
        panelSlider.getElement().getStyle().setWidth(80,Unit.PCT);
        panelSlider.getElement().getStyle().setHeight(100,Unit.PCT);
        panelSlider.getElement().getStyle().setFloat(Style.Float.LEFT);
    }
   
   
   
    //Getters y Setters
   
    public DeckPanel getPanelSlider() {
        return panelSlider;
    }

    public void setPanelSlider(DeckPanel panelSlider) {
        this.panelSlider = panelSlider;
    }
    public List<Image> getListImage() {
        return listImage;
    }

    public void setListImage(List<Image> listImage) {
        this.listImage = listImage;
    }

    public Label getNextLeft() {
        return nextLeft;
    }

    public void setNextLeft(Label nextLeft) {
        this.nextLeft = nextLeft;
    }

    public Label getNextRight() {
        return nextRight;
    }

    public void setNextRight(Label nextRight) {
        this.nextRight = nextRight;
    }

    public Timer getTimer() {
        return timer;
    }

    public void setTimer(Timer timer) {
        this.timer = timer;
    }

    public ClickHandler getClick() {
        return click;
    }

    public void setClick(ClickHandler click) {
        this.click = click;
    }
   
}



Usando la el objeto slider:

package com.develtrex.website.view;

import java.util.ArrayList;

import com.google.gwt.dom.client.Style.Unit;
import com.google.gwt.user.client.ui.Image;
import com.google.gwt.user.client.ui.TabLayoutPanel;

public class TabSliderHome extends TabLayoutPanel{
    private Slider sldTecnology;
    private Image imgGoogleApps=new Image("http://tecnologyc.com/wp-content/2011/01/google_apps.jpg");
    private Image imgCentos=new Image("http://www.dacostabalboa.com/es/imagenes/CentOS-5.6.jpg");
    private Image imgRedHat=new Image("http://blog.linuxlatinamerica.com/wp-content/uploads/2011/10/redhat-logo.jpg");
    private Image imgUbuntu=new Image("http://web.educastur.princast.es/proyectos/grupotecne/archivos/tic/144ubuntu.jpg");
    public TabSliderHome(double barHeight, Unit barUnit) {
        super(barHeight, barUnit);
        // TODO Auto-generated constructor stub
        initComponents();
    }
   
    private void initComponents(){
        this.setAnimationDuration(1000);
        ArrayList<Image> images=new ArrayList<Image>();
        images.add(imgGoogleApps);
        images.add(imgCentos);
        images.add(imgRedHat);
        images.add(imgUbuntu);
        sldTecnology=new Slider(images);
        this.add(sldTecnology,"Tecnología");
        stlTabSliderHome();
    }
   
    private void stlTabSliderHome(){
        this.getElement().getStyle().setWidth(100,Unit.PCT);
        this.getElement().getStyle().setHeight(95,Unit.PCT);
        this.getElement().getStyle().setMargin(5, Unit.PX);       
        this.getElement().getStyle().setPadding(0, Unit.PX);
        this.getElement().getStyle().setBorderWidth(0, Unit.PX);
       
    }

}




jueves, 15 de marzo de 2012

Diferencia de la Llamada CallableStatement en BD's

Como ustedes ya saben para conectarse a base de datos a través de JDBC, cada fabricante construye su propia librería, es por esta razón que la nomenclatura cambio cuando hacemos llamadas a procedimientos almacenados y funciones de una base de dato. Listemos los ejemplos:

MySQL:

String proc = "call modificarcosto(?,?)"; ----> Procedimiento Almacenado.

String proc = "{?=call modificarcosto(?,?)}";----> Función Mysql.

SQL Server:

String proc = "{call registrarinsumo(?,?,?,?)}";

Oracle:

String proc = "{call ?:=mantescuela(?,?,?,?)}";

Postgres:

String proc = "{call pa_eliminarlistaprecio(?,?)}";


lunes, 13 de febrero de 2012

Volunia como herramienta de colaboración

Volunia es un buscador al igual que google, esta en su versión beta, es por esta razón que algunas cosas no funcionan bien, algunas paginas no se visualizan, pero viendolo desde el punto de vista tecnológico va revolucionar la forma de hacer busquedas, pongamos de ejemplo a un foro o una pagina personal o un blogger, volunia te permite chatear con las personas que estan en ese momento en la página y así poder compartir conocimientos. Desde mi punto de vista como herramienta de colaboración es muy funcional, se necesitaria agregar medios multimedia para netmeeting y es una plataforma formidable para trabajo en equipo.

A todos los que visiten mi blogger y lean esto, si desean se crear su cuenta y hablamos via volunia, solamente buscan mi pagina y comenzaremos a conversar.

viernes, 10 de febrero de 2012

WEB SERVICE JAVA Y JAVA CLIENT

Caso de Estudio: 

FastFood es una cadena de 5 establecimientos que opera en el norte del país desde hace 10 años liderando el sector de venta de pizzas en general, y bajo su lema “El cliente siempre tiene una pizza FastFood cuando gusta de ella”, iniciando sus operaciones como un negocio familiar de los Gonzáles Konde en donde cada uno de los miembros ha venido desempeñando alguna función dentro de la misma tal como es el caso de Jorge Gonzáles Konde quien ha venido asumiendo el rol de la administración global de la empresa.

En meses recientes, debido al auge y crecimiento de la empresa y teniendo en consideración la presencia de importantes competidores en el mercado como Pizzato y PizzaFood, es que se hace necesario diseñar nuevas estrategias empresariales que le permitan seguir creciendo como lo han venido haciendo manteniendo su condición de liderazgo en el mercado nacional; por ello, la familia consideró necesario incorporar un profesional con la experiencia suficiente en el sector que les asistiera en este proceso de cambio, participando de forma activa en la gestión de la empresa, habiéndose establecido contacto con Juan Pérez.

Juan Pérez, recientemente designado como administrador general de la empresa, en su primer contacto con la misma ha identificado oportunidades de mejora y ha formulado una serie de iniciativas que le ayudarían a la empresa a continuar con su ritmo de crecimiento, entre las cuales cabe destacar la implementación del servicio de delivery para atender a un sector importante del mercado de una forma más eficiente y oportuna. Así mismo, considera que el uso de tecnologías y sistemas de información es un aspecto de especial importancia para las organizaciones y por consiguiente en este caso particular; es por ello, que en coordinación con el área de sistemas ha decidido emprender proyectos de TI/SI con el propósito mejorar la eficiencia de los procesos que se desarrollan como parte del negocio, principalmente en las áreas en donde se han identificado oportunidades de mejora.

En este sentido, Carlos Díaz responsable del área de sistemas ha formulado una serie de iniciativas en materia de TI/SI con el propósito de apoyar la estrategia empresarial formulada por la administración de la empresa; por ello, atendiendo a la iniciativa de implementar el servicio de delivery en la empresa se ha formulado un proyecto para la construcción de un sistema informático de soporte que contribuya a brindar un servicio eficiente y oportuno a los clientes y que se integre al sistema de información que viene operando en la empresa, habiendo sido denominado e-Delivery.

La propuesta formulada de e-Delivery consiste en un sistema de informático que permite el registro de pedidos de los clientes así como el despacho de los mismos, teniendo en consideración que los clientes pueden realizar sus pedidos vía telefónica o por la web. Por ello, e-Delivery comprende la construcción de un módulo de escritorio para el registro de pedidos vía telefónica, y otro módulo web para el registro de pedidos de forma personal por parte del cliente mismo que requiere del producto.

Como parte de la propuesta comprendida en el proyecto e-Delivery, se ha planteado una arquitectura del sistema informático, como se muestra en el gráfico siguiente:

martes, 24 de enero de 2012

Codigo Fuente del Sistema de Proyección Social

Amigos disculpen por el retraso, a raíz de la ley SOPA y PIPA me entretuve tratando de ver como solucionar mi problema de mi cuenta y mis archivos que estaban contenidos en megaupload,  por esta razon pienso publicarlos en DROPBOX, claro que para que ustedes tengan acceso a la carpeta donde colgaré el código fuente y Script de base de datos necesitaria de sus correos, nadie los obliga a que me los brinden, pero si desean tener el aplicativo completo necesito compartirlo de esta manera, espero me entienda Hasta Pronto.

Especificaciones:

Instalar Oracle 10g o superior ya sea en version EXPRESS o Enterprise.
Instalar JDK 7.

Software desarrollado con IDE NetBeans version 7.0.1, el cual soporta JDK 7.

Si desean configurar el software para su propia facultad lo único necesario es hacer que el ID de la universidad se 1 en la tabla Universida, ya que lo habia pensado a nivel macro.

Bueno me dejan sus correos y los agrego como colaboradores a mi carpeta.

Hasta pronto
CODIGO FUENTE: http://adf.ly/ROprm
Netbeans 7.x: http://adf.ly/ROpc4
Script de base de datos: http://adf.ly/ROpiE
solicitud de constancia: http://adf.ly/ROpnZ
SQL developer:  http://adf.ly/ROpvh
Modulo de instalacion: http://adf.ly/ROpWG
Instalador del sistema: http://adf.ly/ROpK4
datamodeler: http://adf.ly/ROoZB
Generar instalador: http://adf.ly/ROooE
Informacion de requerimientos: ttp://adf.ly/ROoxU
Informe de proyeccion social: http://adf.ly/ROp6I
JDK 7: http://adf.ly/ROpQ4

jueves, 19 de enero de 2012

Parte 1: Oracle & Swing - Gestión de Proyección Social.de la FICSA - UNPRG

Antes de abordar el tema quiero dejar en claro que esto solamente es un relax para luego continuar con los aportes de la plataforma DataNucleus.

Explicaremos de forma breve en que se a basado el desarrollo de software:

La Oficina de Proyección Social de la Facultad de Ingeniería Civil, Sistemas y Arquitectura de la Universidad Nacional Pedro Ruiz gallo requiere un sistema infomático para llevar el registro histórico de proyecciones sociales realizadas por sus docente y estudiantes, además requiere que el software se ejecute en entornos linux y windows.

Base de Datos de Pruebas:
Oracle 10g version Express.

Lenguaje de Programación:
Java - JFC(Java Foundation Class) mejor conocido como Swing.

Herramientas Usadas:
Netbeans 7.0.1
Oracle SQL Developer Data Modeler
Oracle SQL Developer

Si ustedes creen que es necesario hacerles un modelado en rational rose, no duden en solicitarlo. En esta Ocasión solo voy a brindar el diseño de la base de datos.

La herramienta que use para modelar la base de datos es Oracle SQL Developer Data Modeler y la herramienta para administra la base de datos es Oracle SQL Developer.

Generación de diseño de BD.

Ver en YouTube