G
GlassyCitizen
Gast
Liebe Kollegen,
ich habe eine allgemeine Frage, die in folgendem Kontext auftaucht: ich programmiere zur Zeit eine Art Applet auf dem SAP EP J2EE Server und versuche mir in diesem zur Laufzeit eine Objekt zu holen, etwa in der Form:
INavigationService navigationService = (INavigationService) PortalRuntime.getRuntimeResources().getService(INavigationService.KEY);
String navTarget = StringUtils.substringAfter(path,"NavigationTarget=");
String navTargetName = navigationService.getNavigationNodeOriginalName(env, navTarget);
INavigationNode navNode = null;
navNode = navigationService.getNode(env, navTargetName);
Dabei können von der getNode Methode ggf. zwei verschiedene exceptions geworfen werden: eine wegen fehlenden Rechten um auf das Objekt zuzugreifen und eine die besagt, dass das angeforderte Objekt nicht existiert. Auf beide Ausnahmen muss ich im Rahmen der Anwendung verschieden reagieren, beide Ausnahmen werden jedoch weiter oben im stack abgefangen (kann ich im Log sehen), so dass Dinge wie:
try {
navNode = navigationService.getNode(env, navTargetName);
}
catch (PermissionControlException e) { ... }
catch (NameNotFoundException e) { ... }
natürlich mit "unreachable block" scheitern. In beiden Fällen ist navNode jedenfalls null, mir fehlt jedoch die Information aus welchen Grund. Während bei Zugriffsberechtigungsproblemen ich nichts tun müsste, gäbe es bei nicht existenten Objekten Handlungsbedarf.
Ich bin sicher, dass analoge Probleme und evtl. Lösungen bekannt sind, bin jedoch leider nicht fündig geworden. Falls jemand einen Hinweis zu einer Lösung oder einem workaround hat, bin ich zu Dank verpflichtet.
VG
ich habe eine allgemeine Frage, die in folgendem Kontext auftaucht: ich programmiere zur Zeit eine Art Applet auf dem SAP EP J2EE Server und versuche mir in diesem zur Laufzeit eine Objekt zu holen, etwa in der Form:
INavigationService navigationService = (INavigationService) PortalRuntime.getRuntimeResources().getService(INavigationService.KEY);
String navTarget = StringUtils.substringAfter(path,"NavigationTarget=");
String navTargetName = navigationService.getNavigationNodeOriginalName(env, navTarget);
INavigationNode navNode = null;
navNode = navigationService.getNode(env, navTargetName);
Dabei können von der getNode Methode ggf. zwei verschiedene exceptions geworfen werden: eine wegen fehlenden Rechten um auf das Objekt zuzugreifen und eine die besagt, dass das angeforderte Objekt nicht existiert. Auf beide Ausnahmen muss ich im Rahmen der Anwendung verschieden reagieren, beide Ausnahmen werden jedoch weiter oben im stack abgefangen (kann ich im Log sehen), so dass Dinge wie:
try {
navNode = navigationService.getNode(env, navTargetName);
}
catch (PermissionControlException e) { ... }
catch (NameNotFoundException e) { ... }
natürlich mit "unreachable block" scheitern. In beiden Fällen ist navNode jedenfalls null, mir fehlt jedoch die Information aus welchen Grund. Während bei Zugriffsberechtigungsproblemen ich nichts tun müsste, gäbe es bei nicht existenten Objekten Handlungsbedarf.
Ich bin sicher, dass analoge Probleme und evtl. Lösungen bekannt sind, bin jedoch leider nicht fündig geworden. Falls jemand einen Hinweis zu einer Lösung oder einem workaround hat, bin ich zu Dank verpflichtet.
VG