This repository contains all java related sources of the Dolphin Platform.

Overview

Dolphin Platform Travis Build Maven Central Slack chat

This repository contains all Java related sources of the Dolphin Platform. Clients for other languages can be found in seperate repositories (JavaScript, AngularJS, Polymer and Android).

If you have any questions or comments about Dolphin Platform you can join our community chat at Slack.

Dolphin Platform Logo

The Dolphin Platform is a framework that implements the presentation model pattern and provides a modern way to create enterprise applications. The Platform provides several client implementations that all can be used in combination with a general sever API.

By doing so you can create enterprise application with a single server and several desktop, web and mobile client implementations. Here the Dolphin Platforms define a mechanism to automatically snchronize models between the server and the client.

For more information read the documentation of the Dolphin Platform.

How to use it

You can simply integrate Dolphin Platform in a Spring based application. To do so you only need to add our Spring plugin:

<dependency>
    <groupId>com.canoo.dolphin-platform</groupId>
    <artifactId>dolphin-platform-server-spring</artifactId>
    <version>1.0.0.CR5</version>
</dependency>

Next to Spring we provide support for JavaEE. To do so you only need to add our JavaEE plugin:

<dependency>
    <groupId>com.canoo.dolphin-platform</groupId>
    <artifactId>dolphin-platform-server-javaee</artifactId>
    <version>1.0.0.CR5</version>
</dependency>

For a JavaFX based client you need to add the following dependency:

<dependency>
    <groupId>com.canoo.dolphin-platform</groupId>
    <artifactId>dolphin-platform-client-javafx</artifactId>
    <version>1.0.0.CR5</version>
</dependency>

Next to JavaFX you can use Dolphin Platform in any web client. You can find additonal information in the readme of the client libraries: (JavaScript, Polymer or Android)

In addition you can use our Maven archetype to create a complete server-client-project based on Dolphin Platform. If you want to create your new project from command line by using an archetype you can simply call this Maven command and select one of the shown Dolphin Platform archetypes:

mvn archetype:generate -Dfilter=com.canoo.dolphin-platform:

Currently the projects contains only a JavaFX based client but it’s planned to add a Polymer based client to the archetypes with the next release.

A complete "Getting started" documentation can be found here.

Useful links

The following GitHub repositories provides additional sources for the Dolphin Platform

🆕 🐥 🐶 First Timers Support

At Canoo we ❤️ open source. Based on this we develop the complete Dolphin Platform framework as an open source project. If you are new to open source development we have some specific issues for you. Just have a look at all issues with the 'good first issue' label. This issues are reserved for people who never contributed to Open Source before. We know that the process of creating a pull request is the biggest barrier for new contributors. This issues are for you 💝 We use such issues for example to get involved at Hacktoberfest. If you want to know more about open source development and contribution in general you should have a look at this overview.

License

The project is released as open source under the Apache License Version 2.0



About Canoo

