Author: kelvingoodson
Date: Mon Feb  1 16:56:53 2010
New Revision: 905337

URL: http://svn.apache.org/viewvc?rev=905337&view=rev
Log:
adding work items to existing milestone working - new milstone missing some 
logic, i/f needs tidying, backup of old plan not yet good enough

Modified:
    tuscany/sandbox/kgoodson/jagg/src/main/java/services/PlanView.java
    tuscany/sandbox/kgoodson/jagg/src/main/java/services/PlanViewImpl.java
    tuscany/sandbox/kgoodson/jagg/src/main/resources/JiraSideband.xml
    tuscany/sandbox/kgoodson/jagg/src/main/resources/JiraSideband.xsd
    tuscany/sandbox/kgoodson/jagg/src/main/resources/uiservices/plan.html

Modified: tuscany/sandbox/kgoodson/jagg/src/main/java/services/PlanView.java
URL: 
http://svn.apache.org/viewvc/tuscany/sandbox/kgoodson/jagg/src/main/java/services/PlanView.java?rev=905337&r1=905336&r2=905337&view=diff
==============================================================================
--- tuscany/sandbox/kgoodson/jagg/src/main/java/services/PlanView.java 
(original)
+++ tuscany/sandbox/kgoodson/jagg/src/main/java/services/PlanView.java Mon Feb  
1 16:56:53 2010
@@ -31,5 +31,6 @@
 public interface PlanView {
 
        Plan get();
+       void post(String newMSName,String msChoice, String jira);
 
 }
\ No newline at end of file

Modified: tuscany/sandbox/kgoodson/jagg/src/main/java/services/PlanViewImpl.java
URL: 
http://svn.apache.org/viewvc/tuscany/sandbox/kgoodson/jagg/src/main/java/services/PlanViewImpl.java?rev=905337&r1=905336&r2=905337&view=diff
==============================================================================
--- tuscany/sandbox/kgoodson/jagg/src/main/java/services/PlanViewImpl.java 
(original)
+++ tuscany/sandbox/kgoodson/jagg/src/main/java/services/PlanViewImpl.java Mon 
Feb  1 16:56:53 2010
@@ -20,6 +20,7 @@
 package services;
 
 import java.io.File;
+import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.net.MalformedURLException;
@@ -29,6 +30,7 @@
 import javax.xml.bind.JAXBContext;
 import javax.xml.bind.JAXBElement;
 import javax.xml.bind.Unmarshaller;
+import javax.xml.bind.Marshaller;
 
 import org.oasisopen.sca.annotation.Init;
 import org.xml.sax.InputSource;
@@ -55,7 +57,6 @@
 
        @Init
        public void init() {
-
        }
 
        private Plan getPlan() {
@@ -70,7 +71,7 @@
 
 //                             Reader r = new XMLReader()
 //                             InputSource s  = new InputSource(r);
-                               _p = ((JAXBElement<Plan>) 
m.unmarshal(inputFile)).getValue();
+                               _p = (Plan)m.unmarshal(inputFile);
                                augment_plan(_p);
                        } catch (Exception e) {
                                e.printStackTrace();
@@ -99,11 +100,6 @@
                                                JAXBContext jaxbContext = 
JAXBContext
                                                                
.newInstance("com.example.ipo.jaxb");
                                                Unmarshaller m2 = 
jaxbContext.createUnmarshaller();
-       
-       //                                      File inputFile = new 
File("src/main/resources/exampleJira.xml")
-       //                                                      
.getAbsoluteFile();
-       //
-       //                                      RSS j = ((JAXBElement<RSS>) 
m2.unmarshal(inputFile)).getValue();
                                                InputStream is = null;
                                                RSS j;
                                                try{
@@ -118,6 +114,7 @@
                                                Item i = 
j.getChannel().getItem();
                                                
System.out.println(i.toString());
                                                List<JAXBElement<?>> c  = 
i.getContent();
+                                               // TODO see if there's a better 
way to get this data out
                                                for (JAXBElement<?> element : 
c) {
                                                        
if("title".equals(element.getName().getLocalPart())) {
                                                                String jtitle = 
(String)element.getValue();
@@ -148,4 +145,60 @@
                return modelplan;
        }
 
+       private Milestone getMS(String id) {
+
+               Milestone m = null;
+               Plan p = getPlan();
+               for(Milestone mi : p.getMilestone()) {
+                       if(id.equals(mi.getID())) {
+                               m = mi;
+                               break;
+                       }
+               }
+               return m;
+       }
+
+       public void post(String newMSName,String msChoice, String jira) {
+               
+               String msName = msChoice;
+               Plan p = getPlan();
+               if(!"".equals(newMSName)) {
+                       List<Milestone> mis = p.getMilestone();
+                       Milestone newm = new Milestone();
+                       newm.setID(newMSName);
+                       mis.add(new Milestone());
+                       msName = newMSName;
+               }
+               
+               Milestone m = getMS(msName);
+               WorkItem wi = new WorkItem();
+               wi.setJira(jira);
+               m.getWorkItem().add(wi);
+               
+               writePlan();
+       }
+       
+       private void writePlan()
+       {
+               try {
+                       JAXBContext jaxbContext = JAXBContext
+                                       .newInstance("com.example.ipo.jaxb");
+                       Marshaller m = jaxbContext.createMarshaller();
+                       m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, 
Boolean.TRUE);
+                       File oldInputFile = new 
File("src/main/resources/jiraSideBand.xml").getAbsoluteFile();
+                       String oldPath = oldInputFile.getAbsolutePath();
+                       oldInputFile.renameTo(new File(oldPath+".old"));
+                       File outputFile = new 
File("src/main/resources/jiraSideBand.xml").getAbsoluteFile();
+                       FileOutputStream fos = new FileOutputStream(outputFile);
+
+                       
+                       m.marshal(getPlan(), fos);
+               } catch (Exception e) {
+                       e.printStackTrace();
+               } finally {
+
+               }
+       }
+       
+
 }
