Author: kelvingoodson
Date: Mon Jan 25 18:03:01 2010
New Revision: 902898

URL: http://svn.apache.org/viewvc?rev=902898&view=rev
Log: (empty)

Added:
    tuscany/sandbox/kgoodson/jagg/src/
    tuscany/sandbox/kgoodson/jagg/src/main/
    tuscany/sandbox/kgoodson/jagg/src/main/java/
    tuscany/sandbox/kgoodson/jagg/src/main/java/launch/
    tuscany/sandbox/kgoodson/jagg/src/main/java/launch/Launch.java   (with 
props)
    tuscany/sandbox/kgoodson/jagg/src/main/java/services/
    tuscany/sandbox/kgoodson/jagg/src/main/java/services/Item.java   (with 
props)
    tuscany/sandbox/kgoodson/jagg/src/main/java/services/JiraQuery.java   (with 
props)
    tuscany/sandbox/kgoodson/jagg/src/main/java/services/JiraQueryImpl.java   
(with props)
    tuscany/sandbox/kgoodson/jagg/src/main/java/services/PlanView.java   (with 
props)
    tuscany/sandbox/kgoodson/jagg/src/main/java/services/PlanViewImpl.java   
(with props)
    tuscany/sandbox/kgoodson/jagg/src/main/resources/
    tuscany/sandbox/kgoodson/jagg/src/main/resources/JiraSideband.xml   (with 
props)
    tuscany/sandbox/kgoodson/jagg/src/main/resources/JiraSideband.xsd   (with 
props)

Added: tuscany/sandbox/kgoodson/jagg/src/main/java/launch/Launch.java
URL: 
http://svn.apache.org/viewvc/tuscany/sandbox/kgoodson/jagg/src/main/java/launch/Launch.java?rev=902898&view=auto
==============================================================================
--- tuscany/sandbox/kgoodson/jagg/src/main/java/launch/Launch.java (added)
+++ tuscany/sandbox/kgoodson/jagg/src/main/java/launch/Launch.java Mon Jan 25 
18:03:01 2010
@@ -0,0 +1,40 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.    
+ */
+
+package launch;
+
+import org.apache.tuscany.sca.node.Contribution;
+import org.apache.tuscany.sca.node.ContributionLocationHelper;
+import org.apache.tuscany.sca.node.Node;
+import org.apache.tuscany.sca.node.NodeFactory;
+
+public class Launch {
+    public static void main(String[] args) throws Exception {
+        System.out.println("Starting ...");
+        String contribution = 
ContributionLocationHelper.getContributionLocation(Launch.class);
+        Node node = NodeFactory.newInstance().createNode("plan.composite", new 
Contribution("test", contribution));
+        node.start();
+        System.out.println("plan.composite running");
+        System.in.read();
+        System.out.println("Stopping ...");
+        node.stop();
+        node.destroy();
+        System.out.println();
+    }
+}

Propchange: tuscany/sandbox/kgoodson/jagg/src/main/java/launch/Launch.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tuscany/sandbox/kgoodson/jagg/src/main/java/launch/Launch.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: tuscany/sandbox/kgoodson/jagg/src/main/java/services/Item.java
URL: 
http://svn.apache.org/viewvc/tuscany/sandbox/kgoodson/jagg/src/main/java/services/Item.java?rev=902898&view=auto
==============================================================================
--- tuscany/sandbox/kgoodson/jagg/src/main/java/services/Item.java (added)
+++ tuscany/sandbox/kgoodson/jagg/src/main/java/services/Item.java Mon Jan 25 
18:03:01 2010
@@ -0,0 +1,54 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.    
+ */
+
+package services;
+
+public class Item {
+    private String name;
+    private String price;
+    
+    public Item() {
+    }
+    
+    public Item(String name, String price) {
+        this.name = name;
+        this.price = price;
+    }
+    
+    public Item(String name) {
+               this(name,"0.00");
+       }
+
+       public String getName() {
+        return name;
+    }
+    
+    public void setName(String name) {
+        this.name = name;
+    }
+    
+    public String getPrice() {
+        return price;
+    }
+    
+    public void setPrice(String price) {
+        this.price = price;
+    }
+
+}

