incubator-nuvem-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jo...@apache.org
Subject svn commit: r1100647 [4/4] - in /incubator/nuvem/trunk/nuvem-samples: store-appengine-webapp/ store-appengine-webapp/src/ store-appengine-webapp/src/services/ store-appengine-webapp/war/ store-appengine-webapp/war/META-INF/ store-appengine-webapp/war/W...
Date Sat, 07 May 2011 22:44:15 GMT
Added: incubator/nuvem/trunk/nuvem-samples/store-standalone/src/test/java/client/Shopper.java
URL: http://svn.apache.org/viewvc/incubator/nuvem/trunk/nuvem-samples/store-standalone/src/test/java/client/Shopper.java?rev=1100647&view=auto
==============================================================================
--- incubator/nuvem/trunk/nuvem-samples/store-standalone/src/test/java/client/Shopper.java
(added)
+++ incubator/nuvem/trunk/nuvem-samples/store-standalone/src/test/java/client/Shopper.java
Sat May  7 22:44:12 2011
@@ -0,0 +1,29 @@
+/*
+ * 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 client;
+
+import org.oasisopen.sca.annotation.Remotable;
+
+@Remotable
+public interface Shopper {
+
+    String shop(String itemName, int quantity);
+
+}

Added: incubator/nuvem/trunk/nuvem-samples/store-standalone/src/test/java/client/ShopperImpl.java
URL: http://svn.apache.org/viewvc/incubator/nuvem/trunk/nuvem-samples/store-standalone/src/test/java/client/ShopperImpl.java?rev=1100647&view=auto
==============================================================================
--- incubator/nuvem/trunk/nuvem-samples/store-standalone/src/test/java/client/ShopperImpl.java
(added)
+++ incubator/nuvem/trunk/nuvem-samples/store-standalone/src/test/java/client/ShopperImpl.java
Sat May  7 22:44:12 2011
@@ -0,0 +1,64 @@
+/*
+ * 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 client;
+
+import org.apache.tuscany.sca.data.collection.NotFoundException;
+import org.oasisopen.sca.annotation.Reference;
+
+import services.Cart;
+import services.Catalog;
+import services.Item;
+import services.Total;
+
+public class ShopperImpl implements Shopper {
+
+    @Reference
+    public Catalog catalog;
+
+    @Reference
+    public Cart shoppingCart;
+
+    @Reference
+    public Total shoppingTotal;
+
+    public String shop(String itemName, int quantity) {
+
+        Item[] items = catalog.items();
+        for (Item item : items) {
+            if (item.getName().startsWith(itemName)) {
+
+                try {
+                    shoppingCart.delete("");
+                } catch (NotFoundException e) {
+                    // ignore
+                }
+
+                for (int i = 0; i < quantity; i++) {
+                    shoppingCart.post("item" + i, item);
+                }
+
+                return shoppingTotal.getTotal();
+            }
+        }
+
+        return "";
+    }
+
+}

Added: incubator/nuvem/trunk/nuvem-samples/store-standalone/src/test/java/store/StoreTestCase.java
URL: http://svn.apache.org/viewvc/incubator/nuvem/trunk/nuvem-samples/store-standalone/src/test/java/store/StoreTestCase.java?rev=1100647&view=auto
==============================================================================
--- incubator/nuvem/trunk/nuvem-samples/store-standalone/src/test/java/store/StoreTestCase.java
(added)
+++ incubator/nuvem/trunk/nuvem-samples/store-standalone/src/test/java/store/StoreTestCase.java
Sat May  7 22:44:12 2011
@@ -0,0 +1,118 @@
+/*
+ * 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 store;
+
+import java.io.IOException;
+import java.net.MalformedURLException;
+
+import junit.framework.Assert;
+
+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;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Ignore;
+import org.junit.Test;
+
+import client.Shopper;
+
+import com.gargoylesoftware.htmlunit.BrowserVersion;
+import com.gargoylesoftware.htmlunit.FailingHttpStatusCodeException;
+import com.gargoylesoftware.htmlunit.NicelyResynchronizingAjaxController;
+import com.gargoylesoftware.htmlunit.WebClient;
+import com.gargoylesoftware.htmlunit.html.HtmlCheckBoxInput;
+import com.gargoylesoftware.htmlunit.html.HtmlForm;
+import com.gargoylesoftware.htmlunit.html.HtmlPage;
+
+/**
+ * Test the store-merger.
+ *
+ * @version $Rev: 1044456 $ $Date: 2010-12-10 23:30:14 +0530 (Fri, 10 Dec 2010) $
+ */
+public class StoreTestCase {
+    private static Node nodeStore;
+
+    @BeforeClass
+    public static void setUp() throws Exception {
+        String storeLocation = ContributionLocationHelper.getContributionLocation("store.composite");
+        String storeClientLocation = ContributionLocationHelper.getContributionLocation("store-client.composite");
+
+        nodeStore =
+            NodeFactory.newInstance().createNode(new Contribution("store", storeLocation),
+                                                 new Contribution("storeClient", storeClientLocation));
+        nodeStore.start();
+    }
+
+    @AfterClass
+    public static void tearDown() throws Exception {
+        nodeStore.stop();
+    }
+
+    @Test
+    @Ignore
+    public void testWaitForInput() {
+        try {
+            System.out.println("press enter to continue)");
+            System.in.read();
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+    }
+
+    @Test
+    public void testShop() {
+        Shopper shopper = nodeStore.getService(Shopper.class, "StoreClient");
+
+        String total = shopper.shop("Carambola", 5);
+        System.out.println("Total: " + total);
+
+        Assert.assertEquals("$17.75", total);
+
+    }
+
+    @Test
+    public void testStoreWidget() throws FailingHttpStatusCodeException, MalformedURLException,
IOException {
+        WebClient webClient = new WebClient(BrowserVersion.FIREFOX_3);
+        webClient.setRedirectEnabled(true);
+        webClient.setThrowExceptionOnScriptError(false);
+        // webClient.waitForBackgroundJavaScript(100000);
+        // webClient.waitForBackgroundJavaScriptStartingBefore(100000);
+        webClient.setAjaxController(new NicelyResynchronizingAjaxController());
+
+        HtmlPage page = (HtmlPage)webClient.getPage("http://localhost:8080/store/store.html");
+
+        HtmlForm form = (HtmlForm)page.getFormByName("catalogForm");
+
+        try {
+            Thread.sleep(1000);
+        } catch (InterruptedException e) {
+        }
+
+        HtmlCheckBoxInput catalogItems = (HtmlCheckBoxInput)form.getInputByName("items");
+
+        System.out.println(">>>" + catalogItems.getAttribute("value"));
+        Assert.assertEquals("Acai - $2.99", catalogItems.getAttribute("value"));
+
+        webClient.closeAllWindows();
+    }
+
+}

Added: incubator/nuvem/trunk/nuvem-samples/store-standalone/src/test/resources/store-client.composite
URL: http://svn.apache.org/viewvc/incubator/nuvem/trunk/nuvem-samples/store-standalone/src/test/resources/store-client.composite?rev=1100647&view=auto
==============================================================================
--- incubator/nuvem/trunk/nuvem-samples/store-standalone/src/test/resources/store-client.composite
(added)
+++ incubator/nuvem/trunk/nuvem-samples/store-standalone/src/test/resources/store-client.composite
Sat May  7 22:44:12 2011
@@ -0,0 +1,38 @@
+<?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.
+-->
+<composite	xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912"
+		xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.1"
+		targetNamespace="http://store"
+		name="store-client">
+
+    <component name="StoreClient">
+        <implementation.java class="client.ShopperImpl"/>
+		<reference name="catalog">
+		 	<tuscany:binding.jsonrpc uri="http://localhost:8080/Catalog"/>
+		 </reference>
+		 <reference name="shoppingCart">
+		 	<tuscany:binding.atom uri="http://localhost:8080/ShoppingCart/Cart"/>
+		 </reference>
+		 <reference name="shoppingTotal">
+		 	<tuscany:binding.jsonrpc uri="http://localhost:8080/ShoppingCart/Total"/>
+		 </reference>
+    </component>
+
+</composite>

Added: incubator/nuvem/trunk/nuvem-samples/store-standalone/store.png
URL: http://svn.apache.org/viewvc/incubator/nuvem/trunk/nuvem-samples/store-standalone/store.png?rev=1100647&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/nuvem/trunk/nuvem-samples/store-standalone/store.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/nuvem/trunk/nuvem-samples/store-standalone/store.svg
URL: http://svn.apache.org/viewvc/incubator/nuvem/trunk/nuvem-samples/store-standalone/store.svg?rev=1100647&view=auto
==============================================================================
--- incubator/nuvem/trunk/nuvem-samples/store-standalone/store.svg (added)
+++ incubator/nuvem/trunk/nuvem-samples/store-standalone/store.svg Sat May  7 22:44:12 2011
@@ -0,0 +1,304 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ * 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.
+-->
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://web.resource.org/cc/"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="1052.3622"
+   height="744.09448"
+   id="svg2"
+   sodipodi:version="0.32"
+   inkscape:version="0.45.1"
+   sodipodi:docbase="C:\simon\tuscany\java-head\sca\samples\store"
+   sodipodi:docname="store.svg"
+   version="1.0"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"
+   inkscape:export-filename="C:\simon\tuscany\java-head\sca\samples\store\store.png"
+   inkscape:export-xdpi="52.84"
+   inkscape:export-ydpi="52.84">
+  <defs
+     id="defs4" />
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     gridtolerance="10000"
+     guidetolerance="10"
+     objecttolerance="10"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="1.4"
+     inkscape:cx="538.06165"
+     inkscape:cy="341.69129"
+     inkscape:document-units="px"
+     inkscape:current-layer="g2997"
+     inkscape:window-width="1466"
+     inkscape:window-height="831"
+     inkscape:window-x="117"
+     inkscape:window-y="80" />
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1">
+    <g
+       id="g2997">
+      <rect
+         rx="14.335117"
+         ry="17.743465"
+         y="197.1973"
+         x="447.35422"
+         height="419.39099"
+         width="464.23727"
+         id="rect2067"
+         style="opacity:1;fill:#90baf4;fill-opacity:1;stroke:#060000;stroke-width:2.28840661;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
/>
+      <flowRoot
+         id="flowRoot2954"
+         xml:space="preserve"
+         transform="translate(189.90868,1.0101522)"><flowRegion
+           id="flowRegion2956"><rect
+             y="212.66591"
+             x="281.42856"
+             height="61.42857"
+             width="170"
+             id="rect2958" /></flowRegion><flowPara
+           id="flowPara2171">store</flowPara></flowRoot>      <rect
+         style="fill:#317fed;fill-opacity:1;stroke:#060000;stroke-width:2.30182266;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         id="rect2175"
+         width="118.21779"
+         height="111.27543"
+         x="491.60019"
+         y="247.75989"
+         rx="7.1507306"
+         ry="9.2311935" />
+      <flowRoot
+         xml:space="preserve"
+         id="flowRoot2177"
+         transform="translate(223.8585,41.670449)"><flowRegion
+           id="flowRegion2179"><rect
+             id="rect2181"
+             width="170"
+             height="61.42857"
+             x="281.42856"
+             y="212.66591" /></flowRegion><flowPara
+           id="flowPara2183">ufs</flowPara></flowRoot>      <path
+         style="fill:#5b9d05;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         d="M 474.29877,279.45598 L 507.63381,279.45598 L 513.69472,292.58796 L 506.62366,304.7098
L 474.29877,304.7098 L 481.87492,292.58796 L 474.29877,279.45598 z "
+         id="path2187" />
+      <rect
+         style="fill:#317fed;fill-opacity:1;stroke:#060000;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         id="rect2191"
+         width="115.66247"
+         height="85.862968"
+         x="493.07068"
+         y="503.27759"
+         rx="6.9961648"
+         ry="7.1230249" />
+      <flowRoot
+         xml:space="preserve"
+         id="flowRoot2193"
+         transform="translate(225.47992,297.33908)"><flowRegion
+           id="flowRegion2195"><rect
+             id="rect2197"
+             width="170"
+             height="61.42857"
+             x="281.42856"
+             y="212.66591" /></flowRegion><flowPara
+           id="flowPara2199">ShoppingCart</flowPara></flowRoot>      <path
+         style="fill:#5b9d05;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         d="M 475.92019,535.12461 L 509.25523,535.12461 L 515.31614,548.25659 L 508.24508,560.37843
L 475.92019,560.37843 L 483.49634,548.25659 L 475.92019,535.12461 z "
+         id="path2203" />
+      <rect
+         style="fill:#317fed;fill-opacity:1;stroke:#060000;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         id="rect2207"
+         width="115.66247"
+         height="85.862968"
+         x="761.44415"
+         y="391.31604"
+         rx="6.9961648"
+         ry="7.1230249" />
+      <flowRoot
+         xml:space="preserve"
+         id="flowRoot2209"
+         transform="translate(487.8534,185.37751)"><flowRegion
+           id="flowRegion2211"><rect
+             id="rect2213"
+             width="170"
+             height="61.42857"
+             x="281.42856"
+             y="212.66591" /></flowRegion><flowPara
+           id="flowPara2215">CurrencyConverter</flowPara></flowRoot>     
<path
+         style="fill:#5b9d05;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         d="M 744.29367,423.16304 L 777.62871,423.16304 L 783.68962,436.29502 L 776.61856,448.41686
L 744.29367,448.41686 L 751.86982,436.29502 L 744.29367,423.16304 z "
+         id="path2219" />
+      <rect
+         style="opacity:1;fill:#0064ff;fill-opacity:1;stroke:#000000;stroke-width:0.9612025;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         id="rect2223"
+         width="104.08451"
+         height="113.17588"
+         x="138.37151"
+         y="350.1156"
+         rx="0"
+         ry="0.048917599" />
+      <path
+         style="fill:#1a73fe;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;fill-opacity:1"
+         d="M 138.21429,462.66591 L 115.35714,479.80877 L 267.85714,479.80877 L 241.78571,463.02305
L 138.21429,462.66591 z "
+         id="path3197" />
+      <rect
+         style="opacity:1;fill:#f1f4f8;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         id="rect3199"
+         width="92.5"
+         height="97.14286"
+         x="143.57143"
+         y="358.38019"
+         ry="3.6203461"
+         rx="3.9285715" />
+      <image
+         y="366.6889"
+         x="156.24066"
+         id="image3323"
+         height="78.571434"
+         width="58.57143"
+         sodipodi:absref="C:\simon\tuscany\evangelism\whitepapers\shoppingcart.png"
+         xlink:href="C:\simon\tuscany\evangelism\whitepapers\shoppingcart.png" />
+      <image
+         y="270.52304"
+         x="526.42859"
+         id="image3342"
+         height="78.571434"
+         width="58.57143"
+         sodipodi:absref="C:\simon\tuscany\evangelism\whitepapers\shoppingcart.png"
+         xlink:href="C:\simon\tuscany\evangelism\whitepapers\shoppingcart.png" />
+      <path
+         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         d="M 242.85714,374.80877 C 245.71429,374.80877 345.71429,374.80877 345.71429,374.80877
L 345.71429,291.95162 L 481.42858,291.95162"
+         id="path3348"
+         sodipodi:nodetypes="cccc" />
+      <path
+         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         d="M 210.71429,406.95163 L 345,406.95163 L 345,437.66591 L 481.42857,437.66591"
+         id="path3350"
+         sodipodi:nodetypes="cccc" />
+      <path
+         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         d="M 210.71429,439.09448 L 325.71429,439.09448 L 325.71429,548.3802 L 482.85714,548.3802"
+         id="path3352"
+         sodipodi:nodetypes="cccc" />
+      <path
+         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         d="M 626.42857,436.23734 C 750,437.66591 752.14286,436.23734 752.14286,436.23734"
+         id="path3354"
+         sodipodi:nodetypes="cc" />
+      <flowRoot
+         xml:space="preserve"
+         id="flowRoot3356"
+         transform="translate(-94.285714,25)"><flowRegion
+           id="flowRegion3358"><rect
+             id="rect3360"
+             width="142.14285"
+             height="21.428572"
+             x="655"
+             y="349.80878" /></flowRegion><flowPara
+           id="flowPara3362">CurrenyCode</flowPara></flowRoot>      <flowRoot
+         xml:space="preserve"
+         id="flowRoot3364"
+         transform="translate(-250.76562,-76.210859)"><flowRegion
+           id="flowRegion3366"><rect
+             id="rect3368"
+             width="142.14285"
+             height="21.428572"
+             x="655"
+             y="349.80878" /></flowRegion><flowPara
+           id="flowPara3370">HTTP</flowPara></flowRoot>      <flowRoot
+         xml:space="preserve"
+         id="flowRoot3372"
+         transform="translate(-273.62277,70.931998)"><flowRegion
+           id="flowRegion3374"><rect
+             id="rect3376"
+             width="142.14285"
+             height="21.428572"
+             x="655"
+             y="349.80878" /></flowRegion><flowPara
+           id="flowPara3378">JSONRPC</flowPara></flowRoot>      <flowRoot
+         xml:space="preserve"
+         id="flowRoot3380"
+         transform="translate(-243.62277,183.07485)"><flowRegion
+           id="flowRegion3382"><rect
+             id="rect3384"
+             width="142.14285"
+             height="21.428572"
+             x="655"
+             y="349.80878" /></flowRegion><flowPara
+           id="flowPara3386">Atom</flowPara></flowRoot>    </g>
+    <rect
+       style="fill:#317fed;fill-opacity:1;stroke:#060000;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="rect2988"
+       width="115.66247"
+       height="85.862968"
+       x="491.56897"
+       y="392.70135"
+       rx="6.9961648"
+       ry="7.1230249" />
+    <flowRoot
+       xml:space="preserve"
+       id="flowRoot2966"
+       transform="translate(223.97819,186.76283)"><flowRegion
+         id="flowRegion2968"><rect
+           id="rect2970"
+           width="170"
+           height="61.42857"
+           x="281.42856"
+           y="212.66591" /></flowRegion><flowPara
+         id="flowPara2972">Catalog</flowPara></flowRoot>    <rect
+       style="opacity:1;fill:#fff62c;fill-opacity:1;stroke:#060000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="rect3006"
+       width="21.718224"
+       height="20.708065"
+       x="537.53094"
+       y="377.04398"
+       rx="10.859112"
+       ry="0" />
+    <path
+       style="fill:#5b9d05;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="M 474.41846,424.54836 L 507.7535,424.54836 L 513.81441,437.68034 L 506.74335,449.80218
L 474.41846,449.80218 L 481.99461,437.68034 L 474.41846,424.54836 z "
+       id="path3017" />
+    <path
+       style="fill:#ae62bf;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="M 587.6709,422.71008 L 621.00594,422.71008 L 627.06685,435.84206 L 619.99579,447.9639
L 587.6709,447.9639 L 595.24705,435.84206 L 587.6709,422.71008 z "
+       id="path3019" />
+  </g>
+</svg>



Mime
View raw message