Author: jerome
Date: 2008-11-26 20:40:08 +0100 (Wed, 26 Nov 2008)
New Revision: 2854

Modified:
   
software_suite_v2/software/gadgets/tuxdroid-gadget-mail/trunk/tuxdroid-gadget-mail/resources/gadget.xml
   
software_suite_v2/software/gadgets/tuxdroid-gadget-mail/trunk/tuxdroid-gadget-mail/sources/net/karmaLab/tuxDroid/gadgets/Configuration.java
   
software_suite_v2/software/gadgets/tuxdroid-gadget-mail/trunk/tuxdroid-gadget-mail/sources/net/karmaLab/tuxDroid/gadgets/MailGadget.java
Log:
* Added subject and sender filter for "run" function for now.

Modified: 
software_suite_v2/software/gadgets/tuxdroid-gadget-mail/trunk/tuxdroid-gadget-mail/resources/gadget.xml
===================================================================
--- 
software_suite_v2/software/gadgets/tuxdroid-gadget-mail/trunk/tuxdroid-gadget-mail/resources/gadget.xml
     2008-11-26 17:43:41 UTC (rev 2853)
+++ 
software_suite_v2/software/gadgets/tuxdroid-gadget-mail/trunk/tuxdroid-gadget-mail/resources/gadget.xml
     2008-11-26 19:40:08 UTC (rev 2854)
@@ -50,6 +50,30 @@
                        description="IMAP folder to retreive"
                        type="string"
                        defaultValue="INBOX" />
+               <parameter
+                       name="filerSubject"
+                       category= "User parameters"
+                       description="Use subject filter"
+                       type="boolean"
+                       defaultValue="true" />
+               <parameter
+                       name="filterSender"
+                       category= "User parameters"
+                       description="Use sender filter"
+                       type="boolean"
+                       defaultValue="true" />
+               <parameter
+                       name="subjectFilter"
+                       category= "User parameters"
+                       description="Subject filter to apply"
+                       type="string"
+                       defaultValue="Re:important document" />
+               <parameter
+                       name="senderFilter"
+                       category= "User parameters"
+                       description="Sender filter to apply"
+                       type="string"
+                       defaultValue="[EMAIL PROTECTED],[EMAIL PROTECTED]" />
        </parameters>
        <commands>
                <command

Modified: 
software_suite_v2/software/gadgets/tuxdroid-gadget-mail/trunk/tuxdroid-gadget-mail/sources/net/karmaLab/tuxDroid/gadgets/Configuration.java
===================================================================
--- 
software_suite_v2/software/gadgets/tuxdroid-gadget-mail/trunk/tuxdroid-gadget-mail/sources/net/karmaLab/tuxDroid/gadgets/Configuration.java
 2008-11-26 17:43:41 UTC (rev 2853)
+++ 
software_suite_v2/software/gadgets/tuxdroid-gadget-mail/trunk/tuxdroid-gadget-mail/sources/net/karmaLab/tuxDroid/gadgets/Configuration.java
 2008-11-26 19:40:08 UTC (rev 2854)
@@ -23,6 +23,8 @@
 package net.karmaLab.tuxDroid.gadgets;
 
 
+import java.util.Vector;
+
 import com.kysoh.tuxdroid.gadget.framework.gadget.SimpleGadgetConfiguration;
 
 public class Configuration extends SimpleGadgetConfiguration
@@ -33,6 +35,12 @@
        private String password;
        private String user;
        private String folder;
+       
+       private boolean filerSubject;
+       private boolean filterSender;
+       
+       private String subjectFilter;
+       private String senderFilter;
 
        /**
         * @return the folder
@@ -136,4 +144,60 @@
        {
                this.host = host;
        }
+       
+       
+       /**
+        * Return true if sender is filtered.
+        * @return
+        */
+       public boolean isSenderFiltered()
+       {
+               return this.filterSender;
+       }
+       
+       
+       /**
+        * Return true if Subject is filtered.
+        * @return
+        */
+       public boolean isSubjectFiltered()
+       {
+               return this.filerSubject;
+       }
+       
+       
+       /**
+        * Return a list of allowed sender.
+        * @return
+        */
+       public Vector<String> getSenderFilter()
+       {
+               Vector<String> ret = new Vector<String>();
+               String value = this.senderFilter;
+               while(value.contains(","))
+               {
+                       ret.add(value.substring(0, value.indexOf(",")));
+                       value = value.substring(value.indexOf(",") + 1);
+               }
+               ret.add(value);
+               return ret;
+       }
+       
+       
+       /**
+        * Return a list of allowed words.
+        * @return
+        */
+       public Vector<String> getSubjectFilter()
+       {
+               Vector<String> ret = new Vector<String>();
+               String value = this.subjectFilter;
+               while(value.contains(","))
+               {
+                       ret.add(value.substring(0, value.indexOf(",")));
+                       value = value.substring(value.indexOf(",") + 1);
+               }
+               ret.add(value);
+               return ret;
+       }
 }
