Páginas

Mostrando entradas con la etiqueta java. Mostrar todas las entradas
Mostrando entradas con la etiqueta java. Mostrar todas las entradas

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 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);

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();




24 de junio de 2015

Configuracion JMS (Weblogic - java con spring)


abria que tener corriendo el welogic y poner en el navegador

http://localhost:7001/console/

creacion un cluster con el weblogic

Entornos-> cluster

pulsamos boton nuevo.

se introduce un nombre del cluster

pulsamos boton de aceptar.

creacion un servidores con el weblogic

Entornos-> Servidores

boton nuevo.

se introduce un nombre del cluster

el puerto del servidores
seleccionamos "Si hacer este servidor sea miembre de un cluster existente"
selecionamos el cluster que hemos relacionado
pulsamos boton siguinte.
pulsamos boton Terminar.



Para la configuracion de JMS

primero empezare para la configuracion en el welogic

Servicios->Mensajes->Servidores JMS,

se pulsa a nuevo
se introduce un nombre del JMS
pulsamos boton siguinte.
seleccionamos destino
pulsamos boton Terminar.

Para poner el nombre JNDI para la cosas JMS

Servicions -> mensajes -> modulos JMS

si no hay ningun modulo se crea uno nuevo. y se hace de esta manera
se pulsa a nuevo
se introduce un nombre del sistema de JMS
pulsamos boton siguinte.
seleccionamos el cluster donde tengamos nuestro servidores.
pulsamos boton siguinte.
No seleccionamos nada y pulsamos boton Terminar.

cuando ya tienes creado un sistema jms
volvemos a Servicions -> mensajes -> modulos JMS
se pulsa a nuevo
como queremos crear una cola seleccionamos "Cola"
pulsamos boton siguinte.
introducimos un nombre y tambien el nombre JNDI
pulsamos boton Terminar.


Luego habria que configurar la parte spring. Esta claro que en la parte java habria que tener unos minimos para ahora no voy a ponerme a explica como es la creacion del un proyecto web con spring(pero podria ser otro punto muy bueno para el log). y que cada proyecto tiene su configuracion y que no todos son iguales he intentado extrapolar esos problemas dando importancia a la configuracion propia de jms

Teniendo en cuento lo anterior voy a dar pequeñas pinceladas a la configuracion , o lo
que yo he tenido que hacer para implementar las colas jms en mi proyecto. Espero que esto
tambien sirva

en mi ficher de configuracion en mi caso es kernel.properties.xml

tengo unas etiquetas para la configuracion y el arquivo que debe de cargar para empezar

   <JMSManagerImpl>
<ctx>jms.sender.context.test.xml</ctx> //nombre del fichero
<JMSMessageTypeTest>weblogicCola</JMSMessageTypeTest> //nombre de la propiedad
  </JMSManagerImpl>

el fichero que voy a configurar ahora mismo es jms.sender.context.test.xml

como estamos usando spring debemos de tenere
<?xml version="1.0" encoding="UTF-8"?>
<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"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:amq="http://activemq.apache.org/schema/core" xmlns:jms="http://www.springframework.org/schema/jms"
xsi:schemaLocation="http://www.springframework.org/schema/beans
                        http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
                        http://www.springframework.org/schema/util
                        http://www.springframework.org/schema/util/spring-util-3.0.xsd
                        http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://activemq.apache.org/schema/core
http://activemq.apache.org/schema/core/activemq-core-5.5.0.xsd
http://www.springframework.org/schema/jms
http://www.springframework.org/schema/jms/spring-jms-3.0.xsd">
<context:annotation-config />

y terminar  con la etiqueta </beans>

        <bean id="weblogicCola" class="isf.domain.gcjms.DefaultProductorImpl">
               <property name="template">
               <ref bean="weblogicJmsTemplate" />
               </property>
               <property name="destination" ref="colaTEST"/>
        </bean>

<bean id="weblogicJmsTemplate" class="org.springframework.jms.core.JmsTemplate">
<property name="connectionFactory">
<ref bean="weblogicConnectionFactory" />
</property>
<property name="destinationResolver">
<ref bean="weblogicDestinationResolver" />
</property>
</bean>

<bean id="colaTEST" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="jms/micola" /> //nombre JNDI
<property name="jndiTemplate" ref="weblogicJndiTemplate" />
</bean>

