← Back to team overview

dhis2-devs team mailing list archive

[Branch ~dhis2-devs-core/dhis2/trunk] Rev 520: SMSListener: Fixed bugs #421110 and #421111. Added about screen with license and branding info

 

------------------------------------------------------------
revno: 520
author: Saptarshi <sunbiz@xxxxxxxxx>
committer: Administrator <Administrator@sunbiz-lappy>
branch nick: trunk
timestamp: Sat 2009-08-29 20:39:28 +0530
message:
  SMSListener: Fixed bugs #421110 and #421111. Added about screen with license and branding info
removed:
  local/in/SMSListener/src/org/hispindia/smslistener/phone.png
added:
  local/in/SMSListener/src/org/hispindia/smslistener/AboutWindow.form
  local/in/SMSListener/src/org/hispindia/smslistener/AboutWindow.java
  local/in/SMSListener/src/org/hispindia/smslistener/images/
  local/in/SMSListener/src/org/hispindia/smslistener/images/aboutLabel.png
  local/in/SMSListener/src/org/hispindia/smslistener/images/gplv3.png
  local/in/SMSListener/src/org/hispindia/smslistener/images/phone.png
modified:
  local/in/SMSListener/nbproject/project.properties
  local/in/SMSListener/src/org/hispindia/smslistener/SMSListener.java
  local/in/SMSListener/src/org/hispindia/smslistener/SettingsWindow.form
  local/in/SMSListener/src/org/hispindia/smslistener/SettingsWindow.java
  local/in/SMSListener/src/org/hispindia/smslistener/XMLCreator.java


--
lp:dhis2
https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk

Your team DHIS 2 developers is subscribed to branch lp:dhis2.
To unsubscribe from this branch go to https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk/+edit-subscription.
=== modified file 'local/in/SMSListener/nbproject/project.properties'
--- local/in/SMSListener/nbproject/project.properties	2009-08-17 07:44:47 +0000
+++ local/in/SMSListener/nbproject/project.properties	2009-08-29 15:09:28 +0000
@@ -1,4 +1,5 @@
 application.desc=The Application to receive SMS from SCDRT mobile application and convert to xml which can be imported by DHIS2 Mobile Importing module
+application.homepage=http://dhismobile.info
 application.title=SMS Listener
 application.vendor=HISP India
 build.classes.dir=${build.dir}/classes