\ No newline at end of file

Modified: 
software_suite_v2/software/gadgets/tuxdroid-gadget-mail/trunk/tuxdroid-gadget-mail/sources/net/karmaLab/tuxDroid/gadgets/MailGadget.java
===================================================================
--- 
software_suite_v2/software/gadgets/tuxdroid-gadget-mail/trunk/tuxdroid-gadget-mail/sources/net/karmaLab/tuxDroid/gadgets/MailGadget.java
    2008-11-26 17:43:41 UTC (rev 2853)
+++ 
software_suite_v2/software/gadgets/tuxdroid-gadget-mail/trunk/tuxdroid-gadget-mail/sources/net/karmaLab/tuxDroid/gadgets/MailGadget.java
    2008-11-26 19:40:08 UTC (rev 2854)
@@ -25,6 +25,7 @@
 import java.io.IOException;
 import java.security.Security;
 import java.util.Properties;
+import java.util.Vector;
 
 import javax.mail.Folder;
 import javax.mail.Message;
@@ -113,6 +114,7 @@
                /* If (ALERT MODE) */
                if (readOne) {
                        /* If new message */
+                       //TODO set filter here.
                        if (newMessageAlert) {
                                throwMessage("You have a new message.");
 
@@ -157,6 +159,51 @@
                                        /* If the mail is marked as not seen */
                                        if 
(!messages[i].getFlags().contains(Flag.SEEN)) {
                                                boolean mailAlreadyRead = false;
+                                               
+                                               //Set sender filter.
+                                               
if(this.configuration().isSenderFiltered())
+                                               {
+                                                       for(String 
allowedSender : this.configuration().getSenderFilter())
+                                                       {
+                                                               
if(!sender.equals(allowedSender))
+                                                               {
+                                                                       /* 
Referencing the current mail */
+                                                                       
stateRun.getLastMessages().add(messages[i].getSubject());
+                                                               }
+                                                       }
+                                               }
+                                               
+                                               //Set subject filter.
+                                               
if(this.configuration().isSubjectFiltered())
+                                               {
+                                                       Vector<Boolean> verT = 
new Vector<Boolean>();
+                                                       
+                                                       for(String 
allowedSubject : this.configuration().getSubjectFilter())
+                                                       {
+                                                               
if(!sender.contains(allowedSubject))
+                                                               {
+                                                                       
verT.add(Boolean.valueOf(true));
+                                                               }
+                                                       }
+                                                       
+                                                       boolean canSay = true;
+                                                       
+                                                       for(Boolean allowed : 
verT)
+                                                       {
+                                                               
if((!allowed.booleanValue()) || verT.size() <= 0)
+                                                               {
+                                                                       canSay 
= false;
+                                                                       break;
+                                                               }
+                                                       }
+                                                       
+                                                       if(!canSay)
+                                                       {
+                                                               /* Referencing 
the current mail */
+                                                               
stateRun.getLastMessages().add(messages[i].getSubject());
+                                                       }
+                                               }
+                                               
 
                                                /* Check if the mail is not 
already read */
                                                for (int j = 0; j < 
stateRun.getLastMessages().size(); j++) {
@@ -171,6 +218,7 @@
                                                        /* Read max 5 mails */
                                                        mailCounter++;
                                                        if (mailCounter <= 5) {
+                                                               //TODO set 
filters.
                                                                
throwMessage("Mail sent by {0}", sender);
                                                                
throwMessage("The message subject is : {0}", subject);
                                                        }
@@ -217,6 +265,7 @@
         */
        @Override
        public void start() throws Exception {
+               
                if (getCommand().equals("check")) {
                        check();
                        return;


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Tux-droid-svn mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tux-droid-svn

Reply via email to