Java Standard Edition

Gpu

Cómo puedo utilizar la gpu o tarjeta gráfica para recorrer un archivo de texto grande

TableView en JavaFX

Buenas tardes, tengo un problema al usar las Table View, soy nuevo en Javafx, y apenas estoy aprendiendo, casi todo es más sencillo que con Swing, bueno, el problema es el siguiente
El problema es que estoy usando Scene Builder, esto ya es un proyecto grande, y necesito tener visualizaciones de las ventanas

Proyecto p = new Proyecto("1", "Proyecto A", "Proyecto chido"); //Esto es solo una prueba, se supone que lo jalará de la BD
        ObservableList<Proyecto> ListaProyectos = FXCollections.observableArrayList(p, p, p);        
        TCIDProy.setCellValueFactory(new PropertyValueFactory<Proyecto, String>("IDProyecto"));
        TCProy.setCellValueFactory(new PropertyValueFactory<Proyecto, String>("Nombre"));      
        TPrincipal.getItems().addAll(ListaProyectos);

El resultado de ese código es una tabla que arroja esto StringProperty[Value:1] en vez de arrojar simplemente un "1". No se en que me estoy equivocando, he investigado y casi todos lo hacen a mano, y en el caso de este proyecto no es viable cambiarlo a mano.

PROBLEMAS EN UN BUCLE FOR

Hola compañeros:

Tengo un método que interactura sobre un Jtable (tblTabla2). El cometido es el siguiente:
Comprueba qu el Jtable tenga un registro o varios.
Cuando hay varios registros en el Jtable, mira en la columna 9 si los nº son iguales o no
Dependiendo de si son iguales o no anotará en la columna 1 un dato que tambien está subrodinado a lo anotado en la columna 0.

El método es el siguiente:

