From 465a5510b9f4c7232d8322bf171b94b50057583d Mon Sep 17 00:00:00 2001 From: kelvingoodson Date: Tue, 16 Mar 2010 10:38:43 +0000 Subject: git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@923673 13f79535-47bb-0310-9956-ffa450edef68 --- sandbox/kgoodson/jagg/pom.xml | 107 +-------- .../kgoodson/jagg/src/main/java/launch/Launch.java | 1 - .../jagg/src/main/java/services/PlanView.java | 38 ---- .../jagg/src/main/java/services/PlanViewImpl.java | 252 --------------------- .../jagg/src/main/resources/JiraSideband.xml | 1 + .../jagg/src/main/resources/plan.composite | 6 +- .../jagg/src/main/resources/uiservices/plan.html | 4 + 7 files changed, 13 insertions(+), 396 deletions(-) delete mode 100644 sandbox/kgoodson/jagg/src/main/java/services/PlanView.java delete mode 100644 sandbox/kgoodson/jagg/src/main/java/services/PlanViewImpl.java (limited to 'sandbox/kgoodson') diff --git a/sandbox/kgoodson/jagg/pom.xml b/sandbox/kgoodson/jagg/pom.xml index 55ec04f610..c645fdc4fd 100644 --- a/sandbox/kgoodson/jagg/pom.xml +++ b/sandbox/kgoodson/jagg/pom.xml @@ -28,114 +28,17 @@ sample-jagg Apache Tuscany SCA Sample JIRA Aggregator - - - - apache.incubator - http://people.apache.org/repo/m2-incubating-repository - - - - - - - - org.codehaus.mojo - jaxb2-maven-plugin - 1.3 - - - - - - - org.apache.maven.plugins - maven-dependency-plugin - - - copy - generate-sources - - copy - - - - - javax.xml.bind - jaxb-api - 2.1 - jar - - - ${project.build.directory}/endorsed - false - true - - - - - - org.apache.maven.plugins - maven-compiler-plugin - - -Djava.endorsed.dirs=target/endorsed - - - - org.codehaus.mojo - build-helper-maven-plugin - 1.0 - - - - add-source - generate-sources - - add-source - - - - target/jaxb-source - - - - - - - - org.jvnet.jaxb2.maven2 - maven-jaxb2-plugin - 0.7.1 - - - generate-jaxb - generate-sources - - generate - - - - - com.example.ipo.jaxb - ${project.build.directory}/jaxb-source - ${basedir}/src/main/resources - - - JiraSideband.xsd - JiraRSS.xsd - - - - - - ${artifactId} - org.apache.tuscany.sca + jagg-logic + 2.0-SNAPSHOT + + + org.apache.tuscany.sca tuscany-node-impl 2.0-SNAPSHOT diff --git a/sandbox/kgoodson/jagg/src/main/java/launch/Launch.java b/sandbox/kgoodson/jagg/src/main/java/launch/Launch.java index dce7431349..731515253b 100644 --- a/sandbox/kgoodson/jagg/src/main/java/launch/Launch.java +++ b/sandbox/kgoodson/jagg/src/main/java/launch/Launch.java @@ -34,7 +34,6 @@ public class Launch { System.in.read(); System.out.println("Stopping ..."); node.stop(); - node.destroy(); System.out.println(); } } diff --git a/sandbox/kgoodson/jagg/src/main/java/services/PlanView.java b/sandbox/kgoodson/jagg/src/main/java/services/PlanView.java deleted file mode 100644 index ffb68270da..0000000000 --- a/sandbox/kgoodson/jagg/src/main/java/services/PlanView.java +++ /dev/null @@ -1,38 +0,0 @@ -/* - * 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.Plan; - - - - - -@Remotable -public interface PlanView { - - Plan get(); - Plan getLite(); // don't go off to issue site - use cached properties - void postNewWorkItem(String msChoice, String jira); - void postNewMilestone(String newMSName); - -} \ 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 deleted file mode 100644 index fad6f68b63..0000000000 --- a/sandbox/kgoodson/jagg/src/main/java/services/PlanViewImpl.java +++ /dev/null @@ -1,252 +0,0 @@ -/* - * 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.io.FileNotFoundException; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.net.URL; -import java.text.DateFormat; -import java.text.SimpleDateFormat; -import java.util.Calendar; -import java.util.List; - -import javax.xml.bind.JAXBContext; -import javax.xml.bind.JAXBElement; -import javax.xml.bind.Marshaller; -import javax.xml.bind.Unmarshaller; - -import org.oasisopen.sca.annotation.Init; -import org.oasisopen.sca.annotation.Property; - -import com.example.ipo.jaxb.Item; -import com.example.ipo.jaxb.JiraData; -import com.example.ipo.jaxb.Milestone; -import com.example.ipo.jaxb.Plan; -import com.example.ipo.jaxb.RSS; -import com.example.ipo.jaxb.WorkItem; - -public class PlanViewImpl implements PlanView { - - static String rssPrefix = "http://issues.apache.org/jira/si/jira.issueviews:issue-xml/"; - @Property - public String planFile = "src/main/resources/jiraSideBand.xml"; - - @Init - public void init() { - } - - private Plan getPlan() { - Plan p = null; - try { - p = readPlan(); - augmentPlan(p); - writePlan(p); - } catch (Exception e) { - e.printStackTrace(); - } - return p; - } - - - - private void augmentPlan(Plan plan) { - for(Milestone m : plan.getMilestone()) { - for (WorkItem wi: m.getWorkItem()) { - augmentWorkItem(wi); - - } - } - } - - private void augmentWorkItem(WorkItem wi) { - String jira = wi.getJira(); - if(jira != null) { - JiraData jd = new JiraData(); - wi.setJiraData(jd); - jd.setID(jira); - - try { - JAXBContext jaxbContext = JAXBContext - .newInstance("com.example.ipo.jaxb"); - Unmarshaller m2 = jaxbContext.createUnmarshaller(); - InputStream is = null; - RSS jfeed = null; - try{ - URL url = new URL("http://issues.apache.org/jira/si/jira.issueviews:issue-xml/"+jira+"/"+jira+".xml"); - is = url.openStream(); - jfeed = ((JAXBElement) m2.unmarshal(is)).getValue(); - } - catch (FileNotFoundException e) { - String note = wi.getNote(); - note += ": attempt to reference non-existent JIRA " + jira; - wi.setNote(note); - wi.setJira(null); - wi.setJiraData(null); - } - finally { - if(is != null) is.close(); - } - - if(jfeed != null) { - Item i = jfeed.getChannel().getItem(); - List> 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(); - jd.setTitle(jtitle.substring(jtitle.indexOf(']')+1, jtitle.length())); - } - else if("status".equals(element.getName().getLocalPart())){ - jd.setStatus((String)element.getValue()); - } - else if("assignee".equals(element.getName().getLocalPart())) { - jd.setAssignedTo((String)element.getValue()); - } - } - } - } catch (Exception e) { - e.printStackTrace(); - } finally { - - } - } - } - - public Plan get() { - Plan p = getPlan(); - return p; - } - - public Plan getLite() { - Plan p = readPlan(); - return p; - } - - private Milestone getMS(Plan p, String id) { - - Milestone m = null; - for(Milestone mi : p.getMilestone()) { - if(id.equals(mi.getID())) { - m = mi; - break; - } - } - return m; - } - - public void postNewWorkItem(String msid, String jira) { - - Plan p = readPlan(); - Milestone m = getMS(p,msid); - WorkItem wi = new WorkItem(); - wi.setJira(jira); - augmentWorkItem(wi); - m.getWorkItem().add(wi); - writePlan(p); - } - - public void postNewMilestone(String msid) { - Plan p = readPlan(); - if(getMS(p, msid) == null) { - List mis = p.getMilestone(); - Milestone newm = new Milestone(); - newm.setID(msid); - mis.add(newm); - writePlan(p); - } - } - - - private void writePlan(Plan p) - { - FileOutputStream fos = null; - String dbPath = null; - File existingFile = null; - File newFile= null; - String backupPath = null; - - try { - JAXBContext jaxbContext = JAXBContext - .newInstance("com.example.ipo.jaxb"); - Marshaller m = jaxbContext.createMarshaller(); - m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE); - - existingFile = new File(planFile).getAbsoluteFile(); - dbPath = existingFile.getAbsolutePath(); - - - String tempPath = dbPath.substring(0,dbPath.indexOf(".xml"))+".tmp.xml"; - backupPath = dbPath.substring(0,dbPath.indexOf(".xml")); - DateFormat df = new SimpleDateFormat("yyyyMMddHHmmss"); - String timestamp = df.format(Calendar.getInstance().getTime()); - backupPath+= timestamp; - backupPath+=".xml"; - - newFile = new File(tempPath).getAbsoluteFile(); - fos = new FileOutputStream(newFile); - - - m.marshal(p, fos); - } catch (Exception e) { - e.printStackTrace(); - } finally { - - } - - - if(fos!=null) - try { - fos.close(); - - new File(dbPath).renameTo(new File(backupPath)); - newFile.renameTo(new File(dbPath)); - - - } catch (IOException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } - - private Plan readPlan() - { - Plan p = null; - try { - JAXBContext jaxbContext = JAXBContext - .newInstance("com.example.ipo.jaxb"); - Unmarshaller m = jaxbContext.createUnmarshaller(); - - File inputFile = new File(planFile).getAbsoluteFile(); - if(!inputFile.exists()){ // start afresh - Plan newPlan = new Plan(); - writePlan(newPlan); - inputFile = new File(planFile).getAbsoluteFile(); - } - - p = (Plan)m.unmarshal(inputFile); - } catch(Exception e) { - throw new IllegalStateException("Failed to read plan file",e); - } - return p; - } -} \ No newline at end of file diff --git a/sandbox/kgoodson/jagg/src/main/resources/JiraSideband.xml b/sandbox/kgoodson/jagg/src/main/resources/JiraSideband.xml index 2d60a3b83a..e2f8401d8f 100644 --- a/sandbox/kgoodson/jagg/src/main/resources/JiraSideband.xml +++ b/sandbox/kgoodson/jagg/src/main/resources/JiraSideband.xml @@ -62,4 +62,5 @@ + diff --git a/sandbox/kgoodson/jagg/src/main/resources/plan.composite b/sandbox/kgoodson/jagg/src/main/resources/plan.composite index 041f6f46cb..7801f07093 100644 --- a/sandbox/kgoodson/jagg/src/main/resources/plan.composite +++ b/sandbox/kgoodson/jagg/src/main/resources/plan.composite @@ -17,7 +17,7 @@ * specific language governing permissions and limitations * under the License. --> - @@ -25,7 +25,7 @@ - + @@ -34,7 +34,7 @@ src/main/resources/jiraSideBand.xml - + diff --git a/sandbox/kgoodson/jagg/src/main/resources/uiservices/plan.html b/sandbox/kgoodson/jagg/src/main/resources/uiservices/plan.html index fbfb187932..38f5c0b273 100644 --- a/sandbox/kgoodson/jagg/src/main/resources/uiservices/plan.html +++ b/sandbox/kgoodson/jagg/src/main/resources/uiservices/plan.html @@ -129,6 +129,7 @@

Plan

+
@@ -147,5 +148,8 @@
+
+
+
\ No newline at end of file -- cgit v1.2.3