GithubHelp home page GithubHelp logo

vrl-studio / vrl-studio Goto Github PK

View Code? Open in Web Editor NEW
70.0 19.0 21.0 50.34 MB

Innovative IDE based on VRL (Visual Reflection Library)

Home Page: http://vrl-studio.mihosoft.eu

HTML 23.99% Shell 1.93% Java 72.85% Inno Setup 0.54% Batchfile 0.70%
vrl-studio visual-reflection-library vrl integrated-development-environment groovy java swing javafx java3d

vrl-studio's Introduction

VRL-Studio

Webpage: http://vrl-studio.mihosoft.eu

Join the Developer Group if you'd like to contribute.

Innovative IDE based on VRL (Visual Reflection Library)

VRL-Studio is an innovative Integrated Development Environment (IDE) based on the Java Platform that combines both visual and text-based programming. In contrast to many other Development Environments VRL-Studio Projects are fully functional programs that are developed at run-time. This makes it an ideal environment for rapid prototyping, teaching and experimentation.

Dependencies

  • Java = 1.8
  • NetBeans >= 7.01
  • VRL

How To Build

  • Open the VRL project with NetBeans and build it
  • Open the VRL-Studio project with NetBeans and build it

How To Run

You can either run VRL-Studio from NetBeans (see 1.) or run the application bundle manually (see 2.)

  1. You can run VRL-Studio from NetBeans just like any other Java application project
  2. After building, the VRL-Studio/dist-final/ folder contains application bundles for Linux, Mac and Windows.



How To Deploy

VRL-Studio bundles are created automatically when building it.

NOTE Before deploying custom bundles please make sure you carefully read the Attribution Requirements in the LICENSE file.

Bundle Location

The final bundles are located in the VRL-Studio/dist-final folder.

Configuration Options

The build.properties file in the project folder contains additional configuration options.

Bundled JRE

The following options can be enabled to create bundles that contain a full JRE installation:

jre.location.linux.x86=/path/to/linux/jre/x86/
jre.location.linux.x64=/path/to/jre/x64/
jre.location.windows.x86=/path/to/jre/x86/
jre.location.windows.x64=/path/to/jre/x64/
jre.location.osx=/path/to/jre/

VRL-Studio Help

The official VRL-Studio bundles contain offline help pages. To include the help in a bundle, use the following option:

help.location=/path/to/help/

Splashscreen

A custom splashscreen can be defined via:

splashscreen.location=/path/to/splashscreen.png

Property Folder

To include custom configuration defaults, plugins etc. a property folder can be specified that will be used as template folder when starting VRL-Studio for the first time. It can be included via:

property-folder.location=/path/to/property-folder-template/

Zip Bundles

To automatically create zip bundles use the following option (only supported on Unix):

zip-bundles.enabled=true

vrl-studio's People

Contributors

chriamue avatar miho avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vrl-studio's Issues

Build on Ubuntu 16.04

Dear @miho,

I just cloned the repository's master branch and used ant to build VRL-Studio.

After this, I go to dist-final folder and execute the run command:

>> starting with no param
>> detected x86 (64 bit) os
>> using java executable from: jre/x64/bin/java
Picked up JAVA_TOOL_OPTIONS: 
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.NoClassDefFoundError: eu/mihosoft/vrl/reflection/VisualCanvas
        at java.lang.Class.getDeclaredMethods0(Native Method)
        at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
        at java.lang.Class.privateGetMethodRecursive(Class.java:3048)
        at java.lang.Class.getMethod0(Class.java:3018)
        at java.lang.Class.getMethod(Class.java:1784)
        at sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java:544)
        at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:526)
Caused by: java.lang.ClassNotFoundException: eu.mihosoft.vrl.reflection.VisualCanvas
        at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
        ... 7 more

Do you have any hints what is going wrong here? I presume it is not finding the VRL.jar dependency? But how is this possible?

Java information:

openjdk version "1.8.0_265"
OpenJDK Runtime Environment (build 1.8.0_265-8u265-b01-0ubuntu2~16.04-b01)
OpenJDK 64-Bit Server VM (build 25.265-b01, mixed mode)

