GithubHelp home page GithubHelp logo

efxclipse-rt's People

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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

efxclipse-rt's Issues

DnDTabPaneSkin accepts any dragged object

In e(fx)clipse 2.5.0 it is possible to drag anything onto the TabPane with DnDAddon enabled.

Scenario to reproduce the bug:

  1. Create E4 app with DnDAddon and a few tabs.
  2. Inside the tabs add a JavaFX custom view which supports drag&drop (TransferMode.MOVE).
  3. Perform successful d&d of e4 tabs.
  4. Then, start dragging object from your custom view.
  5. While in the middle of a drag, move mouse cursor to tabs area. You will see the tab drop border whereas there is no tab being dragged.

I've examined the code to identify the cause of this bug and I believe it is DnDTabPaneSkin, method tabPane_handleDragOver(), not performing any checks on the dragged content. However, I see that in a current repo this class is commented-out, so maybe the bug no longer exists in 3.0.0...

[Test] ServiceSupplierTestCase is not reliable

I just noticed that the ServiceSupplierTestCase is only working "by accident".

There are multiple mistakes that makes the tests work, although the test configuration is incorrect. This can be noticed when changing the order of the Service-Component entries.

  1. the value for service.ranking needs to be an Integer. The property definition defaults to a String value. Therefore :Integer needs to be specified explicitly on the test services.

  2. in testDynamicAddRemove() a new service is with service.ranking 2 is registered and it is expected that it becomes the highest ranked. But SampleServiceA has a service.ranking of 50. Therefore the new service is not higher ranked. This needs to be changed e.g. to service.ranking 52

  3. In testDynamicAddRemove() and testInitialInject() at the end it is expected that SampleServiceB is the second service in the service registry. This works because of the order in the MANIFEST. With the addition of the FilterServiceA which has a service.ranking of 1 and FilterServiceB which has no service.ranking which makes it a 0, the expected behavior changes if the order of the Service-Component entries changes. I suggest to add a service.ranking for SampleServiceB to make the test reliable.

ConcurrentModificationException when doing external file system operations while running a ResourceTreeView

System details:
e(fx)clipse version: 2.5.0
OS: Windows 10
Jdk: (x64) 8_111
Jre: (x64) 8_45

I have a small application that uses a org.eclipse.fx.ui.controls.filesystem.ResourceTreeView.
When i create or move a bunch of files using the windows explorer that are displayed in the ResourceTreeView i often get a ConcurrentModificationException:

Exception in thread "pool-2-thread-6" java.util.ConcurrentModificationException
	at java.util.AbstractList$Itr.checkForComodification(AbstractList.java:386)
	at java.util.AbstractList$Itr.next(AbstractList.java:355)
	at java.util.Spliterators$IteratorSpliterator.tryAdvance(Spliterators.java:1812)
	at java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:126)
	at java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:529)
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:516)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:502)
	at java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:152)
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:464)
	at org.eclipse.fx.ui.controls.filesystem.skin.PathItemImpl$DirPathItemImpl.handlePathModification(PathItemImpl.java:195)
	at org.eclipse.fx.ui.controls.filesystem.skin.PathItemImpl$DirPathItemImpl$$Lambda$256/681963445.accept(Unknown Source)
	at org.eclipse.fx.core.internal.FileSystemServiceImpl$CheckThread.lambda$1(FileSystemServiceImpl.java:151)
	at org.eclipse.fx.core.internal.FileSystemServiceImpl$CheckThread$$Lambda$386/1663517165.run(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

Or this ConcurrentModificationException:

Exception in thread "JavaFX Application Thread" java.util.ConcurrentModificationException
	at java.util.SubList.checkForComodification(AbstractList.java:769)
	at java.util.SubList.listIterator(AbstractList.java:695)
	at java.util.AbstractList.listIterator(AbstractList.java:299)
	at java.util.SubList.iterator(AbstractList.java:691)
	at javafx.collections.ModifiableObservableListBase$SubObservableList.iterator(ModifiableObservableListBase.java:268)
	at java.util.Spliterators$IteratorSpliterator.estimateSize(Spliterators.java:1821)
	at java.util.Spliterator.getExactSizeIfKnown(Spliterator.java:408)
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:511)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:502)
	at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
	at org.eclipse.fx.ui.controls.filesystem.skin.ResourceTreeViewSkin$DirTreeItem._handleListModification(ResourceTreeViewSkin.java:185)
	at org.eclipse.fx.ui.controls.filesystem.skin.ResourceTreeViewSkin$DirTreeItem.lambda$0(ResourceTreeViewSkin.java:166)
	at org.eclipse.fx.ui.controls.filesystem.skin.ResourceTreeViewSkin$DirTreeItem$$Lambda$365/973491168.run(Unknown Source)
	at com.sun.javafx.application.PlatformImpl.lambda$null$170(PlatformImpl.java:295)
	at com.sun.javafx.application.PlatformImpl$$Lambda$48/349422632.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at com.sun.javafx.application.PlatformImpl.lambda$runLater$171(PlatformImpl.java:294)
	at com.sun.javafx.application.PlatformImpl$$Lambda$47/237061348.run(Unknown Source)
	at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
	at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
	at com.sun.glass.ui.win.WinApplication.lambda$null$145(WinApplication.java:101)
	at com.sun.glass.ui.win.WinApplication$$Lambda$36/2117255219.run(Unknown Source)
	at java.lang.Thread.run(Thread.java:745)

