[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [tm-dev] Programatic Creation of Filters/Pools/References
|
Which version of RSE are you using?
I tried to reproduce this although I had to modify the code since my version doesn't have systemRegistry.getSystemTypeById():
....
// Create with SSH to add the SFTP subsystem
IRSESystemType type = RSECorePlugin.getTheCoreRegistry().getSystemTypeById(IRSESystemType.SYSTEMTYPE_SSH_ONLY_ID);
host = systemRegistry.createHost(myProfile.getName(), type, hostName, hostName, "MyProfile Description");
host.setDefaultUserId(username);
...
When I restart Eclipse, I don't hit the problems you're hitting - I still have "MyFilter". If you make the following commit calls, does filter reference get persisted properly?
ISystemFilter newFilter = pool.createSystemFilter("MyFilter", new String[] {"/path/of/super/secret/resource/"});
newFilter.commit();
// Add a reference from the SFTP subsystem to my new pool
ISystemFilterPoolReference ref = subSystem.getFilterPoolReferenceManager().addReferenceToSystemFilterPool(pool);
ref.commit();
____________________________________
David McKnight
Phone: 905-413-3902 , T/L: 969-3902
Internet: dmcknigh@xxxxxxxxxx
Mail: D1/YFY/8200/TOR
____________________________________
Daniel Johnson ---16/08/2011 02:47:15 PM---Hi, I am trying to programmatically create Filter entries on a server, and it seems to work fine, bu
![]()
From: | ![]()
Daniel Johnson <danijoh2@xxxxxxxxx> |
![]()
To: | ![]()
tm-dev@xxxxxxxxxxx |
![]()
Date: | ![]()
16/08/2011 02:47 PM |
![]()
Subject: | ![]()
[tm-dev] Programatic Creation of Filters/Pools/References |
![]()
Sent by: | ![]()
tm-dev-bounces@xxxxxxxxxxx |
Hi,
I am trying to programmatically create Filter entries on a server, and it seems to work fine, but as soon as I exit Eclipse and re-launch it seems that all of the Filters on that Server are corrupt, with a NPE being thrown in the error log.
Can anyone help explain how to do this and/or what I am doing wrong?
Here is my code:
String hostName = ... // Get host name
String username = ... // Get username
// Create MyProfile
ISystemRegistry systemRegistry = RSECorePlugin.getTheSystemRegistry();
ISystemProfile myProfile = systemRegistry.getSystemProfile("MyProfile");
if (myProfile == null) {
myProfile = systemRegistry.createSystemProfile("MyProfile", true);
}
// Create the host
IHost host = systemRegistry.getHost(myProfile, hostName);
if (host == null) {
// Create with SSH to add the SFTP subsystem
host = systemRegistry.createHost(myProfile.getName(), systemRegistry.getSystemTypeById(IRSESystemType.SYSTEMTYPE_SSH_ONLY_ID), hostName, hostName, "MyProfile Description");
host.setDefaultUserId(username);
}
for (ISubSystem subSystem : host.getSubSystems()) {
// Want the SFTP subsystem
if (subSystem.getName().equals("Sftp Files")) {
ISubSystemConfiguration config = subSystem.getSubSystemConfiguration();
// Get the Pool Manager for my profile type
ISystemFilterPoolManager poolManager = config.getFilterPoolManager(myProfile);
// Create the new filter Pool for my new filter (returns null if it already exists)
ISystemFilterPool pool = poolManager.createSystemFilterPool(server.getName()+":ssh.files", true);
if (pool != null) {
// Create my new filter, this is a brand new Pool so don't worry checking if it already exists
pool.createSystemFilter("MyFilter", new String[] {"/path/of/super/secret/resource/"});
// Add a reference from the SFTP subsystem to my new pool
subSystem.getFilterPoolReferenceManager().addReferenceToSystemFilterPool(pool);
}
}
}
And here is the NPE after restarting Eclipse:
java.lang.NullPointerException
at org.eclipse.rse.internal.ui.view.SystemViewFilterPoolReferenceAdapter.getName(SystemViewFilterPoolReferenceAdapter.java:188)
at org.eclipse.rse.ui.view.AbstractSystemViewAdapter.testAttribute(AbstractSystemViewAdapter.java:1676)
at org.eclipse.ui.internal.ActionExpression$ObjectStateExpression.preciselyMatches(ActionExpression.java:530)
at org.eclipse.ui.internal.ActionExpression$ObjectStateExpression.isEnabledFor(ActionExpression.java:499)
at org.eclipse.ui.internal.ActionExpression$OrExpression.isEnabledFor(ActionExpression.java:582)
at org.eclipse.ui.internal.ActionExpression$SingleExpression.isEnabledFor(ActionExpression.java:743)
at org.eclipse.ui.internal.ActionExpression.isEnabledFor(ActionExpression.java:1053)
at org.eclipse.ui.internal.decorators.DecoratorDefinition.isEnabledFor(DecoratorDefinition.java:282)
Thanks in advance,
Daniel Johnson_______________________________________________
tm-dev mailing list
tm-dev@xxxxxxxxxxx
http://dev.eclipse.org/mailman/listinfo/tm-dev