\ No newline at end of file

Modified: tuscany/sandbox/kgoodson/jagg/src/main/resources/JiraSideband.xml
URL: 
http://svn.apache.org/viewvc/tuscany/sandbox/kgoodson/jagg/src/main/resources/JiraSideband.xml?rev=905337&r1=905336&r2=905337&view=diff
==============================================================================
--- tuscany/sandbox/kgoodson/jagg/src/main/resources/JiraSideband.xml (original)
+++ tuscany/sandbox/kgoodson/jagg/src/main/resources/JiraSideband.xml Mon Feb  
1 16:56:53 2010
@@ -1,68 +1,67 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<jagg:plan xmlns:jagg="http://www.example.com/tracking"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://www.example.com/tracking JiraSideband.xsd ">
-  <issueBase>https://issues.apache.org/jira/browse/</issueBase>
-
- <milestone ID="V8 M5I14a">
-       <dueDate>2001-01-01</dueDate>
-       <deliveredby>deliveredby</deliveredby>
-       <note>note</note>
-       
-       <workItem>
-               <title>support reference on other impl type than 
impl.widget</title>
-               <responsible>LR</responsible>
-               <dueDate>2001-01-01</dueDate>
-               <jira>TUSCANY-2850</jira>
-               <status>in progress</status>
-               <repository_vid>repository_vid</repository_vid>
-               <note>note</note>
-       </workItem>
-       <workItem>
-               <title>Enhance artefact processing performance by returning URI 
and location URL in one call</title>
-               <responsible>LR</responsible>
-               <dueDate>2001-01-01</dueDate>
-               <jira>TUSCANY-3395</jira>
-               <status>in progress</status>
-               <repository_vid>repository_vid</repository_vid>
-               <note>note</note>
-       </workItem>
-       <workItem>
-               <title>Add support for identifying the SCA Spec Version for 
contribution metadata</title>
-               <responsible>LR</responsible>
-               <dueDate>2001-01-01</dueDate>
-               <jira>TUSCANY-3397</jira>
-               <status>in progress</status>
-               <repository_vid>repository_vid</repository_vid>
-               <note>note</note>
-       </workItem>
-</milestone>
- <milestone ID="V8_M5I14b">
-       <workItem>
-               <title>Itest copy from 1.x to 2.x</title>
-               <responsible>Ram</responsible>
-               <jira>TUSCANY-3433</jira>
-       </workItem>
-       <workItem>
-               <title>Non-simple property injection</title>
-               <responsible>Raymond</responsible>
-               <jira>TUSCANY-3409</jira>
-       </workItem>
-       <workItem>
-               <title>local/remote determination</title>
-               <responsible>Raymond</responsible>
-               <jira>TUSCANY-3441</jira>
-       </workItem>
-       <workItem>
-               <title>SPI version tracking</title>
-               <responsible>SL</responsible>
-               <jira>TUSCANY-3443</jira>
-       </workItem>
-       <workItem>
-               <title>Mechanism to retrieve revision number</title>
-               <responsible>AE</responsible>
-       </workItem>
-       <workItem>
-               <title>client API no honouring domain URI</title>
-               <responsible>AE</responsible>
-       </workItem></milestone>
-
-</jagg:plan>
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<ns2:plan xmlns:ns2="http://www.example.com/tracking";>
+    <issueBase>https://issues.apache.org/jira/browse/</issueBase>
+    <milestone ID="V8 M5I14a">
+        <workItem>
+            <jira>TUSCANY-2850</jira>
+            <jiraData ID="TUSCANY-2850">
+                <title> Support binding.json-rpc for implementation.java's 
reference</title>
+                <status>Open</status>
+                <assignedTo>Unassigned</assignedTo>
+            </jiraData>
+        </workItem>
+        <workItem>
+            <jira>TUSCANY-3395</jira>
+            <jiraData ID="TUSCANY-3395">
+                <title> Tidying up Contribution Scanner API</title>
+                <status>Resolved</status>
+                <assignedTo>Luciano Resende</assignedTo>
+            </jiraData>
+        </workItem>
+        <workItem>
+            <jira>TUSCANY-3397</jira>
+            <jiraData ID="TUSCANY-3397">
+                <title> Add support for identifying the SCA Spec Version for 
contribution metadata</title>
+                <status>Resolved</status>
+                <assignedTo>Luciano Resende</assignedTo>
+            </jiraData>
+        </workItem>
+        <workItem>
+            <jira>TUSCANY-1111</jira>
+            <jiraData ID="TUSCANY-1111">
+                <title> Interchangeability of Java and WSDL</title>
+                <status>Closed</status>
+                <assignedTo>Unassigned</assignedTo>
+            </jiraData>
+        </workItem>
+    </milestone>
+    <milestone ID="V8_M5I14b">
+        <workItem>
+            <jira>TUSCANY-3433</jira>
+            <jiraData ID="TUSCANY-3433">
+                <title> Import more of the basic itests from 1.x to 2.x 
</title>
+                <status>Open</status>
+                <assignedTo>Ramkumar Ramalingam</assignedTo>
+            </jiraData>
+        </workItem>
+        <workItem>
+            <jira>TUSCANY-3409</jira>
+            <jiraData ID="TUSCANY-3409">
+                <title> Non-Simple Property Injected with XML Fails with 
NullPointerException</title>
+                <status>Resolved</status>
+                <assignedTo>Raymond Feng</assignedTo>
+            </jiraData>
+        </workItem>
+        <workItem>
+            <jira>TUSCANY-3441</jira>
+            <jiraData ID="TUSCANY-3441">
+                <title> Improve mechanism for determining locality of 
endpoints to endpoint references</title>
+                <status>Open</status>
+                <assignedTo>Unassigned</assignedTo>
+            </jiraData>
+        </workItem>
+        <workItem>
+            <jira>TUSCANY-2222</jira>
+        </workItem>
+    </milestone>
+</ns2:plan>