=== added file 'local/in/SMSListener/src/org/hispindia/smslistener/AboutWindow.form'
--- local/in/SMSListener/src/org/hispindia/smslistener/AboutWindow.form	1970-01-01 00:00:00 +0000
+++ local/in/SMSListener/src/org/hispindia/smslistener/AboutWindow.form	2009-08-29 15:09:28 +0000
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<Form version="1.3" maxVersion="1.7" type="org.netbeans.modules.form.forminfo.JFrameFormInfo">
+  <Properties>
+    <Property name="defaultCloseOperation" type="int" value="2"/>
+    <Property name="title" type="java.lang.String" value="About SMS Listener"/>
+    <Property name="alwaysOnTop" type="boolean" value="true"/>
+    <Property name="bounds" type="java.awt.Rectangle" editor="org.netbeans.beaninfo.editors.RectangleEditor">
+      <Rectangle value="[0, 0, 400, 300]"/>
+    </Property>
+    <Property name="name" type="java.lang.String" value="aboutFrame" noResource="true"/>
+    <Property name="resizable" type="boolean" value="false"/>
+  </Properties>
+  <AccessibilityProperties>
+    <Property name="AccessibleContext.accessibleDescription" type="java.lang.String" value="aboutFrame"/>
+  </AccessibilityProperties>
+  <SyntheticProperties>
+    <SyntheticProperty name="formSize" type="java.awt.Dimension" value="-84,-19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,110,65,-114,-39,-41,-84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112,0,0,1,-77,0,0,1,-112"/>
+    <SyntheticProperty name="formSizePolicy" type="int" value="0"/>
+    <SyntheticProperty name="generateSize" type="boolean" value="true"/>
+    <SyntheticProperty name="generateCenter" type="boolean" value="true"/>
+    <SyntheticProperty name="designerSize" type="java.awt.Dimension" value="-84,-19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,110,65,-114,-39,-41,-84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112,0,0,1,-113,0,0,1,-128"/>
+  </SyntheticProperties>
+  <AuxValues>
+    <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/>
+    <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
+    <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
+    <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
+  </AuxValues>
+
+  <Layout>
+    <DimensionLayout dim="0">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Component id="logoLabel" alignment="0" max="32767" attributes="1"/>
+          <Group type="102" alignment="0" attributes="0">
+              <EmptySpace max="-2" attributes="0"/>
+              <Group type="103" groupAlignment="0" attributes="0">
+                  <Component id="versionLabel" alignment="1" pref="370" max="32767" attributes="1"/>
+                  <Component id="aboutLabel" alignment="0" min="-2" pref="370" max="-2" attributes="0"/>
+              </Group>
+              <EmptySpace pref="20" max="32767" attributes="0"/>
+          </Group>
+      </Group>
+    </DimensionLayout>
+    <DimensionLayout dim="1">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Group type="102" alignment="0" attributes="0">
+              <Component id="logoLabel" min="-2" pref="50" max="-2" attributes="0"/>
+              <EmptySpace type="unrelated" max="-2" attributes="0"/>
+              <Component id="aboutLabel" min="-2" max="-2" attributes="0"/>
+              <EmptySpace type="unrelated" max="-2" attributes="0"/>
+              <Component id="versionLabel" pref="159" max="32767" attributes="0"/>
+          </Group>
+      </Group>
+    </DimensionLayout>
+  </Layout>
+  <SubComponents>
+    <Component class="javax.swing.JLabel" name="logoLabel">
+      <Properties>
+        <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
+          <Image iconType="3" name="/org/hispindia/smslistener/images/aboutLabel.png"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JLabel" name="aboutLabel">
+      <Properties>
+        <Property name="horizontalAlignment" type="int" value="11"/>
+        <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
+          <Image iconType="3" name="/org/hispindia/smslistener/images/gplv3.png"/>
+        </Property>
+        <Property name="text" type="java.lang.String" value="&lt;html&gt;&lt;p&gt;This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses. &lt;/style&gt; &lt;/html&gt;"/>
+      </Properties>
+      <AccessibilityProperties>
+        <Property name="AccessibleContext.accessibleName" type="java.lang.String" value="&lt;html&gt;&lt;p style=&quot;text-align:justify&quot;&gt;This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see &lt;a href=&quot;http://www.gnu.org/licenses&quot;&gt; GPL3 License&lt;/a&gt;. &lt;br/&gt;&lt;br/&gt; Copyright 2009, HISP India. &lt;/style&gt;  &lt;/html&gt;"/>
+      </AccessibilityProperties>
+    </Component>
+    <Component class="javax.swing.JLabel" name="versionLabel">
+      <Properties>
+        <Property name="horizontalAlignment" type="int" value="2"/>
+        <Property name="text" type="java.lang.String" value="&lt;html&gt;&#xa;&lt;p&gt;Copyright 2009, HISP India. &lt;br/&gt;&lt;/br&gt;Distributed by: National Health Systems Resource Center,&lt;br/&gt; Ministry of Health &amp; Family Welfare, &lt;br/&gt; Government of India&lt;/p&gt;&lt;br/&gt;&#xa;&lt;p&gt;Version: 0.9&lt;/p&gt;&#xa;&lt;/html&gt;"/>
+      </Properties>
+    </Component>
+  </SubComponents>
+</Form>