Propchange: tuscany/sandbox/kgoodson/jagg/src/main/java/services/Item.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tuscany/sandbox/kgoodson/jagg/src/main/java/services/Item.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: tuscany/sandbox/kgoodson/jagg/src/main/java/services/JiraQuery.java
URL: 
http://svn.apache.org/viewvc/tuscany/sandbox/kgoodson/jagg/src/main/java/services/JiraQuery.java?rev=902898&view=auto
==============================================================================
--- tuscany/sandbox/kgoodson/jagg/src/main/java/services/JiraQuery.java (added)
+++ tuscany/sandbox/kgoodson/jagg/src/main/java/services/JiraQuery.java Mon Jan 
25 18:03:01 2010
@@ -0,0 +1,8 @@
+package services;
+
+import java.util.Collection;
+
+public interface JiraQuery {
+       public Collection<String> getJiraIDs();
+       public String getTitle(String ID);
+}

Propchange: tuscany/sandbox/kgoodson/jagg/src/main/java/services/JiraQuery.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tuscany/sandbox/kgoodson/jagg/src/main/java/services/JiraQuery.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: tuscany/sandbox/kgoodson/jagg/src/main/java/services/JiraQueryImpl.java
URL: 
http://svn.apache.org/viewvc/tuscany/sandbox/kgoodson/jagg/src/main/java/services/JiraQueryImpl.java?rev=902898&view=auto
==============================================================================
--- tuscany/sandbox/kgoodson/jagg/src/main/java/services/JiraQueryImpl.java 
(added)
+++ tuscany/sandbox/kgoodson/jagg/src/main/java/services/JiraQueryImpl.java Mon 
Jan 25 18:03:01 2010
@@ -0,0 +1,74 @@
+package services;
+import java.io.IOException;
+import java.lang.String;
+import java.lang.reflect.Array;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.List;
+
+import com.sun.syndication.feed.synd.SyndEntry;
+import com.sun.syndication.feed.synd.SyndFeed;
+import com.sun.syndication.io.FeedException;
+import com.sun.syndication.io.SyndFeedInput;
+import com.sun.syndication.io.XmlReader;
+
+
+public class JiraQueryImpl implements JiraQuery {
+
+       private String rssfeed = null;
+       private HashMap entries = null;
+       
+       public JiraQueryImpl() {
+       
+       }
+
+       public JiraQueryImpl(String rssfeed) throws Exception {
+               this.rssfeed = rssfeed;
+
+       }
+       public Collection<String> getJiraIDs() {
+               try {
+                       refreshFeedData();
+               } catch (IllegalArgumentException e) {
+                       // TODO Auto-generated catch block
+                       e.printStackTrace();
+               } catch (MalformedURLException e) {
+                       // TODO Auto-generated catch block
+                       e.printStackTrace();
+               } catch (FeedException e) {
+                       // TODO Auto-generated catch block
+                       e.printStackTrace();
+               } catch (IOException e) {
+                       // TODO Auto-generated catch block
+                       e.printStackTrace();
+               }
+               return entries.keySet();
+       }
+       public String getTitle(String ID) {
+               return ((SyndEntry)entries.get(ID)).getTitle();
+       }
+       private void refreshFeedData() throws IllegalArgumentException, 
MalformedURLException, FeedException, IOException {
+
+               
+               SyndFeedInput input = new SyndFeedInput();
+           SyndFeed feed = input.build(new XmlReader(new URL(rssfeed)));
+
+           entries = new HashMap();
+           
+           for(Object entry: feed.getEntries()){
+               SyndEntry syndEntry = (SyndEntry)entry;
+               String id = jiraNumber(syndEntry.getTitle());
+               entries.put(id, syndEntry);
+           }
+
+       }
+
+       private String jiraNumber(String title) {
+               String[] id = title.split("[\\[\\]]");
+               return id[1];
+       }
+       
+}