<bean id="weblogicJndiTemplate" class="org.springframework.jndi.JndiTemplate">
<property name="environment">
<props>
<prop key="java.naming.factory.initial">weblogic.jndi.WLInitialContextFactory</prop>
<prop key="java.naming.provider.url">t3://localhost:7010,localhost:7011,localhost:7012</prop>
</props>
</property>
</bean>


el fichero que voy a configurar ahora mismo es jms.listener.context.test.xml

como estamos usando spring debemos de tenere
<?xml version="1.0" encoding="UTF-8"?>
<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"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:amq="http://activemq.apache.org/schema/core" xmlns:jms="http://www.springframework.org/schema/jms"
xsi:schemaLocation="http://www.springframework.org/schema/beans
                        http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
                        http://www.springframework.org/schema/util
                        http://www.springframework.org/schema/util/spring-util-3.0.xsd
                        http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://activemq.apache.org/schema/core
http://activemq.apache.org/schema/core/activemq-core-5.5.0.xsd
http://www.springframework.org/schema/jms
http://www.springframework.org/schema/jms/spring-jms-3.0.xsd">
<context:annotation-config />

y terminar  con la etiqueta </beans>

    <bean id="weblogicJndiTemplate" class="org.springframework.jndi.JndiTemplate">
<property name="environment">
<props>
<prop key="java.naming.factory.initial">weblogic.jndi.WLInitialContextFactory</prop>
<prop key="java.naming.provider.url">t3://localhost:7010,localhost:7011,localhost:7012
</prop>
</props>
</property>
</bean>

<bean id="weblogicDestinationResolver"
class="org.springframework.jms.support.destination.JndiDestinationResolver">
<property name="jndiTemplate">
<ref bean="weblogicJndiTemplate" />
</property>
<property name="cache">
<value>true</value>
</property>
</bean>

<bean id="weblogicConnectionFactory" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiTemplate">
<ref bean="weblogicJndiTemplate" />
</property>
<property name="jndiName"> // nombre que tiene las colas JMS por defectgo
<value>weblogic/jms/ConnectionFactory</value>
</property>
</bean>


<bean id="weblogicJmsTemplate" class="org.springframework.jms.core.JmsTemplate">
<property name="connectionFactory">
<ref bean="weblogicConnectionFactory" />
</property>
<property name="destinationResolver">
<ref bean="weblogicDestinationResolver" />
</property>
</bean>


<jms:listener-container container-type="default" connection-factory="weblogicConnectionFactory" acknowledge="transacted" concurrency="10" destination-resolver="weblogicDestinationResolver">
<jms:listener id="listener" destination="jms/micola" ref="testMessageListener" method="onMessage" />
</jms:listener-container>

<bean id="testMessageListener" class="isf.domain.gcjms.JMSSessionAwareMessageListenerImpl">
<property name="consumerAsyncronous">
<bean class="isf.domain.gccmq.core.listener.ConsumerWLSTest"></bean> //nombre y paquete de la clase lisener
</property>
</bean>
</beans>


y en la parte de java

he crrado una clase main para probarlo


public class JMSManualTest {

public static void main(String[] args) throws IOException {
System.out.println("Arrancando Spring Context...");
//levanto el contexto de spring para que la parte de lisener este activa cuando yo mando.
ApplicationContext context = new ClassPathXmlApplicationContext("classpath:jms.listener.context.test.xml");
System.out.println("Spring Context OK");
do{
System.out.println("Mensaje a enviar:");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String mensaje = "";
boolean finComando = false;
while(!finComando){
String line = br.readLine();
if(line.endsWith(";")){
if(line.length() > 1){
mensaje += line.substring(0, line.length()-1);
}
finComando = true;
}else{
mensaje += line;
}
}
System.out.println("Enviando mensaje...");
sendJMSMessage(mensaje);
System.out.println("Mensaje enviado");
}while(true);
}

public static void sendJMSMessage(String message){
JMSMessage mensaje = new JMSMessage(message, "");
mensaje.setJmsMessageType("JMSMessageTypeTest");
mensaje.setJmsPriority(1);
//Especifica la fecha de expiraci�n del mensaje
mensaje.setJmsExpiration(3000);
//Identificador de correlaci�n, usado para asociar un mensaje con otro mensaje
//mensaje.setJmsCorrelationId(Long.toString(System.currentTimeMillis()));
//Permite uno de los dos modos de entrega permitidos,persistente o no persistente
mensaje.setJmsDeliveryMode(1);
//Usado para identificar la prioridad del mensaje
mensaje.setJmsPriority(1);

//Propiedades del mensaje
// Properties prueba = new Properties();
// prueba.put("Rango", 7);
// mensaje.setJmsProperties(prueba);
//Indica si un mensaje ha sido entregado
mensaje.setJmsRedelivered(true);

try {
JMSFactory.getInstance().producer(mensaje);
} catch (JMSInvalidDefinitionBeanException e) {
e.printStackTrace();
} catch (JMSMessageWrapperException e) {
e.printStackTrace();
} catch (Exception e){
e.printStackTrace();
}
}