Modified: tuscany/sandbox/kgoodson/jagg/src/main/resources/JiraSideband.xsd
URL: 
http://svn.apache.org/viewvc/tuscany/sandbox/kgoodson/jagg/src/main/resources/JiraSideband.xsd?rev=905337&r1=905336&r2=905337&view=diff
==============================================================================
--- tuscany/sandbox/kgoodson/jagg/src/main/resources/JiraSideband.xsd (original)
+++ tuscany/sandbox/kgoodson/jagg/src/main/resources/JiraSideband.xsd Mon Feb  
1 16:56:53 2010
@@ -21,16 +21,16 @@
                  xmlns:jagg="http://www.example.com/tracking"; 
             xmlns:xsd="http://www.w3.org/2001/XMLSchema";>
 
-    <xsd:element name="plan" type="jagg:Plan"></xsd:element>
-    
-    <xsd:complexType name="Plan">
-       <xsd:sequence>
-               <xsd:element name="issueBase" type="xsd:string" maxOccurs="1" 
minOccurs="0"></xsd:element>
-
-
-               <xsd:element name="milestone" type="jagg:Milestone" 
maxOccurs="unbounded" minOccurs="0"></xsd:element>
-       </xsd:sequence>
-    </xsd:complexType>
+    <xsd:element name="plan">
+           <xsd:complexType>
+               <xsd:sequence>
+                       <xsd:element name="issueBase" type="xsd:string" 
maxOccurs="1" minOccurs="0"></xsd:element>
+       
+       
+                       <xsd:element name="milestone" type="jagg:Milestone" 
maxOccurs="unbounded" minOccurs="0"></xsd:element>
+               </xsd:sequence>
+           </xsd:complexType>
+    </xsd:element>
 
 
     <xsd:complexType name="WorkItem">

