My guess is this a dev list issue.
I'm working on a CORBA app where we have remote methods like say
public class SomeCorbaImpl extends some FrameWorkClass implements
SomeCorbaOperations{
public void someMethod(){
NDC.push(getSession().getUserId());
//some code with logging
someOtherMethod()
//some more code with logging
NDC.pop();
}
public void someOtherMethod(){
NDC.push(getSession().getUserId());
//some code with logging
NDC.pop();
}
}
The problem is the client code can call someMethod() or someOtherMethod
directly. If the client calls
someMethod() the ndc get set to something like
davek davek
in someOtherMethod
I know I can check the depth of the NDC in someOtherMethod like this
public void someOtherMethod(){
if(NDC.getDepth()==0){
NDC.push(getSession().getUserId());
}
//some code with logging
NDC.pop();
}
but what to do with the pop? I could store a flag but that is getting ugly
quick.
One solution I cam up with is to push an empty NDC on to the stack so that a
util class could work like this
public class SessionNDC{
public static void push(Session s){
if(NDC.getDepth()==0){
NDC.push(s.getUserId())
}
else{
NDC.push("");
}
}
public static void pop(){
NDC.pop();
}
}
And this works except that the NDC places a space between each NDC level
even if the NDC is "", not a huge deal but a pain.
Cekie and I talked (emailed?) about this back before Christmas but didn't
come to a conclusion. I've been off site since then.
I'm wondering if anyone has come up with another solution or is it worth
modifying the NDC code to removed the extra
spaces?
-Peace
Dave
PS I can't help but be amazed at the progress in three short months.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]