=== added file 'local/in/SMSListener/src/org/hispindia/smslistener/AboutWindow.java'
--- local/in/SMSListener/src/org/hispindia/smslistener/AboutWindow.java	1970-01-01 00:00:00 +0000
+++ local/in/SMSListener/src/org/hispindia/smslistener/AboutWindow.java	2009-08-29 15:09:28 +0000
@@ -0,0 +1,88 @@
+package org.hispindia.smslistener;
+
+import javax.swing.JFrame;
+
+public class AboutWindow extends javax.swing.JFrame {
+
+    /** Creates new form AboutWindow */
+    public AboutWindow() {
+        initComponents();
+    }
+
+    /** This method is called from within the constructor to
+     * initialize the form.
+     * WARNING: Do NOT modify this code. The content of this method is
+     * always regenerated by the Form Editor.
+     */
+    @SuppressWarnings("unchecked")
+    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
+    private void initComponents() {
+
+        logoLabel = new javax.swing.JLabel();
+        aboutLabel = new javax.swing.JLabel();
+        versionLabel = new javax.swing.JLabel();
+
+        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
+        setTitle("About SMS Listener");
+        setAlwaysOnTop(true);
+        setBounds(new java.awt.Rectangle(0, 0, 400, 300));
+        setName("aboutFrame"); // NOI18N
+        setResizable(false);
+
+        logoLabel.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/hispindia/smslistener/images/aboutLabel.png"))); // NOI18N
+
+        aboutLabel.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
+        aboutLabel.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/hispindia/smslistener/images/gplv3.png"))); // NOI18N
+        aboutLabel.setText("<html><p>This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses. </style> </html>");
+
+        versionLabel.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
+        versionLabel.setText("<html>\n<p>Copyright 2009, HISP India. <br/></br>Distributed by: National Health Systems Resource Center,<br/> Ministry of Health & Family Welfare, <br/> Government of India</p><br/>\n<p>Version: 0.9</p>\n</html>");
+
+        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
+        getContentPane().setLayout(layout);
+        layout.setHorizontalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addComponent(logoLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+            .addGroup(layout.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addComponent(versionLabel, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 370, Short.MAX_VALUE)
+                    .addComponent(aboutLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 370, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addContainerGap(20, Short.MAX_VALUE))
+        );
+        layout.setVerticalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(layout.createSequentialGroup()
+                .addComponent(logoLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                .addComponent(aboutLabel)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                .addComponent(versionLabel, javax.swing.GroupLayout.DEFAULT_SIZE, 159, Short.MAX_VALUE))
+        );
+
+        aboutLabel.getAccessibleContext().setAccessibleName("<html><p style=\"text-align:justify\">This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <a href=\"http://www.gnu.org/licenses\";> GPL3 License</a>. <br/><br/> Copyright 2009, HISP India. </style>  </html>");
+
+        getAccessibleContext().setAccessibleDescription("aboutFrame");
+
+        java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
+        setBounds((screenSize.width-400)/2, (screenSize.height-435)/2, 400, 435);
+    }// </editor-fold>//GEN-END:initComponents
+
+    /**
+    * @param args the command line arguments
+    */
+    public static void main(String args[]) {
+        java.awt.EventQueue.invokeLater(new Runnable() {
+            public void run() {
+                new AboutWindow().setVisible(true);
+            }
+        });
+    }
+
+    // Variables declaration - do not modify//GEN-BEGIN:variables
+    private javax.swing.JLabel aboutLabel;
+    private javax.swing.JLabel logoLabel;
+    private javax.swing.JLabel versionLabel;
+    // End of variables declaration//GEN-END:variables
+
+}

=== modified file 'local/in/SMSListener/src/org/hispindia/smslistener/SMSListener.java'
--- local/in/SMSListener/src/org/hispindia/smslistener/SMSListener.java	2009-08-17 06:20:39 +0000
+++ local/in/SMSListener/src/org/hispindia/smslistener/SMSListener.java	2009-08-29 15:09:28 +0000
@@ -37,6 +37,7 @@
     private InboundNotification inboundNotification;
     private int PORT = 8; //default port
     private File infFile = new File(System.getProperty("user.home") + "/.smslistener", "SMSListener.inf");
+    SerialModemGateway gateway;
 
     public SMSListener() {
     }
@@ -46,10 +47,10 @@
         public void process(String gatewayId, MessageTypes msgType, InboundMessage msg) {
             if (msgType == MessageTypes.INBOUND) {
                 System.out.println(">>> New Inbound message detected from Gateway: " + gatewayId);
+                processMessage(msg);
             } else if (msgType == MessageTypes.STATUSREPORT) {
                 System.out.println(">>> New Inbound Status Report message detected from Gateway: " + gatewayId);
             }
-            processMessage(msg);
             try {
                 service.deleteMessage(msg);
             } catch (Exception e) {
@@ -101,11 +102,21 @@
             });
             //</editor-fold>
 
+            //<editor-fold defaultstate="collapsed" desc=" About Item ">
+            final MenuItem aboutItem = new MenuItem("About");
+            aboutItem.addActionListener(new ActionListener() {
+                public void actionPerformed(ActionEvent evt) {
+                    new AboutWindow().setVisible(true);
+                }
+            });
+            //</editor-fold>
+
             menu.add(serviceItem);
             menu.add(settingsItem);
+            menu.add(aboutItem);
             menu.add(exitItem);
 
-            Image img = new ImageIcon(getClass().getResource("phone.png")).getImage();
+            Image img = new ImageIcon(getClass().getResource("images/phone.png")).getImage();
             TrayIcon trayIcon = new TrayIcon(img, "DHIS SMS Listener");
             trayIcon.setPopupMenu(menu);
             try {
@@ -126,7 +137,7 @@
     private void startSMSListener() {
         service = new Service();
         inboundNotification = new InboundNotification();
-        SerialModemGateway gateway = new SerialModemGateway("modem.com" + getPort(), "COM" + getPort(), 115200, "Generic USB", "generic-usb-modem");
+        gateway = new SerialModemGateway("modem.com" + getPort(), "COM" + getPort(), 115200, "Generic USB", "generic-usb-modem");
         gateway.setProtocol(Protocols.PDU);
         gateway.setInbound(true);
         gateway.setOutbound(false);
@@ -149,6 +160,7 @@
     private void stopSMSListener() {
         try {
             System.out.println("Stopping Service on Com:" + getPort());
+            gateway.stopGateway();
             service.stopService();
         } catch (TimeoutException ex) {
             Logger.getLogger(SMSListener.class.getName()).log(Level.SEVERE, null, ex);
@@ -175,6 +187,8 @@
             return;
         } catch (ClassCastException ccex) {
             return;
+        } catch (ArithmeticException aex) {
+            return;
         }
     }
 
@@ -242,4 +256,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}

=== modified file 'local/in/SMSListener/src/org/hispindia/smslistener/SettingsWindow.form'
--- local/in/SMSListener/src/org/hispindia/smslistener/SettingsWindow.form	2009-08-17 06:20:39 +0000
+++ local/in/SMSListener/src/org/hispindia/smslistener/SettingsWindow.form	2009-08-29 15:09:28 +0000
@@ -9,6 +9,7 @@
   </Properties>
   <SyntheticProperties>
     <SyntheticProperty name="formSizePolicy" type="int" value="1"/>
+    <SyntheticProperty name="designerSize" type="java.awt.Dimension" value="-84,-19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,110,65,-114,-39,-41,-84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112,0,0,1,36,0,0,0,-53"/>
   </SyntheticProperties>
   <AuxValues>
     <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/>

=== modified file 'local/in/SMSListener/src/org/hispindia/smslistener/SettingsWindow.java'
--- local/in/SMSListener/src/org/hispindia/smslistener/SettingsWindow.java	2009-08-17 06:20:39 +0000
+++ local/in/SMSListener/src/org/hispindia/smslistener/SettingsWindow.java	2009-08-29 15:09:28 +0000
@@ -73,7 +73,6 @@
 
     public static void main(String args[]) {
         java.awt.EventQueue.invokeLater(new Runnable() {
-
             public void run() {
                 new SettingsWindow().setVisible(true);
             }

=== modified file 'local/in/SMSListener/src/org/hispindia/smslistener/XMLCreator.java'
--- local/in/SMSListener/src/org/hispindia/smslistener/XMLCreator.java	2009-08-17 06:20:39 +0000
+++ local/in/SMSListener/src/org/hispindia/smslistener/XMLCreator.java	2009-08-29 15:09:28 +0000
@@ -17,45 +17,48 @@
         String actualData = formData[1];
         String[] dataValues = actualData.split("\\|", 78);
         System.out.println("Total datavalues = " + dataValues.length);
+
         for (int i = 0; i < dataValues.length; i++) {
             System.out.println("Values = " + dataValues[i]);
         }
-
-        File file = new File(dhis2Home + "\\mi\\pending\\" + phoneNumber + sendTime.replace(":", "-") + ".xml");
-        try {
-            System.out.println(file.getAbsolutePath());
-            FileWriter writer = new FileWriter(file);
-            writer.write("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
-            writer.write("<dxf>\n");
-            writer.write("<source>" + phoneNumber + "</source>\n");
-            if (period.length() == 1) {
-                writer.write("<period>2009-0" + period + "-01</period>\n");
-            } else if (period.length() == 2) {
-                if (Integer.parseInt(period) > 12 && Integer.parseInt(period) < 22) {
-                    writer.write("<period>2008-0" + (Integer.parseInt(period) - 12) + "-01</period>\n");
-                } else if (Integer.parseInt(period) >= 22) {
-                    writer.write("<period>2008-" + (Integer.parseInt(period) - 12) + "-01</period>\n");
+        if (dataValues.length == 78) {
+            File file = new File(dhis2Home + "\\mi\\pending\\" + phoneNumber + sendTime.replace(":", "-") + ".xml");
+            try {
+                System.out.println(file.getAbsolutePath());
+                FileWriter writer = new FileWriter(file);
+                writer.write("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
+                writer.write("<dxf>\n");
+                writer.write("<source>" + phoneNumber + "</source>\n");
+                if (period.length() == 1) {
+                    writer.write("<period>2009-0" + period + "-01</period>\n");
+                } else if (period.length() == 2) {
+                    if (Integer.parseInt(period) > 12 && Integer.parseInt(period) < 22) {
+                        writer.write("<period>2008-0" + (Integer.parseInt(period) - 12) + "-01</period>\n");
+                    } else if (Integer.parseInt(period) >= 22) {
+                        writer.write("<period>2008-" + (Integer.parseInt(period) - 12) + "-01</period>\n");
+                    } else {
+                        writer.write("<period>2009-" + period + "-01</period>\n");
+                    }
                 } else {
-                    writer.write("<period>2009-" + period + "-01</period>\n");
-                }
-            } else {
-                writer.write("<period>" + period + "</period>\n");
-            }
-            writer.write("<timeStamp>" + sendTime + "</timeStamp>\n");
-            for (int i = 0; i < elementIds.length; i++) {
-                if (dataValues[i].isEmpty()) {
-                    continue;
-                }
-                writer.write("<dataValue>\n");
-                writer.write("<dataElement>" + elementIds[i] + "</dataElement>\n");
-                writer.write("<value>" + dataValues[i] + "</value>\n");
-                writer.write("</dataValue>\n");
-            }
-            writer.write("<info>" + info + "</info>\n");
-            writer.write("</dxf>\n");
-            writer.close();
-        } catch (IOException ex) {
-            Logger.getLogger(SMSListener.class.getName()).log(Level.SEVERE, null, ex);
+                    writer.write("<period>" + period + "</period>\n");
+                }
+                writer.write("<timeStamp>" + sendTime + "</timeStamp>\n");
+                for (int i = 0; i < elementIds.length; i++) {
+                    if (dataValues[i].isEmpty()) {
+                        continue;
+                    }
+                    writer.write("<dataValue>\n");
+                    writer.write("<dataElement>" + elementIds[i] + "</dataElement>\n");
+                    writer.write("<value>" + dataValues[i] + "</value>\n");
+                    writer.write("</dataValue>\n");
+                }
+                writer.write("<info>" + info + "</info>\n");
+                writer.write("</dxf>\n");
+                writer.close();
+            } catch (IOException ex) {
+                Logger.getLogger(SMSListener.class.getName()).log(Level.SEVERE, null, ex);
+                return;
+            }
         }
     }
 }

=== added directory 'local/in/SMSListener/src/org/hispindia/smslistener/images'
=== added file 'local/in/SMSListener/src/org/hispindia/smslistener/images/aboutLabel.png'
Binary files local/in/SMSListener/src/org/hispindia/smslistener/images/aboutLabel.png	1970-01-01 00:00:00 +0000 and local/in/SMSListener/src/org/hispindia/smslistener/images/aboutLabel.png	2009-08-29 15:09:28 +0000 differ
=== added file 'local/in/SMSListener/src/org/hispindia/smslistener/images/gplv3.png'
Binary files local/in/SMSListener/src/org/hispindia/smslistener/images/gplv3.png	1970-01-01 00:00:00 +0000 and local/in/SMSListener/src/org/hispindia/smslistener/images/gplv3.png	2009-08-29 15:09:28 +0000 differ
=== added file 'local/in/SMSListener/src/org/hispindia/smslistener/images/phone.png'
Binary files local/in/SMSListener/src/org/hispindia/smslistener/images/phone.png	1970-01-01 00:00:00 +0000 and local/in/SMSListener/src/org/hispindia/smslistener/images/phone.png	2009-08-29 15:09:28 +0000 differ
=== removed file 'local/in/SMSListener/src/org/hispindia/smslistener/phone.png'
Binary files local/in/SMSListener/src/org/hispindia/smslistener/phone.png	2009-07-08 09:58:18 +0000 and local/in/SMSListener/src/org/hispindia/smslistener/phone.png	1970-01-01 00:00:00 +0000 differ