Sometimes there is also an UnsupportedOperationException:

Exception in thread "pool-2-thread-4" java.lang.UnsupportedOperationException
	at java.util.Collections$UnmodifiableCollection.add(Collections.java:1055)
	at javafx.collections.ListChangeBuilder.nextRemove(ListChangeBuilder.java:204)
	at javafx.collections.ObservableListBase.nextRemove(ObservableListBase.java:150)
	at javafx.collections.ModifiableObservableListBase.remove(ModifiableObservableListBase.java:181)
	at java.util.AbstractList$Itr.remove(AbstractList.java:374)
	at java.util.Collection.removeIf(Collection.java:415)
	at org.eclipse.fx.ui.controls.filesystem.skin.PathItemImpl$DirPathItemImpl.handlePathModification(PathItemImpl.java:191)
	at org.eclipse.fx.ui.controls.filesystem.skin.PathItemImpl$DirPathItemImpl$$Lambda$256/894210976.accept(Unknown Source)
	at org.eclipse.fx.core.internal.FileSystemServiceImpl$CheckThread.lambda$1(FileSystemServiceImpl.java:151)
	at org.eclipse.fx.core.internal.FileSystemServiceImpl$CheckThread$$Lambda$361/1225018599.run(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

I think I even saw a NullPointerException once, but i can't find the Stacktrace for that one.

Regression with #39: Service XMLs were not updated

The service xml were not updated with the change to #39

[2017-03-23 12:34:16,594] [de.emsw.gosa.logging.osgi.OsgiLogListener@1d1f3f7] ERROR de.emsw.gosa.logging.osgi.OsgiLogListener org.eclipse.fx.ui.controls => [SCR] Method was not found: setLoggerFactory(...)
Details:
Problematic reference = Reference[name = LoggerFactory, interface = org.eclipse.fx.core.log.LoggerFactory, policy = dynamic, policy-option = greedy, cardinality = 1..1, target = null, bind = setLoggerFactory, unbind = unsetLoggerFactory, updated = null]
of service component = org.eclipse.fx.ui.controls.internal.FXThreadSynchronizeImpl
component implementation class = org.eclipse.fx.ui.controls.internal.FXThreadSynchronizeImpl
located in bundle with symbolic name = org.eclipse.fx.ui.controls
bundle location = reference:file:/D:/GitRepos/gosa21/gosa/lib/Target/efxclipse/plugins/org.eclipse.fx.ui.controls_3.0.0.201703231044.jar

Will create a pull request ...

Exception in Application start method(It is e4 with javafx application, When I am launching my application then I am getting below problem. Please help...)

eclipse.buildId=unknown
java.version=1.8.0_121
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_US
Framework arguments: -product com.bosch.composeandconfigure.app.product -clearPersistedState
Command-line arguments: -product com.bosch.composeandconfigure.app.product -data C:\Users\MJU1KOR\workspace_demo_running/../runtime-com.bosch.composeandconfigure.app.product -dev file:C:/Users/MJU1KOR/workspace_demo_running/.metadata/.plugins/org.eclipse.pde.core/com.bosch.composeandconfigure.app.product.product/dev.properties -os win32 -ws win32 -arch x86 -consoleLog -clearPersistedState

!ENTRY org.eclipse.equinox.app 4 0 2017-03-23 16:54:17.846
!MESSAGE Exception in Application start method
!STACK 0
java.lang.RuntimeException: Exception in Application start method
at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:917)
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$155(LauncherImpl.java:182)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.eclipse.e4.core.di.InjectionException: Unable to process "LoggerProviderImpl.factory": no actual value was found for the argument "LoggerFactory".

Add EventLoop support to core APIs

To implement things like event-loop spinning (eg in JUnit-Test, ...) we need to have an API on ThreadSynchronize and to make that work we need APIs who implement something similar to an event loop.

Allow E4FX headless application

Currently the application closes when the last e4-window ist removed from the application.

In our application, we also open legacy windows in our code that are hard to break up into parts fot the application model. We would like to have the possibility to keep the e4fx application running while we are only displaying legacy windows. From here we can then reactivate e4-windows (set toBeRendered=true or add them to the children of application) that are currently not showing .

A headless mode like this could also be usefull for other applications, that do not directly show a window on startup but wait for a specific event before displaying a ui.

@Service annotation does not track optional references

If the service that should be injected is marked as @optional and at creation time of the consumer there is no service instance available, the consumer will never get a service instance injected. The tracking is only performed in case there is a service registered already.

NPE when using ResourceTreeView with root directories

When populating the root directories of a ResourceTreeView with :

FileSystems.getDefault().getRootDirectories().forEach( rootDir ->
{
  if ( Files.isDirectory( rootDir, LinkOption.NOFOLLOW_LINKS ) )
  {
    System.out.println( rootDir );
    System.out.println( rootDir.getFileName() );
    final RootDirItem rootDirItem = createPath( rootDir );
    requireNonNull( rootDirItem );
    browser.getRootDirectories().add( rootDirItem );
  }
} );

it fails with an NPE, because PathItemImpl uses :

@Override
public String getName() {
	return this.path.getFileName().toString();
}

getFileName, which is null on filesystem root paths like C:\.

truncated_log_pathitemimpl_npe.txt

Migrated from https://bugs.eclipse.org/bugs/show_bug.cgi?id=512250.

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.