How I build VRL-Studio: Issue ant in console.

Best wishes,
Stephan

How to run a VRL program from terminal/command line?

I have made a VRL project (it has a start component, with some components (from my plugin) connected and lastly a stop component). The programs runs successfully from VRL-Studio.

How can I export this program to an executable and run it from command line?

I have tried the File->Development->Export Project As Console App and saved it to a zip file (then unzipped it).
Running the the run.sh file in above folder gives me this exception:

>> detected x86 (64 bit) os
>> integrated jre not found!
 --> executing installed java version
--------------------------------------------------------------------------------
=> VRL-0.4.4.0.3, build: 2018/10/31 13:49:41
=> Groovy-2.4.12
--------------------------------------------------------------------------------
>> VRL Version: 0.4.4.0.3, build: 2018/10/31 13:49:41
 --> running on Java Version: 1.8.0_241 (Oracle Corporation)
 --> OS: Mac OS X (x64)
 --> pid: 64504
>> Property Folder Options:
 --> using custom property folder, path: property-folder/
 --> initializing property folder: property-folder
>> installing payload plugins: [done]
>> adding "file:/Users/alexanderpoulikakos/test-losing-live/.application/lib/VRL.jar" to system classpath
>> ClassPathUpdater.addAllJarsInDir("custom-lib"): directory does not exist!
>> Plugin Options:
 --> disabling checksum test
 --> no plugin path specified, using default.
>> loading plugin from cache
 --> plugin "CCS-VISUAL-SCRIPTING" found
>> Init Plugins ( #2 )
>> Plugin (1): VRL-0.4.4.0.3
>> Plugin (2): CCS-VISUAL-SCRIPTING-0.4.0
--------------------------------------------------------------------------------
>> invoking Main.run()

Oct 19, 2020 10:44:52 PM eu.mihosoft.vrl.system.VSessionRunner runMain
SEVERE: null
java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at eu.mihosoft.vrl.system.VSessionRunner.runMain(VSessionRunner.java:255)
	at eu.mihosoft.vrl.system.VSessionRunner.run(VSessionRunner.java:185)
	at eu.mihosoft.vrl.system.VSessionRunner$run.call(Unknown Source)
	at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
	at eu.mihosoft.vrl.user.VSessionMainClass.main(VSessionMainClass.groovy:10)
Caused by: java.lang.NoClassDefFoundError: vs/GameInstaller
	at eu.mihosoft.vrl.user.Main.run(Main.groovy:13)
	... 11 more
Caused by: java.lang.ClassNotFoundException: class name: vs.GameInstaller
	at eu.mihosoft.vrl.system.VClassLoader.findClass(VClassLoader.java:169)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
	at eu.mihosoft.vrl.system.VSessionRunner$1.loadClass(VSessionRunner.java:159)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
	... 12 more

--------------------------------------------------------------------------------

The vs.GameInstaller class is part of my plugin: CCS-VISUAL-SCRIPTING-0.4.0.

Minor issues

Dear Michael,

two issues (on the current master and stable 0.4 branch):

i. Clicking on Help->Version Management results in an IO Exception on Ubuntu 14.04 (Trusty Tahr).
(This is the case because the file does not exist - maybe the file was not copied correctly during deployment? File: /home/stephan/Code/git/VRL-Studio/VRL-Studio/dist-final/linux/VRL-Studio/.application/resources/studio-resources/help/version-management.html)

Exception:

Mar 04, 2015 3:11:56 PM eu.mihosoft.vrl.system.VSysUtil openURI
SEVERE: null
java.io.IOException: Failed to show URI:file:/home/stephan/Code/git/VRL-Studio/VRL-Studio/dist-final/linux/VRL-Studio/.application/resources/studio-resources/help/version-management.html
    at sun.awt.X11.XDesktopPeer.launch(XDesktopPeer.java:114)
    at sun.awt.X11.XDesktopPeer.browse(XDesktopPeer.java:98)
    at java.awt.Desktop.browse(Desktop.java:386)
    at eu.mihosoft.vrl.system.VSysUtil.openURI(VSysUtil.java:619)
    at eu.mihosoft.vrlstudio.main.Studio.versionManagementActionPerformed(Studio.java:2008)
    at eu.mihosoft.vrlstudio.main.Studio.access$4200(Studio.java:105)
    at eu.mihosoft.vrlstudio.main.Studio$48.actionPerformed(Studio.java:1110)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
    at javax.swing.AbstractButton.doClick(AbstractButton.java:376)
    at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:833)
    at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:877)
    at java.awt.Component.processMouseEvent(Component.java:6516)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3312)
    at java.awt.Component.processEvent(Component.java:6281)
    at java.awt.Container.processEvent(Container.java:2229)
    at java.awt.Component.dispatchEventImpl(Component.java:4872)
    at java.awt.Container.dispatchEventImpl(Container.java:2287)
    at java.awt.Component.dispatchEvent(Component.java:4698)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
    at java.awt.Container.dispatchEventImpl(Container.java:2273)
    at java.awt.Window.dispatchEventImpl(Window.java:2719)
    at java.awt.Component.dispatchEvent(Component.java:4698)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:740)
    at java.awt.EventQueue.access$300(EventQueue.java:103)
    at java.awt.EventQueue$3.run(EventQueue.java:699)
    at java.awt.EventQueue$3.run(EventQueue.java:697)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
    at java.awt.EventQueue$4.run(EventQueue.java:713)
    at java.awt.EventQueue$4.run(EventQueue.java:711)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:710)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)

