Check-in [871017974d]
Not logged in

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:logica registrar cliente
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1:871017974d1d64e48e641a1d9e18ac47fbb1f55b
User & Date: malcon 2015-01-10 09:45:35
Context
2015-01-11
11:12
registro cliente, sale error check-in: 4b8eccaca6 user: malcon tags: trunk
2015-01-10
09:45
logica registrar cliente check-in: 871017974d user: malcon tags: trunk
2015-01-09
02:04
comentar interceptor session check-in: ab39fa35ab user: caleb tags: trunk
Changes

Changes to WebContent/META-INF/context.xml.

1
2
3
4
5
6
7
8
9
10
11
12
13
<?xml version="1.0" encoding="UTF-8"?>
<context>
	<Resource auth="Container"
	    driverClassName="com.mysql.jdbc.Driver"
	    maxActive="10"
	    name="jdbc/daw1"
	    username="root"
	    password="mysql"
	    type="javax.sql.DataSource"
	    url="jdbc:mysql://localhost:3306/agenciadb">
	</Resource>
</context>








|





1
2
3
4
5
6
7
8
9
10
11
12
13
<?xml version="1.0" encoding="UTF-8"?>
<context>
	<Resource auth="Container"
	    driverClassName="com.mysql.jdbc.Driver"
	    maxActive="10"
	    name="jdbc/daw1"
	    username="root"
	    password="123"
	    type="javax.sql.DataSource"
	    url="jdbc:mysql://localhost:3306/agenciadb">
	</Resource>
</context>

Changes to src/action/ClienteAction.java.

1
2










3
4



5











































package action;











public class ClienteAction {




}













































>
>
>
>
>
>
>
>
>
>
|

>
>
>
|
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
package action;

import java.util.List;

import util.Constantes;
import negocio.ClienteService;
import negocio.ClienteServiceDAO;
import model.Cliente;

import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.Preparable;

public class ClienteAction extends ActionSupport implements Preparable{

	private static final long serialVersionUID = 1L;
	private List<Cliente> clientes;
	private Cliente cliente=new Cliente();
	
	private ClienteService clienteService = new ClienteServiceDAO();
	
	
	public Cliente getCliente(){
		return cliente;
	}
	public void setCliente(Cliente cliente){
		this.cliente = cliente;
	}
	public List<Cliente> getClientes(){
		return clientes;
	}
	public void seCLientes(List<Cliente> clientes){
		this.clientes = clientes;
	}
	
	public String buscar() throws Exception {
		clientes= clienteService.buscar(cliente);
		return SUCCESS;
	}
	
	public String editar() throws Exception{
		if(cliente.getCodigo()==null){
			clienteService.registrar(cliente);
			String[] params = new String[]{getText(Constantes.MODULO_CLIENTE)};

			addActionMessage(getText(Constantes.MENSAJE_INSERT_OK,params));
		} else {
			clienteService.actualizar(cliente);
			String[] params=new String[]{
					getText(Constantes.MODULO_CLIENTE),
					cliente.getCodigo().toString()};
			addActionMessage(getText(Constantes.MENSAJE_UPDATE_OK,params));
		}
		return SUCCESS;
	}
	@Override
	public void prepare() throws Exception {
		if(cliente.getCodigo()!=null)
			cliente=clienteService.obtener(cliente.getCodigo());
		
	}
}

Changes to src/model/Cliente.java.

3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import java.io.Serializable;

public class Cliente implements Serializable{
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private String codigo;
	private String nombres;
	private String ap_paterno;
	private String ap_materno;
	private String dni;
	private String ruc;
	private String email;
	private String direccion;
	private String telefonos;
	private Usuario usuario;
	
