User:Jatinder.singh

From CDOT Wiki
Revision as of 19:37, 5 February 2009 by Jatinder.singh (talk | contribs)
Jump to: navigation, search
Jatinder Singh
Jsingh.jpg
Me
Born September 05
Occupation Software Developer
Expected Graduation May 2009
Email jpsingh2@learn.senecac.on.ca
Blog http://jsinghfoss.wordpress.com/
Website http://www.jatinders.com

About Me

Name: Jatinder Singh
Program: Bachelor of Software Development (BSD - 8 Semester)
Little about me: Hello folks! My name is Jatinder Singh. I am a full time student at Seneca College of Applied Arts and Technology, graduating in May 2009 with a Bachelor’s degree in Software Development. What do I enjoy? Well, I am getting into photography and learning various photography techniques from online tutorials and youtube videos. I love playing sports and specially Cricket because I grew up with this game. I also enjoy working out and hope to get my abs in three to four years of time.
Other things that I am doing: As I am graduating this year, so I am also searching for a full-time job.

Contact Me

IRC: Jatinder (#seneca, #eclipse)

DPS909

Beginners

Installing Tools

IRC Channels

Contributions

Week 1

  • Unzipped Eclipse WTP and Eclipse for RCP/Plug-in Developers on my laptop and USB key for portability
  • Set up Zenit Wiki page, Blog and Account on Bugzilla website

Week 2

  • Installed Eclipse Communication Framework (ECF) to run IRC within Eclipse WTP
  • Reproduced bug 173912 on Windows Vista Business OS without any problems
  • Conducted research on Ecipse WTP - Web Services bugs to create a list of bugs that I'll be working on

Week 3

  • Reproduced bug 203257 on Windows Vista Business OS
  • Tried to reproduce bug 142301 but couldn't do it due to lack of documentation

Projects

Bug 203257


Description

Prefix was not changed throughout whole WSDL. When I'm editing the target namespace, the links between the WSDL components are broken (for example binding A references port type B).
Build ID: M20070905-1045
Steps To Reproduce:
  • 1) Open a properties tab of any WSDL
  • 2) Change the prefix name
If there were any references to the prefix in the WSDL, they will not have been changed. In the attached WSDL, the prefix was changed from "pos" to "posCHANGED" only in the namespace definitions section.

Comment from Amy Wu

The gorey details:
In W11EditNamespacesCommand#execute, the prefix is updated by removing the old namespace attribute and then adding the new one.
Removing the old attribute will eventually trigger a reconcile on the definition.
For Port, Binding, Message, WSDLElement#reconcileReferences() looks something like this:
QName messageQName = createQName(definition,element.getAttribute(WSDLConstants.MESSAGE_ATTRIBUTE), element);
Message newMessage = messageQName != null ? (Message)definition.getMessage(messageQName) : null;
if (newMessage != getEMessage())
{
setEMessage(newMessage);
}
The problem here is that messageQName will be null. This is because when trying to create the QName for the current referenced message, it will return null. It is null because the prefix/namespace attribute has already been deleted, so when it tries to create a new QName by looking up the prefix, it will find that there is none. So QName=null which means newMessage is null. Which means newMessage != message currently referenced. Which means it will delete the message currently referenced.
So that's how the references are lost.
So it looks like a fix needs to be made somewhere around here to not lose the existing references.
Once this is fixed, the next step to update the references is actually not that bad according to what is being done XSD's UpdateNamespaceInformationCommand. What XSD does is it calls schema.updateElement() and that will update all the references magically. I'm assuming it does some magic with resolving the prefix/namespaces. The same type of call would need to be made in W11EditNamespacesCommand for the definition object. (See UpdateNamespaceInformationCommand#updateElement() for more details).

Releases

Release 0.1


Reproduced bug Bug 203257 on Eclipse WTP (Stable Build - 20081219210304, Milestone 4)
Inserted a blog post on my blog