lunes, 20 de junio de 2011

Eclipse + MySQL + TOMCAT 7


    • Descomprimir eclipse:
    • # tar -xzvf eclipse-jee-helios-SR2-linux-gtk.tar.gz
    • Descomprimir tomcat 7:
    • # tar -xzvf apache-tomcat-7.0.11.tar.gz Agregamos un servidor tomcat a eclispe desde: Window --> ShowView --> Servers Click boton derecho y new server. Seleccionamos tomcat 7 y le damos la ruta a la carpeta que descomprimimos anteriormente. Para acceder a localhost:8080 y ver la pagina de inicio de tomcat, debemos copiar la carpeta ROOT de HOMEDETOMCAT. # cp -r apache-tomcat-7.0.11/webapps/ROOT/ workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/
    • Añadimos en conector de MySQL copiando el jar a la carpeta lib del HOME de Tomcat
    • # cp mysql-connector-java-5.1.15-bin.jar apache-tomcat-7.0.11/lib/
    • Añadimos al web.xml de nuestra aplicación: (El nombre de la base es bitacotaDB)
    • <resource-ref>
      <description>MySql DB</description> <res-ref-name>jdbc/PRUEBADB</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth>
      </resource-ref>
    • Añadimos un context.xml para la aplicación:
      <Context>
      <Resource name="jdbc/bitacoraDB" 
      auth="Container" 
      type="javax.sql.DataSource" 
      username="usuarioprueba" 
      password="passworddelusuario"
      driverClassName="com.mysql.jdbc.Driver"
      url="jdbc:mysql://127.0.0.1:3306/PRUEBADB"
      maxActive="15" 
      maxIdle="3"/>
    </Context>
  • En archlinux modificar /etc/mysql/my.cnf comentando "skip-networking" .
  • Agregamos a /etc/hosts.allow "mysqld: 127.0.0.1"

viernes, 10 de junio de 2011

amarok 2 android - full

Existe una aplicación que permite controlar Amarok desde un celular con Android.
La aplicación en cuestión se llama amarok2Adroid, se requiere instalar una aplicación en el celular y unos scripts en amarok.
Este script en cuestión tiene una falencia, no permite agregar música a la playlist desde el celular.

La solución: Modificar el archivo amarokfunc.js de los scripts de Amarok. Remplazar las funciones por estas dos nuevas funciones.


cmdCollectionPlayByTrackId = function(path){
    trackId = parseInt(path.substring(path.lastIndexOf("/")+1));
    trackURL = Amarok.Collection.query('SELECT rpath FROM urls LEFT JOIN tracks ON urls.id = tracks.url WHERE tracks.id = '+trackId+';');
    trackURL2 = Amarok.Collection.query('SELECT lastmountpoint FROM devices LEFT JOIN (urls LEFT JOIN tracks ON urls.id = tracks.url) ON devices.id = urls.deviceid WHERE tracks.id = '+trackId+';');
    Amarok.Playlist.addMedia(new QUrl('file://'+ trackURL2[0] + trackURL[0].substring(1)));
    response = new HandlerResponse();
    Amarok.Playlist.playByIndex(Amarok.Playlist.totalTrackCount()-1)
    return response
}

cmdCollectionEnqueue = function(path) {
    req_len = path.split("/").length;
    req_splitted = path.split("/");
    for(i = 2; i <= req_len; i++) {
trackId = req_splitted[i];
trackURL = Amarok.Collection.query('SELECT rpath FROM urls LEFT JOIN tracks ON urls.id = tracks.url WHERE tracks.id = '+trackId+';');
trackURL2 = Amarok.Collection.query('SELECT lastmountpoint FROM devices LEFT JOIN (urls LEFT JOIN tracks ON urls.id = tracks.url) ON devices.id = urls.deviceid WHERE tracks.id = '+trackId+';');
Amarok.Playlist.addMedia(new QUrl('file://'+ trackURL2[0] + trackURL[0].substring(1)));
    }
   
     
    response = new HandlerResponse();
    return response;
}