 en la parte de recivir

public class ConsumerWLSTest implements IConsumerAsynchronous {

@Override
public JMSMessage onMessageJms(JMSMessage _jmsmessage) {
return onMessageJms(_jmsmessage, null);
}

@Override
public JMSMessage onMessageJms(JMSMessage _jmsmessage, Session _session) {
try{
System.out.println("Mensaje Recibido: [" + _jmsmessage.getJmsBody() + "]");
return null;
}finally{
try {
_session.commit();
} catch (JMSException e) {
e.printStackTrace();
}
}
}

}





30 de abril de 2015

Cargar properties en java



Se crea primero un archivo de propiedades dentro del src
por ejemplo src/es/properties/test.properties

escribo en el fichero test.properies
testPropoerties=2;


desde la parte java debo de primero cargar el fichero de properties

java.io.InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("/es/properties/test.properties");

se comprueba que se ha cargado cerrectamente
if (inputStream == null) {
throw new Exception("No se encuentra el fichero de propiedades: test.properties");
}

cargamos lo que hemos leido al fichero properties
private Properties prop = new Properties();
prop.load(inputStream);
 
para ver si esta bien cargado
Systen,out.println("properties "+prop.getProperty("testPropoerties"));


27 de abril de 2015

llamada a procedimientos sql desde java




para llamar desde java a procedimientos sql, este seria el codigo.

   java.sql.Connection connection //hay que crearse una funcion
   java.sql.PreparedStatement ps ps=connection.prepareCall("CALL NOMBRE_PAQUETE.NOMBRE_PROCEDIMIENTO('TMP')");
   ps.execute();


SVN KIT comparar entre dos revisiones



SVNKIT son unas librerias para poder realizar commit o rolback desde java. Estas librerias no tienes un java doc muy bueno por ese motivo. quiero compartir como se puede sacar toda la informacion de dos revisiones.  

Esta funciona newInstance de la clase SVNClientManager. devuelve una lista de revisiones y por lo tanto una lista de los cambios que se han producido.

el objeto que devuelve arg0 tiene toda la información de la revision , numero, cambios y mensaje del commit.


SVNClientManager.newInstance(new DefaultSVNOptions(), "lectura", "lectura").getLogClient().doLog( SVNURL.parseURIEncoded(rama.getUrlv()+"/"+vIncio),//URL null,//path SVNRevision.HEAD,//pagRevision SVNRevision.create(referencia),//starRevision SVNRevision.HEAD,//endRevision false,//stop on copi false,//div change 50L,//log limiet new org.tmatesoft.svn.core.ISVNLogEntryHandler(){//handler public void handleLogEntry(SVNLogEntry arg0) throws SVNException { //System.out.println(arg0.getRevision()); } });

7 de mayo de 2014

Instalación de java en mac



Aplicaciones -> Utilidades -> terminal


Comprobemos que tenemos instalado java.

java -version

debería de salir esto

java version "1.7.0_45"
Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)

si no encuentra el comando java

debes de instalar java 7 en pinchar aunque dicen que pronto estará la 8.. no servirá el enlace anterior pero el procedimiento será el mismos.

si la version no es la 7.

debemos de pinchar para instalarnos la versión 7

para cambiar el path debemos de escribir

export PATH="nueva ruta a añadir:${PATH}"

lo voy a escribir como seria en mi mac

export PATH="/Librery/java/JavaVirtualMachines/jdk1.7.0_51:${PATH}"

volveremos a comprobar la version de java. para comprobar la version.

java -version

12 de febrero de 2014

Java 2 Interfaces gráficas y aplicaciones para Internet y Java 2 curso de programación (RA-MA)



Voy a dejar dos libros de programación que mas me han gustado en español. En su momento me ayudaron bastante ( Actualizados ).

