Never been to CodeSnippets before?

Snippets is a public source code repository. Easily build up your personal collection of code snippets, categorize them with tags / keywords, and share them with the world (or not, you can keep them private!)

Export french characters

// description of your code here

java -Dfile.encoding=CP850 YourClassName
export JAVA_OPTS=-Dfile.encoding=UTF-8

Java Program + DWM/WMII/Awesome/... = Grey Rectangle

To get past the problem of java programs showing up as grey squares on your screen when you are using a non-standard window manager, simply prefix the program name or "java -jar ..." with "AWT_TOOLKIT=MToolkit"

AWT_TOOLKIT=MToolkit webscarab

Tomcat connector for lighttpd:

To connect Tomcat to lighttpd use the following code:



server.modules  += ( "mod_proxy_backend_ajp13" )
$HTTP["url"] =~ "^/tomcat/" {
  proxy-core.balancer = "round-robin"
  proxy-core.protocol = "ajp13"
  proxy-core.backends = ( "localhost:8009" )
  proxy-core.max-pool-size = 16
}

Make your JSP an XHTML

By default, a JSP file won't be considered as an XHTML stream by the web browser. This will make things such as XForms not being rendered since the browser XForms plugins/addons render Xforms only for XHTML pages. To make a JSP file as XHTML, put this at the beginning of the JSP file

<?xml version="1.0" encoding="utf-8"?>
<% response.setContentType("application/xhtml+xml"); %>


Note that the XML declaration has to be in the first line for a valid XHTML. Of course, after doing this, you need to make all your tags valid XML in your JSP as well.

How to use JSTL fmt:message and resource bundle

To use JSTL fmt:message tags with a message bundle, there are two ways.

First, if there is only one properties file, use, the following code in web.xml file.

  <context-param>
    <param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name>
    <param-value>class.path.to.your.resources.bundle</param-value>
  </context-param>


Use <fmt:message key="your.message.key"/> in the JSP.

Second, if there are multiple properties files, and there are different locales, use
<fmt:setBundle basename="class.path.to.your.resources.bundle"/>

before <fmt:message key="your.message.key"/>

Or you can write

<fmt:bundle basename="class.path.to.your.resource.bundle">
  <fmt:message key="your.message.key"/>
</fmt:bundle>

Ver los componentes de una clase

Para ver los componentes de una clase

Class.getDeclaredFields(class)
Class.getDeclaredConstructors(class)
Class.getDeclaredMethods(class)

Find Out what columns are in your result set

// assumes your RecordSet is named rs

		ResultSetMetaData md = rs.getMetaData();
		Logger.debug("Col count is " + md.getColumnCount());
		for(int i=1; i < (md.getColumnCount() +1) ; i++) {
			Logger.debug("Column name is " + i +" "+ md.getColumnName(i));
		}
		
		

IdGenerator in java

// IdGenerator

public class IdGenerator {
	
	private long maxId; 
	
	public IdGenerator(long start) {
		maxId = start;
	}
	
	public long getNextId () {
		return ++maxId;
	}

} // IdGenerator

Utilização de arquivo temporario em java

Gerar um arquivo temporario com extensao definida e retornar sua localização e nome, o prefixo para o nome do arquivo é temp.
retorno = null caso nao consiga criar o arquivo.
A criação será no local default da JVM.

  public String getTemp(String extension) {
    File f = null;
    try {
      if (extension == null) extension = ".tmp";
      f = File.createTempFile("temp", extension);
      FileOutputStream fi = new FileOutputStream(f);
      // salvo o arquivo recebido
      fi.write(getListFile().getBytes());
      fi.flush();
      fi.close();
      return f.getAbsolutePath();
    }
    catch (IOException e) {
      return null;
    }
  }

Java - Create thumbnail

// description of your code here
Used to create a thumbnail of an image

	private void createThumbnail(String filename, int thumbWidth, int thumbHeight, int quality, String outFilename)
		throws InterruptedException, FileNotFoundException, IOException
	{
		// load image from filename
		Image image = Toolkit.getDefaultToolkit().getImage(filename);
		MediaTracker mediaTracker = new MediaTracker(new Container());
		mediaTracker.addImage(image, 0);
		mediaTracker.waitForID(0);
		// use this to test for errors at this point: System.out.println(mediaTracker.isErrorAny());
		
		// determine thumbnail size from WIDTH and HEIGHT
		double thumbRatio = (double)thumbWidth / (double)thumbHeight;
		int imageWidth = image.getWidth(null);
		int imageHeight = image.getHeight(null);
		double imageRatio = (double)imageWidth / (double)imageHeight;
		if (thumbRatio < imageRatio) {
			thumbHeight = (int)(thumbWidth / imageRatio);
		} else {
			thumbWidth = (int)(thumbHeight * imageRatio);
		}
		
		// draw original image to thumbnail image object and
		// scale it to the new size on-the-fly
		BufferedImage thumbImage = new BufferedImage(thumbWidth, thumbHeight, BufferedImage.TYPE_INT_RGB);
		Graphics2D graphics2D = thumbImage.createGraphics();
		graphics2D.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
		graphics2D.drawImage(image, 0, 0, thumbWidth, thumbHeight, null);
		
		// save thumbnail image to outFilename
		BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(outFilename));
		JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
		JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(thumbImage);
		quality = Math.max(0, Math.min(quality, 100));
		param.setQuality((float)quality / 100.0f, false);
		encoder.setJPEGEncodeParam(param);
		encoder.encode(thumbImage);
		out.close();
	}