Propchange: 
tuscany/sandbox/kgoodson/jagg/src/main/java/services/JiraQueryImpl.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
tuscany/sandbox/kgoodson/jagg/src/main/java/services/JiraQueryImpl.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: 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=902898&view=auto
==============================================================================
--- tuscany/sandbox/kgoodson/jagg/src/main/java/services/PlanView.java (added)
+++ tuscany/sandbox/kgoodson/jagg/src/main/java/services/PlanView.java Mon Jan 
25 18:03:01 2010
@@ -0,0 +1,34 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.    
+ */
+
+package services;
+
+import org.oasisopen.sca.annotation.Remotable;
+
+import com.example.ipo.jaxb.MileStone;
+import com.example.ipo.jaxb.PlanDTO;
+import com.example.ipo.jaxb.WorkItem;
+
+...@remotable
+public interface PlanView {
+
+       MileStone[] get();
+    MileStone[] getMilestones();
+    WorkItem[] getMilestoneWorkitems(String msid);
+}
\ No newline at end of file

Propchange: tuscany/sandbox/kgoodson/jagg/src/main/java/services/PlanView.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tuscany/sandbox/kgoodson/jagg/src/main/java/services/PlanView.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: 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=902898&view=auto
==============================================================================
--- tuscany/sandbox/kgoodson/jagg/src/main/java/services/PlanViewImpl.java 
(added)
+++ tuscany/sandbox/kgoodson/jagg/src/main/java/services/PlanViewImpl.java Mon 
Jan 25 18:03:01 2010
@@ -0,0 +1,159 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.    
+ */
+
+package services;
+
+import java.io.File;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import javax.xml.bind.JAXBContext;
+import javax.xml.bind.JAXBElement;
+import javax.xml.bind.Unmarshaller;
+
+import org.oasisopen.sca.annotation.Init;
+
+import com.example.ipo.jaxb.MileStone;
+import com.example.ipo.jaxb.Milestones;
+import com.example.ipo.jaxb.Plan;
+import com.example.ipo.jaxb.PlanDTO;
+import com.example.ipo.jaxb.WorkItem;
+import com.example.ipo.jaxb.WorkItems;
+
+public class PlanViewImpl implements PlanView {
+
+       private Plan _p = null;
+       private Map<String, MileStone> _milestoneMap = null;
+       private Map<String, WorkItem> _workItemMap = null;
+
+       @Init
+       public void init() {
+
+       }
+
+       private Plan getPlan() {
+               if (_p == null) {
+
+                       try {
+                               JAXBContext jaxbContext = JAXBContext
+                                               
.newInstance("com.example.ipo.jaxb");
+                               Unmarshaller m = 
jaxbContext.createUnmarshaller();
+                               File inputFile = new 
File("src/main/resources/jiraSideBand.xml")
+                                               .getAbsoluteFile();
+
+                               _p = ((JAXBElement<Plan>) 
m.unmarshal(inputFile)).getValue();
+                       } catch (Exception e) {
+                               e.printStackTrace();
+                       } finally {
+                       }
+
+               }
+               return _p;
+       }
+       
+       private Map<String , MileStone> getMileStoneMap()
+       {
+               if(_milestoneMap == null) {
+                       _milestoneMap = new HashMap<String, MileStone>();
+                       
+                       Plan p = getPlan();
+                       List<MileStone> ms = p.getMilestones().getMilestone();
+                       for (Iterator<MileStone> iterator = ms.iterator(); 
iterator.hasNext();) {
+                               MileStone mileStone = iterator.next();
+                               _milestoneMap.put(mileStone.getID(), mileStone);
+                       }
+               }
+               return _milestoneMap;
+       }
+
+       private Map<String, WorkItem> getWorkItemMap()
+       { 
+               if(_workItemMap == null) {
+                       _workItemMap = new HashMap<String, WorkItem>();
+                       
+                       Plan p = getPlan();
+                       List<WorkItem> ms = p.getWorkitems().getWorkitem();
+                       for (Iterator<WorkItem> iterator = ms.iterator(); 
iterator.hasNext();) {
+                               WorkItem workItem = iterator.next();
+                               _workItemMap.put(workItem.getID(), workItem);
+                       }
+               }
+               return _workItemMap;
+       }
+
+
+
+       public MileStone[] getMilestones() {
+
+               List<MileStone> ms = null;
+               Plan p = getPlan();
+               ms = p.getMilestones().getMilestone();
+               MileStone[] ma = new MileStone[(ms.size())];
+               ms.toArray(ma);
+
+               return ma;
+       }
+
+       public WorkItem[] getMilestoneWorkitems(String msid) {
+               Map<String,MileStone> msmap = getMileStoneMap();
+               Map<String,WorkItem> wimap = getWorkItemMap();
+               MileStone ms = msmap.get(msid);
+               List<String> wirefs = ms.getWorkItem();
+
+               WorkItem[] retval = new WorkItem[wirefs.size()];
+               int i=0;
+               for (Iterator<String> iterator = wirefs.iterator(); 
iterator.hasNext();) {
+                       String wiref = iterator.next();
+                       retval[i] = wimap.get(wiref);
+                       i++;
+               }
+               
+               return retval;
+       }
+
+       public MileStone[] get() {
+               Plan p = getPlan();
+               
+               
+               Milestones ms = p.getMilestones();
+               WorkItems ws = p.getWorkitems();
+               
+               MileStone[] plan = new MileStone[ms.getMilestone().size()];
+
+               
+               int i=0;
+               List<MileStone> lm = ms.getMilestone();
+
+               for (MileStone mileStone : lm) {
+                       plan[i++] = mileStone;
+               }
+               
+//             List<WorkItem> lw = ws.getWorkitem();
+//             
+//             for (WorkItem workItem : lw) {
+//                     plan[i++] = workItem;
+//             }
+               
+               
+               return plan;
+       }
+
+}
\ No newline at end of file

