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

Change package names of java files

changes the package names of java classes.

For example, if you have a bunch of java files in a package and you need to move them to a new package.

#!/bin/sh
                          
for file in `ls *.java` 
do
  sed -e "s/old.package.name/new.package.name/" $file > /tmp/tempfile.tmp
  mv /tmp/tempfile.tmp $file
done

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