« Newer Snippets
Older Snippets »
10 total  XML / RSS feed 

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

Use SVN, Ant and Tomcat in XCode

I found Tim Fanelli's Blog ( http://www.timfanelli.com/cgi-bin/pyblosxom.cgi/j2ee/ ) entry quite helpful

In xcode, create a new empty project with the same dir any sources were checked out from.

Name the project with the same name used as the SVN module. NOTE: the .xcodeproj file should end up in the same directory as your build.xml file.

From the finder, dragged the src/ directory into the top level project name item in the project window.

Removed any unwanted items from the folder hierarchy now in xcode. For example, remove all generated build .jar files.

Project -> New Target. Chose 'Shell Script Target'.

In the new Target, double clicked on "Run Script". Under the "General" tab, entered, "/usr/bin/ant;"

Project -> New Build Phase -> New Copy Files Build Phase

Control + Click "Copy Files" (or right click if you have Mighty Mouse)

Add "Empty File in Project". Choose the dist/ directory. Create a file matching the output from your Ant build e.g. Project.war

Double click on the "Copy Files" phase. Type the absolute path to your tomcat deployment directory.

Project -> New Custom Executable. Enter "Tomcat" and make the path "/usr/bin/java".

Select the Arguments Tab enter:

-classpath /opt/tomcat/bin/bootstrap.jar:/opt/tomcat/bin/commons-logging-api.jar
-Dcatalina.home=/opt/tomcat
-Xmx128m
-Xms64m
-Xincgc
-Djava.awt.headless=true
org.apache.catalina.startup.Bootstrap -debug start


Under the Debugging tab, choose "Java Debugger".

JMenu that switches between Swing LookAndFeel themes.

// This creates a tiny JFrame with a menu, which changes the LookAndFeel.

package looksAndFeels;

import javax.swing.*;
import javax.swing.UIManager.*;
import java.awt.event.*;

public class ThemeChanger extends JFrame {

        ThemeChanger __instance;
        
        public ThemeChanger() {
                super("Swing Theme Changer");
                __instance = this;
                this.setSize(400, 200);
                
                JMenuBar appMenu = new JMenuBar();
                appMenu.add(makeLaFMenu());
                this.setJMenuBar(appMenu);
                
                this.setVisible(true);
        }
        
        private JMenu makeLaFMenu() {
                JMenuItem tempItem;
                JMenu lafMenu = new JMenu("Supported Themes");
                LookAndFeelInfo[] supportedLAFs = UIManager.getInstalledLookAndFeels();
                for (int ii = 0; ii < supportedLAFs.length; ii++) {
                        LookAndFeelInfo currentLAF = supportedLAFs[ii];
                        tempItem = new JMenuItem(currentLAF.getName());
                        tempItem.setActionCommand(currentLAF.getClassName());
                        tempItem.addActionListener(new myListener());
                        lafMenu.add(tempItem);
                }
                
                return lafMenu;
        }
        
        class myListener implements ActionListener {

                public void actionPerformed(ActionEvent event) {
                        try {
                                UIManager.setLookAndFeel(event.getActionCommand());
                        } catch (Exception e) {
                                ; // No exceptions will happen (barring some unforeseen catastrophe),
                                  // because we only grabbed the supported LaF's.
                        }
                        SwingUtilities.updateComponentTreeUI(__instance);
                }
                
        }
        
        public static void main(String[] args) {
                new ThemeChanger();
        }

}

Draw Circle

draws a circle with center coorinates (x,y) and radius radius

private void drawCircle(int x, int y, int radius, Graphics g){
        g.drawOval(x - radius, y - radius, radius*2, radius*2);
}

Walk list of HTTP Request Param names and values

This is a quick and dirty way to log the request parameters, when using a servlet.

                Enumeration db = request.getParameterNames();
                while (db.hasMoreElements()) {
                        String foo = (String)db.nextElement();
                        Logger.debug("***********************************");
                        Logger.debug("***" + foo + " : " + request.getParameter(foo) + "***");
                        Logger.debug("***********************************");
                }

Ant OS specific switch

<property file="${antutil.includes}/${os.name}-${os.arch}.properties" />


Use to include properties per OS

Print Hello

System.out.println("Hello");

Use Sun Java in Ubuntu Breezy

Download the binary installer from Sun.

Make sure the universe and multiverse repositories are enabled.

sudo apt-get install fakeroot java-package java-common

fakeroot make-jpkg --full-name "My Name" --email "[email protected]"

sudo dpkg -i sun-j2re1.5_1.5.0+update05_i386.deb

sudo update-alternatives --config java
« Newer Snippets
Older Snippets »
10 total  XML / RSS feed