Propchange: 
tuscany/sandbox/kgoodson/jagg/src/main/java/services/PlanViewImpl.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
tuscany/sandbox/kgoodson/jagg/src/main/java/services/PlanViewImpl.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: 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=902898&view=auto
==============================================================================
--- tuscany/sandbox/kgoodson/jagg/src/main/resources/JiraSideband.xml (added)
+++ tuscany/sandbox/kgoodson/jagg/src/main/resources/JiraSideband.xml Mon Jan 
25 18:03:01 2010
@@ -0,0 +1,42 @@
+<?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 ">
+  <milestones>
+       <milestone ID="V8_M5I14a">
+               <dueDate>2001-01-01</dueDate>
+               <deliveredby>deliveredby</deliveredby>
+               <note>note</note>
+               <workItem>ENHANCE_ART_PROC_PERF</workItem>
+               <workItem>CONTRIBS_IDENT_SPEC_VERS</workItem>
+               <workItem>SUPPORT_REFS_ON_OTHERS</workItem>
+       </milestone>
+   </milestones>
+  <workitems>
+       <workitem>
+               <ID>ENHANCE_ART_PROC_PERF</ID>
+               <responsible>LR</responsible>
+               <dueDate>2001-01-01</dueDate>
+               <jira>TUSCANY-3395</jira>
+               <status>status</status>
+               <repository_vid>repository_vid</repository_vid>
+               <note>note</note>
+       </workitem>
+       <workitem>
+               <ID>CONTRIBS_IDENT_SPEC_VERS</ID>
+               <responsible>LR</responsible>
+               <dueDate>2001-01-01</dueDate>
+               <jira>TUSCANY-3397</jira>
+               <status>status</status>
+               <repository_vid>repository_vid</repository_vid>
+               <note>note</note>
+       </workitem>
+       <workitem>
+               <ID>SUPPORT_REFS_ON_OTHERS</ID>
+               <responsible>LR</responsible>
+               <dueDate>2001-01-01</dueDate>
+               <jira>TUSCANY-2850</jira>
+               <status>status</status>
+               <repository_vid>repository_vid</repository_vid>
+               <note>note</note>
+       </workitem>
+  </workitems>
+</jagg:plan>

