Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Eclipse Scout » setting the RAP user location(can it be configured?)
setting the RAP user location [message #1088714] Sat, 17 August 2013 14:30 Go to next message
Chris Monty is currently offline Chris MontyFriend
Messages: 26
Registered: July 2013
Junior Member
Another semi-related openshift question, due to special access restrictions on the server. My RAP server logs FileNotFoundExceptions when a user logs in because well, the user preferences folder doesn't exist.

java.io.FileNotFoundException: /var/lib/openshift/<username>/user/.settings/org.eclipse.scout.rt.client.prefs (No such file or directory)
        at java.io.FileOutputStream.open(Native Method)
        at java.io.FileOutputStream.<init>(FileOutputStream.java:212)
        at java.io.FileOutputStream.<init>(FileOutputStream.java:165)
        at org.eclipse.core.internal.preferences.SafeFileOutputStream.<init>(SafeFileOutputStream.java:43)
        at org.eclipse.core.internal.preferences.EclipsePreferences.write(EclipsePreferences.java:317)
        at org.eclipse.core.internal.preferences.EclipsePreferences.save(EclipsePreferences.java:1135)
        at org.eclipse.core.internal.preferences.EclipsePreferences.save(EclipsePreferences.java:1111)
        at org.eclipse.core.internal.preferences.EclipsePreferences.internalFlush(EclipsePreferences.java:471)
        at org.eclipse.core.internal.preferences.EclipsePreferences.flush(EclipsePreferences.java:429)
        at org.eclipse.scout.rt.client.ui.ClientUIPreferences.flush(ClientUIPreferences.java:766)
        at org.eclipse.scout.rt.client.ui.ClientUIPreferences.setFormBounds(ClientUIPreferences.java:149)
        at org.eclipse.scout.rt.ui.rap.window.DefaultFormBoundsProvider.storeBoundsInternal(DefaultFormBoundsProvider.java:82)
        at org.eclipse.scout.rt.ui.rap.window.DefaultFormBoundsProvider.access$0(DefaultFormBoundsProvider.java:76)
        at org.eclipse.scout.rt.ui.rap.window.DefaultFormBoundsProvider$1.runVoid(DefaultFormBoundsProvider.java:68)
        at org.eclipse.scout.rt.client.ClientJob.runStatus(ClientJob.java:189)
        at org.eclipse.scout.rt.client.ClientJob.runTransactionWrapper(ClientJob.java:172)
        at org.eclipse.scout.rt.client.ClientJob.run(ClientJob.java:159)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
org.osgi.service.prefs.BackingStoreException: Exception saving preferences to: /var/lib/openshift/<username>/user/.settings/org.eclipse.scout.rt.client.prefs.
        at org.eclipse.core.internal.preferences.EclipsePreferences.write(EclipsePreferences.java:323)
        at org.eclipse.core.internal.preferences.EclipsePreferences.save(EclipsePreferences.java:1135)
        at org.eclipse.core.internal.preferences.EclipsePreferences.save(EclipsePreferences.java:1111)
        at org.eclipse.core.internal.preferences.EclipsePreferences.internalFlush(EclipsePreferences.java:471)
        at org.eclipse.core.internal.preferences.EclipsePreferences.flush(EclipsePreferences.java:429)
        at org.eclipse.scout.rt.client.ui.ClientUIPreferences.flush(ClientUIPreferences.java:766)
        at org.eclipse.scout.rt.client.ui.ClientUIPreferences.setFormBounds(ClientUIPreferences.java:149)
        at org.eclipse.scout.rt.ui.rap.window.DefaultFormBoundsProvider.storeBoundsInternal(DefaultFormBoundsProvider.java:82)
        at org.eclipse.scout.rt.ui.rap.window.DefaultFormBoundsProvider.access$0(DefaultFormBoundsProvider.java:76)
        at org.eclipse.scout.rt.ui.rap.window.DefaultFormBoundsProvider$1.runVoid(DefaultFormBoundsProvider.java:68)
        at org.eclipse.scout.rt.client.ClientJob.runStatus(ClientJob.java:189)
        at org.eclipse.scout.rt.client.ClientJob.runTransactionWrapper(ClientJob.java:172)
        at org.eclipse.scout.rt.client.ClientJob.run(ClientJob.java:159)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)


Since I lack the permissions to create the aforementioned folder, I wish to use another folder which I can write to (such as the tomcat temp folder). I have browsed around a bit for some hints, and have found that the
org.eclipse.scout.commons.prefs.UserPreferences$getLocation()
is hard-coded to
location = computeLocation(new Path(Platform.getUserLocation().getURL().getFile()), name());
Something tells me this is quite trivial... if only I knew how. Ideally I could configure this via config.ini. Any tips?
Re: setting the RAP user location [message #1094778 is a reply to message #1088714] Mon, 26 August 2013 07:15 Go to previous messageGo to next message
Jeremie Bresson is currently offline Jeremie BressonFriend
Messages: 1252
Registered: October 2011
Senior Member
Have you looks at Platform.html#getUserLocation()

Have you tried to set user.home?

A colleague also mentioned osgi.user.area and/or osgi.instance.area. He also recommended to have a look at LocationManager.
Re: setting the RAP user location [message #1098545 is a reply to message #1094778] Sat, 31 August 2013 08:18 Go to previous message
Chris Monty is currently offline Chris MontyFriend
Messages: 26
Registered: July 2013
Junior Member
Jeremie, thanks for the hint. Setting user.home did the trick.

For future reference, this can be achieved (on linux) by creating a setenv.sh in tomcat's bin folder with the following line:
export JAVA_OPTS="-Duser.home=/var/lib/openshift/<pathtosomewherewithwriteaccess...>"


Previous Topic:Bookmark Service use cases
Next Topic:RAP + BasicSecurityFilter + Tomcat = :'(
Goto Forum:
  


Current Time: Fri Apr 26 06:08:37 GMT 2024

Powered by FUDForum. Page generated in 0.03207 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top