miércoles, 28 de diciembre de 2011

Educación Privada Mercantilista

Algo que me llegó a mi bandeja de correo y que para muchos le es muy similar debido a que es la realidad de la educación en Guatemala.

Guatemala es un país pródigo, en cualquier tema o aspecto que deseemos abordar, vamos a encontrar material suficiente porque todo es un desastre. Una de las profesiones más prometedoras es la de periodista, hay tanto material sobre el cual escribir que no nos alcanzan las ocho horas laborables. Pero hablo del verdadero periodista, no de los faferos que inundan las columnas de los diarios que diz que "defienden" la libre expresión del pensamiento y no publican los comentarios de los lectores cuando no les conviene (El Periódico). Los columnistas faferos hacen lo mismo, no se comprometen escribiendo sobre la verdad de las cosas y prefieren recibir su paga bajo la mesa y escribir columnas sin ningún impacto social. Nosotros tratamos de no hacer eso y ahí les va.

La educación privada en Guatemala, establece misiones, visiones, fines y objetivos falaces y alejados de su realidad. El noventa por ciento de su actividad es comercial y un diez por ciento lo dedican a la educación con calidad. Desde un colegio de garage hasta una corporación educativa de cinco o diez centros educativos hacen lo mismo. Extorsionar a los padres de familia – que por supuesto - por cobardes, ignorantes y miedosos, las aceptan igual que los empresarios de las rutas cortas. ¿Y el Ministerio de Educación? ¡Muy bien! Gracias.

Para empezar. Un costo por inscripción, que no se justifica. Esta es una ganancia neta para recibir el año y es un regalo de Reyes Magos. El alto costo de las colegiaturas, tampoco tiene justificación porque no se brinda una educación de calidad. En muchos establecimientos privados, los docentes en general no pasan una evaluación de competencias mucho menos de vocación. Muchos no tienen el título respectivo y vemos a secretarias impartiendo inglés, estudiantes de ingeniería instruyendo en Matemática, Física y Química, Peritos Contadores, Bachilleres, etc., ejecutando una docencia para la cual no fueron formados. ¿Y el Ministerio de Educación y los Sindicatos Magisteriales? ¡Muy bien! Gracias.

Este año, a una de mis hijas que cursa el sexto grado de primaria en el colegio CSS de la zona 6, le pidieron útiles por valor de Q 2,000.00. Pero ese no es el problema, el problema es que entre los útiles se pidió material para uso del maestro. Estos materiales que los debiera de proveer el centro educativo los paga el estudiante: marcadores para pizarrón, pliegos de papel construcción, de papel arco iris, docenas de rollos de papel sanitario, etc.

Los colegios privados tienen negocio con las editoriales y los paquetes completos de libros se los vende el establecimiento con una bonita ganancia para ellos, además de la comisión que les paga la editorial. Luego están las excursiones, asistencia a eventos, cumpleaños de la directora, de la maestra de grado, del dueño del colegio, películas, pláticas, suéteres, calcetines, zapatos, calzoncillos, monogramas, pines y cuanto se le antoje a los dueños del establecimiento, que en un noventa por ciento no son maestros, son comerciantes o en buen chapín, marchantes de la educación.

Y ahora vamos con las graduaciones. Bueno, las hacen en el Camino Real, Tikal Futura o en el hotel más caro, porque así será la ganancia. Y cuando el patojo se gradúa se da cuenta de la cruda realidad: No está preparado para desempeñar un trabajo relacionado con su título. Ni siquiera está capacitado para ganar las pruebas de conocimientos básicos en la USAC. La educación privada en Guatemala, es un engaño total.

El MINEDUC tiene autorizadas 158 carreras en Nivel Medio, muchas de ellas no tienen sentido, solamente sirven para atraer alumnos. Tienen un Bachillerato en Medicina y los estudiantes no llegan a conocer un hospital. De todas esas carreras, tres tienen posibilidades de trabajo: Magisterio, Perito Contador y Secretariado, las demás son puro cuento. Pero si vamos a la calidad educativa, ningún establecimiento privado, rebasa el 60% en este aspecto y si lo dudan, como Pedagogo. estoy dispuesto a realizar una evaluación y me darán la razón. Pero mientras nuestros ministros de educación sean Auditores, Filósofos, Abogados, Médicos, etc., etc., esto seguirá así por los siglos de los siglos. Amén.

lunes, 3 de octubre de 2011

