[mashup-dev] svn commit r1857 - trunk/mashup/java/modules/hostobjects/src/org/wso2/mashup/hostobjects/atom

svn at wso2.org svn at wso2.org
Tue Apr 17 04:45:50 PDT 2007


Author: thilina
Date: Tue Apr 17 04:45:41 2007
New Revision: 1857

Modified:
   trunk/mashup/java/modules/hostobjects/src/org/wso2/mashup/hostobjects/atom/AtomEntryHostObject.java
Log:
Adding get XML ability entry host object.+ getLinks to return a java script object with all the links. + toString ability for Entry objects

Modified: trunk/mashup/java/modules/hostobjects/src/org/wso2/mashup/hostobjects/atom/AtomEntryHostObject.java
==============================================================================
--- trunk/mashup/java/modules/hostobjects/src/org/wso2/mashup/hostobjects/atom/AtomEntryHostObject.java	(original)
+++ trunk/mashup/java/modules/hostobjects/src/org/wso2/mashup/hostobjects/atom/AtomEntryHostObject.java	Tue Apr 17 04:45:41 2007
@@ -16,14 +16,18 @@
 package org.wso2.mashup.hostobjects.atom;
 
 import java.util.Date;
+import java.util.Iterator;
+import java.util.List;
 
 import org.apache.abdera.Abdera;
 import org.apache.abdera.factory.Factory;
 import org.apache.abdera.model.Entry;
+import org.apache.abdera.model.Link;
+import org.apache.abdera.model.Person;
 import org.apache.abdera.parser.stax.util.FOMHelper;
 import org.apache.abdera.util.iri.IRISyntaxException;
 import org.mozilla.javascript.Context;
-import org.mozilla.javascript.Function;
+import org.mozilla.javascript.NativeObject;
 import org.mozilla.javascript.Scriptable;
 import org.mozilla.javascript.ScriptableObject;
 import org.mozilla.javascript.xmlimpl.XML;
@@ -128,11 +132,21 @@
     public void jsSet_author(String author) {
         entry.addAuthor(author);
     }
-    
-    public String jsGet_author()
-    {
-        if (entry!=null)
-        return entry.getAuthor().getName();
+
+    public Object jsGet_author() {
+        if (entry != null) {
+//            if (entry.getAuthors().size() > 1) {
+//                Scriptable jsObject = Context.getCurrentContext().newObject(this, "Object",
+//                        new Object[0]);
+//                List list = entry.getAuthors();
+//                for (int i = 0; i < list.size(); i++) {
+//                    NativeObject.putProperty(jsObject, "author", ((Person)list.get(i)).getName());
+//                }
+//                return jsObject;
+//            } else {
+                return entry.getAuthor().getName();
+//            }
+        }
         return null;
     }
 
@@ -216,15 +230,23 @@
         return null;
     }
 
-    //process link
-    //TODO link object
+    // process link
+    // TODO link object
     public void jsSet_link(String link) throws IRISyntaxException {
         entry.addLink(link);
     }
-    public String jsGet_link()
-    {
-        if (entry!=null)
-        return entry.getLinks().get(0).toString();
+
+    public Scriptable jsGet_link() throws IRISyntaxException {
+        if (entry != null) {
+            Scriptable jsObject = Context.getCurrentContext().newObject(this, "Object",
+                    new Object[0]);
+            List list = entry.getLinks();
+            for (Iterator iter = list.iterator(); iter.hasNext();) {
+                Link element = (Link) iter.next();
+                NativeObject.putProperty(jsObject, element.getRel(), element.getHref().toString());
+            }
+            return jsObject;
+        }
         return null;
     }
 
@@ -312,12 +334,24 @@
             entry.setUpdated((String) updated);
         }
     }
+    
     public String jsGet_updated()
     {
         if (entry!=null)
         return entry.getUpdated().toString();
         return null;
     }
+    
+    public Scriptable jsGet_XML()
+    {
+        Context cx =Context.getCurrentContext();
+        if (entry!=null){
+            Object[] objects = {entry};
+            Scriptable xmlHostObject = cx.newObject(this, "XML", objects);
+        return xmlHostObject;
+        }
+        return null;
+    }
 
     Entry getEntry() {
         return entry;
@@ -326,4 +360,10 @@
     void setEntry(Entry entry) {
         this.entry = entry;
     }
+    
+    public String jsFunction_toString()
+    {
+        System.out.println("rwrewkjrjkw");
+        return entry.toString();
+    }
 }




More information about the Mashup-dev mailing list