Neil
(Neil Cohen)
October 13, 2011, 1:12pm
1
I would like to recompile the Timeline addon with some debugging statements added. I was able to create a Vaadin project and installed the timeline code and created a jar file with it without any problem. But when I include that jar file in a different (war-file) project, it gives me the error:
Widgetset does not contain implementation for com.vaadin.addon.timeline.Timeline. Check its @ClientWidgetset
so I’m not getting the widget installed in my project correctly. Can someone point me at the procedure for rebuilding an addon and then getting it
properly located in a project that wants to use it?
Thanks
nbc
Henri1
(Henri Kerola)
October 13, 2011, 1:33pm
2
Hi,
Does your jar file contains the source code files of client-side classes. Those are needed in widgetset compilation.
-Henri
Neil
(Neil Cohen)
October 13, 2011, 1:40pm
3
As far as I can tell it does - I just extracted the timeline jar file and added a couple of print statements. It recompiles, and I can recompile the widgets (I created an eclipse project and just dropped the entire source tree from the original jar file on it). But when I try to include that new jar file in my main project, it doesn’t see the widgets - I recompiled the main program widgets and it did not pick up the timeline object - which I think is the underlying problem. I think I have things configured incorrectly, but I don’t know quite where to look…
This is the source directory for my Eclipse project to recompile the timeline jar file:
.
./com
./com/vaadin
./com/vaadin/addon
./com/vaadin/addon/timeline
./com/vaadin/addon/timeline/Timeline$DateFormatInfo.class
./com/vaadin/addon/timeline/Timeline$DateRangeListener.class
./com/vaadin/addon/timeline/Timeline$DateRangeChangedEvent.class
./com/vaadin/addon/timeline/Timeline$ChartMode.class
./com/vaadin/addon/timeline/Timeline$PropertyId.class
./com/vaadin/addon/timeline/Timeline.class
./com/vaadin/addon/timeline/Timeline$EventButtonClickEvent.class
./com/vaadin/addon/timeline/gwt
./com/vaadin/addon/timeline/gwt/canvas
./com/vaadin/addon/timeline/gwt/canvas/client
./com/vaadin/addon/timeline/gwt/canvas/client/Image.class
./com/vaadin/addon/timeline/gwt/canvas/client/Canvas.class
./com/vaadin/addon/timeline/gwt/canvas/client/Image.java
./com/vaadin/addon/timeline/gwt/canvas/client/Gradient.java
./com/vaadin/addon/timeline/gwt/canvas/client/ImageListener.class
./com/vaadin/addon/timeline/gwt/canvas/client/Canvas.java
./com/vaadin/addon/timeline/gwt/canvas/client/ImageListener.java
./com/vaadin/addon/timeline/gwt/canvas/client/impl
./com/vaadin/addon/timeline/gwt/canvas/client/impl/CanvasImplSafari.class
./com/vaadin/addon/timeline/gwt/canvas/client/impl/LinearGradientImpl.class
./com/vaadin/addon/timeline/gwt/canvas/client/impl/GradientImpl.class
./com/vaadin/addon/timeline/gwt/canvas/client/impl/CanvasImplMozilla.java
./com/vaadin/addon/timeline/gwt/canvas/client/impl/CanvasImplOpera.java
./com/vaadin/addon/timeline/gwt/canvas/client/impl/CanvasImplMozilla.class
./com/vaadin/addon/timeline/gwt/canvas/client/impl/CanvasImplSafari.java
./com/vaadin/addon/timeline/gwt/canvas/client/impl/GradientImpl.java
./com/vaadin/addon/timeline/gwt/canvas/client/impl/CanvasImplOpera.class
./com/vaadin/addon/timeline/gwt/canvas/client/impl/RadialGradientImpl.class
./com/vaadin/addon/timeline/gwt/canvas/client/impl/RadialGradientImpl.java
./com/vaadin/addon/timeline/gwt/canvas/client/impl/LinearGradientImpl.java
./com/vaadin/addon/timeline/gwt/canvas/client/impl/CanvasImpl.java
./com/vaadin/addon/timeline/gwt/canvas/client/impl/CanvasImpl.class
./com/vaadin/addon/timeline/gwt/canvas/client/impl/ie
./com/vaadin/addon/timeline/gwt/canvas/client/impl/ie/VMLContext.java
./com/vaadin/addon/timeline/gwt/canvas/client/impl/ie/GradientImplIE.class
./com/vaadin/addon/timeline/gwt/canvas/client/impl/ie/JSOStack.java
./com/vaadin/addon/timeline/gwt/canvas/client/impl/ie/CanvasImplIE8.java
./com/vaadin/addon/timeline/gwt/canvas/client/impl/ie/VMLContext.class
./com/vaadin/addon/timeline/gwt/canvas/client/impl/ie/RadialGradientImplIE.class
./com/vaadin/addon/timeline/gwt/canvas/client/impl/ie/LinearGradientImplIE.class
./com/vaadin/addon/timeline/gwt/canvas/client/impl/ie/JSOStack.class
./com/vaadin/addon/timeline/gwt/canvas/client/impl/ie/CanvasImplIE.java
./com/vaadin/addon/timeline/gwt/canvas/client/impl/ie/ColorStop.class
./com/vaadin/addon/timeline/gwt/canvas/client/impl/ie/CanvasImplIE.class
./com/vaadin/addon/timeline/gwt/canvas/client/impl/ie/RadialGradientImplIE.java
./com/vaadin/addon/timeline/gwt/canvas/client/impl/ie/CanvasImplIE8.class
./com/vaadin/addon/timeline/gwt/canvas/client/impl/ie/ColorStop.java
./com/vaadin/addon/timeline/gwt/canvas/client/impl/ie/GradientImplIE.java
./com/vaadin/addon/timeline/gwt/canvas/client/impl/ie/LinearGradientImplIE.java
./com/vaadin/addon/timeline/gwt/canvas/client/Gradient.class
./com/vaadin/addon/timeline/gwt/canvas/gwt-canvas.gwt.xml
./com/vaadin/addon/timeline/gwt/TimelineWidgetSet.gwt.xml
./com/vaadin/addon/timeline/gwt/public
./com/vaadin/addon/timeline/gwt/public/timeline-widget
./com/vaadin/addon/timeline/gwt/public/timeline-widget/tooltipRightTop.png
./com/vaadin/addon/timeline/gwt/public/timeline-widget/marker.png
./com/vaadin/addon/timeline/gwt/public/timeline-widget/styles.css
./com/vaadin/addon/timeline/gwt/public/timeline-widget/arrow-left.png
./com/vaadin/addon/timeline/gwt/public/timeline-widget/scrollbar-area-bg.png
./com/vaadin/addon/timeline/gwt/public/timeline-widget/scroll-grip.png
./com/vaadin/addon/timeline/gwt/public/timeline-widget/right_arrow.png
./com/vaadin/addon/timeline/gwt/public/timeline-widget/vertical-sprites.png
./com/vaadin/addon/timeline/gwt/public/timeline-widget/arrow-right.png
./com/vaadin/addon/timeline/gwt/public/timeline-widget/scroller.png
./com/vaadin/addon/timeline/gwt/public/timeline-widget/tooltipLeft.png
./com/vaadin/addon/timeline/gwt/public/timeline-widget/tooltipRightBottom.png
./com/vaadin/addon/timeline/gwt/public/timeline-widget/move.cur
./com/vaadin/addon/timeline/gwt/public/timeline-widget/scatterChart.png
./com/vaadin/addon/timeline/gwt/public/timeline-widget/tooltipLeftBottom.png
./com/vaadin/addon/timeline/gwt/public/timeline-widget/tooltipBottom.png
./com/vaadin/addon/timeline/gwt/public/timeline-widget/tooltipTop.png
./com/vaadin/addon/timeline/gwt/public/timeline-widget/lineChart.png
./com/vaadin/addon/timeline/gwt/public/timeline-widget/popup_bg.png
./com/vaadin/addon/timeline/gwt/public/timeline-widget/tooltipRight.png
./com/vaadin/addon/timeline/gwt/public/timeline-widget/hold.cur
./com/vaadin/addon/timeline/gwt/public/timeline-widget/ajax-loader.gif
./com/vaadin/addon/timeline/gwt/public/timeline-widget/scroller_hover.png
./com/vaadin/addon/timeline/gwt/public/timeline-widget/tooltipLeftTop.png
./com/vaadin/addon/timeline/gwt/public/timeline-widget/barChart.png
./com/vaadin/addon/timeline/gwt/public/timeline-widget/scrollbar-bg.png
./com/vaadin/addon/timeline/gwt/client
./com/vaadin/addon/timeline/gwt/client/VTimelineDisplay$4.class
./com/vaadin/addon/timeline/gwt/client/VTimelineDisplay$1.class
./com/vaadin/addon/timeline/gwt/client/VTimelineWidget$6.class
./com/vaadin/addon/timeline/gwt/client/VTimelineWidget$4.class
./com/vaadin/addon/timeline/gwt/client/VTimelineBrowser$1.class
./com/vaadin/addon/timeline/gwt/client/VTimelineDisplay.java
./com/vaadin/addon/timeline/gwt/client/VTimelineBrowser.java
./com/vaadin/addon/timeline/gwt/client/VCanvasPlotter.class
./com/vaadin/addon/timeline/gwt/client/VCanvasPlotter$6.class
./com/vaadin/addon/timeline/gwt/client/VClientCache.java
./com/vaadin/addon/timeline/gwt/client/VDataListener.java
./com/vaadin/addon/timeline/gwt/client/VCanvasPlotter$5.class
./com/vaadin/addon/timeline/gwt/client/VClientCache$DataPoint.class
./com/vaadin/addon/timeline/gwt/client/VTimelineDisplay$PlotMode.class
./com/vaadin/addon/timeline/gwt/client/VDateFormatInfo.class
./com/vaadin/addon/timeline/gwt/client/VClientCache$DataRange.class
./com/vaadin/addon/timeline/gwt/client/VClientCache.class
./com/vaadin/addon/timeline/gwt/client/VTimelineWidget.java
./com/vaadin/addon/timeline/gwt/client/VTimelineWidget$5.class
./com/vaadin/addon/timeline/gwt/client/VTimelineWidget$7.class
./com/vaadin/addon/timeline/gwt/client/VCanvasPlotter$Graph.class
./com/vaadin/addon/timeline/gwt/client/VTimelineBrowser.class
./com/vaadin/addon/timeline/gwt/client/VCanvasPlotter$GraphPointComparator.class
./com/vaadin/addon/timeline/gwt/client/VCanvasPlotter$Point.class
./com/vaadin/addon/timeline/gwt/client/VTimelineWidget$9.class
./com/vaadin/addon/timeline/gwt/client/VCanvasPlotter$2.class
./com/vaadin/addon/timeline/gwt/client/VTimelineDisplay$2.class
./com/vaadin/addon/timeline/gwt/client/VCanvasPlotter.java
./com/vaadin/addon/timeline/gwt/client/VCanvasPlotter$7.class
./com/vaadin/addon/timeline/gwt/client/VCanvasPlotter$PlottingListener.class
./com/vaadin/addon/timeline/gwt/client/VTimelineWidget.class
./com/vaadin/addon/timeline/gwt/client/VTimelineWidget$3.class
./com/vaadin/addon/timeline/gwt/client/VCanvasPlotter$1.class
./com/vaadin/addon/timeline/gwt/client/VCanvasPlotter$4.class
./com/vaadin/addon/timeline/gwt/client/VTimelineWidget$8.class
./com/vaadin/addon/timeline/gwt/client/VTimelineBrowserScroller.java
./com/vaadin/addon/timeline/gwt/client/VTimelineBrowserScroller.class
./com/vaadin/addon/timeline/gwt/client/VTimelineBrowser$2.class
./com/vaadin/addon/timeline/gwt/client/VDateFormatInfo.java
./com/vaadin/addon/timeline/gwt/client/VCanvasPlotter$3.class
./com/vaadin/addon/timeline/gwt/client/VTimelineWidget$1.class
./com/vaadin/addon/timeline/gwt/client/VTimelineDisplay.class
./com/vaadin/addon/timeline/gwt/client/VDataListener.class
./com/vaadin/addon/timeline/gwt/client/VTimelineDisplay$3.class
./com/vaadin/addon/timeline/gwt/client/VTimelineWidget$2.class
./com/vaadin/addon/timeline/Timeline$1.class
./com/vaadin/addon/timeline/Timeline.java
./com/vaadin/addon/timeline/Timeline$EventClickListener.class
./com/vaadin/addon/timeline/Timeline$DataSourceListener.class
nbc
Henri1
(Henri Kerola)
October 14, 2011, 5:23am
4
Hi,
Probably the problem is then that the manifest file of your jar doesn’t contain necessary definitions. If you use Eclipse to export the jar, you can use the “Vaadin Add-on Package” export that should generate necessary fields to the manifest file.
These are the add-on related definitions from jar’s META-INF/MANIFEST.MF file:
Vaadin-Package-Version: 1
Vaadin-Widgetsets: com.vaadin.addon.timeline.gwt.TimelineWidgetSet
Implementation-Title: Vaadin Timeline
Implementation-Version: 1.2.1
Implementation-Vendor: Vaadin Ltd
At least Vaadin-Package-Version and Vaadin-Widgetsets are required on widgetset compilation.
Neil
(Neil Cohen)
October 14, 2011, 11:32am
5
I understood what you said, but not how to make it happen. I probably took the wrong approach completely. What I did was to create a new Vaadin project, and then just copied the source files for the Timeline into it and created a jar file. I think you are correct, the resulting file does not look like a Vaadin widget.
So my question is - what do you mean by using Eclipse to export the jar - I’m a recent convert to Eclipse so I have very little experience with this. Do I want to do this in a new project (which is what I did) or inside of the project where I want to use the widget (which is what I was hoping to be able to do and couldn’t figure out…)
Pointers to the appropriate documentation or an example would be great…
Thanks in advance,
nbc