Difference between revisions of "User:Jatinder.singh"
Crulshorukh (talk | contribs) (→About Me) |
(→Week 8) |
||
(37 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | == About Me = | + | <table cellspacing="5" style="line-height: 1.5em; width: 22em; font-size: 95%; text-align: left; background-color: #F9F9F9; border: 1px solid #AAAAAA; color: black; float: right; margin: 0.5em 0 0.5em 1em; padding: 0.2em;"> |
+ | <tr><td style="font-weight: bold; text-align: center; font-size: 125%;" colspan="2"><b>Jatinder Singh</b></td></tr> | ||
+ | <tr><td style="padding: 4pt; line-height: 1.25em; text-align: center; font-size: 8pt;" colspan="2">[[Image:Jsingh.jpg]]<br/><div style="padding-top: 2pt;"><span style="">Me</span></div></td></tr> | ||
+ | <tr> | ||
+ | <th style="padding: 0.2em 1em 0.2em 0.2em; background: transparent none repeat scroll 0% 0%; line-height: 1.2em; text-align: left; font-size: 90%;vertical-align: top;">Born</th> | ||
+ | <td class="" style="padding: 0.2em; line-height: 1.3em; vertical-align: middle; font-size: 90%;">September 05</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <th style="padding: 0.2em 1em 0.2em 0.2em; background: transparent none repeat scroll 0% 0%; line-height: 1.2em; text-align: left; font-size: 90%;vertical-align: top;">Occupation</th> | ||
+ | <td class="role" style="padding: 0.2em; line-height: 1.3em; vertical-align: middle; font-size: 90%;">Software Developer</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <th style="padding: 0.2em 1em 0.2em 0.2em; background: transparent none repeat scroll 0% 0%; line-height: 1.2em; text-align: left; font-size: 90%;vertical-align: top;">Expected Graduation</th> | ||
+ | <td class="" style="padding: 0.2em; line-height: 1.3em; vertical-align: middle; font-size: 90%;">May 2009</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <th style="padding: 0.2em 1em 0.2em 0.2em; background: transparent none repeat scroll 0% 0%; line-height: 1.2em; text-align: left; font-size: 90%;vertical-align: top;">Email</th> | ||
+ | <td class="" style="padding: 0.2em; line-height: 1.3em; vertical-align: middle; font-size: 90%;"> | ||
+ | [mailto:jpsingh2@learn.senecac.on.ca jpsingh2@learn.senecac.on.ca]</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <th style="padding: 0.2em 1em 0.2em 0.2em; background: transparent none repeat scroll 0% 0%; line-height: 1.2em; text-align: left; font-size: 90%;vertical-align: top;">Blog</th> | ||
+ | <td class="" style="padding: 0.2em; line-height: 1.3em; vertical-align: middle; font-size: 90%;">http://jsinghfoss.wordpress.com/</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <th style="padding: 0.2em 1em 0.2em 0.2em; background: transparent none repeat scroll 0% 0%; line-height: 1.2em; text-align: left; font-size: 90%;vertical-align: top;">Website</th> | ||
+ | <td class="" style="padding: 0.2em; line-height: 1.3em; vertical-align: middle; font-size: 90%;">http://www.jatinders.com</td> | ||
+ | </tr> | ||
+ | </table> | ||
+ | =About Me= | ||
+ | :'''Name''': Jatinder Singh <br /> | ||
+ | :'''Program''': Bachelor of Software Development (BSD - 8 Semester) <br /> | ||
+ | :'''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)<br /> | |
− | ''' | + | ---- |
− | + | =DPS909= | |
− | |||
− | == | + | == Beginners == |
+ | |||
+ | * '''[http://cs.senecac.on.ca/~jordan.anastasiade/Eclipse/ Tutorias by Jordan Anastasiade (Professor Seneca College)]''' | ||
+ | * '''[http://www.eclipse.org/home/newcomers.php Eclipse Newcomers FAQ]''' | ||
+ | * '''[http://www.eclipse.org/webtools/development/arch_and_design/ArchitectureOverviewInitial.html Eclipse Webtools Architecture Overview]''' | ||
+ | * '''[http://help.eclipse.org/help32/index.jsp?topic=/org.eclipse.platform.doc.isv/reference/misc/naming.html Eclipse Naming Conventions]''' | ||
+ | * '''[http://www.eclipse.org/webtools/community/ Eclipse WTP Community]''' | ||
+ | ** '''[http://www.eclipse.org/webtools/community/education/web/index.php Eclipse WTP Community Education]''' | ||
+ | |||
+ | == Installing Tools == | ||
+ | |||
+ | * '''Download [http://www.eclipse.org/downloads/ Eclipse for RCP/Plug-in Developers (175 MB)]'''. Unzip on your system in the directory: '''''Eclipse PlugIn''''' | ||
+ | |||
+ | * '''Download [http://download.eclipse.org/webtools/downloads/ Eclipse Web Tools Platform]''' (Stable Milestone Build) | ||
+ | |||
+ | == IRC Channels == | ||
+ | |||
+ | * Eclipse IRC channels are [http://wiki.eclipse.org/index.php/IRC available here]''' | ||
+ | * Seneca IRC channel - #seneca | ||
+ | |||
+ | == 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 [https://bugs.eclipse.org/bugs/show_bug.cgi?id=173912#c0 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 [https://bugs.eclipse.org/bugs/show_bug.cgi?id=203257#c0 203257] on Windows Vista Business OS | ||
+ | * Tried to reproduce bug [https://bugs.eclipse.org/bugs/show_bug.cgi?id=142301#c0 142301] but couldn't do it due to lack of documentation | ||
+ | |||
+ | === Week 4 === | ||
+ | |||
+ | * Downloaded and debugged org.eclipse.wst.wsdl.ui package to find problems | ||
+ | * Used Eclipse tutorial (guided by Jordan) to learn about Eclipse debugging techniques | ||
+ | |||
+ | === Week 5 === | ||
+ | |||
+ | * Found that the org.eclipse.wst.wsdl.ui package links to source code present in org.elicpse.wst.wsdl package. | ||
+ | * Downloaded org.eclipse.wst.wsdl package to perform debugging and understand flow of logic through different classes | ||
+ | |||
+ | === Week 6 === | ||
+ | |||
+ | * Contributed to Anthony's Bit torrent project. Helped him to install Bit torrent tracker for his project (requested by Dave Humphrey) | ||
+ | * Read tutorials about WSDL and DOM to refresh knowledge | ||
+ | |||
+ | === Week 7 === | ||
+ | |||
+ | * Contribution - Helped Sid to set up Eclipse WTP and taught basic functionality | ||
+ | * Found the problem in my bug: reconcileReferences(boolean) method, references are lost before the code gets to this method | ||
+ | |||
+ | === Week 8 === | ||
+ | |||
+ | * Debugged the whole WSDL file and learned different things including: WSDL is built using DOM, DOM uses recursion to build child nodes, each node is a different Class and uses the following name format <WSDL_ELEMENT_NAME>+<Impl> e.g PortImpl | ||
+ | * Posted questions on news group - [http://www.eclipse.org/newsportal/article.php?id=18373&group=eclipse.webtools available here] | ||
+ | * Posted a new post - [http://jsinghfoss.wordpress.com/2009/03/07/eclipse-wtp-presentation-by-angel-vera/ available here] | ||
+ | * Posted a new post - [http://jsinghfoss.wordpress.com/2009/03/10/eclipse-wsdl-editor-not-available-in-debugger-m4/ available here] | ||
+ | * Posted a new post - [http://jsinghfoss.wordpress.com/2009/03/12/eclipse-debugging-plug-in-was-long/ available here] | ||
+ | |||
+ | === Week 9 === | ||
+ | |||
+ | * Found the involvement of org.eclipse.wst.wsdl.ui.internal.adapters.commands package | ||
+ | * Currently working on finding the GAP where references are lost | ||
+ | * Posted questions on news group - [http://dev.eclipse.org/newslists/news.eclipse.webtools/msg18366.html available here] | ||
+ | |||
+ | === Week 10 === | ||
+ | * Posted questions on Bugzilla page - [https://bugs.eclipse.org/bugs/show_bug.cgi?id=203257#c6 available here] | ||
+ | |||
+ | == Projects == | ||
+ | === [https://bugs.eclipse.org/bugs/show_bug.cgi?id=203257#c0 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 [https://bugs.eclipse.org/bugs/attachment.cgi?id=78305 '''attached WSDL'''], the prefix was changed from "pos" to "posCHANGED" only in the namespace definitions section. | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ==== Comment from [mailto:wuamy@ca.ibm.com 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 [https://bugs.eclipse.org/bugs/show_bug.cgi?id=203257#c0 Bug 203257] on Eclipse WTP (Stable Build - 20081219210304, Milestone 4)''' | ||
+ | : '''Inserted a [http://jsinghfoss.wordpress.com/2009/01/31/214/ blog post] on my blog''' |
Latest revision as of 11:58, 14 April 2009
Jatinder Singh | |
Me | |
Born | September 05 |
---|---|
Occupation | Software Developer |
Expected Graduation | May 2009 |
jpsingh2@learn.senecac.on.ca | |
Blog | http://jsinghfoss.wordpress.com/ |
Website | http://www.jatinders.com |
Contents
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
- Tutorias by Jordan Anastasiade (Professor Seneca College)
- Eclipse Newcomers FAQ
- Eclipse Webtools Architecture Overview
- Eclipse Naming Conventions
- Eclipse WTP Community
Installing Tools
- Download Eclipse for RCP/Plug-in Developers (175 MB). Unzip on your system in the directory: Eclipse PlugIn
- Download Eclipse Web Tools Platform (Stable Milestone Build)
IRC Channels
- Eclipse IRC channels are available here
- Seneca IRC channel - #seneca
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
Week 4
- Downloaded and debugged org.eclipse.wst.wsdl.ui package to find problems
- Used Eclipse tutorial (guided by Jordan) to learn about Eclipse debugging techniques
Week 5
- Found that the org.eclipse.wst.wsdl.ui package links to source code present in org.elicpse.wst.wsdl package.
- Downloaded org.eclipse.wst.wsdl package to perform debugging and understand flow of logic through different classes
Week 6
- Contributed to Anthony's Bit torrent project. Helped him to install Bit torrent tracker for his project (requested by Dave Humphrey)
- Read tutorials about WSDL and DOM to refresh knowledge
Week 7
- Contribution - Helped Sid to set up Eclipse WTP and taught basic functionality
- Found the problem in my bug: reconcileReferences(boolean) method, references are lost before the code gets to this method
Week 8
- Debugged the whole WSDL file and learned different things including: WSDL is built using DOM, DOM uses recursion to build child nodes, each node is a different Class and uses the following name format <WSDL_ELEMENT_NAME>+<Impl> e.g PortImpl
- Posted questions on news group - available here
- Posted a new post - available here
- Posted a new post - available here
- Posted a new post - available here
Week 9
- Found the involvement of org.eclipse.wst.wsdl.ui.internal.adapters.commands package
- Currently working on finding the GAP where references are lost
- Posted questions on news group - available here
Week 10
- Posted questions on Bugzilla page - available here
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