Archive

Posts Tagged ‘jython’

save image from clipboard to file

jython script to save image from system clipboard to a file

from java.io                import File
from java.awt               import Toolkit
from java.awt.datatransfer  import DataFlavor
from javax.imageio          import ImageIO

content=Toolkit.getDefaultToolkit().getSystemClipboard().getContents(None)
if content and content.isDataFlavorSupported(DataFlavor.imageFlavor):
    img = content.getTransferData(DataFlavor.imageFlavor)
    ImageIO.write(img,'png',File('c:/temp/1.png'))

java code

import java.io.*;
import java.awt.*;
import java.awt.image.*;
import java.awt.datatransfer.*;
import javax.imageio.*;

public class clipimg
{
    public static
    void main(String[] args)
    throws Exception
    {
        System.err.println("usage: java clipimg [filename]");
        String outputfile="/temp/1.png";
        if(args.length > 0)outputfile=args[0];
        copyTo(outputfile);
    }

    static
    int copyTo(String filename) throws Exception {
        Transferable content = Toolkit.getDefaultToolkit().getSystemClipboard().getContents(null);
        if(content==null){
            System.err.println("error: nothing found in clipboard");
            return 1;
        }
        if(!content.isDataFlavorSupported(DataFlavor.imageFlavor)){
            System.err.println("error: no image found in clipbaord");
            return 2;
        }
        BufferedImage img = (BufferedImage)content.getTransferData(DataFlavor.imageFlavor);
        String ext = ext(filename);
        if(ext==null){
            ext="png";
            filename+="."+ext;
        }
        File outfile=new File(filename);
        ImageIO.write(img,ext,outfile);
        System.err.println("image copied to: " + outfile.getAbsolutePath());
        return 0;
    }

    static String ext(String filename){
        int pos=filename.lastIndexOf('.')+1;
        if(pos==0 || pos >= filename.length() )return null;
        return filename.substring(pos);
    }
}
Categories: Uncategorized Tags: , , ,

Updating ejb deployment descriptor in installed applications with the wsadmin tool

open wsadmin shell


ksh ./wsadmin.sh -lang jython -conntype SOAP -host yourhost.com -port 8879 -user userid -password password

print AdminApp.update('MyAppName', 'file', '[-operation update -contents /home/users/sg/1.xml -contenturi MyEJB.jar/META-INF/ejb-jar.xml]')

where

  • ‘MyAppName’ is display name of my application, deployed with .ear file
  • /home/users/sg/1.xml ejb deployment descriptor that I want to update in my application
  • MyEJB.jar/META-INF/ejb-jar.xml MyEJB.jar is the ejb deployed with in enterprise application (EAP), I want to update deployment descriptor of this ejb.
  • NOTE that -contenturi is
    MyEJB.jar/META-INF/ejb-jar.xml
    NOT
    MyEJB.jar,META-INF/ejb-jar.xml
    if you put , instead of / you will get
    com.ibm.websphere.management.exception.AdminException: ERROR: File does not exist for update operation

    P.S always look in dmgr logs for errors in deployment.