Páginas

8 de junio de 2018

rotar imagenes en javascript


la funcion de javascript

function girarImages1(degree) {

var d = parseInt(degree);

num_rotate =  d;

// pos es una variable global definida en menu.js que se usa para identificar la imagen
$('#id_image').children('img').animate({ transform: degree }, {
    step: function(now,fx) {
    $(this).css({
            '-webkit-transform':'rotate('+num_rotate+'deg)',
            '-moz-transform':'rotate('+num_rotate+'deg)',
            'transform':'rotate('+num_rotate+'deg)'
        });
    }
    });

}


degree -> son los grados que se quiere grabar

var d = parseInt(degree) -> transforma en un integer

22 de diciembre de 2017

El cansancio de las fiestas ?

Estas fechas me recuerdan al mes de agosto... Todo el mundo corriendo despepitado por la calle para hacer las últimas compras... Compras para ... Lo que sea para el viaje que vas a realizar para tu familia...

Son fechas que me parece que hemos disvirtuado un poco... Y hemos perdido el norte de las cosas.yo siempre he vivido la Navidad como la venida del hijo de Dios a la tierra

Creo que todo se está desvirtuando, perdiendo las perspectivas de las cosas... De lo que representan... Porque ahora lo que representan ...

Creo en una humilde opiñion creo que lo estamos llevando al consumismo... Las empresas están cosificando dando lugar a que la gente valla perdiendo del motivo...En algunos casos perdiendo la tradición.

Quizás es de lo que va esto de cambiar las tradiciones... Ya que vivimos en una idea de aldea global todos debemos de tener la misma idea. Será que soy un sentimental y que yo quiero inculcar las viejas costumbres, dichos y tradiciones 
;he vuelto a publicar de nuevo en los viaje

Sino ahora. O mejor dicho por ahora he terminado el curso que he realizado. Pero ya tengo otro para febrero al menos un mes. Y medio de descanso y otro añito de curso.

Ayer jueves 14 de Diciembre del 2017 en el 20 minutos, hos. He dejado una foto... Si encuentro el artículo por la red pongo el enlace.



El artículo se llama. "Economía colaborativa y empleo precario" de Miguel Piñeiro Catedrático de la universidad de Sevilla... No pone que especialidad

En el ámbito de la informática ... Lo del trabajo colaborativo es algo común y en muchos casos enriquecedor para las personas que lo realizan. Normalmente suelen ser gente que la filosofía de software libre les seduce o agrada en alguno de sus aspectos. 

Yo no puedo decir que soy una persona que ayude a la comunidad pero si intento todo dar algo de lo mucho que he recibido. Mucho del trabajo que se hace es de manera gratuita la manera del pago es poner de alguna manera que tú has hecho algo. Desde la creación de un programa, escribir un manual o traducir un texto, hasta por resolver una pregunta.....

Existe trabajo o tareas que la forma de remuneración es cuanto menos extra que es tu haces algo y te pagan por ello... Lo que pasa es el importe es pequeño y de una sola vez. Pero eso no es lo habitual.

Normalmente cuando trabajas para la comunidad lo haces más por ayudar. Esto es siempre en el ámbito de la informática. Algunas veces te recompensa con dinero otros con fama dentro de la comunidad.

13 de diciembre de 2017

Escribir en log del servidor desde un jsp



en la parte de los imports

<%@ page import="java.io.*"%>


y luego

<%
System.out.println(" Hola mundo debug " );
%>

y cuando ejecutes esa pantalla se imprimira

12 de diciembre de 2017

pivot sql Oracle


la única manera que he visto para poder usar pivot para que el valor de las columnas sea dinamico es atrevas de pivot xml

select *
from (
-- consulta SQL
)temp
pivot xml
( count(columna_tabla_temp_1)
 for columna_tabla_temp_2 IN ( select paramaetros from tabla )
);


otro manera es que pasar como parámetro la lista de columnas

select *
from (
-- consulta SQL
)temp
pivot 
( count(columna_tabla_temp_1)
 for columna_tabla_temp_2 IN ( &rango )
);

pudiendo ser rango -- '1' . '2' , '3'

16 de marzo de 2017

junit Packages java



si se utiliza jUnit y lo que se quiere es añadir una serie de clase dentro del mismo paquete

   .addPackages(true,"org.joda.time")


