diff options
author | kelvingoodson <kelvingoodson@13f79535-47bb-0310-9956-ffa450edef68> | 2010-01-25 18:03:01 +0000 |
---|---|---|
committer | kelvingoodson <kelvingoodson@13f79535-47bb-0310-9956-ffa450edef68> | 2010-01-25 18:03:01 +0000 |
commit | 1a912ace1af7eba82b2b23408bb6e248897f3f96 (patch) | |
tree | f2dec447d841c95b35a17782f5eef0732704ed59 /sandbox/kgoodson/jagg/src/main/java | |
parent | ff52dc69419bf7a1ef42f2bf232fa334b24ecda6 (diff) |
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@902898 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sandbox/kgoodson/jagg/src/main/java')
6 files changed, 369 insertions, 0 deletions
diff --git a/sandbox/kgoodson/jagg/src/main/java/launch/Launch.java b/sandbox/kgoodson/jagg/src/main/java/launch/Launch.java new file mode 100644 index 0000000000..dce7431349 --- /dev/null +++ b/sandbox/kgoodson/jagg/src/main/java/launch/Launch.java @@ -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(); + } +} diff --git a/sandbox/kgoodson/jagg/src/main/java/services/Item.java b/sandbox/kgoodson/jagg/src/main/java/services/Item.java new file mode 100644 index 0000000000..d89712a791 --- /dev/null +++ b/sandbox/kgoodson/jagg/src/main/java/services/Item.java @@ -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; + } + +} diff --git a/sandbox/kgoodson/jagg/src/main/java/services/JiraQuery.java b/sandbox/kgoodson/jagg/src/main/java/services/JiraQuery.java new file mode 100644 index 0000000000..1b3d79f119 --- /dev/null +++ b/sandbox/kgoodson/jagg/src/main/java/services/JiraQuery.java @@ -0,0 +1,8 @@ +package services; + +import java.util.Collection; + +public interface JiraQuery { + public Collection<String> getJiraIDs(); + public String getTitle(String ID); +} diff --git a/sandbox/kgoodson/jagg/src/main/java/services/JiraQueryImpl.java b/sandbox/kgoodson/jagg/src/main/java/services/JiraQueryImpl.java new file mode 100644 index 0000000000..14931a1989 --- /dev/null +++ b/sandbox/kgoodson/jagg/src/main/java/services/JiraQueryImpl.java @@ -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]; + } + +} diff --git a/sandbox/kgoodson/jagg/src/main/java/services/PlanView.java b/sandbox/kgoodson/jagg/src/main/java/services/PlanView.java new file mode 100644 index 0000000000..2387da0519 --- /dev/null +++ b/sandbox/kgoodson/jagg/src/main/java/services/PlanView.java @@ -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 diff --git a/sandbox/kgoodson/jagg/src/main/java/services/PlanViewImpl.java b/sandbox/kgoodson/jagg/src/main/java/services/PlanViewImpl.java new file mode 100644 index 0000000000..478b72dc07 --- /dev/null +++ b/sandbox/kgoodson/jagg/src/main/java/services/PlanViewImpl.java @@ -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 |