Propchange: tuscany/sandbox/kgoodson/jagg/src/main/resources/JiraSideband.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tuscany/sandbox/kgoodson/jagg/src/main/resources/JiraSideband.xml
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: 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=902898&view=auto
==============================================================================
--- tuscany/sandbox/kgoodson/jagg/src/main/resources/JiraSideband.xsd (added)
+++ tuscany/sandbox/kgoodson/jagg/src/main/resources/JiraSideband.xsd Mon Jan 
25 18:03:01 2010
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+    
+    http://www.apache.org/licenses/LICENSE-2.0
+    
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.    
+ -->
+<xsd:schema targetNamespace="http://www.example.com/tracking"; 
+                 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="milestones" type="jagg:Milestones" 
maxOccurs="1" minOccurs="1"></xsd:element>
+               <xsd:element name="workitems" type="jagg:WorkItems" 
maxOccurs="1" minOccurs="1"></xsd:element>
+       </xsd:sequence>
+    </xsd:complexType>
+
+
+    <xsd:complexType name="WorkItem">
+        <xsd:annotation>
+               <xsd:documentation>The milestone or deliverable name that we 
require this function for</xsd:documentation>
+        </xsd:annotation>
+        <xsd:sequence>
+               <xsd:element name="ID" type="xsd:ID"></xsd:element>
+               <xsd:element name="responsible" type="xsd:string" maxOccurs="1" 
minOccurs="0"></xsd:element>
+               <xsd:element name="dueDate" type="xsd:date"
+                       nillable="true" maxOccurs="1" minOccurs="0">
+               </xsd:element>
+               <xsd:element name="jira" type="xsd:string" maxOccurs="1" 
minOccurs="0"></xsd:element>
+               <xsd:element name="status" type="xsd:string" maxOccurs="1" 
minOccurs="0"></xsd:element>

+
+               <xsd:element name="repository_vid" type="xsd:string" 
maxOccurs="1" minOccurs="0"></xsd:element>
+            <xsd:element name="note" type="xsd:string" maxOccurs="1" 
minOccurs="0">
+               </xsd:element>
+        </xsd:sequence>
+    </xsd:complexType>
+    
+
+    <xsd:complexType name="MileStone">
+
+       <xsd:sequence>
+               <xsd:element name="dueDate" type="xsd:date"></xsd:element>
+
+               <xsd:element name="deliveredby" type="xsd:string"
+                       maxOccurs="1" minOccurs="0">
+                       <xsd:annotation>
+                               <xsd:documentation>
+                                       A tuscany source code repository branch 
name or
+                                       repository version number
+                               </xsd:documentation>
+                       </xsd:annotation>
+               </xsd:element>
+               <xsd:element name="note" type="xsd:string" maxOccurs="1"
+                       minOccurs="0">
+               </xsd:element>
+               <xsd:element name="workItem" type="xsd:string" 
maxOccurs="unbounded" minOccurs="0"></xsd:element>
+       </xsd:sequence>
+       <xsd:attribute name="ID" type="xsd:ID"></xsd:attribute>

+    </xsd:complexType>
+
+    <xsd:complexType name="Milestones">
+       <xsd:sequence>
+               <xsd:element name="milestone" type="jagg:MileStone" 
maxOccurs="unbounded" minOccurs="0"></xsd:element>
+       </xsd:sequence>
+    </xsd:complexType>
+
+    <xsd:complexType name="WorkItems">
+       <xsd:sequence>
+               <xsd:element name="workitem" type="jagg:WorkItem" 
maxOccurs="unbounded" minOccurs="0"></xsd:element>
+       </xsd:sequence>
+    </xsd:complexType>
+
+    <xsd:complexType name="foo">
+       <xsd:sequence>
+               <xsd:element name="bar" type="xsd:string"></xsd:element>
+               <xsd:element name="fred" type="xsd:string"></xsd:element>
+       </xsd:sequence>
+       <xsd:attribute name="a" type="xsd:string"></xsd:attribute>
+       <xsd:attribute name="b" type="xsd:string"></xsd:attribute>
+    </xsd:complexType>
+
+    <xsd:complexType name="PlanDTO">
+       <xsd:sequence>
+               <xsd:element name="milestones" type="jagg:MileStone" 
maxOccurs="unbounded" minOccurs="0"></xsd:element>
+               <xsd:element name="workitems" type="jagg:WorkItem" 
maxOccurs="unbounded" minOccurs="0"></xsd:element>
+       </xsd:sequence>
+    </xsd:complexType>
+</xsd:schema>
\ No newline at end of file

Propchange: tuscany/sandbox/kgoodson/jagg/src/main/resources/JiraSideband.xsd
------------------------------------------------------------------------------
    svn:keywords = Rev Date


Reply via email to