un ejemplo concreto

    @Deployment
    public static Archive<?> createTestArchive() {
        return ShrinkWrap.create(WebArchive.class, "test.war")
                .addClasses(clase.class)    
                  .addPackages(true,"org.joda.time")
                .addAsResource("META-INF/test-persistence.xml","META-INF/persistence.xml")
                .addAsWebInfResource(EmptyAsset.INSTANCE, "beans.xml")
                .addAsWebInfResource("test-ds.xml");
    }

29 de enero de 2017

ubuntu 16.04 lts gnome clasico


para instalar la versión clasica de gnome es muy fácil. Primeo actualizamos los repositorio y las versiones de software.

sudo apt update

sudo apt upgrade

luego instalamos gnome

sudo apt install gnome-session-flashback

debes de cerrar la sesión.

10 de enero de 2017

añadir elemento en texto en el combo


esta es la parte del texto y el boton

<pre> <p:remotecommand name="rc" update="f2:fp,f2">
  <p:commandbutton actionlistener="#{page.guardarFormatoPresentacion}" id="idGuardarFormatoPresentacion" onsuccess="rc()" value="#{msg['diligenciaIdentificacion.btn_guardar_modelo']}">
    <h:outputtext value=" ">
    <h:outputtext value=" ">
    <h:outputtext value=" ">
    <p:outputlabel value="#{msg['nombre_prestacion']}">
    <p:inputtext id="nombre1" value="#{page.formato.nombre}">
    <f:validatelength maximum="20" minimum="1">
    </f:validatelength></p:inputtext>
</p:outputlabel></h:outputtext></h:outputtext></h:outputtext></p:commandbutton></p:remotecommand>
</pre>

la funcion guardarFormatoPresentacion guarda en base de datos en el combo

<p:outputlabel for="fp" value="#{msg['formato_presencial']}">
 <p:selectonemenu id="fp" rendered="true" style="width: 80%;" value="#{page.formato.nombre}">
 <p:ajax listener="#{page.onTextCombo}" update="f2:nombre1,:f2">
 <f:selectitem itemlabel="#{msg['generic.value_selec']}" itemvalue="">
 <f:selectitems itemvalue="#{formatoPresntacion1.nombre}" value="#{page.lFormato}" var="formatoPresntacion1">
  </f:selectitems></f:selectitem></p:ajax></p:selectonemenu>
</p:outputlabel>
la funcion onTextCombo , carga de base de datos el combo

30 de noviembre de 2016

primefaces reload selectOneRadio



<h:panelGrid columns="1">
<p:selectOneRadio value="#{selectedViewMostrar}"   id="mostrar" layout="grid" columns="1" style="width:200px">
           <p:ajax update="fpanel" immediate="true" />
           <f:selectItem itemLabel="Visualizar" itemValue="false"/>
           <f:selectItem itemLabel="Exportar" itemValue="true"/>
       </p:selectOneRadio>
      <p:panel id="fpanel" visible="#{selectedViewMostrar}">
      <p:selectOneRadio id="ch_tipoExportacion"
      value="#{selectedViewTipoEspansion}"
      styleClass="centered">
<f:selectItem itemLabel="PDF" itemValue="pdf" />
<f:selectItem itemLabel="Excel" itemValue="exce" />
</p:selectOneRadio>
</p:panel>


en la parte java

proivate boolean selectedViewMostrar

primefaces reload gridPanel view column



checkbox box


<p:selectManyCheckbox id="chResultado"
value="#{selectedViewNumRegistro}">
<f:selectItem itemLabel=" " itemValue="true" />
</p:selectManyCheckbox>


el borton

        <p:blockUI block="ajax" trigger="ajax" />
<p:commandButton value="#{msg['buscar']}"
title="#{msg['buscar']}"
update=":f4:tabla_buscar" id="ajax" ajax="true"
actionListener="#{dentificacion}"
styleClass="ui-priority-primary" style="margin-bottom:10px" />

la tabla dataTable

     <h:form id="f4">
<p:dataTable id="tabla_buscar" var="elemento" value="#{listaLibrosId}"
paginator="true" rows="5"
binding="#{tabla_buscar}"
style="font-size:small;margin-bottom:20px;">

                 <p:column sortBy="#{elemento.num}"
headerText="#{msg['num']}"
rendered="#{selselectedViewNumRegistro eq '[true]'}"
visible="#{selectedViewNumRegistro == '[true]'}">
<h:outputText value="#{elemento.num}" />
</p:column>

        </p:dataTable>
      </form>