	public String getCodigo() {
		return codigo;
	}
	public void setCodigo(String codigo) {
		this.codigo = codigo;
	}
	public String getNombres() {
		return nombres;
	}
	public void setNombres(String nombres) {
		this.nombres = nombres;







|










|


|







3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import java.io.Serializable;

public class Cliente implements Serializable{
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private Integer codigo;
	private String nombres;
	private String ap_paterno;
	private String ap_materno;
	private String dni;
	private String ruc;
	private String email;
	private String direccion;
	private String telefonos;
	private Usuario usuario;
	
	public Integer getCodigo() {
		return codigo;
	}
	public void setCodigo(Integer codigo) {
		this.codigo = codigo;
	}
	public String getNombres() {
		return nombres;
	}
	public void setNombres(String nombres) {
		this.nombres = nombres;

Deleted src/negocio/ClienteDAO.java.

1
2
3
4
5
package negocio;

public class ClienteDAO {

}
<
<
<
<
<










Changes to src/negocio/ClienteService.java.

1
2




3
4




5
package negocio;





public class ClienteService {





}


>
>
>
>
|

>
>
>
>

1
2
3
4
5
6
7
8
9
10
11
12
13
package negocio;

import java.util.List;

import model.Cliente;

public interface ClienteService {

	public Cliente obtener(Integer codigo) throws Exception;
	public void actualizar(Cliente cliente) throws Exception ;
	public void registrar(Cliente cliente) throws Exception;
	public List<Cliente> buscar(Cliente cliente) throws Exception;
}

Changes to src/negocio/ClienteServiceDAO.java.

1
2








3
4


5






































package negocio;









public class ClienteServiceDAO {



}








































>
>
>
>
>
>
>
>
|

>
>
|
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
package negocio;

import java.util.List;

import org.apache.ibatis.session.SqlSession;

import persistencia.mybatis.mapper.ClienteMapper;
import util.MyBatisUtil;
import model.Cliente;

public class ClienteServiceDAO  implements ClienteService{

	@Override
	public Cliente obtener(Integer codigo) throws Exception {
		
		SqlSession session=MyBatisUtil.getSqlSessionFactory().openSession();
		ClienteMapper clienteMapper=session.getMapper(ClienteMapper.class);
		Cliente cliente=clienteMapper.obtener(codigo);
		session.close();
		return cliente;
	}

	@Override
	public void actualizar(Cliente cliente) throws Exception {
		SqlSession session=MyBatisUtil.getSqlSessionFactory().openSession();
		ClienteMapper clienteMapper=session.getMapper(ClienteMapper.class);
		clienteMapper.actualizar(cliente);
		session.commit();
		session.close();
		
		
	}

	@Override
	public void registrar(Cliente cliente) throws Exception {
		SqlSession  session=MyBatisUtil.getSqlSessionFactory().openSession();
		ClienteMapper clienteMapper = session.getMapper(ClienteMapper.class);
		clienteMapper.insertar(cliente);
		session.commit();
		session.close();
		
	}

	@Override
	public List<Cliente> buscar(Cliente cliente) throws Exception {
		SqlSession session=MyBatisUtil.getSqlSessionFactory().openSession();
		ClienteMapper clienteMapper = session.getMapper(ClienteMapper.class);
		List<Cliente> clientes = clienteMapper.buscar(cliente);
		session.close();
		return clientes;
	}

}

Changes to src/negocio/UsuarioService.java.

1
2
3
4
5
6
7


8
9
package negocio;

import model.Usuario;

public interface UsuarioService {
	
	public String isCredencialValida(Usuario usuario) throws Exception;



}







>
>
|
<
1
2
3
4
5
6
7
8
9
10

package negocio;

import model.Usuario;

public interface UsuarioService {
	
	public String isCredencialValida(Usuario usuario) throws Exception;
	public void registrar(Usuario usuario) throws Exception;
	public void actualizar(Usuario usuario) throws Exception;
}

Changes to src/negocio/UsuarioServiceDAO.java.

14
15
16
17
18
19
20












21
22
23
		SqlSession session=MyBatisUtil.getSqlSessionFactory().openSession();
		UsuarioMapper usuarioMapper=session.getMapper(UsuarioMapper.class);
		String rs=usuarioMapper.getAccess(usuario);
		session.close();
	          
		return rs;
	}












	

}







>
>
>
>
>
>
>
>
>
>
>
>



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
		SqlSession session=MyBatisUtil.getSqlSessionFactory().openSession();
		UsuarioMapper usuarioMapper=session.getMapper(UsuarioMapper.class);
		String rs=usuarioMapper.getAccess(usuario);
		session.close();
	          
		return rs;
	}

	@Override
	public void registrar(Usuario usuario) throws Exception {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void actualizar(Usuario usuario) throws Exception {
		// TODO Auto-generated method stub
		
	}
	

}

Deleted src/persintencia/mybatis/mapper/ClienteMapper.java.

1
2
3
4
5
package persintencia.mybatis.mapper;

public class ClienteMapper {

}
<
<
<
<
<










Deleted src/persintencia/mybatis/mapper/ClienteMapper.xml.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE mapper 
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

 <mapper namespace="persistencia.mybatis.mapper.ClienteMapper">
 