MSICG DENUNCIA PERSECUCION ANTISINDICAL EN EL IGSS

El siguiente documento me llegó al correo y lo quiero compartir para denunciarlo públicamente.  El documento indica la denuncia por violación a los derechos de los y las trabajadoras del IGSS y acciones en pro de la privatización del derecho a la salud.  Hace unos días me comentaron que están obligando a las y los trabajadores a renunciar.

Cada quien que saque sus propias conclusiones pero la salud es de todos y para todos.

Comunicado FEDEIGSS

jueves, 22 de septiembre de 2011

Sumatorias con XSL

En XSL se pueden hacer sumas de nodos de la siguiente forma:
<xsl:value-of select="/root/product/amount"/>
Y listo tenemos el total de esos nodos. Pero, en mi caso, me sucedió un problema, yo debía sumar los nodos pero dependía, por medio de un ID, este ID, debía de existir en otra lista de nodos. Visualicemos, yo tengo el siguiente xml:
<?xml version="1.0" encoding="UTF-8" ?>

<?xml-stylesheet type="text/xsl" href="main.xsl"?>

<root>
  <valid_products>
    <valid_product id="123" />
    <valid_product id="223" />
    
  </valid_products> 
     
    <products>
      <product>
        <id>123</id>
        <amount>25</amount>
      </product>
      <product>
        <id>223</id>
        <amount>30</amount>
      </product>
      
      <product>
        <id>321</id>
        <amount>35</amount>
      </product>
    </products>  
  </root>
La idea es, mostrar el total de los productos pero si existen dentro del nodo valid_products, buscando (y si me llevó un poco de tiempo) decidí hacerlo de la siguiente forma:
<?xml version="1.0" encoding="UTF8"?>

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                xmlns:exsl="http://exslt.org/common" extension-element-prefixes="exsl"
                version="1.0">

     <xsl:template match="/">
	  <xsl:element name="html">
	       <xsl:element name="body">     
		    <xsl:element name="div">
			 <xsl:element name="span">
			      <xsl:text>Total: </xsl:text>
			 </xsl:element>
			 
			 <xsl:element name="span">
			      <xsl:call-template name="Totalize"></xsl:call-template>
			 </xsl:element>
		    </xsl:element>
	       </xsl:element>			      
	  </xsl:element>
     </xsl:template>

     <xsl:template name="Totalize">
    
	  <xsl:variable name="totalNodes">
	       <xsl:for-each select="/root/products/product">
		    <xsl:variable name="id">
			 <xsl:call-template name="FindValidProduct">
			      <xsl:with-param name="id" select="id" />
			 </xsl:call-template>
		    </xsl:variable>
		    
		    <xsl:if test="$id != ''">
			 <number>
			      <xsl:value-of select="amount" />
			 </number>
		    </xsl:if>
	       </xsl:for-each>
	  </xsl:variable>

	  <xsl:value-of select="sum(exsl:node-set($totalNodes)/number)"/>
        
     </xsl:template>


     <xsl:template name="FindValidProduct">
	  <xsl:param name="id" />
	  
	  <xsl:value-of select="/root/valid_products/valid_product[@id = $id]/@id"/>
     </xsl:template>
</xsl:stylesheet>
Resumiendo, primero se agrega lo siguiente: xmlns:exsl="http://exslt.org/common" extension-element-prefixes="exsl" en la definición del XSL. Al hacer esto, se pueden crear nodos en el XSL y con la función exsl:node-set() se pueden acceder como que si fuera algún nodo en el XML.
Lo he probado con muchos datos y funciona perfectamente, talvés habría que hacer mas pruebas o buscar otra solución, pero no está de más. Espero que a alguien le sirva.

miércoles, 21 de septiembre de 2011

Ironía, burla y dolor

Lo siguiente fue un mail que me llegó y he decidí compartir. Es sobre la realidad actual que vivimos todos los guatemaltecos y guatemaltecas, de las noticias del diario vivir, robos, asesinatos, violaciones, protestas. Todos solo somos criticar sin aportar soluciones. Críticamos sin antes conocer la realidad de los hechos. He visto comentarios en las redes sociales que las cosas del país las tienen que arreglar las autoridades, que para esos los elegimos, para eso pagamos nuestros impuestos, pero ninguno hace valer eso. Muchos otros, los religiosos, se aferran a su religión y sus creencias para que la situación cambie pero seguimos sin aportar.

Dejo a continuación el texto y cada quien que saque sus conclusiones.