Modified: tuscany/sandbox/kgoodson/jagg/src/main/resources/uiservices/plan.html
URL: 
http://svn.apache.org/viewvc/tuscany/sandbox/kgoodson/jagg/src/main/resources/uiservices/plan.html?rev=905337&r1=905336&r2=905337&view=diff
==============================================================================
--- tuscany/sandbox/kgoodson/jagg/src/main/resources/uiservices/plan.html 
(original)
+++ tuscany/sandbox/kgoodson/jagg/src/main/resources/uiservices/plan.html Mon 
Feb  1 16:56:53 2010
@@ -42,18 +42,13 @@
                        mschoice+='<option>'+ms[i].ID+'</option>';
                        var mswi = ms[i].workItem.list;
                        mscontent +="<tr>"+
-
-                                                       "<th>Work Item</th>"+
-                                                       "<th>Owner</th>"+
                                                        "<th>Jira</th>"+
                                                        "<th>Jira title</th>"+
                                                        "<th>Jira Assigned 
To</th>"+
                                                        "<th>Status</th>"+
-
-                                                       "</tr>";
+                                               "</tr>";
                        for (var j=0; j<mswi.length; j++) {
-                               mscontent +="<tr>"+"<td>"+mswi[j].title+"</td>"+
-                               "<td>"+mswi[j].responsible+"</td>";
+                               mscontent +="<tr>";
                                if(mswi[j].jira) {
                                        mscontent += 
                                        "<td><A 
HREF=\""+plan.issueBase+mswi[j].jira+"\">"+mswi[j].jira+"</A></td>"+
@@ -69,20 +64,25 @@
                        }
 
                }
-               mschoice += '<option>New Milestone..</option></select>';
+               mscontent += "</table><P>";
+               mschoice += '</select>';
+               
+               document.getElementById('milestones').innerHTML='<h2>' + 
mscontent;
 
-               mscontent += "</table>";
+               
 
-               mscontent +=  '<form name="newWorkItemForm">'+
-                   '<div id="addWorkItem">'+
-                           '<h4>New Work Item</h4>'+
+               var newmscontent =
+                       '<form name="newWorkItemForm">'+
+                     '<div id="addWorkItem">'+
                        'JIRA: <input type="text" name="JIRA" 
value="TUSCANY-"><br/>'+
-                       'MileStone: '+mschoice+
-                           '<input type="button" onClick="addWorkItem()"  
value="Add Work Item">'+
-                       '</div>'+
-               '</form>';              
-       
-               document.getElementById('milestones').innerHTML='<h2>' + 
mscontent;
+                       mschoice+
+                       '<br/>New Milestone'+
+                       '<input name="newmsname" type=text/></td></tr>'+
+                           '<input type="button" onClick="addWorkItem()" 
value="Add Work Item">'+
+                        '</div>'+
+                   '</form>';
+
+               document.getElementById('addPlanData').innerHTML=newmscontent;
                return;
                
        }
@@ -94,6 +94,15 @@
        }
 
        function addWorkItem() {
+
+               planView.post(document.newWorkItemForm.newmsname.value,
+                                     document.newWorkItemForm.mschoice.value,
+                                     document.newWorkItemForm.JIRA.value)
+                 .addCallback(plan_postNewItem_response);
+       }
+
+       function plan_postNewItem_response()
+       {
        }
 
        
@@ -104,7 +113,10 @@
 <body onload="init()">
 <h1>Plan</h1>
 
- 
-  <div id="milestones"></div>
-</body>
+
+       <table>
+         <tr><td><div id="milestones"></div></td></tr>
+         <tr><td><div id="addPlanData"></div></td></tr>
+       </table>
+       </body>
 </html>
\ No newline at end of file


Reply via email to