Does Eclipse based graphical Camel editor from JBoss - RedHat codeready work only for camel in xml? - jboss

I have been looking for a visualizer for apache camel and found Eclipse based graphical Camel editor from JBoss. But after installation of RedHat codeready studio and using the sample project in it, seems like it supports only camel-context.xml. My routes are in Java DSL. Is there no tool available for visualizing Java routes

No there is no visual tools for editing Java DSL.
Usually a real programming language such as Java is best used by developers whom can write code.
And for visual tools with drag/drop etc then its high level where such tool generates the "code" in a markup language such as XML, YAML or custom format.
The Java DSL is high level and non savy Java developers can get comforable with just coding. Also users that have started with the visual XML editor would after some time get used to working directly with the XML code.

You can use Hawtio with the Camel plugin to visualize your Java DSL routes graphically. It also exposes a UI for viewing/downloading (and even editing) Java routes as XML, enabling you to bring them into the Eclipse-based FUSE Tooling, if you wanted to.
According to the Hawtio website, JBoss FUSE already includes Hawtio.

Related

Eclipse with Red Hat Codeready (Fuse Integration) developing for Wildfly Application Server

I'm a little bit con-fuse-d with Red Hats Fuse tooling.
Here's what I'd like to do: Design Camel Routes with Eclipse (2020-03) and then deploy them to a Wildfly server (16 or 18) with the wildfly-camel patch applied.
This generally works, BUT:
The version of Fuse in the tool is 7.6 (latest) with a highest available camel version of 2.21(!) which is very old. The wildfly-camel patch already supports camel 3.0. on wildfly 18. Question: Is it possible to "update" Fuse Tooling within Codeready to newer versions of camel?
Fuse itself supports lots of camel components / connectors as can be seen here. But not all of them are available in Codeready. Plus that some of the components state to be compatible for example with camel versions greater than 2.8. Question: How to add these components to the visual design UI of Fuse Tooling?
I fear that it all is a matter of the outdated version of camel, but I want to be sure that I didn't miss anything. To those who know: Are there any plans of updating the Tool for Eclipse?
Fuse Tools for Eclipse is primarily designed to work with Red Hat Fuse which, as you rightly point out, aligns to specific supported versions of Apache Camel.
But, you should be able to create your own Wildfly-Camel project (or use one of the examples) and still use the graphical route editor to add newer components. You'll need to drag a Generic component from the palette and then untick Show only palette components, which should show you all the components available, including ones from newer releases of Camel:
Just tested this with:
Fresh install of Eclipse 2020.03 with Fuse Tools installed
Latest clone of Wildfly-Camel-Examples repo
Opening camel-jms-spring project in Eclipse
Opening src/main/webapp/WEB-INF/camel-context.xml with the graphical route editor
Dragging a new Generic component, XSLT-Saxon, from the Palette.

Why don't I see a transform activity in my eclipse helios bpel process manager

I am using eciipse helios. I want to create a bpel transform like in this tutorial. But I don't see a transform activity in the "Actions" section or the "Control 2" section of my palette. What's up?
The tutorial you linked is from Oracle and the IDE they provide is JDeveloper. Eclipse is not JDeveloper, so you don't have the same palettes. You will have to download JDeveloper, if you want to replicate the tutorial.
I assume (from the link) that you want to write an XSL transformation. You can also do this with Eclipse. The Web Tools Platform which is included in the Java EE version of Eclipse, comes with support for writing XSL transformations.
This is because the BPEL 2.0 specification does not define such an activity. It is a proprietary extension defined by Oracle, thus it is only available in Oracle products. The open source Eclipse BPEL projects aims at providing support for the BPEL standard only.

Is there something like OLE available in Eclipse RCP?

We have three Eclipse RCP applications running in parallel. Now I need to implement another RCP that displays/operates part of the running applications. In Windows the solution would be to provide the functionality as OLE-Control.
How can I achieve the same thing in Eclipse?
There is some limited OLE interation (OLE Documents and ActiveX controls) in the OLE SWT package available in the win32 version of SWT. You would need to make sure that you ran different versions of this RCP app on win32 vs another platform or you encapsulated any per-platform code in a fragment.
See http://www.eclipse.org/articles/article.php?file=Article-ActivexSupportInSwt/index.html for an introduction to SWT OLE integration.
There isn't an OLE/inter process communication within Eclipse. You can stick to plain Java way of doing things (such as a TCP-IP connection between processes)