  • Java 2 Interfaces gráficas y aplicaciones para Internet.
  • Java 2 curso de programación.




Java 2 Interfaces gráficas y aplicaciones para Internet.




Es uno de los libros de programación que para mi gusta es muy completo. tanto para aplicaciones swing como proyectos web con java.

para descargar





Java 2 curso de programación.




Es uno de los libros de programación java 2 para empezar a programar en java.

para descargar

para descargar

Vira90







31 de agosto de 2013

descarga de ficheros desde aplicación con GWT


Os comento a continuación una forma de detectar la descarga de ficheros desde aplicación.

Este método es compatible con todos los navegadores empleando JQuery 1.x y un par de extensiones del mismo: BlockUI y Cookie. La idea se basa en generar un token de descarga que se escribe en una cookie una vez el fichero ha sido descargado: la aplicación queda a la espera de este token leyendo las cookies cada cierto tiempo.

La implementación es sencilla:

1. Preparar para la descarga de ficheros un iframe vacío en la página index (o la que se emplee como montaje de la aplicación):


"<"iframe src="javascript:''" id="__gwt_downloadFrame" tabIndex='-1'
        style="position: absolute; width: 0; height: 0; border: 0"">""<"/iframe">"


2. Llamar a fichero a descargar. Llamamos a un servlet que genera el documento indicando un token que en el fondo es un UID o número aleatorio:
"
String UID = Math.random()*1000*Math.random()*10000;
String url = GWT.getHostPageBaseURL() + "/tools/XXXXXXXX" + "&UID=" + UID;
iniciarProcesoCheckDownload (UID);
DOM.setElementAttribute(RootPanel.get("__gwt_downloadFrame").getElement(),"src", url); 
"
Donde se invoca una función javascript antes de la descarga para comunicar el token (UID):
"
public static native void iniciarProcesoCheckDownload(String token) /*-{
    $wnd.programarEscuchaFichero (token);
}-*/;
"
3. En este proceso estamos llamando a una función de Javascript que realiza el bloqueo de la pantalla y la espera de lectura de cookie, donde hemos incluido un control por tiempo como mecanismo de control. Este código requiere de las librerías JS de JQuery:

"<"script src="js/jquery-1.10.2.min.js" ">""<"/script">"
"<"script src="js/jquery.cookie.js">"<"/script">"
"<"script src="js/jquery.blockUI.js"">""<"/script">"
"
var fileDownloadCheckTimer;
var downloadToken;
var startTime;

function ocultarDivDescarga() {
    $.unblockUI();
    window.clearInterval(fileDownloadCheckTimer);
    window.status = '';
}

function programarEscuchaFichero(token) {
    
    downloadToken = token;
    $.blockUI({baseZ: 3000, message: '"<"h1">"Espere mientras se prepara la descarga ... "<"br/">""<"br/">" "<"img src="custom/LoadingProgressBar.gif" border="0" width="100"/">" "<"/h1">"' });
    startTime = new Date();
    
    fileDownloadCheckTimer = window.setInterval(function () {
      var cookieValue = $.cookie('FileCookie');
      if (cookieValue == downloadToken) {
          ocultarDivDescarga();
      }
      else {
          var endTime = new Date();
          var secondsOpen = Math.floor((endTime - startTime) / 1000);
          if (secondsOpen> 60*2) { // 2 minutos
              // Salimos por tiempo, medida de seguridad
              ocultarDivDescarga();
                window.alert ('La descarga no se completó en el tiempo esperado, por favor verifique si ha obtenido el fichero solicitado o inténtelo de nuevo.');
          }
          else
          {
              window.status = 'Espere mientras se prepara la descarga ... ('+secondsOpen + ' segundos )';
          }
      }
    }, 1000);
  }
"

4. En la parte servidora, solo tenemos que recoger el token de la petición:

String token = request.getParameter("UID");

5. Y al descargar el fichero incluir una cookie con el token, para que el cliente (navegador web) salga de la espera cuando la lea. Hay que poner la ruta raiz así como un tiempo de expiración no demasiado bajo (problemas con diferencia de hora con servidor, zona horaria, etc.):

// indicar token para control de descarga:
Cookie thecookie = new Cookie("FileCookie", token);
thecookie.setMaxAge(60 * 60 * 4); // 4 horas de vida TOPS
thecookie.setPath("/");
response.addCookie(thecookie);

// Escribir binario en salida
response.setContentType ("application/xls");
response.setHeader ("Content-Disposition", "attachment;filename=" + sArchivo);
OutputStream ostSalida = response.getOutputStream();
"["..."]"


La fuente original de la solución es la siguiente: 

http://geekswithblogs.net/GruffCode/archive/2010/10/28/detecting-the-file-download-dialog-in-the-browser.aspx

29 de enero de 2013

creacion de properties en un proyecto gwt




se crea una clase la nombre -> ConfigsGetter

//es la localizacion donde esta nuestro archivo de propertis

private static final String BUNDLE_NAME = "/res/config/file.properties";

public ConfigsGetter() {
}
public static String getString(String key) {
try {
InputStream in = ConfigsGetter.class.getResourceAsStream(BUNDLE_NAME);
if (in == null ) {
System.out.println("Properties file: " + BUNDLE_NAME + " not found!");
return null;
}
else {
Properties pro = new Properties();
pro.loadFromXML(in);
return pro.getProperty(key);
}
} catch (Exception e) {
e.printStackTrace();
return null;
}
}

en el archivo  file.properties

key="plantilla">/res/config/fichero.xls
key="plantilla1">/res/config/fichero1.xls
key="plantilla2">/res/config/fichero2.xls
key="plantilla3">/res/config/fichero3.xls

para llamarlo 

ConfigsGetter.getString("plantilla")




Configuracion JNDI en un gassfish


1.       Crear un recurso tipo Properties en Glassfish, donde podemos poner varias propiedades (por ejemplo URL, user, passwd, ruta base, tiempo de espera, etc):

REsources > JNDI > Custom > New Custom Resource:



2.       En código java hacer el lookup del recurso:

                                                    
public static final String JNDI = "wsdl/dkv";
Properties SyncAseguradosResource = Properties.class.cast(new InitialContext().lookup(JNDI));


3.       Una vez tenemos el recurso, obtener la propiedad que necesitemos:

String sEndPointURL = SyncAseguradosResource.getProperty("DKV_EndPoint");

26 de octubre de 2012

Rutas relativas, absolutas en java




Rutas relativas


