Error while deploying custom widget in VAADIN 6 - java

I created a custom VAADIN 6 widget. It worked fine. then i did the following
Create fresh VAADIN 6 project.
Add that jar to WEB-INF-> lib folder.
Add that jar to classpath.
inherit my custom widget in new projects widgetset file. like
<inherits name="com.vaadin.signature.signaturepad.SignaturePadWidgetset" />
In Web.xml i set widgetset.
Then i compile my widgetset.
This is the pattern i follow while creating the widget.
Now when i add this component in my application class it throws an error.
Widgetset does not contain implementation for com.vaadin.signature.signaturepad.SignaturePad. Check its #ClientWidget mapping, widgetsets GWT module description file and re-compile your widgetset. In case you have downloaded a vaadin add-on package, you might want to refer to add-on instructions. Unrendered UIDL:
-Unrendered UIDL
-com.vaadin.signature.signaturepad.SignaturePad(NO CLIENT IMPLEMENTATION FOUND) id=PID2 clicks=0 message=Click here.
I created a jar file from my SignatureComponent package. Any help would be highly appreciated.

Related

Add a ResourceBundle service provider directive in a Java 13 module through moditect maven plugin

I got a Java project that I'm migrating from Java 8 to Java 13. This project uses ResourceBundles to enable language localisation.
In Java 8, I provided a custom ResourceBundle.Control to ResourceBundle.getBundle(baseName, control) but this doesn't work anymore in Java 9+. As I understand it, I must instead provide a custom ResourceBundleProvider interface, which I called UiProvider, and an implementation of this interface, UiProviderImpl, which must be used as a service.
To generate module descriptors, I'm using the moditect maven plugin. But it doesn't look like I can add a provides directive anywhere, only exports, opens and uses directives. Or am I missing anything? Here's an excerpt of my pom.xml with what I tried to configure. Can this be fixed?
<module>
<moduleInfo>
<name>net.babelsoft.negatron</name>
<opens>net.babelsoft.negatron;</opens>
<uses>theme.language.spi.UiProvider</uses>
<provides>theme.language.spi.UiProvider with theme.language.spi.UiProviderImpl</provides>
</moduleInfo>
</module>
At the time I wrote my question, Moditect didn't support the provides directive within the moduleInfo tag.
The only way was to use a moduleInfoSource tag, which forces the developper to directly write the actual content of module-info.java, not very satisfactory.
After discussing with the author of Moditect, I submitted a pull request to add the support of the provides directive within the moduleInfo tag. It hasn't been merged to Moditect source code yet...

Jboss with Hotswap Agent using Jboss Modules

Hello Everyone!
I'm deploying a multi-module project on JBoss and with the help of HotswapAgent( GitHub ) and DCEVM.
The Problem is that the deployment loads with hotswap-agent but it doesn't reload the classes when I perform any changes!
I read the configuration for JBOSS modules in HA-Agent : Configuration
but I can't seem to understand the following:
Add extraClassPath from hotswap-agent.properties to org.jboss.modules.ModuleClassLoader, so that all application servers (JBossAS, WildFly) based on jboss’s module classloader can use HotswapAgent’s extraClassPath
I mean as in I added extraclass path properties to my HA-properties files but how do I transfer them to org.jboss.modules.ModuleClassLoader.
Also if there is any other cause that might be preventing HotswapAgent from reloading classes in JBoss then do tell me! As all plugins load correctly but when I make changes ( In intelli J using HA plugin ) and build the class after changes then I get no message from HA in the console that the class has been reloaded nor does it show any effects from the changes.

Vaadin 8: Widgetset not compiling com.vaadin.terminal.gwt.DefaultWidgetSet not found in project

