# HG changeset patch
# User dwinter
# Date 1308313474 -7200
# Node ID ee955cf6c9c55cea03d1205527b1eb1ad507ea13
# Parent 183c3e96f6c363529fa0899a5f8fb3e2ae7618ee
first commit
diff -r 183c3e96f6c3 -r ee955cf6c9c5 .classpath
--- a/.classpath Mon Jan 10 12:01:25 2011 +0100
+++ b/.classpath Fri Jun 17 14:24:34 2011 +0200
@@ -6,5 +6,6 @@
+
diff -r 183c3e96f6c3 -r ee955cf6c9c5 .project
--- a/.project Mon Jan 10 12:01:25 2011 +0100
+++ b/.project Fri Jun 17 14:24:34 2011 +0200
@@ -1,6 +1,6 @@
- de.mpg.mpiwg.itgroup.digilib.plugin
+ de.mpg.mpiwg.itgroup.digilib.core
diff -r 183c3e96f6c3 -r ee955cf6c9c5 .settings/org.eclipse.jdt.core.prefs
--- a/.settings/org.eclipse.jdt.core.prefs Mon Jan 10 12:01:25 2011 +0100
+++ b/.settings/org.eclipse.jdt.core.prefs Fri Jun 17 14:24:34 2011 +0200
@@ -1,8 +1,12 @@
-#Mon Dec 27 10:56:13 CET 2010
+#Thu Jun 16 17:58:54 CEST 2011
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.source=1.5
diff -r 183c3e96f6c3 -r ee955cf6c9c5 META-INF/MANIFEST.MF
--- a/META-INF/MANIFEST.MF Mon Jan 10 12:01:25 2011 +0100
+++ b/META-INF/MANIFEST.MF Fri Jun 17 14:24:34 2011 +0200
@@ -1,7 +1,7 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
-Bundle-Name: digilibClient
-Bundle-SymbolicName: de.mpg.mpiwg.itgroup.digilib.plugin;singleton:=true
+Bundle-Name: digilibClient-core
+Bundle-SymbolicName: de.mpg.mpiwg.itgroup.digilib.core;singleton:=true
Bundle-Version: 0.0.1
Bundle-Activator: de.mpg.mpiwg.itgroup.digilib.plugin.Activator
Require-Bundle: org.eclipse.ui,
@@ -10,11 +10,13 @@
org.eclipse.core.resources,
org.eclipse.ui.editors,
org.eclipse.ui.ide,
- org.eclipse.ui.views.properties.tabbed;bundle-version="3.5.100"
+ org.eclipse.ui.views.properties.tabbed;bundle-version="3.5.100",
+ org.apache.axis2.full;bundle-version="1.4.0"
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Bundle-ClassPath: libs/commons-lang-2.3.jar,
.,
libs/jdom-1.0.jar,
- libs/jaxen-1.1.1.jar
+ libs/jaxen-1.1.1.jar,
+ libs/digilibservice-client-1.0-SNAPSHOT.jar
Export-Package: de.mpg.mpiwg.itgroup.digilib.plugin.editors
diff -r 183c3e96f6c3 -r ee955cf6c9c5 build.properties
--- a/build.properties Mon Jan 10 12:01:25 2011 +0100
+++ b/build.properties Fri Jun 17 14:24:34 2011 +0200
@@ -6,5 +6,6 @@
libs/commons-lang-2.3.jar,\
libs/jdom-1.0.jar,\
libs/jaxen-1.1.1.jar,\
+ libs/digilibservice-client-1.0-SNAPSHOT.jar,\
plugin_customization.ini
source.. = src/
diff -r 183c3e96f6c3 -r ee955cf6c9c5 libs/digilibservice-client-1.0-SNAPSHOT.jar
Binary file libs/digilibservice-client-1.0-SNAPSHOT.jar has changed
diff -r 183c3e96f6c3 -r ee955cf6c9c5 plugin.xml
--- a/plugin.xml Mon Jan 10 12:01:25 2011 +0100
+++ b/plugin.xml Fri Jun 17 14:24:34 2011 +0200
@@ -3,121 +3,67 @@
+ point="de.mpg.mpiwg.itgroup.digilib.core.DigilibImageManipulation">
+ point="de.mpg.mpiwg.itgroup.digilib.core.DigilibImageManipulation">
+ point="de.mpg.mpiwg.itgroup.digilib.core.DigilibImageManipulation">
+ priority="de.mpg.mpiwg.itgroup.digilib.core.DigilibImageManipulation3">
+ point="de.mpg.mpiwg.itgroup.digilib.core.DigilibImageManipulation">
+ priority="de.mpg.mpiwg.itgroup.digilib.core.DigilibImageManipulation4">
+ point="de.mpg.mpiwg.itgroup.digilib.core.DigilibImageManipulation">
-
-
-
-
+ priority="de.mpg.mpiwg.itgroup.digilib.core.DigilibImageManipulation5">
+ point="de.mpg.mpiwg.itgroup.digilib.core.DigilibImageManipulation">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ class="de.mpg.mpiwg.itgroup.digilib.manipulator.extensions.ScaleUp"
+ priority="de.mpg.mpiwg.itgroup.digilib.core.DigilibImageManipulation6">
+ point="de.mpg.mpiwg.itgroup.digilib.core.DigilibImageManipulation">
+ class="de.mpg.mpiwg.itgroup.digilib.manipulator.extensions.ScaleDown"
+ priority="de.mpg.mpiwg.itgroup.digilib.core.DigilibImageManipulation7">
-
-
+ point="de.mpg.mpiwg.itgroup.digilib.core.DigilibImageManipulation">
+
+
-
-
-
-
-
-
+ point="de.mpg.mpiwg.itgroup.digilib.core.DigilibImageManipulation">
+
+
@@ -152,5 +98,15 @@
+
+
+
+
diff -r 183c3e96f6c3 -r ee955cf6c9c5 src/de/mpg/mpiwg/itgroup/digilib/digiImage/DigiImage.java
--- a/src/de/mpg/mpiwg/itgroup/digilib/digiImage/DigiImage.java Mon Jan 10 12:01:25 2011 +0100
+++ b/src/de/mpg/mpiwg/itgroup/digilib/digiImage/DigiImage.java Fri Jun 17 14:24:34 2011 +0200
@@ -35,7 +35,7 @@
* @author dwinter
*
*/
-public class DigiImage implements IDigiImage, IAdaptable, ISelectionProvider{
+public class DigiImage implements IDigiImage, IAdaptable{
/**
* Implemens a connection to Digilib.
diff -r 183c3e96f6c3 -r ee955cf6c9c5 src/de/mpg/mpiwg/itgroup/digilib/digiImage/DigiImageController.java
--- a/src/de/mpg/mpiwg/itgroup/digilib/digiImage/DigiImageController.java Mon Jan 10 12:01:25 2011 +0100
+++ b/src/de/mpg/mpiwg/itgroup/digilib/digiImage/DigiImageController.java Fri Jun 17 14:24:34 2011 +0200
@@ -17,7 +17,7 @@
public static String VMIR="vmir"; // vertical mirroring
public static String HMIR="hmir"; // horizontal mirroring
- public DigiImage digiImage; // the image to be controlled.
+ public IDigiImage digiImage; // the image to be controlled.
//private DigiImageParameter parameter;
@@ -27,7 +27,7 @@
*
* @param di
*/
- public DigiImageController(DigiImage di){
+ public DigiImageController(IDigiImage di){
this.digiImage=di;
}
diff -r 183c3e96f6c3 -r ee955cf6c9c5 src/de/mpg/mpiwg/itgroup/digilib/digiImage/DigiImageParameter.java
--- a/src/de/mpg/mpiwg/itgroup/digilib/digiImage/DigiImageParameter.java Mon Jan 10 12:01:25 2011 +0100
+++ b/src/de/mpg/mpiwg/itgroup/digilib/digiImage/DigiImageParameter.java Fri Jun 17 14:24:34 2011 +0200
@@ -275,6 +275,11 @@
}
}
+
+public void setType(int type) {
+ // TODO Auto-generated method stub
+
+}
diff -r 183c3e96f6c3 -r ee955cf6c9c5 src/de/mpg/mpiwg/itgroup/digilib/digiImage/IDigiImage.java
--- a/src/de/mpg/mpiwg/itgroup/digilib/digiImage/IDigiImage.java Mon Jan 10 12:01:25 2011 +0100
+++ b/src/de/mpg/mpiwg/itgroup/digilib/digiImage/IDigiImage.java Fri Jun 17 14:24:34 2011 +0200
@@ -1,5 +1,6 @@
package de.mpg.mpiwg.itgroup.digilib.digiImage;
+import org.eclipse.jface.viewers.ISelectionProvider;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Label;
@@ -11,7 +12,7 @@
* @author dwinter
*
*/
-public interface IDigiImage {
+public interface IDigiImage extends ISelectionProvider {
/**
* Gets the current set of parameters.
diff -r 183c3e96f6c3 -r ee955cf6c9c5 src/de/mpg/mpiwg/itgroup/digilib/digiImage/TextGridDigiImage.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/de/mpg/mpiwg/itgroup/digilib/digiImage/TextGridDigiImage.java Fri Jun 17 14:24:34 2011 +0200
@@ -0,0 +1,179 @@
+package de.mpg.mpiwg.itgroup.digilib.digiImage;
+
+import info.textgrid.namespaces.middleware.digilib.services.digilibservice.DigilibService;
+import info.textgrid.namespaces.middleware.digilib.services.digilibservice.DigilibServicePortType;
+
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+
+import javax.xml.ws.Holder;
+
+import org.apache.commons.lang.StringUtils;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Label;
+
+import de.mpg.mpiwg.itgroup.digilib.manipulator.extensions.ZoomAreaRectangleListener;
+import de.mpg.mpiwg.itgroup.digilib.plugin.editors.DigilibLinkEditorObservable;
+
+public class TextGridDigiImage implements IDigiImage {
+ //private URL url;
+ private Composite parent;
+
+ private DigiImageParameter dp;
+
+ private String baseUrl;
+
+ private Label label;
+
+ private ZoomAreaRectangleListener rectangleListener=null;
+
+ private List selectionChangeListener = new ArrayList();
+
+ private DigilibService service;
+
+ private DigilibServicePortType port;
+
+ /* some parameters should not occur in the URL constructed by {@link #createUrlFromParameter(DigiImageParameter)} if set to negative values.
+ *
+ */
+ private static String[] omitIfNegativeArray = {"dw","dh","ddpi","ddpix","ddpiy"};
+ private static List omitIfNegative = Arrays.asList(omitIfNegativeArray);
+
+ String logParam = null;
+ // Holder for return data
+ Holder mimeType = new Holder();
+ Holder imageData = new Holder();
+ Holder width = new Holder();
+ Holder height = new Holder();
+
+ private String sid;
+
+ public TextGridDigiImage(Composite parent, int style,
+ DigiImageParameter dp, String sid) {
+ label = new Label(parent, style);
+ this.parent = parent;
+ this.dp=dp;
+ try {
+ service = new DigilibService(new URL("http://localhost:8080/digilibservice-service/service?wsdl"));
+ } catch (MalformedURLException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ port = service.getDigilibServicePort();
+ this.sid=sid;
+ this.dp=dp;
+ try {
+ createNewImage(createQueryFromParameter(dp));
+ } catch (MalformedURLException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ // TODO Auto-generated constructor stub
+ }
+
+ public void addSelectionChangedListener(ISelectionChangedListener listener) {
+ selectionChangeListener.add(listener);
+
+ }
+
+ public ISelection getSelection() {
+ return new StructuredSelection(this);
+ }
+
+ public void removeSelectionChangedListener(
+ ISelectionChangedListener listener) {
+ selectionChangeListener.remove(listener);
+
+ }
+
+ public void setSelection(ISelection selection) {
+ for (ISelectionChangedListener sl: selectionChangeListener){
+ SelectionChangedEvent event = new SelectionChangedEvent(this, selection);
+ sl.selectionChanged(event);
+
+ }
+ }
+
+ public DigiImageParameter getParameter() {
+
+ return dp;
+ }
+
+ public void setParameter(DigiImageParameter dp) {
+ this.dp=dp;
+
+ }
+
+ public void redraw() {
+ try {
+ createNewImage(createQueryFromParameter(dp));
+ setSelection(new StructuredSelection(this));
+ DigilibLinkEditorObservable.INSTANCE.imageHasChanged(this);
+
+ } catch (MalformedURLException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ }
+ private void createNewImage(String query) {
+
+ port.getScaledImage(sid,dp.fn, query, logParam, mimeType, imageData, width, height);
+
+ Image img = new Image(parent.getDisplay(),new ByteArrayInputStream(imageData.value))
+ ;
+ //Label label = new Label(parent, SWT.None);
+ label.setImage(img);
+
+ label.setVisible(true);
+
+ }
+
+ private String createQueryFromParameter(DigiImageParameter dp) throws MalformedURLException {
+ Map qa = dp.createMapFromParameters(omitIfNegative);
+
+ List queryArray = new ArrayList();
+ for(String key:qa.keySet()){
+ queryArray.add(key+"="+qa.get(key));
+ }
+ String queryString = StringUtils.join(queryArray,"&");
+
+ String stringUrl=queryString;
+
+ return stringUrl;
+ }
+
+ public Label getLabel() {
+ return label;
+
+ }
+
+ public void setLabel(Label label) {
+ this.label = label;
+
+ }
+
+ public ZoomAreaRectangleListener getRectangleListener() {
+ return rectangleListener;
+ }
+
+ public void setRectangleListener(ZoomAreaRectangleListener rectangleListener) {
+ this.rectangleListener = rectangleListener;
+ }
+
+ public Composite getParent() {
+ return parent;
+ }
+
+}
diff -r 183c3e96f6c3 -r ee955cf6c9c5 src/de/mpg/mpiwg/itgroup/digilib/manipulator/DigilibImageManipulatorProvider.java
--- a/src/de/mpg/mpiwg/itgroup/digilib/manipulator/DigilibImageManipulatorProvider.java Mon Jan 10 12:01:25 2011 +0100
+++ b/src/de/mpg/mpiwg/itgroup/digilib/manipulator/DigilibImageManipulatorProvider.java Fri Jun 17 14:24:34 2011 +0200
@@ -30,7 +30,7 @@
propertyExtensions = new ArrayList();
propertyExtensionsMap = new HashMap();
- IConfigurationElement[] configs = Platform.getExtensionRegistry().getConfigurationElementsFor("de.mpg.mpiwg.itgroup.digilib.plugin","DigilibImageManipulation");
+ IConfigurationElement[] configs = Platform.getExtensionRegistry().getConfigurationElementsFor("de.mpg.mpiwg.itgroup.digilib.core","DigilibImageManipulation");
for (IConfigurationElement e : configs)
{
Object o = null;
diff -r 183c3e96f6c3 -r ee955cf6c9c5 src/de/mpg/mpiwg/itgroup/digilib/plugin/editors/DigilibLinkEditorInput.java
--- a/src/de/mpg/mpiwg/itgroup/digilib/plugin/editors/DigilibLinkEditorInput.java Mon Jan 10 12:01:25 2011 +0100
+++ b/src/de/mpg/mpiwg/itgroup/digilib/plugin/editors/DigilibLinkEditorInput.java Fri Jun 17 14:24:34 2011 +0200
@@ -1,5 +1,7 @@
package de.mpg.mpiwg.itgroup.digilib.plugin.editors;
+import java.net.URI;
+
import org.eclipse.core.resources.IFile;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.ui.IEditorInput;
@@ -14,7 +16,20 @@
private IFile file;
public static int INDEX_META=0;
+ public static int TEXTGRID=1;
private int type;
+ private URI uri;
+ private String sid;
+ private String name;
+ private String toolTipText;
+
+ public URI getUri() {
+ return uri;
+ }
+
+ public void setUri(URI uri) {
+ this.uri = uri;
+ }
/**
* @return
@@ -44,6 +59,18 @@
*/
public DigilibLinkEditorInput(IFile file, int type) {
this.file = file;
+ this.name=file.getName();
+ this.toolTipText=file.getFullPath().toOSString();
+ setType(type);
+ }
+
+ public DigilibLinkEditorInput(URI textGridUri, String sid,int type) {
+ this.file= null;
+ this.name=textGridUri.toASCIIString(); //TODO: get real name from Metadata
+ this.toolTipText=textGridUri.toASCIIString(); //TODO: get real name from Metadata
+ this.uri = textGridUri;
+ this.setSid(sid);
+
setType(type);
}
@@ -64,8 +91,7 @@
}
public String getName() {
-
- String name = file.getName();
+
return name;
}
@@ -76,7 +102,15 @@
public String getToolTipText() {
- return file.getFullPath().toOSString();
+ return toolTipText;
+ }
+
+ public void setSid(String sid) {
+ this.sid = sid;
+ }
+
+ public String getSid() {
+ return sid;
}
}
diff -r 183c3e96f6c3 -r ee955cf6c9c5 src/de/mpg/mpiwg/itgroup/digilib/plugin/editors/DigilibLinkEditorObservable.java
--- a/src/de/mpg/mpiwg/itgroup/digilib/plugin/editors/DigilibLinkEditorObservable.java Mon Jan 10 12:01:25 2011 +0100
+++ b/src/de/mpg/mpiwg/itgroup/digilib/plugin/editors/DigilibLinkEditorObservable.java Fri Jun 17 14:24:34 2011 +0200
@@ -3,6 +3,7 @@
import java.util.Observable;
import de.mpg.mpiwg.itgroup.digilib.digiImage.DigiImage;
+import de.mpg.mpiwg.itgroup.digilib.digiImage.IDigiImage;
public class DigilibLinkEditorObservable extends Observable {
@@ -10,7 +11,7 @@
protected DigilibLinkEditorObservable(){};
- public void imageHasChanged(DigiImage di){
+ public void imageHasChanged(IDigiImage di){
setChanged();
notifyObservers(di);
}
diff -r 183c3e96f6c3 -r ee955cf6c9c5 src/de/mpg/mpiwg/itgroup/digilib/plugin/editors/DigilibLinkEditorPart.java
--- a/src/de/mpg/mpiwg/itgroup/digilib/plugin/editors/DigilibLinkEditorPart.java Mon Jan 10 12:01:25 2011 +0100
+++ b/src/de/mpg/mpiwg/itgroup/digilib/plugin/editors/DigilibLinkEditorPart.java Fri Jun 17 14:24:34 2011 +0200
@@ -5,6 +5,7 @@
import java.util.Observable;
import java.util.Observer;
+import org.eclipse.core.resources.IFile;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.jface.viewers.StructuredSelection;
@@ -26,6 +27,8 @@
import de.mpg.mpiwg.itgroup.digilib.digiImage.DigiImageController;
import de.mpg.mpiwg.itgroup.digilib.digiImage.DigiImageParameter;
import de.mpg.mpiwg.itgroup.digilib.digiImage.DigiNav;
+import de.mpg.mpiwg.itgroup.digilib.digiImage.IDigiImage;
+import de.mpg.mpiwg.itgroup.digilib.digiImage.TextGridDigiImage;
import de.mpg.mpiwg.itgroup.indexMeta.Utils.ParseIndexMeta;
/**
@@ -86,6 +89,10 @@
DigilibLinkEditorInput input= (DigilibLinkEditorInput) getEditorInput();
String path="";
+
+
+ IDigiImage digiImage;
+
if (input.getType()==DigilibLinkEditorInput.INDEX_META){
ParseIndexMeta im;
try {
@@ -105,6 +112,12 @@
}
try {
path=im.getImagePath();
+ path=path.replace("/mpiwg/online", "");
+ DigiImageParameter dp = new DigiImageParameter(path);
+ dp.setType(input.getType());
+ dp.setDh(500);
+ dp.setDw(500);
+ digiImage = new DigiImage(mainComposite, SWT.BORDER, dp);
} catch (JDOMException e) {
// TODO Auto-generated catch block
e.printStackTrace();
@@ -112,19 +125,24 @@
}
if (path==null)
return;
+ } else if (input.getType()==DigilibLinkEditorInput.TEXTGRID){
+ path = input.getUri().toASCIIString();
+ DigiImageParameter dp = new DigiImageParameter(path);
+ dp.setType(input.getType());
+ dp.setDh(500);
+ dp.setDw(500);
+ digiImage = new TextGridDigiImage(mainComposite, SWT.BORDER, dp,input.getSid());
+
} else {
//TODO: issue warning that type cannot be solved.
return;
}
- path=path.replace("/mpiwg/online", "");
- DigiImageParameter dp = new DigiImageParameter(path);
- dp.setDh(500);
- dp.setDw(500);
+
- DigiImage digiImage = new DigiImage(mainComposite, SWT.BORDER, dp);
+
DigiImageController digiImageController = new DigiImageController(digiImage);
//imageComp.setBackgroundImage(img);
new DigiNav(mainComposite,SWT.NONE,digiImageController);