 baseUrl = .Objeto.class.getResource(".");
        
   url = new URL(baseUrl, "file:/donde_esta_el_fichero_en_tu_pc/Nombre_archivo.extension");


Rutas absolutas



this.getClass().getClassLoader().getResource("direccion_archivo" + "/Nombre_archivo.extension")



9 de octubre de 2012

Eliminar elementos de un arrayList




parra borrar elementos de una lista por el id
IMPORTANTE si lo haces por posicion debes de poner intValue para que coja bien la posicion


Lista.remove(Posicion.intValue());

para borrar elementos de una lista por el objeto

Lista.remove(Objeto_lista);

19 de septiembre de 2012

error de mybatis


si os sales este error

...
Falta el parámetro IN o OUT en el índice:: 1
...


es en las fusiones de inserción o actualización es porque el modelo no tiene el paramentro que estas ponienos en el xml del mybatis

en el xml deberia de tener tambie esta estructura


<select statementType="CALLABLE" id="nombre_procedimiento" parameterType="tipo" resultMap="resMapTipo">


29 de agosto de 2012

concatenación de string en servidor




la forma de concatenación en java que se realiza normalmente

  String nombre = "juanan"
  String  no_ejemplo = " hola "+ nombre+" ,"


para no petar la memoria del servidor deberíamos de hacer


StringBuffer nombre =new StringBuffer().append( "juanan");

StringBuffer no_ejemplo=null;
no_ejemplo =  new StringBuffer().append( "hola");
no_ejemplo.append( "juanan").append(" ,");

23 de mayo de 2012

no muestra datos en store cuando no esta vacío con scarol




conter_panel_grid.setScrollMode(Scroll.AUTOX);


en el sert data del grid deberiamos hacer un reconfigure
grid.reconfigure(gridBalance.getStore(), gridBalance.getColumnModel());
grid.getLayoutData();
conter_panel_grid.layout();

ASPOSE COLOR CELL


una manera


colorlineas = cellsSiniestro.getCell(indice-1,31).getStyle();
color = colorlineas.getColor();
color.setBlue(255);
color.setGreen(205);
color.setRed(205);
colorlineas.setColor(color);
cellsSiniestro.getCell(indice-1, 31).setStyle(colorlineas);

otra manera

Style colorlineas = cellsBalance.getCell(fila+1+i, columna+2+(j)).getStyle();
colorlineas.setHAlignment(TextAlignmentType.RIGHT);
colorlineas.setColor(Color.SILVER);
cellsBalance.getCell(fila+1+i, columna+2+(j)).setStyle(colorlineas);