ii. Start button's changes label to "stop" after once the Start button has been pressed, see screenshot, note this happens also on Ubuntu 14.04.:
Sample

Don't know if this is relevant at all but here it is:
java version "1.7.0_75"
OpenJDK Runtime Environment (IcedTea 2.5.4) (7u75-2.5.4-1~trusty1)
OpenJDK 64-Bit Server VM (build 24.75-b04, mixed mode)

iii. Sporadic crashes (don't know if this is directly related to VRL-Studio but Java3D?):
See error log here:
https://www.stephangrein.de/files/vrl/hs_err_pid19260.log

If necessary I'll provide more detail.

Best,
Stephan

How to bump Java version to Java11 on Mac distribution of VRL-Studio?

Is there an easy way to patch my local VRL-Studio app (on OSX) to use Java 11, instead of Java8?

I figure I need to update the run.sh script somehow, but not really sure how to?

With run.sh script I mean this file

$ pwd
/Applications/VRL-Studio.app/Contents/MacOS
$ ls -la
total 128
drwxr-xr-x@ 4 alexander.poulikakos  staff    128 Oct 31  2018 .
drwxr-xr-x@ 6 alexander.poulikakos  staff    192 Oct 31  2018 ..
-rwxr-xr-x@ 1 alexander.poulikakos  staff  59120 Oct 31  2018 JavaApplicationStub
-rwxr-xr-x@ 1 alexander.poulikakos  staff   2709 Nov 22 18:16 run.sh 

and I probably need to switch out this folder:
/Applications/VRL-Studio.app/Contents/Resources/.application/jre/x64
with Java11 runtime

JVM crashes when using JFXPanel inside VRL plugin

Adding a JFXPanel to the canvasParent Container crashes the JVM:

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007fc2380356cd, pid=24414[thread 140470926698240 also had an error], tid=140470895224576
#
# JRE version: Java(TM) SE Runtime Environment (8.0_45-b14) (build 1.8.0_45-b14)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.45-b02 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# V  [libjvm.so+0x89d6cd]  Method::build_method_counters(Method*, Thread*)+0x2d
#
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /home/miho/software/VRL-Studio-experimental/VRL-Studio/.application/hs_err_pid24414.log
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.java.com/bugreport/crash.jsp
#
./run: Zeile 161: 24414 Abgebrochen             (Speicherabzug geschrieben) $JAVAEXE -Xms64m -Xmx1024m -XX:MaxPermSize=256m -splash:resources/studio-resources/splashscreen.png -Djava.library.path="$LIBDIR" -jar VRL-Studio.jar $CONF "$FILE"

Loss of code editor scrollability after saving or compiling

When editing a piece of code that requires the code editor in VRL-Studio to have scrollbars, clicking the compile button or saving the project leads to deletion of all open windows in certain situations (I am not sure in which - possibly has something to do with interdependences between several groovy-implemented classes). These windows are then reloaded automatically. In the process, however, they loose their scrollbars and at the same time their scrollability. (Both can be recovered by resizing the code editor window.)

Cannot open code editor on Windows

On Windows 10 as well as 7 there is a problem with the code editor. In certain situations users cannot open the editor window. The (c), i.e. (code) icon never works. But sometimes even the Manage Components window fails to work properly.

Java's ServiceLoader mechanism is not working when used from inside a VRL-Studio plugin.

Dear @miho

I have made a VRL plugin that uses third party libraries, where some of the third party libraries uses/depends on Java's ServiceLoader mechanism. After installing the plugin in VRL-Studio, when using one of the components the ServiceLoader fails to find expected services. In my particular case it cannot find SLF4J providers, even though a provider is in the plugin jar.

I have create a simple plugin project here, that can be used to show the problem.

Steps to reproduce the problem, using above simple plugin:

  1. Build the vrl-plugin.jar, following the README here.

  2. Install the vrl-plugin.jar plugin in VRL-Studio by pointing out the .jar image

  3. Restart VRL-Studio

  4. Create a new project
    image

  5. Select the plugin (named: ServiceLoader-TEST) for the project
    image

image

  1. Save project:
    image

  2. From Manage components window drag and drop the MyComponent component into canvas and invoke the findService() method.
    image
    Note the log message in the log. I'm expecting to see this in the log window:

**************** SERVICE FOUND!!!
******************* num services found: 1

To verify that the expected service is included within the plugin .jar you can run this from command line:

$ java -cp vrl-pugin.jar vrl.service.Main

with output:

******* Instantiated: MyComponent
**************** SERVICE FOUND!!!
******************* num services found: 1

Are there any workarounds for this problem? Or am I doing anything wrong?

Special characters in groovy code causing some trouble

a) When you write new Groovy code from within VRL-Studio and the code contains special characters in a comment (or in a string) and then hit compile, the code will compile successfully.
An object of the compiled class can be instantiated by selecting it in the "Manage Components" window. However, the "Compile" button in the code window does not change to be a "Create Instance" button as it usually will.