Qué ironía! Qué burla! Qué dolor!

Estamos en el mes patrio, en pleno aniversario de la soberanía!, pero...

cuál soberanía?, al parecer hemos olvidado que la patria somos además de esta hermosa tierra, cada uno y cada una de los que la habitamos! y que la única forma de que REMONTE SU VUELO, es a través del trabajo, el esfuerzo, la honradez, la dedicación, el respeto y todos los valores que hemos dejado de practicar en Guatemala!

Es preocupante que a diario los medios de comunicación nos informan que mueren tantos guatemaltecos en todo el país, en especial por la violencia, por desnutrición, por hambre, por falta de medicamentos, por falta de atención médica, pero sobre todo por falta de irresponsabilidad y total desinterés de parte de todos y de todas!

Sí, y es que con la locura de las elecciones, los señores PADRES DE LA PATRIA! nos hacen el favor de pasar a firmar la asistencia al Congreso, si bien nos va, para cobrar sin contratiempos, pero la mayoría de ellos están de campaña y los problemas de la población que los llevo a tener ese salario que todos y todas pagamos con nuestros impuestos, les importan muy poco.

Y qué hacemos el resto de los guatemaltecos?, como siempre criticar, señalar y ya! Recién se dijo "qué barbaridad con los salubristas, destruyendo la propaganda política! qué trabajen y qué no molesten más porque los pobres señores empresarios están perdiendo con tanto paro!" CÓMO???????? o es que no estamos enterados que no hay pero ni aspirinas en los hospitales, que la población se muere por no tener atención médica y que lejos de sanar en los nosocomios, las personas que lamentablemente no tienen otra opción, adquieren otras enfermedades infecciones a veces más graves que los males que les hicieron llegar hasta allí! Como guatemaltecos deberíamos de agradecer que aún hay personas que se interesan por el bien ajeno, y que pasan hambre y todo tipo de riesgos por el derecho a la salud del pueblo, sobre todo en este tiempo en el que la ley del menor esfuerzo prevalece.

Si se menciona la palabra "maestro", la gente dice "claro, esos haraganes que no hacen nada más que salir a la calle a molestar, qué trabajen, al final les están pagando, vean qué mal ejemplo le dan a nuestros niños!"; pero no viven las amenazas de esos mismos alumnos y alumnas que provienen de familias disfuncionales y que al no contar con el padre irresponsable en la casa, arremeten contra quien tienen a la mano, que en la mayoría de casos son sus mismos compañeros, las madres, y sus maestros! Critican al maestro cuando no tienen la problemática diaria del mentor que debe buscar soluciones para darle un pan al menos a esos niños, niñas y adolescentes que llegan a la escuela sin nada en el estómago y que se desmayan constantemente; o bien que no tienen dinero para sus pasajes y están dispuestos a dejar de estudiar porque no tienen como movilizarse. Qué fácil es juzgar al maestro cuando debe también ser el amigo y el consejero de sus alumnos, porque no hay quién les haga caso en sus hogares. Ese maestro que este año tuvo que hacer malabares para conseguir como comprar artículos de limpieza y que los niños y niñas no estuvieran en lugares tan sucios, o que pudieran utilizar un sanitario limpio para que no adquieran enfermedades; y por supuesto, crear un espacio agradable, para que no sea tan deplorable como muchos de sus hogares. Para muchas personas que solo critican, no tiene importancia que muchos de ellos a 9 meses de clases, no han recibido ni un centavo de retribución salarial, aunque hayan invertido en materiales didácticos (porque los textos del MINEDUC nunca llegaron a la escuela), y en movilización, entre otros. Para los que juzgan, no importan los años de lucha de sociedad civil por lograr el cumplimiento al derecho a la gratuidad en la educación, ni les importa que muchos niños y niñas ahora están en la escuela gracias a ese logro que hoy se está hiyendo entre el desagüe!

MES PATRIO! en un momento en el que se está explotando la tierra, se están terminando los recursos naturales, se aniquilan los bosques, se explotan las minas y escasea el agua! Y ni a quién le interese, porque se tiene la idea que la contaminación y todo lo que se ha dicho sobre el tema, son solamente historias que no tienen porque suceder en Guatemala! se cree que aún falta mucho para esos problemas...!!! Pero si averiguamos que departamento no tiene problema con el agua... me cuentan!!!