SWT Deployment as EXE

I've recently started learning SWT (on class #4, to be precise) due to business requirements, and previously I had been developing with Swing for 2 years.
We deployed Swing applications as jars with resource dependencies. In SWT, what are the deployable forms and equivalents?
I have questions but since my training is online, I'm on a course-ware and there is no instructor, except StackOverflow:
Can SWT apps be deployed as independent EXE's? And what's with the "Eclipse EXE" thing people talk about? Does it mean that all SWT outputs will be Eclipse based EXEs? Or can they be completely independent EXEs?
If the answer to 1 is yes, how does the compiler produce native win32 executable code? This is one area where I'm thoroughly confused. Typically, a deployable jar is fed to the VM which reads the manifest and does its stuff, but an EXE as output? What's really behind the scenes?
How are external resource bundles managed? At the time of deployment?
Internationalization support?
Thanks.
Deploying an SWT application is exactly like deploying a Swing app, with the addition of several jars and a native library. You must currently be using some tool to make exe files for your Swing app; that tool may or may not be competent to also package up a native code library. It is unlikely that the tool is creating 'native win32 executable code'. Rather, it is packaging up Java class files along with the JRE and a stub Windows PE file.
SWT is developed as part of Eclipse. Eclipse has the Rich Client Platform, or RCP. If you build your Java application as an RCP application, you can use the Eclipse tools to generate an executable package for Windows (or anywhere else). It is not a single executable, it's a directory with an executable in it. However, you don't have to use Eclipse to use SWT.
An RCP application has to use much more than just SWT. It has to be constructed as a set of OSGi bundles that depend on the core Eclipse platform. Once you have such a thing running inside Eclipse, there is a wizard in Eclipse that will create a Windows 'executable' (a directory containing your code in JAR file(s), a lot of Eclipse code in JAR files, the JRE, and a PE .exe stub). You can automate that process from ant, though I've never done it myself. You will need to do book-length reading to get up to speed on all of this, I fear.
There no difference between SWT and Swing in terms of resources and internationalization. Other Eclipse-related libraries include an I18N discipline, but not the core SWT. You just use locales and property files as in any other Java application.
SWT is not Eclipse-based, but the Eclipse UI is SWT-based. Eclipse uses the SWT library for its drawing. It is used a GUI library from the Eclipse consortium, available for many systems. If you want to deploy your normal Java Application with an SWT GUI you just add the corresponding libs and .dll's or .so's. Therefore, everything you can do (deployment) with Java respectively speaking Swing, can be done with SWT, if you provide the according libraries. There are tools and ways to compile everything into .exe's but that is not necessarily needed.
I do not really get the Eclipse EXE thing you are talking about, but eclipse just provides a starter exe, which is basically just a wrapper. Otherwise, some people refer to Eclipse RCP als Eclipse EXE but this is not correct. You CAN use the Eclipse RCP to base your App and this would use SWT as UI library. But you can use SWT all by yourself just as library without the Eclipse trail.
I hope this helps.
You can use a java to EXE wrapper like this one http://jsmooth.sourceforge.net/.
Hope it helps.
Basically you need to get your project running with the conventional java -jar command.
Then create an exe bootstrap program that runs the command when you double click it.
Extra things can be done like checking JVM versions inside the exe program.

Eclipse plugins for Spring / Hibernate development?

I have a running dynamic web project in Eclipse (Java EE + Maven + Spring). I am at the point where I need to integrate a persistence layer and want to use Hibernate with a MySql database.
I am wondering what plugins would be useful for me at this point? For Hibernate should I install hibernate tools or is it not necessary? Are then any plugins that are most widely use for connecting / exploring database connections that would be appropriate for the type of project I am working on? Thanks.
Hibernate Tools is definitely a nice plugin (that provides wizards, a nice console useful to setup the HQL queries, a mapping editor, etc). I'm actually tempted to say: why not using it? I use it in conjunction with the database support provided by the Eclipse Data Tools Platform (that is included in the Eclipse IDE for Java EE Developers or available via the update manager). In your case, I would maybe just consider using SpringSource Tools Suite as base instead of a vanilla Eclipse.
Update: As reminded by BalusC in a comment, the Hibernate Tools also include a database reverse engineering tool which is maybe the most powerful feature. I should have mentioned it, this is now fixed.
You can look at http://fast-code.sourceforge.net/ as well. You can create FooService and FooServiceImpl and the configurations just by typing foo. It has nice way to create unit tests as well.