b) The code will work however. Even though in strings, "ä" becomes "√§" in the output and so on. Clearly some encoding-related issue.

Don't know whether b) needs fixing. a) probably does.

How can I make my own type representation?

Are there any good examples I can follow?

For example I'd like to:

  • add a type representation for an Enum. With preferable a drop down to choose from the existing enum values
  • add a list of Strings.

Just to name a few.

GLG2D graphics engine

We should add a property ui entry for the experimental opengl based glg2d graphics engine.

Is it possible to copy/paste a component?

Let's say I have a component on canvas. I have added about 10 method calls. Now I'd like to copy/paste this component so I have two instance of this component with the same 10 method calls. Is there a way to achieve this?
I'd like to alter the input arguments, so they differ between the two instances.

Or do I need to create a new instance of the component and manually add those 10 method calls again?

Build errors when building from source

I want to build VRL-STUDIO from source. Following the How To Build steps in the README.

I have downloaded Apache NetBeans IDE version 12.2 (First time I'm using this IDE so I might be missing something simple...).

It fails when building VRL library. Seems to not find some dependencies? How to fix?

...
Compiling 1081 source files to /Users/alexanderpoulikakos/git/VRL/VRL/build/classes
/Users/alexanderpoulikakos/git/VRL/VRL/src/eu/mihosoft/vrl/v3d/VGeometry3D.java:63: error: package javafx.scene.paint does not exist
import javafx.scene.paint.PhongMaterial;
/Users/alexanderpoulikakos/git/VRL/VRL/src/eu/mihosoft/vrl/v3d/VTriangleArray.java:62: error: package javafx.scene.shape does not exist
import javafx.scene.shape.TriangleMesh;
...

See full log/Output here: https://gist.github.com/alexander-poulikakos/550fc7f44abe189c5a91b913c0916720

image

Incomplete removal of components written in VRL-Studio

Define a new class via right-click on canvas: "New Groovy Code" and adding a nested class to it, like this:

@ComponentInfo(name="MyClass", category="Custom")
public class MyClass implements java.io.Serializable
{
    private static final long serialVersionUID=1L;
    public class MyNestedClass{};
}

Then compile it and right-click: delete it again in the component manager.

Take a look inside the VRL project file that you did this in: The "MyClass.class" file is correctly deleted, however, "MyClass$MyNestedClass.class" is not.

Possibility for sticky notes on canvas?

When using VRL Studio, I often feel the need to somehow document what I have created on the canvas in a way that anyone opening my project can see this documentation right away (which could hopefully lead to a better understanding of the components used in a workflow).
Is there a way to do this?
I have this idea in my mind where one could create something like these little yellow sticky notes on the canvas that you would be able to write comments (or todos or whatever) onto. Could this be done?

NPE in JEditorPane.registerEditorKitForContentType

error while loading resources in JEditorPane can only
be prevented by manually defining a context classloader

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at java.util.Hashtable.put(Hashtable.java:459)
at javax.swing.JEditorPane.registerEditorKitForContentType(JEditorPane.java:1247)
at javax.swing.JEditorPane.registerEditorKitForContentType(JEditorPane.java:1229)
at javax.swing.JEditorPane.loadDefaultKitsIfNecessary(JEditorPane.java:1307)
at javax.swing.JEditorPane.getKitTypeRegistry(JEditorPane.java:1264)
at javax.swing.JEditorPane.getEditorKitClassNameForContentType(JEditorPane.java:1260)
at javax.swing.JTextPane.<init>(JTextPane.java:94)
at eu.mihosoft.vrl.visual.MessageBox.<init>(MessageBox.java:143)

see http://lists.apple.com/archives/java-dev/2009/Dec/msg00074.html

Improve OS X application bundle

Affected Version:

  • VRL-Studio >= 4.5.X
  • OS: Mac OS >= 10.6

Problem:

If the user drops a file on the VRL-Studio icon the application does start but VRL-Studio does not open the project. IF VRL-Studio has been opened previously then droping files on the application icon works as expected.

Technical Reason:

VRL-Studio currently uses a combination of JavaApplicationStub and a run.sh script for launching the application. This is due to limitations in LSEnvironment/Info.plist that does not allow relative library paths or paths that depend on other environment variables such as $HOME. The run.sh script cannot forward the dock/d&d events to JavaApplicationStub

Enhancement:

Implement a better launcher/application bundle that allows for custom environment variables and listenes to all dock/d&d events.

Using your tool for microservices (or any other specific space) templating

Hi Michael,

code generation was always the way I liked to go. Never did something like you I mean the visual way, but I am watching your work for longer period of time, amazing stuff so far! :-) Similar approach within data integration space is adopted by companies like Oracle or Talend where they generate code from XML or Javajets + XML/other format config data. It is always only visual to code. I personally work with tools like Velocity and FreeMarker.