void repasaReparto(){
igual = "SI";
// Cuenta los registros
int i = 0;
for (i = 0; i < tblTabla2.getRowCount(); i++) {

}
//Para cuando el JTabla2, tiene más de 1 registro
if (i>1) {
//Carga el valor de la fila 1, de la columna 9 (TAMAÑO) en la variable repartoS
String repartoS = "";
String repartoSotras = "";
int filasel = 0;
modelo20 = (DefaultTableModel) tblTabla2.getModel();
repartoS = (String) modelo20.getValueAt(filasel, 9);
//Compara el valor de las otras fila con la 1ª. Carga el valor de las demás filas
//(repartoSotras)y lo compara con repartoS
int i1 = 0;

¿Cómo edito metadatos de archivos de word?

Hola comunidad, solicitando su valioso apoyo, estoy tratando de modificar los metadatos de un archivo de word de office 365, con la librería de POI 3.9 como muestro a continuación.

       public static void main(String[] args) throws FileNotFoundException, InvalidFormatException, IOException {
        FileInputStream fs = new FileInputStream("D:\\text2.docx");
        OPCPackage opc = OPCPackage.open(fs);
        opc.getPackageProperties().setDescriptionProperty("pprrueba");
        opc.getPackageProperties().setTitleProperty("seeeee");
        opc.getPackageProperties().setRevisionProperty("666");
        opc.flush();
        opc.close();
        fs.close();
    }
//hasta este punto si los modifica en tiempo de ejecución, pero al archivo físico no le hace nada.

En todas las fuentes que consulté no alcanzo a visualizar en que momento está modificación se guarda en mi archivo. Por lo tanto aunque ejecute esta rutina no sucede nada, en el archivo no cambia los metadatos cuando los veo desde las propiedades del documento.

Primeros pasos con Selenium I

Hola :

Esta es la primera entrada de lo que pienso podría ser una librería que en algún momento le podría servir a alguien, he estado pensando en una forma en la cual poder ayudar con la configuración un poco más ordenada de lo que es la automatización de pruebas, obviamente existen muchas maneras de realizar test y en algún momento estaré pensando en publicar todas o la mayoría de herramientas que nos permitan realizar estas tareas de alguna mejor forma, así que esta primera entrada tratara de las automatizaciones de pruebas front-end por medio de Selenium WebDriver.
También empezaré a escribir sobre postman y algunas cosas que he tenido que aprender (no soy perfil tester, pero me interesan este tipo de pruebas)
La solución que se va a desarrollar en futuros posts me ha servido, y tal vez alguien pueda modificarla o aprovecharla para su beneficio y adaptarla a sus propias necesidades esto es lo bonito de la POO, pero antes de picar código, se debe de empezar con la teoría :) animo !

Cómo leer registros de base de datos como un Stream de Java

He estado usando Spring desde la versión 1.0 y una de las clases que siempre me han resultado extremadamente útiles es JdbcTemplate. Esperaba que para la versión 5 integrara funcionalidad del API de stream de Java, pero no fue así.

Sin embargo a veces necesito realizar búsquedas en base de datos que devuelven miles o incluso millones de registros, y no puedo usar los métodos de JdbcTemplate que devuelven listas porque me quedo sin memoria. Los métodos que usan RowCallbackHandler son más apropiados, pero sería mucho más conveniente poder usar Streams de Java, particularmente si se pueden leer los resultados como objetos usando algún RowMapper.

Así que decidí hacer mi propio generados de Stream para usar con un JdbcTemplate. Al final, terminé con uno que es realmente más genérico y se puede usar con cualquier código que genere elementos ya sea de manera finita o infinita (aunque para streams infinitos existe una API mucho más simple). No es suficiente material como para generar una biblioteca, así que decidí publicarlo como un post.

@Transactional spring framework

Hola soy nuevo en Spring y tengo una duda acerca de @Transactional, tengo un método que llama a dos métodos anotados con @Transactional cada uno de ellos hace un insert en una base de dados diferente pero cuando ocurre un error no hace rollback en ambas bases de datos.

Este es el método:

@Transactional(readOnly=false)
public ResponseEntity<ResultVo<String>> modificaFechasVacaciones(@RequestBody RequestVacacionesVO request,HttpServletRequest http) throws ParseException{

                       // base de datos 1
                        this.vacacionesBO.modificaSolicitudes(request, usuarioFormat,diasSolicitados, diasExcedentes);
                       
                       // base de datos 2
                        this.vacacionesBO.updateDiasSolicitados(request, diasSolicitados);

                        // base de datos 3
                        this.vacacionesBO.updateDiasDisponiblesRechazo(request, diasDisponibles);

               
        }

Esta es la configuración de los txManager para las dos bases de datos:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
                xmlns:context="http://www.springframework.org/schema/context"
                xmlns:tx="http://www.springframework.org/schema/tx"

Middleware en Redux-mx

La parte que yo creo es mas interesante en la librería Redux es la creación de Middlewares y de ese modo extender Redux mas allá de lo que el equipo de Redux nos pueden ofrecer en la librería.

Esta funcionalidad se la agregue a mi pequeño clon, ahora se puede definir Middlewares que reciban el store (estado) y las acciones que se han lanzado, el ejemplo mas común es hacer un logger de las acciones. Este el ejemplo de este Middleware:

package examples.simple.middlewares;

import mx.com.betotto.redux.Middleware;

public class LoggerMiddleware extends Middleware {

    public LoggerMiddleware() {
        this.middleware = store -> next -> action -> {
            System.out.println("Action dispatched:  " + action.toString());

            //System.out.println("State from Middleware:  " + store.getState());
            return next.apply(action);
        };
    }
}

Como se puede ver tiene una firma muy parecida a el logger que viene en la documentación de Redux

const logger = store => next => action => {
  console.log('dispatching', action)
  let result = next(action)
  console.log('next state', store.getState())
  return result
}

Redux-mx

React es una herramienta que ha cambiado el desarrollo web y nos ayuda a recordar lo difícil que es controlar el estado de una aplicación, sobre todo si manejas hilos, llamadas asíncronas y muchos clientes simultáneos, a pesar de que una aplicación web no maneja hilos normalmente, tiene muchas interacciones entre el servidor, la acciones del usuario y en muchos casos timers que monitorean alguna actividad.

Debido a esta complejidad es que nació como arquitectura Flux y después Redux como librería que implementa la arquitectura Flux, Redux es tan bueno que casi casi se volvio la utileria por defecto para control de estado con React, su creador actualmente trabaja para Facebook mejorando React. Redux ha permitido que las aplicaciones sean predecibles y mas sencillas de desarrollar. No todas las aplicaciones lo necesitan pero a mi en lo personal me ha tocado el caso en el que lo necesitaba y no lo tenia (todavía no existía).

Distribuir contenido