     <resultMap type="cliente" id="rmClienteBusqueda">
        <id column="id" property="codigo"/>
        <result column="nombres" property="nombres"/>
        <result column="ap_paterno" property="ap_paterno"/>
        <result column="ap_materno" property="ap_materno"/>
     </resultMap>
     
    <select id="buscar" resultMap="rmClienteBusqueda" parameterType="cliente">
    	SELECT id, nombres, ap_paterno, ap_materno
    	FROM cliente
    	WHERE nombres LIKE #{nombres}
    </select>
    
    <resultMap type="cliente" id="rmClienteByPK">
        <id column="id" property="codigo"/>
        <result column="nombres" property="nombres"/>
        <result column="ap_paterno" property="ap_paterno"/>
        <result column="ap_materno" property="ap_materno"/>
        <result column="direccion" property="direccion"/>
        <result column="telefono" property="telefono"/>
        <result column="dni" property="dni"/>
        <result column="ruc" property="ruc"/>
        <result column="email" property="email"/>
        <association property="usuario" javaType="usuario">
            	<result column = "usuario_id" property="codigo"/>
        </association>
    </resultMap>
    
 	<select id="obtener" resultMap="rmClienteByPK" parameterType="integer">
 		SELECT c.id, c.nombres, c.ap_paterno, c.ap_materno, 
 			c.direccion, c.telefono, c.dni, c.ruc, c.email, u.usuario
 			FROM cliente c, usuario u
 			WHERE c.usuario_id = u.id
 			AND c.id = #{codigo}
 	</select>
 	
