summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKaori Hagihara <khagihara@users.noreply.github.com>2011-09-16 14:17:45 +0000
committerKaori Hagihara <khagihara@users.noreply.github.com>2011-09-16 14:17:45 +0000
commit1475cabfa01cf3ee0a73ab7a0221ff061630b085 (patch)
treefeda01aa213f9e53d7bff360015733b2714ff5fd
parent6a1573c228af32db09cb1f9c5c7bf26cc4176d8e (diff)
opj_viewer enabled stateless requests
-rw-r--r--applications/jpip/opj_client/opj_viewer/dist/opj_viewer-20110825.jarbin15278 -> 0 bytes
-rw-r--r--applications/jpip/opj_client/opj_viewer/dist/opj_viewer-20110916.jarbin0 -> 15482 bytes
l---------applications/jpip/opj_client/opj_viewer/dist/opj_viewer.jar2
-rw-r--r--applications/jpip/opj_client/opj_viewer/src/ImageManager.java23
-rw-r--r--applications/jpip/opj_client/opj_viewer/src/ImageViewer.java4
-rw-r--r--applications/jpip/opj_client/opj_viewer/src/ImageWindow.java13
-rw-r--r--applications/jpip/opj_client/opj_viewer/src/ImgdecClient.java23
-rw-r--r--applications/jpip/opj_client/opj_viewer/src/JPIPHttpClient.java6
8 files changed, 47 insertions, 24 deletions
diff --git a/applications/jpip/opj_client/opj_viewer/dist/opj_viewer-20110825.jar b/applications/jpip/opj_client/opj_viewer/dist/opj_viewer-20110825.jar
deleted file mode 100644
index 67b68b67..00000000
--- a/applications/jpip/opj_client/opj_viewer/dist/opj_viewer-20110825.jar
+++ /dev/null
Binary files differ
diff --git a/applications/jpip/opj_client/opj_viewer/dist/opj_viewer-20110916.jar b/applications/jpip/opj_client/opj_viewer/dist/opj_viewer-20110916.jar
new file mode 100644
index 00000000..a492a2cb
--- /dev/null
+++ b/applications/jpip/opj_client/opj_viewer/dist/opj_viewer-20110916.jar
Binary files differ
diff --git a/applications/jpip/opj_client/opj_viewer/dist/opj_viewer.jar b/applications/jpip/opj_client/opj_viewer/dist/opj_viewer.jar
index ce826b27..1553f3e0 120000
--- a/applications/jpip/opj_client/opj_viewer/dist/opj_viewer.jar
+++ b/applications/jpip/opj_client/opj_viewer/dist/opj_viewer.jar
@@ -1 +1 @@
-opj_viewer-20110825.jar \ No newline at end of file
+opj_viewer-20110916.jar \ No newline at end of file
diff --git a/applications/jpip/opj_client/opj_viewer/src/ImageManager.java b/applications/jpip/opj_client/opj_viewer/src/ImageManager.java
index 62166f8a..f9e12441 100644
--- a/applications/jpip/opj_client/opj_viewer/src/ImageManager.java
+++ b/applications/jpip/opj_client/opj_viewer/src/ImageManager.java
@@ -43,22 +43,25 @@ public class ImageManager extends JPIPHttpClient
public int getOrigWidth(){ return pnmimage.width;}
public int getOrigHeight(){ return pnmimage.height;}
- public Image getImage( String j2kfilename, int reqfw, int reqfh)
+ public Image getImage( String j2kfilename, int reqfw, int reqfh, boolean reqcnew)
{
System.err.println();
- String refcid = ImgdecClient.query_cid( j2kfilename);
+ String refcid = null;
byte[] jpipstream;
+ if( reqcnew)
+ refcid = ImgdecClient.query_cid( j2kfilename);
+
if( refcid == null){
String reftid = ImgdecClient.query_tid( j2kfilename);
if( reftid == null)
- jpipstream = super.requestViewWindow( j2kfilename, reqfw, reqfh, true);
+ jpipstream = super.requestViewWindow( j2kfilename, reqfw, reqfh, reqcnew);
else
- jpipstream = super.requestViewWindow( j2kfilename, reftid, reqfw, reqfh, true);
+ jpipstream = super.requestViewWindow( j2kfilename, reftid, reqfw, reqfh, reqcnew);
}
else
- jpipstream = super.requestViewWindow( reqfw, reqfh, refcid, true);
+ jpipstream = super.requestViewWindow( reqfw, reqfh, refcid, reqcnew);
System.err.println( "decoding to PNM image");
pnmimage = ImgdecClient.decode_jpipstream( jpipstream, j2kfilename, tid, cid, fw, fh);
@@ -70,11 +73,11 @@ public class ImageManager extends JPIPHttpClient
public Image getImage( int reqfw, int reqfh, int reqrx, int reqry, int reqrw, int reqrh)
{
System.err.println();
-
+
byte[] jpipstream = super.requestViewWindow( reqfw, reqfh, reqrx, reqry, reqrw, reqrh);
System.err.println( "decoding to PNM image");
- pnmimage = ImgdecClient.decode_jpipstream( jpipstream, cid, fw, fh);
+ pnmimage = ImgdecClient.decode_jpipstream( jpipstream, tid, cid, fw, fh);
System.err.println( " done");
return pnmimage.createROIImage( rx, ry, rw, rh);
@@ -96,7 +99,9 @@ public class ImageManager extends JPIPHttpClient
}
public void closeChannel()
{
- ImgdecClient.destroy_cid( cid);
- super.closeChannel();
+ if( cid != null){
+ ImgdecClient.destroy_cid( cid);
+ super.closeChannel();
+ }
}
} \ No newline at end of file
diff --git a/applications/jpip/opj_client/opj_viewer/src/ImageViewer.java b/applications/jpip/opj_client/opj_viewer/src/ImageViewer.java
index fe6f7eb4..8e0abe4a 100644
--- a/applications/jpip/opj_client/opj_viewer/src/ImageViewer.java
+++ b/applications/jpip/opj_client/opj_viewer/src/ImageViewer.java
@@ -55,7 +55,7 @@ public class ImageViewer extends JPanel
private Rectangle roirect[] = null;
private String roiname[] = null;
- public ImageViewer( String j2kfilename, ImageManager manager)
+ public ImageViewer( String j2kfilename, ImageManager manager, boolean session)
{
String str;
@@ -70,7 +70,7 @@ public class ImageViewer extends JPanel
myRL = new ResizeListener(this);
imgmanager = manager;
- img = imgmanager.getImage( j2kfilename, vw, vh);
+ img = imgmanager.getImage( j2kfilename, vw, vh, session);
addMouseListener(myMML);
addMouseMotionListener(myMML);
diff --git a/applications/jpip/opj_client/opj_viewer/src/ImageWindow.java b/applications/jpip/opj_client/opj_viewer/src/ImageWindow.java
index f6fc98ee..5ffe9a5e 100644
--- a/applications/jpip/opj_client/opj_viewer/src/ImageWindow.java
+++ b/applications/jpip/opj_client/opj_viewer/src/ImageWindow.java
@@ -38,13 +38,13 @@ public class ImageWindow extends JFrame
// private OptionPanel optpanel;
private ImageManager imgmanager;
- public ImageWindow( String uri, String j2kfilename)
+ public ImageWindow( String uri, String j2kfilename, boolean session)
{
super( j2kfilename);
imgmanager = new ImageManager( uri);
- imgviewer = new ImageViewer( j2kfilename, imgmanager);
+ imgviewer = new ImageViewer( j2kfilename, imgmanager, session);
imgviewer.setOpaque(true); //content panes must be opaque
// optpanel = new OptionPanel( imgmanager, imgviewer);
@@ -71,16 +71,21 @@ public class ImageWindow extends JFrame
public static void main(String s[])
{
String j2kfilename, uri;
+ boolean session;
if(s.length > 0){
uri = s[0];
j2kfilename = s[1];
+ if( s.length > 2)
+ session = !s[2].equalsIgnoreCase( "stateless");
+ else
+ session = true;
}
else{
- System.out.println("Usage: java -jar opj_viewer.jar HTTP_server_URI imagefile.jp2");
+ System.out.println("Usage: java -jar opj_viewer.jar HTTP_server_URI imagefile.jp2 [stateless/session]");
return;
}
- ImageWindow frame = new ImageWindow( uri, j2kfilename);
+ ImageWindow frame = new ImageWindow( uri, j2kfilename, session);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
diff --git a/applications/jpip/opj_client/opj_viewer/src/ImgdecClient.java b/applications/jpip/opj_client/opj_viewer/src/ImgdecClient.java
index 85fba612..6f1b3c30 100644
--- a/applications/jpip/opj_client/opj_viewer/src/ImgdecClient.java
+++ b/applications/jpip/opj_client/opj_viewer/src/ImgdecClient.java
@@ -33,17 +33,17 @@ import java.net.*;
public class ImgdecClient{
- public static PnmImage decode_jpipstream( byte[] jpipstream, String cid, int fw, int fh)
+ public static PnmImage decode_jpipstream( byte[] jpipstream, String tid, String cid, int fw, int fh)
{
if( jpipstream != null)
send_JPIPstream( jpipstream);
- return get_PNMstream( cid, fw, fh);
+ return get_PNMstream( cid, tid, fw, fh);
}
public static PnmImage decode_jpipstream( byte[] jpipstream, String j2kfilename, String tid, String cid, int fw, int fh)
{
send_JPIPstream( jpipstream, j2kfilename, tid, cid);
- return get_PNMstream( cid, fw, fh);
+ return get_PNMstream( cid, tid, fw, fh);
}
public static void send_JPIPstream( byte[] jpipstream)
@@ -91,10 +91,13 @@ public class ImgdecClient{
os.writeBytes( "0\n");
else
os.writeBytes( tid + "\n");
- os.writeBytes( cid + "\n");
+ if( cid == null)
+ os.writeBytes( "0\n");
+ else
+ os.writeBytes( cid + "\n");
os.writeBytes( length + "\n");
os.write( jpipstream, 0, length);
-
+
byte signal = is.readByte();
if( signal == 0)
@@ -106,7 +109,7 @@ public class ImgdecClient{
}
}
- public static PnmImage get_PNMstream( String cid, int fw, int fh)
+ public static PnmImage get_PNMstream( String cid, String tid, int fw, int fh)
{
PnmImage pnmstream = new PnmImage();
try {
@@ -116,7 +119,13 @@ public class ImgdecClient{
byte []header = new byte[7];
os.writeBytes("PNM request\n");
- os.writeBytes( cid + "\n");
+ if( cid != null)
+ os.writeBytes( cid + "\n");
+ else
+ if( tid != null)
+ os.writeBytes( tid + "\n");
+ else
+ os.writeBytes( "0\n");
os.writeBytes( fw + "\n");
os.writeBytes( fh + "\n");
diff --git a/applications/jpip/opj_client/opj_viewer/src/JPIPHttpClient.java b/applications/jpip/opj_client/opj_viewer/src/JPIPHttpClient.java
index cfd3db4c..93d4ad5c 100644
--- a/applications/jpip/opj_client/opj_viewer/src/JPIPHttpClient.java
+++ b/applications/jpip/opj_client/opj_viewer/src/JPIPHttpClient.java
@@ -72,7 +72,11 @@ public class JPIPHttpClient
if( cid != null)
return requestViewWindow( reqfw, reqfh, reqrx, reqry, reqrw, reqrh, cid);
else
- return null;
+ // return null;
+ if( tid != null)
+ return requestViewWindow( null, tid, reqfw, reqfh, reqrx, reqry, reqrw, reqrh, null, false);
+ else
+ return null;
}
public byte[] requestViewWindow( int reqfw, int reqfh, String reqcid)