en la parte java


private List<String> selectedViewNumRegistro


        
 
      

     
 

                 
  
  

        
      

3 de septiembre de 2016

Descargas del conetnido de elementos JS


En este post explicare como se puede descarga el contenido de un objeto en JQuery.

si crea un botón con el id "#descarga"

$("#descarga").click(function(e) {
 var result ="<table>";
//id_elemento el id que tiene nuestro elemento , apriori no se sabe c
  var table = document.getElementById(id_elemento);
  var tr = table.getElementsByTagName('tr');
  var th = table.getElementsByTagName('th');
  var colum = th.length;
  var filas = tr.length;
  result = result + " <tr>"+
  "<th>ID </th><th>Asunto </th><th>Estado </th><th>Prioridad </th><th>Usuario Asginado </th>"
  + " </tr>";
  var i;
  for ( i =0;i<filas; i++){
 // console.log(tr[i].innerHTML);
  var columas = tr[i].getElementsByTagName('td');
 var j;
 result = result + " <tr>";
  for (j =0;j<colum; j++){
  if (columas[j]!=undefined){
  result = result + " <th>"+ columas[j].innerHTML+ " </th>";
  //console.log(columas[j].innerHTML);
  }

  }
  result = result + " </tr>";
  }
  result =result+"</table>";
  //console.log(result);

  window.open('data:application/vnd.ms-excel,' + result);
           e.preventDefault();
           });

for bean with name 'sessionFactory' Spring con hibernate con maven


eroror

Cannot find class [org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean] for bean with name 'sessionFactory'



solución , en el pom.xml hay que ponerlo

<dependency>
   <groupId>org.springframework</groupId>
   <artifactId>spring-orm</artifactId>
   <version>4.1.6.RELEASE</version>
</dependency>

Ver archivos ocultos en el capital mac ox


me he instalado el capitan , no hoy mismo pero a principios de este año, la verdad es que la primera vez que instalaba un sistema operativo en mi macbook , de echo estuve con montan lion hasta este año, pero ya dije debo de actualizarme un poco , y me decide a instalarlo, la verdad es que una instalación desde cero , sin ningún problema y nada , a lo mas estilo apple.

Entonces una de las cosas que me eche en falta en mi mac , recién instalado , ver mis archivos ocultos y el ntfs.

FUSE para poder escribir en ficheros NTFS
Luego tambien ver mis fichero ocultos. Esto se debe de ir la consola que tiene mac.

defaults write com.apple.finder AppleShowAllFiles -boolean true ; killall Finder



2 de septiembre de 2016

Glassfish 4.4.1 ERROR : class java.lang.RuntimeException [JMS]


Al instalar la versión glassfish 4.4.1 con la versión de java 8.102, Cuando voy a configurar los recursos  glassfish, JDBC y JMS el botón añadir no función, da el error el error
"class java.lang.RuntimeException" la única manera de poder añadir tu configuración que yo modestamente he encontrado
hay que ir a al consola de administración , si tienes windows 8 8.1 y 10 , pulsamos el boton de windows buscamos "cmd"
se nos abrirar la linea de comandos , nos vamos donde esta la instacion de nuestro Glassfish
en mi caso C\:glassfish\glassfish\bin 
ejecutamos el comando "asadmin" introducimos esta linea

create-jms-resource --host localhost --port 4848 --restype javax.jms.TopicConnectionFactory --property  Name=MyID jms/DurableTopicConnectionFactory

a continuación se nos pedirá el usuario de administrador

1 de agosto de 2016

la vuelta



No se se habrá gente que siga el blog, pero he tenido que hace una parada técnica porque no se podía hacer todo, cuando he ido quitando un problema he ido teniendo algo mas de vida.

Por eso cono este post doy por reiniciado la nueva temporada de mi blog.

un saludo.

29 de marzo de 2016

números java para que no se rendonde


un pequeño truco para no redondear la contraseña en java

String number = "9999999999999999.99";
BigDecimal big = new BigDecimal(number);
     big = big.setScale(2,RoundingMode.HALF_EVEN);
     System.out.println("Número : "+ String.valueOf(val));
     System.out.println("Número : "+ money.format(9999999999999999.99d));
     System.out.println("Número : "+ big);

mysql connection error in mac


Me esta dando esta error  "Failed to Connect to MySQL at 127.0.0.1:3306 with user root - Access denied for user 'root'@'localhost' (using password: NO)" Your connection attempt failed for user 'root' from your host to server at 127.0.0.1:3306:

Access denied for user 'root'@'localhost' (using password: YES) Please:

1 Check that mysql is running on server 127.0.0.1

2 Check that mysql is running on port 3306 
(note: 3306 is the default, but this can be changed)

3 Check the root has rights to connect to 127.0.0.1 from your address (mysql rights define what clients can connect to the server and from which machines)

4 Make sure you are both providing a password if needed and using the correct password for 127.0.0.1 connecting from the host address you're connecting from cuando creo en el mysql connections en el mysql workbench , creo un conexión me salen ese error. Estoy con el tema dos a la espera de terminar esta parte de base de datos. los paquetes que me he instalados son 

mysql-5.7.11-osx10.10-x86_64.dmg 
mysql-workbench-community-6.3.6-osx-x86_64.dmg

Este error esta da porque el password de la base de datos o no esta bien introducido o esta corrupto o no te acuerdas de el
Entonces la manera que de solucionarlo es la siguiente  debe de abrir un terminar en el mac debes de teclear  

sudo su   -> te pedir la contraseña para iniciar sesión como super usuario

nos vamos al la carpeta
cd  /usr/local/mysql/bin

./mysql_safe --skip-grant-tables

Ahora debemos de abrir otro terminal 

sudo su   -> te pedira la contraseña para iniciar sesión como super usuario

nos vamos a la carpeta
cd  /usr/local/mysql/bin

ejecutamos

 .\mysql -u root;

dentro de mysql 

mysql>use mysql;

mysql>update user set authentication_string=password('root') where user='root';

mysql> exit ;

y cerramos el otro terminar;


19 de noviembre de 2015

Buscar contenidos en un archivo (grep)




grep [opciones] [expresión regular] [archivo]

-b Muestea el numero de veces que esta en el principio de cada linea .
-c Muestra el numero de linea coincidentes
-h Visualiza el las lineas coincidentes pero no muestra los archivos .
-i Busca tanto en mayusculas como en minusculas .
-l Muestra el nombre del archivo pero no muestra las lineas .
-n Visualiza numero de lineas que son iguales y el numero de linea.
-s Modo silencionso.
-v Muestra la lineas NO coincidentes.
-w Solo palabras completas .

$>grep -c hola *-doc -> busca en la ruta donde esta todos los archivos doc que esta en la carpeta

18 de noviembre de 2015

Buscar secuencas en la base de datos



select * from all_sequences
where
--sequence_owner='RRRRR' and
sequence_name like upper('%ZZZZZZZ%')
order by sequence_owner, sequence_name ;

17 de septiembre de 2015

valor de la etiquetas xml

public void leerXMLNodesInner(Document original,Node currentNode, String path,List laplanado){
String newPath = path + currentNode.getNodeName();

if (!currentNode.getNodeName().equals("#document")){

     String finalPath = newPath;

try {
Node foundNode = (Node)xpath.evaluate(finalPath+"/text()", original, XPathConstants.NODE);

String paths = finalPath;
if (foundNode!=null){
if (foundNode.getNodeType() == Element.TEXT_NODE){

String value = foundNode.getNodeValue().trim();

}
}else{
System.out.println("path "+paths +" value null");
}

} catch (XPathExpressionException e) {
private static void leerXMLNodes(Document original){ leerXMLNodesInner(original,original.getFirstChild(), "/"); } System.out.println("Error xPath expersion "+e.getMessage());
} catch (DOMException e) {
System.out.println("Error DOME expersion "+e.getMessage());
}



> NodeList listaHijos = currentNode.getChildNodes();
if(listaHijos != null){
for(int i = 0; i < listaHijos.getLength(); i++){
Node currentChild = listaHijos.item(i);
if(currentChild.getNodeType() != Node.TEXT_NODE && currentChild.getNodeType() != Node.COMMENT_NODE){
leerXMLNodesInner(original,currentChild, newPath+"/");
}
}
}
}else{
System.out.println("Fin del fichero");
}



}



para saber el valor que tiene la etiqueta utilizamos


Node foundNode = (Node)xpath.evaluate(finalPath+"/text()", original, XPathConstants.NODE);

preguntamos por el tipo y el nodo

if (foundNode.getNodeType() == Element.TEXT_NODE){


cogemos el valor de la etiqueta

String value = foundNode.getNodeValue().trim();