 	<insert id="insertar" parameterType="cliente">
 		INSERT INTO cliente(nombres, ap_paterno, ap_materno, dni, ruc, email, telefono, direccion, usuario_id)
 		values (#{nombres},#{ap_paterno},#{ap_materno},#{dni},#{ruc},#{email},#{telefono},#{direccion},#{usuario.codigo})
 	</insert>
 	
 	<update id="actualizar" parameterType="cliente">
 		UPDATE cliente
 		SET nombres=#{nombres},
 			ap_paterno=#{ap_paterno},
 			ap_materno=#{ap_materno},
 			dni=#{dni},
 			ruc=#{ruc},
 			email=#{email},
 			telefono=#{telefono},
 			direccion=#{direccion}
 			WHERE id=#{codigo}
 	</update>
 
 
 </mapper>
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
































































































































Deleted src/persintencia/mybatis/mapper/UsuarioMapper.java.

1
2
3
4
5
package persintencia.mybatis.mapper;

public class UsuarioMapper {

}
<
<
<
<
<










Deleted src/persintencia/mybatis/mapper/UsuarioMapper.xml.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE mapper 
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 
 <mapper namespace="persistencia.mybatis.mapper">
 
  <resultMap type="usuario" id="rmUsuarioByUserAndClave">
  	<id column="id" property="codigo"/>
  	<result column="web" property="web"/>
  	<result column="admin" property="admin"/>
  </resultMap>
  <select id="getAccess" resultMap="rmUsuarioByUserAndClave" parameterType="usuario">
	  	SELECT id, web, admin 
	  	FROM usuario
	  	WHERE usuario= #{usuario}
	  	AND clave = #{clave}
   </select>
 
 </mapper>
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<










































Changes to src/persistencia/mybatis/mapper/ClienteMapper.java.

1
2




3
4




5
package persistencia.mybatis.mapper;





public class ClienteMapper {





}


>
>
>
>
|

>
>
>
>

1
2
3
4
5
6
7
8
9
10
11
12
13
package persistencia.mybatis.mapper;

import java.util.List;

import model.Cliente;

public interface ClienteMapper {

		List<Cliente> buscar(Cliente cliente);
		Cliente obtener(Integer codigo);
		void insertar(Cliente cliente);
		void actualizar(Cliente cliente);
}

Changes to src/recursos/textos.properties.

47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
accion.buscar=Buscar
accion.actualizar.inicial=A
accion.eliminar.inicial=E
accion.detalle=Detalle
accion.mantenimiento=Mantenimiento

#modulo
modulo.vendedor=Vendedor
modulo.empleado=Empleado

#listados
estadoCivil.casado=CASADO
estadoCivil.soltero=SOLTERO
genero.masculino=MASCULINO
genero.femenino=FEMENINO








|
|







47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
accion.buscar=Buscar
accion.actualizar.inicial=A
accion.eliminar.inicial=E
accion.detalle=Detalle
accion.mantenimiento=Mantenimiento

#modulo
modulo.cliente=Cliente
modulo.usuario=Usuario

#listados
estadoCivil.casado=CASADO
estadoCivil.soltero=SOLTERO
genero.masculino=MASCULINO
genero.femenino=FEMENINO

Changes to src/struts.xml.

16
17
18
19
20
21
22


23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42

43
44
45
46
47
48
49

50
51
52
53
54
55
56
	<package name="demo" extends="struts-default">
		<result-types>
			<result-type name="tiles" class="org.apache.struts2.views.tiles.TilesResult"></result-type>
		</result-types>
		
		<interceptors>
			<interceptor name="cronometro" class="interceptor.CronometroInterceptor"/>


			
			<interceptor-stack name="pitStack">
				<interceptor-ref name="cronometro"/>
				<interceptor-ref name="defaultStack">
					<param name="prepare.excludeMethods">buscar,eliminar</param>
				</interceptor-ref>
			</interceptor-stack>
			
			<interceptor-stack name="pitParamsPrepareParamsStack">
				<interceptor-ref name="cronometro"/>
				<interceptor-ref name="paramsPrepareParamsStack"/>
			</interceptor-stack>
			
			<!--  
			<interceptor name="SesionAdmin" class="interceptor.SesionAdminInterceptor" />
			<interceptor-stack name="secureStack">
				<interceptor-ref name="SesionAdmin" />
				<interceptor-ref name="defaultStack" />
			</interceptor-stack>
			-->

		</interceptors>
		
		<default-interceptor-ref name="pitStack" />
		
		<global-results>		
			<result name="null">/WEB-INF/error/nulo.jsp</result>
			<result name="noDisponible">/WEB-INF/error/noDisponible.jsp</result>

		</global-results>
		
		<global-exception-mappings>		
			<exception-mapping result="null" 
							   exception="java.lang.NullPointerException">
			</exception-mapping>
				







>
>
|
|
|



<
|
<
<
<


<
<
<
<
<
<
<
>







>







16
17
18
19
20
21
22
23
24
25
26
27
28
29
30

31



32
33







34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
	<package name="demo" extends="struts-default">
		<result-types>
			<result-type name="tiles" class="org.apache.struts2.views.tiles.TilesResult"></result-type>
		</result-types>
		
		<interceptors>
			<interceptor name="cronometro" class="interceptor.CronometroInterceptor"/>
			<interceptor name="SesionAdmin" class="interceptor.SesionAdminInterceptor" />
			<interceptor-stack name="pitStack">
				
				<interceptor-ref name="cronometro"/>
				<interceptor-ref name="SesionAdmin"/>
				<interceptor-ref name="defaultStack">
					<param name="prepare.excludeMethods">buscar,eliminar</param>
				</interceptor-ref>

				



			</interceptor-stack>
			







	
		</interceptors>
		
		<default-interceptor-ref name="pitStack" />
		
		<global-results>		
			<result name="null">/WEB-INF/error/nulo.jsp</result>
			<result name="noDisponible">/WEB-INF/error/noDisponible.jsp</result>
			<result name="login">/WEB-INF/admin/login.jsp</result>
		</global-results>
		
		<global-exception-mappings>		
			<exception-mapping result="null" 
							   exception="java.lang.NullPointerException">
			</exception-mapping>
				

Changes to src/util/Constantes.java.

4
5
6
7
8
9
10
11





	public static final String MENSAJE_LOGIN_VALIDACION="error.login.credenciales";
	public static final String MENSAJE_LOGIN_EXITO="info.principal.fecha.acceso";
	public static final String MENSAJE_INSERT_OK="info.resultado.registro";
	public static final String MENSAJE_UPDATE_OK="info.resultado.actualizacion"; 
	public static final String MENSAJE_DELETE_OK="info.resultado.eliminacion";

}











|
>
>
>
>
4
5
6
7
8
9
10
11
12
13
14
15

	public static final String MENSAJE_LOGIN_VALIDACION="error.login.credenciales";
	public static final String MENSAJE_LOGIN_EXITO="info.principal.fecha.acceso";
	public static final String MENSAJE_INSERT_OK="info.resultado.registro";
	public static final String MENSAJE_UPDATE_OK="info.resultado.actualizacion"; 
	public static final String MENSAJE_DELETE_OK="info.resultado.eliminacion";


	public static final String MODULO_CLIENTE="modulo.cliente";
	public static final String MODULO_USUARIO="modulo.usuario";
	
}