Comments
  • dolphin-platform-date-time-converter converting from LocalDate to tiny blob instead of date-time by design?

    dolphin-platform-date-time-converter converting from LocalDate to tiny blob instead of date-time by design?

    b6 I've been trying to bind client side javaFx TableColumn<MyModel,LocalDate> column to a presentation model's Property, this led me to defining LocalDate entity attributes to bind to the presentation Model on the server side controller. since DP 0.9.0 does not use Hibernate 5.1 (and later), I needed to define my own custom AttributeConverter<java.time.LocalDate, java.sql.Date> implementation. When I did this without success, someone advised me to delete my own converter implementation and import dolphin-platform-date-time-converter.... when I did this: I first got the following error: Caused by: org.hibernate.type.SerializationException: could not deserialize at org.hibernate.internal.util.SerializationHelper.doDeserialize(SerializationHelper.java:262) ~[hibernate-core-4.3.11.Final.jar:4.3.11.Final] at org.hibernate.internal.util.SerializationHelper.deserialize(SerializationHelper.java:306) ~[hibernate-core-4.3.11.Final.jar:4.3.11.Final]

    This suggested unusual database structure [remember that originally I had a data table in the database with datefields of data type datetime..... now it wasn't being serialized successfully with that of the new datastructure resulting from the imported date converter dependency. So I decided to delete my original table and restart the server. hmmmm.... see what I got for my new table:

    Not A Bug Question Community-Issue 
    opened by jermsam 25
  • Define a parent-child-relationship between controllers

    Define a parent-child-relationship between controllers

    At the moment all controllers are managed objects in the server and do not know anything from each other. But sometimes you have master-detail or parent-child constellations where it would make sense to add the functionality to access a child or parent controller.

    Customer-Issue Version 1 
    opened by hendrikebbers 25
  • Challenged with Starting An OpenDolphin 0.9.0 Project that Uses SpringBoot at the Serverside and JavaFX for the client combined.

    Challenged with Starting An OpenDolphin 0.9.0 Project that Uses SpringBoot at the Serverside and JavaFX for the client combined.

    My challenge is with jumpstarting a dolphin project. Each of the options I try does so with various errors that I find hard to debug. For that reason, I decided to follow a link that Mr. Hendrick Ebbers [the one who advised me to try dolphins for my needs] gave me.(https://github.com/canoo/dolphin-platform). When i follow that, I am left with only 12 errors as you can see in the attached photo. I tried manuaally including all the dependencies that are reported missing but still it did not solve all errors. [The error of "missing artifact com.canoo.dolphin-platform:dolphin-platform-client-javafx:0.9.0" persisted. It's now coming to 3 days when I am trying to get a solution to this challenge so that i can learn this awesome platform but I am not getting anywhere. Tried the "archetype" approach from https://www.youtube.com/watch?v=e0vdf0coNuc and http://www.guigarage.com/2015/12/dolphin-platform-jumpstart/. Watched the different JavaOne Talks At JavaOne posted on You tube, followed the documentations (http://open-dolphin.org/download/guide/guide/howto.html and tried searching in various blogs and forums available online) but in vain. I will be more than grateful for your help. Thanks. Best Regards, Samson Ssali, JITPOMI.INC dolphinerror

    Community-Issue 
    opened by jermsam 22
  • Dolphin-Controller Polymer 2 componente do not update all model parts

    Dolphin-Controller Polymer 2 componente do not update all model parts

    In a sample I checked the update behaviour of models in the new polymer component and found some cases in that model updates do not trigger polymer. Based on that the view is not updated.

    Type: Bug Component: Polymer Client BLOCKER Customer-Issue Community-Issue Version 1 Version 1 Review 
    opened by hendrikebbers 20
  • Presentation Model Garbage Collection

    Presentation Model Garbage Collection

    A first version of a garbage collection for presentation models. The new package that contains the gc isn't referenced in the sources and this request is done for a public review of the gc.

    This package contains a first garbage collection implementation for the Dolphin Platform model. As defined by @DolphinModel and @DolphinBean each Dolphin Platform model is a hierarchy of several Dolphin Platform beans. All the beans will automatically be synchronized between server and client. To do so the remoting layer holds a representation of each Dolphin Platform Bean. When the server controller removes a bean out of the hierarchy the garbage collection should notice this and automatically remove the bean representation from the remoting layer. By doing so the bean will automatically be deleted on the client. How a bean can be created and removed is defined by the BeanManager. By using the garbage collection an application developer doesn't need to call BeanManager.remove(...) anymore. The current version of the garbage collections don't allow cycles in references.

    Some information how the current implementation is working: The GarbageCollection class is the central point of this implementation. The class provides some methods that must called by the platform whenever a change in the beans has been done:

    • onBeanCreated(...) must be called for each new bean
    • onPropertyValueChanged(...) must be called whenever the internal value of a Property changes
    • onAddedToList(...)must be called whenever a new item was added to an ObservableList
    • onRemovedFromList(...)must be called whenever a item was removed from an ObservableList

    This methods can simply be called be the BeanManager, the PropertyImpl and the ObservableArrayList. Whenever any of the methods is called the gc checks if the modified bean is still referenced by a root bean (the model of a MVC group). This is internally done by reference counting. If the bean isn't referenced anymore it will be added to a "toRemove" list. It will be removed from this list if it will be referenced again.

    Whenever the gc() method of the garbage collection is called all the presentation models that are in the "toRemove" list will be removed. The plan is to call this method at the end of each server cycle. This means that whenever a command was handled on the server the server will remove unreferenced beans from the presentation model.

    Review on Reviewable

    Type: Feature Component: Server 
    opened by hendrikebbers 20
  • Setup gradle build

    Setup gradle build

    The gradle build provides the same behavior as the Maven build, plus:

    • attach LICENSE file to JARs
    • generate javadoc jar
    • additional build metadata in JAR manifest
    • aggregate JaCoCo coverage report
    • Bintray publishing

    It also paves the way to integrate the fork of OpenDolphin


    This change is Reviewable

    opened by aalmiray 19
  • Action exception handling on the server

    Action exception handling on the server

    This PR provides Action exception handling on the server. The idea is based on several approaches that JBOSS uses in the JBoss JavaEE APIs (see https://svn.apache.org/repos/infra/websites/production/deltaspike/content/retired/exceptions.html).


    This change is Reviewable

    Type: Feature Component: Remoting Server Version 1 Version 1 Review 
    opened by hendrikebbers 17
  • WIP: Remove EmptyCommand class.

    WIP: Remove EmptyCommand class.

    In response to issue #598.

    I removed the EmptyCommand class and references to it. This included removing the EmptyCommandEncoder class. In the tests for dolphin-platform-remoting-client, I swapped references to EmptyCommand with ChangedValueCommand. As such, it passes all tests using

    ./gradlew :dolphin-platform-remoting-client:test

    without having to change the entire structure of the test files.


    This change is Reviewable

    opened by h93xV2 16
  • Dolphin Platform Server Refactoring

    Dolphin Platform Server Refactoring

    • Adds MBean support to the Server: All Dolphin sessions and controllers are provided as MBeans
    • Adds a Dolphin session lifecycle listener (see DolphinListener and DolphinSessionListener)
    • Clients deregister / destroy all controllers on disconnect (logic moved to server)
    • In Spring and JavaEE all beans will be removed when a Dolphin Session will be destroyed
    • All Dolphin Session instances are stored in a HTTP session. By doing so they will automatically be destroyed when a http session invalidated
    • DolphinPlatformBoostrap is the only class that is defined as a singleton (but I think we can't avoid this)
    • Added some tests for the server components

    This change is Reviewable

    Type: Feature Component: Server 
    opened by hendrikebbers 16
  • Challenged In Making A Master-Detail Application

    Challenged In Making A Master-Detail Application

    Hello.

    I am doing a master-detail kind of application. To test how I am going to go about it, I have started with 3 simple views.

    1. Table.fxml : showing a list of topics and their description. [This I have successfully done.] as you can see: tablefxml
    2. Form.fxm: does the CRUD operations on the Topics data. [This also I have successfully done as a stand alone] as you can see: formfxml
    3. Main.fxml: Is supposed to house both Table.fxml and Form.fxml. As shown in the figure below: masterfxml

    I have defined TopicViewBean.java like this:

    ` @DolphinBean public class TopicViewBean { private Property bean;

     public Property<TopicBean> beanProperty() {
            return bean;
        }
    
        public TopicBean getBean() {
            return bean.get();
        }
    
        public void setBean(TopicBean bean) {
            this.bean.set(bean);
        }
    
    private Property<TopicListBean> listBean;
    
     public Property<TopicListBean> listBeanProperty() {
            return listBean;
        }
    
        public TopicListBean getListBean() {
            return listBean.get();
        }
    
        public void setListBean(TopicListBean listBean) {
            this.listBean.set(listBean);
        }
    

    }

    My challenge is with defining TopicBinder.java and TopicController.java to ensure that the Table part and the Form part of my MainView work as they did when they where still standing alone. Here is my TopicView.fxml: <fx:include fx:id="table" source="TableView.fxml" /> <fx:include fx:id="form" source="FormView.fxml" /> ` Thank you.

    Community-Issue 
    opened by jermsam 15
  • Handle session timeout on client and server

    Handle session timeout on client and server

    SessionTimeout can be configured in dolphin.properties on the server ClientCOntext provides error handler for the remoting layer. Based on the exception type a client can check if the error is based on session timeout, bad response, etc.


    This change is Reviewable

    Type: Feature Component: Java Client Component: Server 
    opened by hendrikebbers 15
  • Improve GRADLE build Performance

    Improve GRADLE build Performance

    Compiler daemon. The Gradle Java plugin allows you to run the compiler as a separate process by setting options.fork = true. This feature can lead to much less garbage collection and make Gradle’s infrastructure faster. This project has more than 1000 source files. We can consider enabling this feature.

    Incremental compilation. Gradle recompile only the classes that were affected by a change. This feature is the default since Gradle 4.10. For an older versions, we can activate it by setting options.incremental = true.

    ===================== If there are any inappropriate modifications in this PR, please give me a reply and I will change them.

    opened by shisheng-1 0
  • dolphinPlatform.servletMapping not working

    dolphinPlatform.servletMapping not working

    Hi! Thanks for adding a pull request for Dolphin Platform :) Please add a short description that explains the changes of your pull request. We try to review your pull request as fast as possible.

    dolphinPlatform.servletMapping not working

    opened by shivamk01 0
  • dolphin platform http client with spring webflux

    dolphin platform http client with spring webflux

    hi, i have 2 questions

    1. with spring webflux how to deserialize Flux or Mono in dolphin javafx client (an exception is appear when try to deserialize objects in collections (Flux, List, .....) : Exception in thread "pool-1-thread-1" java.lang.ClassCastException: com.google.gson.internal.LinkedTreeMap cannot be cast to xxxx

    2. how to close dolphin platform http client sever (context) or how to implements events likes (startup, shutdown,....) to performe the usage of this dolphin platform

    opened by halimpuckjava 0
  • AngularJS Integration [cant execute controller methods]

    AngularJS Integration [cant execute controller methods]

    Hi guys,

    Greetings! Im having an issue on setting up angular JS. I already added the dependencies and there's notification on browser that opendolphin successfully executed.

    However, there was no response on the html side when attempting to execute the methods in controller. My initial thought that when someone click on button that bound to execute angular method, it should run the method on the server side and display some output on the console.

    I have attached sources that I used for testing. angularjs_and_javaee.zip

    I shall appreciate for any help to guide me on this process.

    Thanks, Mark

    opened by ghostidentity 0
  • Distributed Eventbus Event handling exception

    Distributed Eventbus Event handling exception

    ERROR com.hazelcast.client.spi.ClientListenerService - hz.client_0_xyz.event-7 caught an exception while processing task:com.hazelcast.client.spi.impl.listener.ClientListenerServiceImpl$ClientEventProcessor@10b9f532 java.lang.RuntimeException: Internal Error! No session id defined for event bus listener! at com.canoo.dp.impl.server.event.AbstractEventBus.triggerEventHandling(AbstractEventBus.java:150) at com.canoo.dp.impl.server.event.DistributedEventBus$3.onMessage(DistributedEventBus.java:108) at com.hazelcast.client.proxy.ClientTopicProxy$TopicItemHandler.handle(ClientTopicProxy.java:85) at com.hazelcast.client.impl.protocol.codec.TopicAddMessageListenerCodec$AbstractEventHandler.handle(TopicAddMessageListenerCodec.java:126) at com.hazelcast.client.proxy.ClientTopicProxy$TopicItemHandler.handle(ClientTopicProxy.java:70) at com.hazelcast.client.spi.impl.listener.ClientListenerServiceImpl$ClientEventProcessor.run(ClientListenerServiceImpl.java:112) at com.hazelcast.util.executor.StripedExecutor$Worker.process(StripedExecutor.java:187) at com.hazelcast.util.executor.StripedExecutor$Worker.run(StripedExecutor.java:171)

    This exception appears in our logs several times in a row.

    Type: Bug Component: EventBus Customer-Issue 
    opened by blackdrag 3
  • dolphinPlatform.servletMapping not working

    dolphinPlatform.servletMapping not working

    🆕🐥:dog: First Timers Only

    This issue is reserved for people who never contributed to Open Source before. We know that the process of creating a pull request is the biggest barrier for new contributors. This issue is for you 💝

    :space_invader: Description of the issue

    Defining a Spring boot server with the following property in application.properties: dolphinPlatform.servletMapping=/remoting

    Defining a JavaFX client that extends DolphinPlatformApplication and define getURL() as: http://localhost:8080/remoting

    The app won't run. The client showsconnection is broken as error.

    By removing the property on the server and defining the url on the client as http://localhost:8080/dolphin everything works fine

    📋 Step by Step

    • 🙋 Claim this issue: Comment below.
    • 🔄 replace the up for grabs label with in progress.
    • :fork_and_knife: fork the repository in github by simply clicking the 'fork' button.
    • :arrow_heading_down: check out the forked repository
    • :twisted_rightwards_arrows: create a feature branch for the issue. We do not have any naming definition for branches.
    • 💾 Commit your changes.
    • 🔀 Start a Pull Request.
    • 🏁 Done 👍 Ask in comments for a review :)
    • 🔬 If the reviewer find some missing peaces or a problem he will start a discussion with you and describe the next steps how the problem can be solved.
    • :boom: you did it! We will merge the fix in the master of the Dolphin Platform project.
    • :bouquet: Thanks, thanks, thanks for being part as an open source contributor for Dolphin Platform

    🤔❓ Questions

    You can join our community chat at Slack

    Type: Bug Community-Issue good first issue Hacktoberfest 
    opened by hendrikebbers 2
Releases(1.0.0.CR5)
  • 1.0.0.CR5(Mar 23, 2018)

    • Angular Client now calls unsubscribe from BeanManager(https://github.com/canoo/dolphin-platform/issues/845)
    • Support for passwords with special characters added(https://github.com/canoo/dolphin-platform/issues/856)
    • Security added to JavaScript core library(https://github.com/canoo/dolphin-platform/issues/883)
    • The Keycloak access token is refreshed after a period of time(https://github.com/canoo/dolphin-platform/issues/860)
    • The specific platform HTTP headers now start with "X-" for better support(https://github.com/canoo/dolphin-platform/issues/846)
    • Setup for Keycloak example fixed(https://github.com/canoo/dolphin-platform/issues/833)
    • URLTemplate added(https://github.com/canoo/dolphin-platform/issues/873)
    • Added support for controllers without model(https://github.com/canoo/dolphin-platform/issues/803)
    • JavaScript core library API updated(https://github.com/canoo/dolphin-platform/issues/591)
    • Web Worker support added to the JavaScript core library(https://github.com/canoo/dolphin-platform/issues/825)
    • HTTP client added to the JavaScript core library(https://github.com/canoo/dolphin-platform/issues/609)
    • Build updated for the JavaScript core library(https://github.com/canoo/dolphin-platform/issues/619)
    • CVE-2018-7651 fixed in JavaScript core library(https://github.com/canoo/dolphin-platform/issues/870)
    • More tests added to the JavaScript core library(https://github.com/canoo/dolphin-platform/issues/867, https://github.com/canoo/dolphin-platform/issues/868, https://github.com/canoo/dolphin-platform/issues/869)
    • JavaScript core library and clients now use a fixed version for dependencies(https://github.com/canoo/dolphin-platform/issues/854)
    • No more use of "bower install --force-latest" in the build(https://github.com/canoo/dolphin-platform/issues/855)
    • Spring Boot archetype updated(https://github.com/canoo/dolphin-platform/issues/788)
    • Metrics API added
    • Generic CRUD support added
    Source code(tar.gz)
    Source code(zip)
  • 1.0.0.CR4(Feb 19, 2018)

    • Prepare release script
    • Fix dependencies in Bower & NPM(https://github.com/canoo/dolphin-platform/issues/796)
    • Polymer 2 "dolphin-controller" element is missing listener for lifecycle(https://github.com/canoo/dolphin-platform/issues/836)
    • Dolphin-Controller Polymer 2 componente do not update all model parts(https://github.com/canoo/dolphin-platform/issues/837)
    • Custom config supported
    • Provide W3C Server Timing support with default metrics(https://github.com/canoo/dolphin-platform/issues/841)
    • Provide Action exception handling on the server(https://github.com/canoo/dolphin-platform/issues/761)
    • ClientSessionExecutorImpl#callLaterinClientSession swallows Exceptions(https://github.com/canoo/dolphin-platform/issues/737)
    • Bugfix for security http connection
    • Docker services: Keycloak
    • 2 small extra modules that helps to handle data (like JPA)
    • Remote Validation
    • Add controller tests / integration tests that check controller hierarchy(https://github.com/canoo/dolphin-platform/issues/603)
    • Define security realm by client(https://github.com/canoo/dolphin-platform/issues/787)
    • Add version information to the console.log output(https://github.com/canoo/dolphin-platform/issues/817)
    • Print version of Dolphin Platform at boot time(https://github.com/canoo/dolphin-platform/issues/829)
    • Remoting security sample
    • Update all classes packages module names in doc
    • Configuration in test is not based on properties file(https://github.com/canoo/dolphin-platform/issues/407)
    • Version updates
    • Remoting component for server logging
    • Update all class names in documentation(https://github.com/canoo/dolphin-platform/issues/231)
    • Install & Call Bower directly from NPM
    • Dolphin Platform graphics added
    • Login endpoint on server
    • equals & hashCode for properties(https://github.com/canoo/dolphin-platform/issues/816)
    • Logging for Runtime exceptions in event listener(https://github.com/canoo/dolphin-platform/issues/806)
    • Configure javadoc task to copy resources(https://github.com/canoo/dolphin-platform/issues/299)
    • Define all dependency versions in gradle.properties(https://github.com/canoo/dolphin-platform/issues/517)
    • Rename dolphin public api to remoting prefix(https://github.com/canoo/dolphin-platform/issues/757)

    Release notes for 1.0.0.CR4

    Please be aware of API changes in this release. This changes will affect your Java and Polymer implementations.

    In the Java API the annotations for the platform changed to reflect the specific platform feature.

    Java API changes

    • DolphinController annotation was changed to RemotingController
    • DolphinModel annotation was changed to RemotingModel
    • DolphinEventBus annotation was changed to RemotingEventBus
    • DolphinAction annotation was changed to RemotingAction

    Polymer API changes

    In the Polymer API the custom element name was changed to reflect the specific platform feature.

    • <dolphin-controller> element was changed to <remoting-controller>
    Source code(tar.gz)
    Source code(zip)
  • 1.0.0CR3(Jan 10, 2018)

    • Class path base package uses a list property now(https://github.com/canoo/dolphin-platform/issues/538)
    • Common HTTP status codes added to HttpStatus(https://github.com/canoo/dolphin-platform/issues/695)
    • HttpClient updated to new API version(https://github.com/canoo/dolphin-platform/issues/717)
    • ModuleInitializationException will be thrown when event bus is configured but not in class path(https://github.com/canoo/dolphin-platform/issues/733)
    • ClientShutdownException removed(https://github.com/canoo/dolphin-platform/issues/765)
    • Google Guava removed(https://github.com/canoo/dolphin-platform/issues/772)
    • Date-time-converter moved to remoting-common(https://github.com/canoo/dolphin-platform/issues/781)
    • EventBus is not working in multiple sessions(https://github.com/canoo/dolphin-platform/issues/798)
    Source code(tar.gz)
    Source code(zip)
  • 1.0.0.CR2(Dec 21, 2017)

    • Security sample added(#782)
    • Removed default toolkit(#747)
    • ServerModule.getName() added(#742)
    • URI used instead of URL(#714)
    • Better exception for action handling(#462)
    • Error handling for converters(#756)
    • PlatformConfiguration.getProperty(String) added(#732)
    • ListIterator support for ObservableList(#29)
    • Hazelcast use SLF4J(#736)
    • Define action params as map(#759)
    • Better docker images for integration tests(#649)
    • Travis is running again(#557)
    • Unit tests support callLaterInClientSession(#751)
    • Update to Java 8 as default dependency(#741)
    • Java 8 workaround interfaces removed(#758)
    • Sample for lazy loading(#754)
    Source code(tar.gz)
    Source code(zip)
  • 1.0.0.CR1(Nov 7, 2017)

    Release date: Nov, 7 2017

    • Implement ObservableList modifications via sublist issue
    • Refactor the Eventbus public / private API to have a standardized version for DP & other frameworks issue
    • Make client configuration configurable in a file issue
    • Create Default API for logging issue
    • Add "getName()" method to Toolkit interface issue
    • PlatformClient.getServices method to get list of all service types issue
    • It must be able to deactivate a ServiceProvider issue
    Source code(tar.gz)
    Source code(zip)
  • 0.19.0(Oct 29, 2017)

    • Provide unit tests for ClientSessionStoreImpl issue
    • Polymer 2 client issue
    • Add support for @Digits bean validation annotation issue
    • Bugfix & unit tests for IdentitySet issue
    • Remove DolphinStage & DolphinWindow and provide functionality in DolphinWindowUtils issue
    • Provide unit tests for SimpleUrlToAppDomainConverter issue
    • Additional methods for ObservableList to add elements issue
    • Add support for @Max bean validation annotation issue
    • Add support for @Size bean validation annotation issue
    • Move Binding interface to common module issue
    • Move FXWrapper to com.canoo.platform.remoting.client.javafx issue
    • Add support for @Future bean validation annotation issue
    • Add support for @Min bean validation annotation issue
    • Add support for @Past bean validation annotation issue
    • Provide HTTP client in Dolphin Platform client API issue
    • Readme: Should link to the corresponding section for subprojects issue
    • Provide unit tests for SimpleDolphinPlatformThreadFactory issue
    • Replace FxmlLoadException with DolphinRuntimeException issue
    • Move DefaultBidirectionalConverter to impl issue
    • Provide additional unit tests for ReflectionHelper issue
    • Implement ObservableList.removeAll() and retainAll() issue
    • Use model store and connector directly issue
    • Move modules from extras to default folder issue
    • Create top level folder for all integration modules issue
    • Add controller integration tests for qualifier issue
    • Add Controller tests to Maven Archetype issue
    • Create CODE_OF_CONDUCT.md issue
    • Move ListEventSessionFilter to impl issue
    • @ParentController annotation is not working issue
    • Check if we can use new GSON version issue
    • Rename AbstractViewBinder to AbstractViewController issue
    • Move Converter and BidirectionalConverter of JavaFX client API to com.canoo.platform.remoting.client.javafx issue
    • Provide service pattern for client API issue
    • First version of security API issue
    Source code(tar.gz)
    Source code(zip)
  • 0.18.0(Aug 25, 2017)

    • Legacy code merged in remoting modules (https://github.com/canoo/dolphin-platform/issues/586[issue])
    • Tests for all param types added to ActionTestController (https://github.com/canoo/dolphin-platform/issues/563[issue])
    • New BlindCommandBatcher in JS (https://github.com/canoo/dolphin-platform/issues/594[issue])
    • Some default scope annotations for Spring (https://github.com/canoo/dolphin-platform/issues/597[issue])
    • Coding standards for JS (https://github.com/canoo/dolphin-platform/issues/593[issue])
    • Automatic upload of documentation (https://github.com/canoo/dolphin-platform/issues/527[issue])
    • Smaller commands in remoting layer (https://github.com/canoo/dolphin-platform/issues/585[issue])
    Source code(tar.gz)
    Source code(zip)
  • 0.17.0(Aug 10, 2017)

    Release date: Aug 10, 2017

    • EventBus can be injected before bootstrap is done (https://github.com/canoo/dolphin-platform/issues/577[issue])
    • RemotingContext can not be injected in controller tests (https://github.com/canoo/dolphin-platform/issues/572[issue])
    • Split of public and private API (https://github.com/canoo/dolphin-platform/pull/581[issue])
    • More session filters for event bus (https://github.com/canoo/dolphin-platform/pull/539[issue])
    • General support of the client session for Java clients (https://github.com/canoo/dolphin-platform/pull/579[issue])
    • Encoding problem in remoting layer for JavaEE (https://github.com/canoo/dolphin-platform/issues/559[issue])
    • provide RemotingContext.getClientSession() method (https://github.com/canoo/dolphin-platform/issues/552[issue])
    Source code(tar.gz)
    Source code(zip)
  • 0.16.0(Jul 12, 2017)

    • SPI name refactored for hazelcast config plugin (https://github.com/canoo/dolphin-platform/issues/553)
    • EventBus Proxy (https://github.com/canoo/dolphin-platform/issues/554)
    • Fix for bean params
    • Convert TypeScript code to ES6 (https://github.com/canoo/dolphin-platform/issues/520)
    • ClientContext provide isConnected() (https://github.com/canoo/dolphin-platform/issues/511)
    • Sending the old value with the ValueChangeEvent is now optional (https://github.com/canoo/dolphin-platform/issues/529)
    • Fix Error when calling an DolphinAction with null param value (https://github.com/canoo/dolphin-platform/issues/542)
    • Fix Error for sending UTF-8 chars as values (https://github.com/canoo/dolphin-platform/issues/540)
    • Fix NPE while publishing on Dolphin-EventBus without having a session (https://github.com/canoo/dolphin-platform/issues/534)
    Source code(tar.gz)
    Source code(zip)
  • 0.15.0(Jun 21, 2017)

    • Bugfix for eventbus session filtering (https://github.com/canoo/dolphin-platform/issues/523)
    • Remoting error handler for JS clients (https://github.com/canoo/dolphin-platform/issues/509)
    • Definition of public API (https://github.com/canoo/dolphin-platform/issues/508)
    • Support for multiple remoting error handlers (https://github.com/canoo/dolphin-platform/issues/510)
    • Parent-Child-Relationship (https://github.com/canoo/dolphin-platform/issues/382)
    • All old JS code is converted to ES6 (https://github.com/canoo/dolphin-platform/issues/496)
    • Better logging levels for remoting layer (https://github.com/canoo/dolphin-platform/issues/499)
    • Dolphin Platform core modules (https://github.com/canoo/dolphin-platform/issues/497)
    • Refactoring of connect and disconnect in JS (https://github.com/canoo/dolphin-platform/issues/443)
    Source code(tar.gz)
    Source code(zip)
  • 0.13.1(Jun 21, 2017)

  • 0.14.0(Jun 6, 2017)

    == Version 0.14.0 Release date: Jun 06, 2017

    • Updated to new Spring-Boot version (https://github.com/canoo/dolphin-platform/issues/28)
    • ClientId access on client side (https://github.com/canoo/dolphin-platform/issues/490)
    • Bugfix for platform tries to register mbeans even if mbean registration is set to false (https://github.com/canoo/dolphin-platform/issues/482)
    Source code(tar.gz)
    Source code(zip)
  • 0.13.0(May 17, 2017)

    • Better EventBus handling (https://github.com/canoo/dolphin-platform/issues/470)
    • Added sample application to demonstrate web deployement (https://github.com/canoo/dolphin-platform/issues/454)
    • BugFix for wrong method called from destroyController (https://github.com/canoo/dolphin-platform/issues/484)
    • BugFix for Controller Validation is wrong if method param has more than one Annotation (https://github.com/canoo/dolphin-platform/issues/463)
    • BugFix for ClientContextFactory should not connect automatically (https://github.com/canoo/dolphin-platform/issues/445)
    Source code(tar.gz)
    Source code(zip)
  • 0.8.17(Apr 27, 2017)

  • 0.8.16(Apr 21, 2017)

  • 0.8.15(Apr 21, 2017)

  • 0.12.0(Apr 18, 2017)

    • Removed deprecated methods in BeanManager (https://github.com/canoo/dolphin-platform/issues/453)
    • Changed Logging in remoting modules to SLF4J (https://github.com/canoo/dolphin-platform/issues/441)
    • Bugfix for spring wiring missing for DolphinSessionListener (https://github.com/canoo/dolphin-platform/issues/456)
    • Bugfix for JFX connection (https://github.com/canoo/dolphin-platform/pull/457)
    • Added feature to Better Connect/ Disconnect for JavaFX client API (https://github.com/canoo/dolphin-platform/issues/241)
    • Implementation of a easy reconnect functionality for JavaFX (https://github.com/canoo/dolphin-platform/issues/221)
    Source code(tar.gz)
    Source code(zip)
  • 0.11.0(Apr 4, 2017)

    • Java 8 date&time support for JavaScript (https://github.com/canoo/dolphin-platform/issues/411)
    • Gradle samples in documentation (https://github.com/canoo/dolphin-platform/issues/417)
    • Timezone support in JavaScript (https://github.com/canoo/dolphin-platform/issues/405)
    • IntelliJ Plugin to create getter & setter (https://github.com/canoo/dolphin-platform/issues/375)
    • Bugfix for onChange handling of number properties (https://github.com/canoo/dolphin-platform/pull/418)
    Source code(tar.gz)
    Source code(zip)
  • 0.10.0(Mar 21, 2017)

    • Server configuration can be injected as a bean (https://github.com/canoo/dolphin-platform/issues/409)
    • Add config to deactivate DolphinPlatformBootstrap while testing(https://github.com/canoo/dolphin-platform/issues/397)
    • No need to add @DolphinBean etc. to the complete class hierarchy of a bean (https://github.com/canoo/dolphin-platform/issues/395)
    • Android API is compiled against latest DolphinPlatform (https://github.com/canoo/dolphin-platform/issues/376)
    • Bugfix for NPE in DolphinCommandRegistration (https://github.com/canoo/dolphin-platform/issues/52)
    • Bugfix for CME in BeanRepository (https://github.com/canoo/dolphin-platform/issues/54)
    • Config can be provided as managed bean in Spring (https://github.com/canoo/dolphin-platform/pull/410)
    • WAR for Integration Tests is now created by the build (https://github.com/canoo/dolphin-platform/issues/297)
    • Bugfix in Calender converter (https://github.com/canoo/dolphin-platform/issues/400)
    • Added New module that provides a server app to test the DP with Docker (https://github.com/canoo/dolphin-platform/pull/399)
    • Bugfix for ProcessMonitoring sample is not working (https://github.com/canoo/dolphin-platform/issues/396)
    Source code(tar.gz)
    Source code(zip)
  • 0.9.0(Mar 6, 2017)

    • Release workflow supports major & minor releases (https://github.com/canoo/dolphin-platform/issues/372)
    • Documentation of the distributed event bus (https://github.com/canoo/dolphin-platform/issues/364)
    • Add dolphin.properties to jump start project (https://github.com/canoo/dolphin-platform/issues/355)
    • Bugfix for DolphinListener setup in Spring (https://github.com/canoo/dolphin-platform/issues/354)
    • Bugfix for Refactoring of BackgroundRunner (https://github.com/canoo/dolphin-platform/issues/357)
    Source code(tar.gz)
    Source code(zip)
  • 0.8.14(Feb 24, 2017)

    • Polymer client provide an event which is fired when controller is ready (https://github.com/canoo/dolphin-platform/issues/362)
    • Bugfix for missing config should be logged as Info(https://github.com/canoo/dolphin-platform/issues/361)
    • Added controller test to the sample project(https://github.com/canoo/dolphin-platform/issues/359)
    • Added Cross Origin Header configuration to server(https://github.com/canoo/dolphin-platform/issues/342)
    • Added documentation how to run tests locally on Safari(https://github.com/canoo/dolphin-platform/issues/341)
    • Added logging about the configurations on server(https://github.com/canoo/dolphin-platform/issues/339)
    • Added AngularJS client to Jumpstart(https://github.com/canoo/dolphin-platform/issues/319)
    • Bugfix to generate lcov report for polymer client(https://github.com/canoo/dolphin-platform/issues/311)
    Source code(tar.gz)
    Source code(zip)
  • 0.8.13(Feb 22, 2017)

    • Bugfix to resolves an issue with invalid headers which appears when the Dolphin server runs behind an Apache(https://github.com/canoo/dolphin-platform/pull/366[issue])
    • Bugfix to resolve a racing condition that appears when many controllers are initialized together
    Source code(tar.gz)
    Source code(zip)
  • 0.8.12(Feb 8, 2017)

    • Bugfix for NPE while running generated project from spring-boot-archetype (https://github.com/canoo/dolphin-platform/issues/351[issue])
    • Bugfix for exception in promise returned by disconnect from ClientContext (https://github.com/canoo/dolphin-platform-js/issues/11[issue])
    • Bugfix for remove beans in list is not reflected to Angular client API (https://github.com/canoo/dolphin-platform/issues/338[issue])
    Source code(tar.gz)
    Source code(zip)
  • 0.8.11(Feb 3, 2017)

    • Support for distributed event bus (https://github.com/canoo/dolphin-platform/issues/240[issue])
    • Support for custom headers in HTTP layer in the JS library (https://github.com/canoo/dolphin-platform/issues/243[issue])
    • All JS repositories are build on Travis, run tests on SauceLabs and provide reports to Sonar (https://github.com/canoo/dolphin-platform/issues/314[issue], https://github.com/canoo/dolphin-platform/issues/167[issue], https://github.com/canoo/dolphin-platform/issues/39[issue], https://github.com/canoo/dolphin-platform/issues/322[issue], https://github.com/canoo/dolphin-platform/issues/321[issue], https://github.com/canoo/dolphin-platform/issues/315[issue])
    • Disconnect functionality in JS provides promise (https://github.com/canoo/dolphin-platform/issues/280[issue])
    • Some better log messages (https://github.com/canoo/dolphin-platform/issues/331[issue], https://github.com/canoo/dolphin-platform/issues/330[issue])
    • Client ID filtering is limited to Dolphin Platform endpoint by default(https://github.com/canoo/dolphin-platform/issues/323[issue])
    • Angular client build include all dependencies (https://github.com/canoo/dolphin-platform/issues/317[issue])
    • Support for new datatype BigDecimal, BigInteger and UUID (https://github.com/canoo/dolphin-platform/pull/334[issue])
    • Dolphin Platform can be configured by Spring Boot configuration (https://github.com/canoo/dolphin-platform/pull/332[issue])
    • Internal map implementation in JS is replaced by core.js implementation(https://github.com/canoo/dolphin-platform/issues/169[issue])
    Source code(tar.gz)
    Source code(zip)
  • 0.8.10(Jan 13, 2017)

    Release date: Jan 12, 2017

    • Provide a first implementation of an Android client API
    • The http connection of the Java client can be accessed and customized to provide custom security or authentification mechanisms.
    • Dependency to Apache HttpClient library is removed. Java basic HttpUrlConnection is used now.
    • Removed some unneeded dependencies
    • All classes of the Dolphin Platform are refactored to Java. The Dolphin Platform do not provide any Groovy based implementations any more. (https://github.com/canoo/dolphin-platform/issues/237[issue], https://github.com/canoo/dolphin-platform/issues/238[issue])
    • Groovy was removed as dependency (for runtime). Currently only the unit tests of the remoting modules still depend on Groovy. (https://github.com/canoo/dolphin-platform/issues/237[issue], https://github.com/canoo/dolphin-platform/issues/238[issue])
    • Several sources of the remoting layer are refactored and unused functionality was removed. (https://github.com/canoo/dolphin-platform/issues/237[issue], https://github.com/canoo/dolphin-platform/issues/238[issue])
    • GSON is used as JSON parser for the remoting layer (https://github.com/canoo/dolphin-platform/issues/175[issue])
    • The Dolphin Platform provides Docker based integration tests. Currently the integration tests will be executed against server applications that run in Payara, TomEE and Wildfly. (https://github.com/canoo/dolphin-platform/issues/248[issue])
    • The Dolphin Platform publish reports to sonar. An overview of the current state of the Dolphin Platform can be found https://sonarqube.com/dashboard/index?id=com.canoo.dolphin-platform%3Adolphin-platform[here] (https://github.com/canoo/dolphin-platform/issues/38[issue])
    • JavaDocs hosted at GitHub pages. (https://github.com/canoo/dolphin-platform/issues/234[issue])
    • Some issues and code smells that were reported by sonar are refactored. (https://github.com/canoo/dolphin-platform/issues/38[issue])
    • Garbage Collection is activated by default (https://github.com/canoo/dolphin-platform/issues/261[issue])
    • Garbage Collection will be automatically called by every long poll (https://github.com/canoo/dolphin-platform/issues/261[issue])
    • Sonar reports for all projects (https://github.com/canoo/dolphin-platform/issues/313[issue])
    Source code(tar.gz)
    Source code(zip)
Owner
IMTF
IMTF
To quickly integrate your applications into the EdgeGallery platform, we provide the toolchain project to help developers quickly modify code and migrate applications to the platform.

Toolchain 工具链 工具链是MEC Developer开发者平台中的一个重要特性,当x86平台的App想要上车ARM平台时,底层的代码不可避免的需要进行修改或重写。 App提供者可以通过MEC Developer开发者平台中集成的工具链进行源代码分析,定位需要修改的源代码并根据指导意见进行修

EdgeGallery 19 Jan 7, 2022
HUAWEI 3D Modeling Kit project contains a sample app. Guided by this demo, you will be able to implement full 3D Modeling Kit capabilities, including 3D object reconstruction and material generation.

HUAWEI 3D Modeling Kit Sample English | 中文 Introduction This project includes apps developed based on HUAWEI 3D Modeling Kit. The project directory is

HMS 59 Jan 1, 2023
Contains the demo projects for S1 Application Modernization Breakout

Application Modernization Spring One 2021 This repository contains the projects that were demoed during the Application Modernization breakout discuss

Glenn Renfro 6 Jan 24, 2022
A JavaFX library that contains different kind of charts

Charts A library for scientific charts in JavaFX. This is still a work in development, but here are some of the charts being worked on so far. The cha

Gerrit Grunwald 497 Jan 2, 2023
Generate all call graph for Java Code.

README-en.md 1. 前言 在很多场景下,如果能够生成Java代码中方法之间的调用链,是很有帮助的。 IDEA提供了显示调用指定Java方法向上的完整调用链的功能,可以通过“Navigate -> Call Hierarchy”菜单(快捷键:Ctrl+Alt+H)使用;Eclipse也提供

null 226 Jan 6, 2023
A demo application to learn and explore all topic of Programming in Java Course.

Kakshya RMS A simple Java lab-work for the class of 'Programming in Java' Explore the docs » View Demo · Report Bug · Request Feature Table of Content

Bikram Parajuli 16 Jun 8, 2022
All notes that we cover in class, plus study guides.

Welcome to 220531 Reston Java Enterprise! This is the repository for the remote Java Enterprise Revature batch starting May 31st, 2022. Here you will

null 7 Nov 15, 2022
A cross-platform interface for FutureRestore, written in Java with Swing

Futurerestore GUI A GUI implementation for FutureRestore written in Java. Installation Download from releases. No Java download required (it's bundled

null 428 Dec 30, 2022
An image annotation desktop-application written in Java using the JavaFX application platform.

This is an image annotation desktop-application written in Java using the JavaFX application platform. It allows you to create bounding box annotations using rectangular and polygonal shapes. Annotations can be imported and saved from/to JSON files, Pascal VOC format XML-files or YOLO format TXT-files.

Markus Fleischhacker 31 Dec 4, 2022
PostgreSQL is the world's most advanced open source database. Also, PostgreSQL is suitable for Event Sourcing. This repository provides a sample of event sourced system that uses PostgreSQL as event store.

Event Sourcing with PostgreSQL Introduction Example Domain Event Sourcing and CQRS 101 State-Oriented Persistence Event Sourcing CQRS Advantages of CQ

Evgeniy Khyst 146 Dec 20, 2022
FOSSLight source code repository

[Kor] FOSSLight FOSSLight is an integrated system that can efficiently process the open source compliance process. Features Compliance Workflow It can

FOSSLight 116 Dec 7, 2022
InstallRepos - Install GitHub Repository on any Operating System (Linux, MacOS or Windows).

Install Repos Install GitHub Repository on any Operating System (Linux, MacOS or Windows). Requires Java JRE 17.0.0.1 or later. Repository Includes: s

Tushar Chaurasia 2 Apr 21, 2022
Docking framework for JavaFX platform

Docking framework for JavaFX platform AnchorFX is a gratis and open source library for JavaFX to create graphical interfaces with docking features Anc

Alessio Vinerbi 197 Oct 15, 2022
A collection of tools and libraries for easier development on the JavaFX platform!

This project is archived I do not realistically have the time to take care of this project, unfortunately. It originally was built along a Twitter cli

Tristan Deloche 100 Dec 13, 2022
The backend service for user management module of EdgeGallery platform.

User Management 用户管理 User Management 用户管理模块,为EdgeGallery提供了基本的用户增删改查功能,定义了用户的角色与权限,并且包含了两个关键特性:手机验证和单点登录(Single Sign On)能力。 角色定义 租户 系统内的普通用户,可以创建项目/上传

EdgeGallery 23 Dec 25, 2021
The backend service for appstore module of EdgeGallery platform

AppStore-be AppStore是开发者发布和上线App应用的市场,上传App包后首先要通过测试,只有检测通过的应用才能够正式上线。AppStore分为前后台两个部分,AppStore-be是后台部分,提供接口调用, AppStore-fe是前台部分,提供界面展示。有关AppStore架构的

EdgeGallery 24 Oct 21, 2022
The backend service for developer module of EdgeGallery platform

Developer-be 开发者平台 开发者平台是为App开发者提供开发工具/测试环境/上线部署的平台,分为前后台两个部分,developer-be是后台部分,提供接口调用,developer-fe是前台部分,提供界面展示。有关开发者平台的架构的详细介绍请访问我们的wiki社区 特性介绍 为了方便开

EdgeGallery 24 Jan 11, 2022
In the Developer - Platform of EdgeGallery, we have provided a lot of useful APIs, in this project, try to simulates APIs of the competence center to help develoers test API request and response online.

api-emulator api-emulator模块,为EdgeGallery提供了基本能力的模拟api,开发者可以调用该模拟器提供的api,不需要真实部署就可以查看平台已有的能力。目前该api-emulator集成了两种平台能力:位置服务和人脸识别能力。 平台能力简介 位置服务 提供用户位置,E

EdgeGallery 21 Dec 25, 2021
EdgeGallery test platform

edgeT Edge Gallery Test Platform Introduction A micro-services to manage, execute, run test cases (developed in different run-time like java, python,

EdgeGallery 23 Sep 14, 2021