I am working in the moment on micro-services implementation where we go with some limited patterns of REST APIs to be developed which talk to Oracle/Postgres db engine.

I already have common model of artifacts used in the project (field names, mapping to db tables/fields, service names, entity names, dto names, descriptions of all pieces, etc... ) simply everything I need for generation the code. I make config of specific service pattern and apply it over defined/available templates via Apache Freemarker to generate required service layer classes. I started with classic example of pure CRUD REST API service generation and it consists for example of following classes:

  • Templates are completed
    o Controller
    o Service implementation
    o Service Integration tests
    o Service interface
  • We don’t have a mature code to make a template
    o Controller integration tests
    o Controller unit tests
    o Entity to dto mapper integration tests
    o Service unit tests
  • We have the code and we need to parametrize the template
    o Database mapper integration tests
    o Database mapper interface
    o Database mapper xml
    o Entity composed key
    o Entity to DTO mapper unit tests
    o Entity to DTO mapper implementation

We have to develop swarm (over 1000 - I expect max up to 10 patterns to exist) services, so I am looking how to speed-up this process. As you can see we don't have mature code yet for some of the artifacts.

The question I have are:

  1. Do you think it might be good idea to try to use your solution to extend it for specific use? I mean I will need to support every single TYPE of class within the list to work with. In general this is complete list. The services only differ in the way if they do pure CRUD over data or if they implement specific custom business behavior, which is just another method over controller, etc..
  2. I need to include complete custom imports (more or less static constants), annotations, etc. The usage I am looking for is more or less following.
    A - Either to fuse your IDE with my service details database and when I prototype something in your IDE it will first create not a pure class, but FreeMarker artefact, and to produce the real class it will get dynamic data (class name, method names, annotations parameters, etc....) on the fly from my database
    B - Or to use your IDE to generate directly specific type of class in source code form (service controler, implementation), but with ability to mark specific parts of class as dynamic, so I can get prototype service on the fly while doing this, but later when I am happy I will also generate the FreeMarker template out that.