I am trying to implement a Vaadin 8 framework project (8.0.5) but I can't get the widgetset to compile.
Using Glassfish 4 (alternatively, tried on Wildfly) DB: ObjectDB. I do have the charts and Timeline addon (Licensed). Theme compiles fine, using eclipse Vaadin plugin. WAR deploys fine.
After bringing up glassfish, tried accessing the UI - MyAppWidgetset.nocache.js not found error.
At this point tried compiling the widgetset Build failure with error com.vaadin.terminal.gwt.DefaultWidgetSet not found in project.
pom.xml reflects the same error at <execution> element.
Tried the fowllowing:
Added: #WidgetSet annotation to the MainUI class. Then added a gwt.xml class in ../resources/{package-folder structure} found on Vaadin forum:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 1.7.0//EN" "http://google-web-toolkit.googlecode.com/svn/tags/1.7.0/distro-source/core/src/gwt-module.dtd">
<module>
<inherits name="com.vaadin.addon.charts.Widgetset" />
<inherits name="com.vaadin.addon.timeline.gwt.TimelineWidgetSet" />
<inherits name="com.vaadin.DefaultWidgetSet" />
</module>
I manually tried adding:
<inherits name="com.vaadin.terminal.gwt.DefaultWidgetSet" />
But as soon as I save, Eclipse editor deletes that row. Is that supposed to happen? Tried adding from an external editor, but it gets deleted as soon as I open it in Eclipse.
After selectivly adding dependencies, the problem seems to be with charts.
Apparently, Adding Vaadin Charts dependency is causing the compilation to fail.
But I do have the license key in my root folder.
<dependency>
<groupId>com.vaadin.addon</groupId>
<artifactId>vaadin-charts</artifactId>
<version>2.0.0</version>
</dependency>
So I was doing 2 things wrong:
The location of the license file. A per the Demo code on github, it was in the root folder of the project. It has to be under \Users\(username) Directory.
Vaadin 8 works with Charts 4.0 and not earlier versions.

Class not found in project sources or resources GWT

I'm building GWT application with Maven. My application uses some custom UI forms instead of standard ones. I have files with custom UI forms, packed in .jar file.
My .ui.xml file has this:
<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
xmlns:g='urn:import:com.google.gwt.user.client.ui'
xmlns:nc='custompackage.gwt.fields.client.widgets.reference'
>
...
<nc:UIReferenceField width="100%" text = "123" nc:field="rf"/>
...
My module .gwt.xml file inherits custom class:
...
<inherits name="custompackage.gwt.fields.Fields"/>
...
When I build Maven module I get:
Failed to execute goal org.codehaus.mojo:gwt-maven-plugin:2.6.0:compile (default)
on project geographical-view-for-osp-gwt-2: GWT Module
com.netcracker.platform.ui.toolkit.gwt.i18n.i18n not found in project sources or resources.
I've looked into similar problem questions, but their resolution didn't help me at all. Can you help me?
P.S.: My module builds fine without custom fields.
I didnt add some dependencies to my .pom file. My inherited module depended on them and it didnt compile.

How can share bean from external library to GWT client?

I have a question about share the java bean in library to gwt client
I know bean share between GWT client and server usually put into package domain.shared.
However, how can I make use of existing bean from external jar library on GWT client?
Because I always got this message.
No source code is available for type xxxx.xxxx.bean did you forget to inherit a required module?
Given that your beans are in the package xxx.xxx.bean, and they are in an imported my_beans.jar library.
Create a folder in your Application src tree (or src/main/java if you are using maven) with the name xxx/xxx
Create a new Module file in this folder called MyBeans.gwt.xml with this content:
<module>
<inherits name='com.google.gwt.user.User'/>
<source path="bean"/>
</module>
Edit your Application.gwt.xml and add this line
<inherits name="xxx.xxx.MyBeans"/>
Be aware that all Classes in the xxx.xxx.bean package must use classes supported by GWT.
You should check as well that the my_beans.jar library includes the java source files of the beans you are going to use.
1) You can only include beans from the external jar library provided it is GWT compatible and declares a <ThirdPartyModuleName>.gwt.xml file which includes the package for the beans you need to use.
2) You should have the <ThirdPartyModuleName> included in your own <Module>.gwt.xml using <inherits> tag.

Categories