mercoledì 22 ottobre 2014

Inserire shared library su WAS 8.5

Per inserire una shared library su WAS 8.5
occorre entrare nella console di WebSphere cliccare su Ambiente/Librerie Condivise

Quindi creare una nuova libreria condivisa associando i 2 jar necessari comprensivi del percorso corretto

Esempio

 Ho specificato poi nell'ambito "Tutti gli ambiti" in modo che la mia shared library fosse visibile all'applicazione web di interesse.

A questo punto andare su applicazioni/Applicazioni Enterprise WebSphere e selezionare il progetto web di interesse.

Su Applicazioni Enterprise/NOME_WEB_APP/Riferimenti libreria condivisa
selezionare il nome della applicazione quindi andare su "Librerie condivise di riferimento".


Quindi occorre far ripartire la nostra applicazione che a questo punto avrà nel classpath la shared library.

lunedì 29 settembre 2014

Carattere fine riga (CRLF LF)

Il carattere di fine riga su file di testo è diverso a seconda del sistema operativo.
Su windows abbiamo CRLF dove CR ('\r') sta per Carriage Return e LF ('\n') per Line Feed.
Invece per Linux abbiamo solo LF.
In Java se utilizziamo il metodo newLine() della classe java.io.BufferedWriter questo si comporta in maniere platform dependant, ossia inserisce CRLF su Windows e LF su Linux.
Se da una programma Java su Windows si vuole creare un file di testo con carattere di fine riga compatibile con sistemi Linux allora invece di usare il metodo newLine() occorre esplicitamente fare la write del carattere \n.
In questo modo:


BufferedWriter bw=new BufferedWriter(new FileWriter(percorsoFileCopiato));
BufferedReader br = new BufferedReader(new FileReader(percorsoFileDaCopiare));
String line;
 while ((line = br.readLine()) != null) {
        bw.write(line);
      //  bw.newLine();
        bw.write("\n");
   }
 br.close();
 bw.flush();
 bw.close();


martedì 16 settembre 2014

Verificare su che porta risponde Sql Server

Si può eseguire il seguente comando sql

xp_readerrorlog 0, 1, N'Server in ascolto sulla porta'','any', NULL, NULL, N'asc'

mercoledì 20 agosto 2014

Query per trovare tabelle che hanno una FK verso la tabella in esame

Query per trovare tutte le foreign key verso una tabella, testato con Sql Server 2008

select t.name , fk.constraint_column_id  , c.name
from sys.foreign_key_columns as fk
inner join sys.tables as t on fk.parent_object_id = t.object_id
inner join sys.columns as c on fk.parent_object_id = c.object_id and fk.parent_column_id = c.column_id
where fk.referenced_object_id = (select object_id from sys.tables where name = 'NOME_TABELLA')
order by t.name , fk.constraint_column_id

lunedì 4 agosto 2014

Apache POI generare commenti su cella

Per creare un commento su una cella con Apache POI.

public static Comment addComment(HSSFCell cell,String testo){
  
    Drawing drawing = cell.getSheet().createDrawingPatriarch();
      CreationHelper factory = cell.getSheet().getWorkbook().getCreationHelper();
      ClientAnchor anchor = factory.createClientAnchor();
      anchor.setCol1(cell.getColumnIndex());
      anchor.setCol2(cell.getColumnIndex() + 3);
      anchor.setRow1(cell.getRowIndex());
      anchor.setRow2(cell.getRowIndex() + 2);
      Comment comment = drawing.createCellComment(anchor);
      RichTextString str = factory.createRichTextString(testo);
      comment.setString(str);
      return comment;
  
 }


Occorre importare i seguenti package:

import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFFont;
import org.apache.poi.hssf.usermodel.HSSFRichTextString;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.util.HSSFColor;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.ClientAnchor;
import org.apache.poi.ss.usermodel.Comment;
import org.apache.poi.ss.usermodel.CreationHelper;
import org.apache.poi.ss.usermodel.Drawing;
import org.apache.poi.ss.usermodel.IndexedColors;
import org.apache.poi.ss.usermodel.RichTextString;

lunedì 14 luglio 2014

Sql per calcolare prodotto matriciale

Una matrice sparsa (cioè con molti zeri), può essere rappresentata nel formato (i,j,value)
dove i= riga j=colonna e value=il valore != 0 della matrice.
Esempio una matrice del tipo
0 0 1
1 0 0
5 5 0
sarà rappresentata dai seguenti record:
0 2 1
1 0 1
2 0 5
2 1 5

Per effettuare il prodotto matriciale si può utilizzare una join di questo tipo:


SELECT a.row_num, b.col_num, SUM(a.value*b.value) from a,b 
on a.col_num=b.row_num group by a.row_num,b.col_num;


martedì 8 luglio 2014

Java copiare un file pre java 7

Nelle versioni precedenti a Java 7 per copiare un file occorre scriversi un metodo di questo tipo:


public void copia(String in,String out) throws Exception{
 BufferedWriter bw=new BufferedWriter(new FileWriter(in));
 BufferedReader br = new BufferedReader(new FileReader(out));
 String line;
 while ((line = br.readLine()) != null) {
   bw.write(line);
   bw.newLine();
 }
 br.close();
 bw.flush();
 bw.close();
}