Not sure if all here described is clear to read, but I am free to discuss. In general the idea is to use your ide for not only general, but to specific purpose. Now I am interested in generation of microservice-layer. Next time I will be doing GUI design. So I am interested in independent/universal way about how to utilize this for specific purpose.

I see this could be implemented as some kind of plugin system into your studio, but not sure where to look into or how to take it in proper way.

Thank you for your open work, again good stuff!

Ladislav

VRL-Studio crashes sometimes on Mac BigSur (macOS 11.4)

I have recently upgraded to Mac BigSur (macOS 11.4) and after that VRL-Studio sometimes crashes at start up. I see the splash screen for a second or two, then it crashes.

When it crashes, it generates this error log (in folder: /Applications/VRL-Studio.app/Contents/Resources/.application). I was not able to figure out the problem from the log, but maybe someone else can? Are there any other logs to check?
hs_err_pid89621.log

Build errors when building from source on Windows

I use:
Netbeans 8.2 RC
Windows 10

My first problem was in VRL library:

...
Compiling 1081 source files to C:\Users\alex\git\git\VRL\VRL\build\classes
javac: invalid flag: Files\Java\jdk1.8.0_261\jre/lib/ext/:jars/j3dcore.jar:jars/j3dutils.jar:jars/jogl.jar:jars/vecmath.jar:jars/gluegen-rt.jar:jars/groovy-all.jar
Usage: javac <options> <source files>
use -help for a list of possible options
C:\Users\alex\git\git\VRL\VRL\nbproject\build-impl.xml:930: The following error occurred while executing this line:
C:\Users\alex\git\git\VRL\VRL\nbproject\build-impl.xml:270: Compile failed; see the compiler error output for details.
BUILD FAILED (total time: 13 seconds)

Seems the problem is that something does not like spaces in the file path (C:\Program Files\Java\jdk1.8.0_261\jre/lib/ext/).
So changed the path here (removed space and and moved jdk to this folder):
image
Now VRL library compiles :)

NEXT:

VRL-Studio does not compile. I get this error message:

JRE for Linux-x64 defined: copy to application-bundle
C:\Users\alex\git\git\VRL-Studio\VRL-Studio\build.xml:279: C:\Users\miho\Documents\VRL-Studio-Deployment\VRL-Deployment\jre\linux\x64 does not exist.
BUILD FAILED (total time: 13 seconds)

Full log: https://gist.github.com/drapostolos/5130a747bf25d1bf08081fd7e22c373a

How to fix this?

"Install Plugin" dialog does not remember recently used folder

Affected Versions

  • OS: all
  • VRL-Studio: 0.4.3.5.x

Problem:

The "Install Plugin" dialog does not remember recently used folder (always shows user.home folder)

Enhancement:

Read the recently used folder(s) from configuration or use FileDialogManager class

OSX 10.10 Yosemite

Dear Michael,

somehow a student encountered the following problem in VRL-Studio on OSX 10.10 (Yosemite):

Control-Right-Click won't open the Component menu within VRL-Studio.
I'm not sure how this can happen (or how he reached this point).

VRL - Studio 0.4.5.7
(using VRL 0.4.3.0.2, build: 2015/11/05 13:13:30)

and

java version "1.6.0_65"
Java(TM) SE Runtime Environment (build 1.6.0_65-b14-468-11M4833)
Java HotSpot(TM) 64-Bit Server VM (build 20.65-b04-468, mixed mode)

I think wiping out the VRL-Studio directory ~/.vrl/ should resolve this issue.
Also, using the latest VRL-Studio version from the Website works (for me),
if I do a clean installation.

I'm not sure how this issue could evolve... as the initial installation worked.
Maybe this is of interest.

Best,
Stephan

Manage Components

Dear Michael,

I wouldn't consider this as a bug in the classical sense, but I think the user-experience could be improved by the enhancement.

I would consider to have an "auto-focus" when clicking on Manage Components for the Search textfield, i. e. for now one needs to click on the Search textfield, but it's obvious that the focus could be automatically for the Search textfield, since one can immediately start typing.

Note: I'm on >= VRL-Studio 0.4.5.6 HEAD.

Best,
Stephan

Classes that reference other project classes via code throw Exception

Loading a project that contains classes which reference other project classes directly and not via a common interface defined elsewhere (e.g. plugin) might throw ClassNotFound or NoClassDefFound exceptions at runtime.

Referencing other classes without a common interface in a self-updating process can be complex and difficult to resolve. Nevertheless, it should at least work for simple cases.

Dislocated notification object

I have not been able to find out when exactly this happens, but as it has occurred several times now, I decided to report it:

The object at the bottom of the canvas, that displays if there are any notifications, sometimes gets dislocated like in the screenshot below.

scrsht

Is it possible to loop over components?

Let's say I have the following component, with 3 methods.
image
where method m2(int) takes an integer argument.

Now I want to run this component 3 times, with the values 1, 5, 10 given as argument to m2(int). It can look like this:
image

However, I would like to avoid duplicating the component and put it in a loop instead where the m2(int) is fed with the three different values. Is that possible? Are there any tricks to achieve this? Can there be a general way of doing it, that can be applied to any components, or a chain of multiple components?

In my real world situation the number of iterations would be more than 3 and number of methods on the component can be arbitrary.

Would it be possible to auto generate a console app from a .vrlp file?

Here is what I want to do:
I have X number of .vrlp files (each is a runnable VRL project). I would like to create a mechanism (in Java), that executes all the *.vrlp files one by one.

Today, I can manually generate a console app for each project, using the VRL-Studio App, save the console apps and use above mechanism to execute each console app one by one from command line. However, I would like to eliminate the manual step of creating the console app. Especially if there are many .vrlp files.

Would it be possible, somehow to generate the console app from a .vrlp file? In a similar way as the VRL-Studio does it? For Example I have a java project with 'eu.mihosoft.vrl:vrl:0.4.4.0.3' in its classpath and I have access to any plugin .jars used by my .vrlp projects. What else is needed to generate the console app?

Regards,
Alex

How to pass/access command line args in a VRL console App?

I have exported my VRL studio project to a console app (File->Development->Export Project as Console App). Inside the generated .zip there is a runner script (run.sh) that I can call to run the program:

./run.sh

the last line of the runner script indicates I can pass command line arguments to my app.

$JAVAEXE -Xms256m -Xmx4096m -Djava.library.path="$LIBDIR" -jar "$PROJECT_FILE" $CONF --console-app-args $@

something like this

./run.sh -arg1 value1 -arg2 value2

I assume the args are passed to the main method of VRL. How can I access those console args from my VRL project?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.