Ah! y si alguien salió robando cámara en la televisión o en primera plana del periódico porque lo asesinaron, entonces es fácil decir..., "seguramente estaba metido en algo! seguro que era narcotraficante! marero debió haber sido!, seguro era la amante de...!"; y... qué pasa con la familia que deja desprotegida, desubicada, humillada, asustada, endeudada?, qué pasa con los niños y niñas que ahora son huérfanos?, qué se hace con tanto dolor????

Hoy... lo único importante es... "cuál es tu color?... rojo, naranja, amarillo, negro, verde, celeste, azul, de colores..., porque ya te contaron que el anaranjado hizo...., y el rojo hizo...., y el negro estuvo metido en el lío de..., pero el verde le debe a ...., y el celeste que me decis de que estaba metido en..." (hasta en eso, puras campañas negras de todos y todas, solo ataques, NUNCA PROPUESTAS! donde votarás?, después a donde nos vamos?, cómo celebramos?, a no, preparémonos porque como no habrá licor, comprémoslo antes!!!!!!!!!... ES ESO CELEBRAR A NUESTRA PATRIA?????????. Porqué nunca supimos quiénes podrían ser sus posibles ministros de gobierno y cuál era su hoja de vida?, porqué no nos publicaron sus planes de gobierno, en lugar de botar tanto dinero en propaganda?, porqué no nos publicaron las hojas de vida de todos y todas las candidatas a diputados?, porqué no nos trataron de convencer porque los diputados que nunca hicieron nada más que cobrar sus cheques en estos 4, 8, 12 y más años, deben ser reelegidos?, porqué no nos hacen creer en esos diputados y alcaldes que sin filosofía propia, se cambian de partido cada 4 años, vendiendo su conciencia al mejor postor!????

Si esperamos que nuestros flamantes gobernantes hagan algo, no habrá más patria a quien celebrar!

Guatemaltecos, guatemaltecas, nosotros somos lo más importante! aún podemos hacer mucho por esta tierra bendita de Dios! No esperemos que los demás hagan lo que a todos y a todas nos corresponde! este país maravilloso no es solo de los políticos, es de todos y de todas! hagamos nuestra parte en donde nos encontremos! seamos responsables en nuestros empleos, entreguémonos con pasión en donde nos desarrollemos! trabajemos, estudiemos con fuerza y honradez! defendamos nuestras familias y su integridad contra viento y marea! Y no juzguemos más si no somos actores de la problemática! Propongamos y exijamos con respeto! pero no nos crucemos de brazos! Ojo con el ejemplo que estamos dando a nuestros niños, niñas y adolescentes en formación!

Y amemos esta tierra bendita!, si la amamos, amamos todo lo que sobre ella hay! CAMBIEMOS ESTE RUMBO, TODOS Y TODAS EN UNIDAD... PODEMOS LOGRARLO!

FELIZ ANIVERSARIO GUATEMALA BELLA! Y a cantar nuestro Himno Nacional con orgullo, porque, somos únicos!

Licenciada Jackeline Marroquín

miércoles, 27 de julio de 2011

COMUNICADO DE PRENSA - Denuncia por la realización del Plan Puebla - Panamá


miércoles 27 de julio de 2011
DENUNCIA PÚBLICA NACIONAL E INTERNACIONAL
En nombre del “desarrollo”, pretenden despojarnos de nuestros territorios” Nosotros y nosotras, representantes y autoridades comunitarias de Pojom, Bella Linda, Ixquisis, Nuevo San Mateo y demás comunidades aledañas del municipio de San Mateo Ixtatan, Huehuetenango, Guatemala, así como organizaciones sociales acompañantes, a la opinión pública nacional e internacional;

MANIFESTAMOS:
La zona norte de Huehuetenango habitada por los pueblos Q´anjob´al, Chuj y Akateko, desde el año 2005, en el marco de la implementación del Plan Puebla Panamá, ahora llamado Proyecto Mesoamerica, ha sido escenario de presiones permanentes por parte del gobierno y empresas nacionales y transnacionales para la construcción de Hidroeléctricas, minería, petróleo, transgénicos, monocultivos y megacarreteras.

En el caso especifico de los proyectos hidroeléctricos Pojom I, Pojom II y Bella Linda de San Mateo Ixtatan; las empresas Hidralia, Energía de capital español y Producciones de Desarrollo Hídrico –PDH-; en complicidad con el alcalde municipal; aprovechándose de la situación de pobreza y abandono en que se encuentran las 29 comunidades de esta región; por medio de engaños, manipulaciones, compra y soborno a líderes comunitarios, intimidaciones y enfrentamientos entre vecinos, promesas falsas de solución a sus necesidades como la falta de energía eléctrica, pretenden imponer la construcción de estos proyectos, violando el derecho a la consulta y el libre consentimiento, así como el derecho histórico y la libre determinación de los pueblos originarios sobre sus bienes naturales; manifestados en la consulta comunitaria realizada el 21 de mayo del año 2009 donde 20,780 personas rechazaron rotundamente la implementación
de megaproyectos en sus territorios.

El alcalde municipal, la empresa y sus asesores; han emprendido una campaña de descalificación e intimidación a los lideres y lideresas comunitarias, así como a las organizaciones defensoras de derechos humanos que acompañan este proceso, calificándolos como grupos desestabilizadores, “guerrilleros”, que obstaculizan el “desarrollo” y públicamente han proclamado que se instalarán los proyectos a la fuerza si es necesario, pese a la oposición de la gran mayoría de las comunidades. Ante esta situación;

DENUNCIAMOS Y EXIGIMOS:
La irresponsabilidad del señor alcalde municipal de San Mateo Ixtatan, las empresas nacionales y
transnacionales por no respetar las decisiones de las comunidades, y los espacios de decisión como el Consejo Municipal de Desarrollo –COMUDE- .

Que cesen las manipulaciones, intimidaciones y todo tipo de coacción para imponer los proyectos
hidroeléctricos.

A las personas que promueven estos proyectos, los responsabilizamos sobre cualquier acto violento y atentado contra la vida de los lideres y lideresas defensoras de Derechos Humanos.

Responsabilizamos también a las autoridades municipales y el gobierno central, en caso de que la
conflictividad social en la región se profundice, así como también las consecuencias de los discursos de confrontación y campaña de descalificación hacia defensores y defensoras de derechos humanos, que tienen como objetivo crear condiciones para justificar la criminalización de la lucha en defensa del territorio.

Respetar nuestro derecho legítimo a la consulta como mecanismo propio y el procedimiento iniciado después de la visita a las hidroeléctricas de la región, para plantear propuestas alternativos de solución a sus problemas, dándoles el tiempo necesario para su formulación sin ningún tipo de presión.

Que el gobierno central, frene la concesión de nuestros bienes naturales, anule las licencias autorizadas en la zona, sin previa información, ni consulta a las comunidades.

Pedimos a las instituciones y organizaciones nacionales e internacionales de Derechos Humanos, su solidaridad y acompañamiento a las comunidades para velar por la seguridad, integridad y la libre emisión del pensamiento en el proceso de búsqueda de soluciones pacificas a la problemática.

San Mateo Ixtatán, Huehuetenango, Guatemala, julio de 2011
Organizaciones comunitarias, COCODES, Alcaldes comunitarios del municipio de San Mateo Ixtatán, Asamblea de los pueblos de Huehuetenango por la Defensa del Territorio -ADH-; Consejo de los Pueblos de Occidente –CPO- Consejo Mayor Mam, Asociación CEIBA, Fundación Guillermo Toriello, ASEDE, CUC, ASECSA, Asociación Ixmucane, ASDITOJ.

miércoles, 8 de junio de 2011

1. Configuración de Beans en Spring

Cuando yo empecé con Spring lo miraba muy complicado y hasta cierto punto confuso, pero tirarme al agua directamente con un par de proyectos y googleando un poco he aprendido bastante. En el transcurso de mi aprendizaje en muy rara ocasión mirabla algo concreto, además empecé usando la versión 3 de Spring, la cual con la versión 2.5 varía considerablemente en muchas cosas. La ayuda que proporciona la página de Spring está bastante entendible.

En este post quiero mostrar como configurar nuestros beans con Spring. He utilizado Netbeans 6.9.1 como IDE de desarrollo y un proyecto de Maven para la gestión de dependencias.  La versión de Spring que he utilizado es las 3.0.2.RELEASE.

Para configurar spring se utiliza uno o varios archivos xml, en este caso he creado el archivo applicationContext.xml, la estructura inicial del xml debe de ser la siguiente:

<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<!-- Definición de Beans -- >
</beans>

Configuración de un bean

Suponiendo que se tiene el siguiente bean:

public class BasicBean {

    private int id;
    private String name;
    private String description;

    public BasicBean() {
       this.id = 0;
       this.name = "";
       this.description = "";
    }

    public BasicBean(int id, String name, String description) {
       this.id = id;
       this.name = name;
       this.description = description;
    }

    @Override
    public String toString() {
       StringBuilder builder = new StringBuilder();
       builder.append("BasicBean(id={").append(this.id)
               .append("}, name={\"").append(this.name)
               .append("\"}, description={\"").append(this.description)
               .append("\"})");
       return builder.toString();
    }
    // setters and getters
}

Hay varias formas de configurar este bean dentro del xml anterior:

  • La forma normal, por decirlo de esa manera, es la siguiente:
    <bean name="basicBeanConf1" class="gt.edu.guatejug.springtutoriala.beans.BasicBean">
       <property name="id"><value>1</value></property>
       <property name="name"><value>Bean Name 1</value></property>
       <property name="description"><value>Description form bean with id 1</value></property>
    </bean>
    

    En donde name, es el nombre que identifica al bean y debe de ser único, en el atributo class, se le indica el tipo de dato del bean.

    Dentro del tag <property>, van todas las propiedades del bean que tienen setters y getters implementados, con el atributo type se le puede indicar el tipo de dato de la propiedad, si no se le ingresa, Spring automaticamente determina el tipo de dato y dentro de este tag, el tag <value> que indica el valor de la propiedad.

  • La forma corta de configurar un bean es la siguiente:
    <bean name="basicBeanConf2" class="gt.edu.guatejug.springtutoriala.beans.BasicBean">
       <property name="id" value="2" />
       <property name="name" value="Bean Name 2" />
       <property name="description" value="Description for bean with id 2" />
    </bean> 
    Ya no se utiliza el tag value, para poner el valor se utiliza como atributo del tag property.
  • Otra forma de configurar un bean es haciendo uso del equema p, esta forma de configurar beans aparece desde la versión 2.0.

    Primero que nada se debe de declarar el esquema en el nodo raiz del xml de la siguiente forma:

    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xmlns:p="http://www.springframework.org/schema/p"
           xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
    <!-- Definición de Beans -- >
    </beans>

    Teniendo hecho lo anterior, para configurar un bean podemos hacer lo siguiente:

    <bean name="basicBeanConf3" class="gt.edu.guatejug.springtutoriala.beans.BasicBean"
         p:id="3" p:name="Bean Name 3" p:description="Description for bean with id 3"/>
    
    Todas las declaraciones se hacen desde que se declara el bean sin necesidad de utilizar otros tag.

    Los atributos del bean se mandan a llamar despues de p: y son los mismos como se declaran en el bean.
  • Tambien se puede llamar a un constructor cuando se crea un bean, se hace de la siguiente forma:

    <bean name="basicBeanConf4" class="gt.edu.guatejug.springtutoriala.beans.BasicBean">
            <constructor-arg>
                    <value>4</value>
            </constructor-arg>
            <constructor-arg>
                    <value>Bean Name 4</value>
            </constructor-arg>
            <constructor-arg>
                    <value>Description for bean with id 4</value>
            </constructor-arg>
    </bean>
    
    Spring automaticamente, detectar el constructor adecuado conforme la configuración que se hizo. En otro post explicaré mas a detalles la llamada a los constructures de un bean.

Corriendo el demo

Basta de configuraciones, ahora para probar lo que se explicó anteriormente he utilizado una clase con el metodo main, con el siguiente código:
public static void main( String[] args ){
 ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");

 BasicBean basicBean = (BasicBean) context.getBean("basicBeanConf1");
 System.out.println(basicBean.toString());

 basicBean = (BasicBean) context.getBean("basicBeanConf2");
 System.out.println(basicBean.toString());

 basicBean = (BasicBean) context.getBean("basicBeanConf3");
 System.out.println(basicBean.toString());

 basicBean = (BasicBean) context.getBean("basicBeanConf4");
 System.out.println(basicBean.toString());

}

En la línea 2, se inicializa indicando el archivo xml que contiene los beans. Esto varía dependiendo el contexto en el que se está utilizando Spring.

Al ejecutar el código aparece en consola lo siguiente:
BasicBean(id={1}, name={"Bean Name 1"}, description={"Description for bean with id 1"})
BasicBean(id={2}, name={"Bean Name 2"}, description={"Description for bean with id 2"})
BasicBean(id={3}, name={"Bean Name 3"}, description={"Description for bean with id 3"})
BasicBean(id={4}, name={"Bean Name 4"}, description={"Description for bean with id 4"})

Esto es solo un pequeño ejemplo de como configurar beans con Spring 3. Para descargar el código fuente de este ejemplo, pulse AQUÍ.

miércoles, 1 de junio de 2011

Reunión No. 7 de Guatejug

Bueno, ya vamos por la séptima reunión de Guatejug y en cada reunión gente nueva llega y eso indica que se va por buen camino, se han hablado de muchos temas bastante interesantes, ahora toca hablar sobre:

  • Reporteadores en Java
  • JPA

En esta reunión se definen las próximas charlas.

lunes, 30 de mayo de 2011

Interfaz “java.util.List”

Esta interfaz se utiliza en muchas ocasiones cuando se programa en Java, independientemente que se esté desarrollando en mas de alguna ocasión se es utilizada.

Ésta interfaz tiene muchas características y también las clases que la implementan, ya se tienen clases que algún comportamieno en particular y también se puede implementar una lista haciendo uso de la interfaz y/o heredando el comportamiento de otras clases y hacer cambios conforme a ciertos requerimientos.

A diferencia de java.util.Set, java.util.List permite el ingreso de elementos duplicados evaluados con lo funcion equals().

En definicion, una lista es una colección ordenada de elementos, también conocida como “secuencia”, las clases que implementan ésta interfaz tiene el control de la posición en donde están insertado los elementos.

Las clases que implementan esta interfaz son las siguientes:
  • AbstractList

    Esta clase abstracta provee la estructura de una lista, se utiliza para realizar una lista de acceso aleatorio (como un arreglo).

    Se deben de implementar, obligatoriamente, los métodos get (int) y size (). Pero, para implementar una lista modificable se deben de implementar, adicionalmente, los métodos set(int, E). Y si la lista es de tipo variable se deben de implementar los métodos add(int, E) y remove(int).

    No se debe de proveer una implementación para iterar, ya que en está clase ya está implementado.
  • AbstractSequencialList

    Esta clase abstracta que hereda de la clase AbstractList, varia en que el acceso ya no es aleatorio si no que es un acceso secuencial (como un LinkedList).

    Además, obligatoriamente, se debe implementar el iterador de la lista, especificamente los métodos ListIterator(E) y size(). Para una lista no modificable, se debe de implementar los métodos hastNext, next, hasPrevious, previous e index.

    Para una lista modificable, se debe implementar el método set(int, E). Y para una lista de tamaño variable, se debe de implementar los métodos remove y add.
  • ArrayList

    Hereda de la clase AbstractList, es una implementación de una lista de tamaño variable. Permite todo tipo de elementos e incluso valores nulos, es casi equivalente a la clase Vector pero con la diferencia que ArrayList no es sincronizada (lo cual se debe de tener cuidado a la hora de trabajar concurrentemente).

    Tiene una capacidad de almacenamiento, con cada elemento ingresado la capacidad crece automaticamente.
  • AttributeList

    Hereda de la clase ArrayList, se encuentra dentro del paquete javax.management, se diferencia de la clase padre en que solo permite elementos de tipo javax.management.Attribute que es una implementación de un bean de manera general.
  • CopyOnWriteArrayList

    Esta clase es muy eficiente cuando se trabaja concurrentemente. Los métodos para cambiar la lista no están suportados (remove, set y add) por lo cual se genera una excepción.

    Permite todo tipo de elementos incluidos valores nulos.
  • LinkedList

    Hereda de la clase AbstractSequencialList. Permite todo tipo de elementos incluidos valores nulos, provee los métodos para obtener (get), remover (remove) e insertar (insert) elementos al inicio y al final de la lista.

    Estas operaciones permiten vincular listas que pueden ser utilizada como pilas, colas y doble listas.
  • RoleList

    Hereda de la clase ArrayList, es parecida a la clase AttributeList, con la diferencia que permite solo elementos de tipo javax.management.relation.Role, que encapsulan un nombre y un listado de relaciones.
  • RoleUnresolvedList

    Parecida a la anterior, pero permite solo elementos de tipo javax.management.relation.RoleUnresolved, que tiene una funcionalidad parecida a la clase Role.
  • Stack

    Es una lista que representa el comportamiento de una pila (LIFO) y hereda de la clase Vector pero tiene otros métodos que permiten su comportamiento.
  • Vector

    Ésta clase se parece mucho a ArrayList con la diferencia que está sincronizada. Esta clase actualmente se encuentra obsoleta y para manejar la sincronización se recomienda usar ArrayList haciendo uso de Collection.synchronizedList.

Ésto es un pequeño resumen y definición de la interface java.util.List, si me he confundido en algo, se agradecerá hacerlo saber.

Referencias


martes, 29 de marzo de 2011

GuateJUG - Reunión No. 3

Siguiendo el buen paso, se realizará la tercera reunión de GuateJUG, en la imagen se muestra la información.


lunes, 21 de marzo de 2011

Denuncia por el desalojo en el Valle del Polochic, Alta Verapaz

Hace unas semanas se dio el desalojo de campesinos en Alta Verapaz, cuya información medio la dieron a conocer los medio de información de Guatemala.

Esto fue lo que dijo Emisoras Unidas.  "VER AQUI"

Hoy llegó a mi cuenta de correo el siguiente texto sobre lo sucedido y denunciando amenazas a algunas organizaciones sociales:

La Fundación Guillermo Toriello (FGT)
Ante la violación de los derechos fundamentales que sufren las Comunidades Q’eqchis del valle del Polochic




Expresa lo siguiente:

En primer lugar que los únicos responsables de los atropellos de los derechos fundamentales de las comunidades, a sus vidas y a sus cultivos son los propietarios y representantes del Ingenio Chabil Utzaj y los cuerpos de la seguridad pública y privada a los que subordinan. Ellos son los responsables de la conflictividad que se está generando en esa parte fértil del Valle del Polochic. Tienen también responsabilidad en que se incube, desarrolle y amplíe la conflictividad las entidades públicas de gobierno que no cumplen con su mandato; evaden la problemática y, en algunos casos, son cómplices de la misma. No son los promotores de la Fundación Guillermo Toriello, ni las organizaciones sociales los responsables de los problemas.

En segundo lugar las comunidades y las organizaciones sociales hemos buscado formas negociadas ante las entidades nacionales y organismos internacionales para prevenir todo problema sin renunciar a los derechos que les asisten.

Nos parece indignante e inadmisible que las tierras fértiles que fueron y podrían ser la solución al derecho a la alimentación sin grandes inversiones económicas nacionales y de la cooperación sean destruidas y arrasadas.

Finalmente queremos hacer explicito que cualquier violación a la integridad física, libre locomoción y expresión tanto de los equipos de la FGT, de ECAP y del CUC, de organizaciones sociales y de derechos humanos que ya han sido amenazados y perseguidos tienen un origen inconfundible y los mismos tendrán que responder ante el sistema de justicia.



Dirección General
Fundación Guillermo Toriello

Guatemala, 18 de marzo 2011

Tambien me llegaron estos videos con lo sucedido, hay algunas imágenes muy fuertes:











Para ampliar esta información "PULSAR AQUÍ"

¿Y este es el gobierno de la solidaridad?

domingo, 13 de marzo de 2011

Cine guatemalteco - Pirata TV: Enlatados

Hoy estaba viendo elPeriodico y vi un reportaje sobre Pirata TV, una productora de televisión independiente y por Internet. Y entrando a la página http://www.piratatv.org/ le di click sobre "ENLATADOS" y me llevó a Youtube y vi los siguientes dos documentales hechos en Guatemala.

El primero es el siguiente, que me gustó bastante que muestra un cortometraje en 1986, llamado "Hoy sí" justo cuando Guatemala estaba jugando su clasificación hacia Mexico'86, y muestran a jugadores de la época como Byron Perez, el Flaco Chacón, Memín Funes entre otros, el final está un poco chistoso pero mejor no digo nada más y mírenlo.







El segundo es un documental llamado "Recortes de una vida", lo que más me impresionó que a este señor lo vi el jueves 10 de marzo en la ruta 101 en la 10a. Ave de la zona 1, cabal cuando me subí iba terminando pero si me di cuenta de lo que hacía y de lo que estaba sufriendo.  Es muy bueno el documental.






Muy buenos los dos documentales me gustaron bastante, se nota que le pusieron cariño.

martes, 1 de marzo de 2011

Info charla Guate-jug


Charlas:
  • Java como una plataforma de desarrollo
  • Ventajas y desventajas de java
  • Preguntas y respuestas de la organización de guate-jug

Lugar:

  • Edificio Tec, Cuatro Grados Norte Zona 4
Fecha:
  • Jueves 3 de marzo de 2011

Hora:

  • 6:30 pm

Todos son bienvenidos