You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-user@portals.apache.org by songzongquan <wa...@163.com> on 2010/02/04 04:36:42 UTC

Who can give me same examples code of portelet supporting WAP? for jetspeed2.2.0

First, i will thank Woonsan Ko  very much!  you help me a lot 

 I does find out some example code, but it is based of Jetspeed1,  how
does i will  on jetspeed2? please give me a  idea.


import org.apache.ecs.*;
import org.apache.ecs.html.*;
import org.apache.ecs.wml.P;
import org.apache.jetspeed.capability.CapabilityMap;
import org.apache.jetspeed.capability.CapabilityMapFactory;
import org.apache.jetspeed.portal.portlets.AbstractPortlet;
import org.apache.jetspeed.util.MimeType;
import org.apache.turbine.util.RunData;
import java.io.*;
public class WMLPortlet extends AbstractPortlet {
   //which MIME types does this portlet support
   public boolean supportsType (MimeType clientMimeType) {
      if (MimeType.HTML.equals(clientMimeType)) {
         return true;
      }
      if (MimeType.WML.equals(clientMimeType)) {
         return true;
      }
      return false;
   }
   public ConcreteElement getContent (RunData runData) {
      //create an ECS container for our content
      ElementContainer container = new ElementContainer();
      //get user's browser info from the Turbine runtime data.
      CapabilityMap capMap = CapabilityMapFactory.getCapabilityMap
(runData);
      //show HTML code for the web
      if (capMap.getPreferredType().equals (MimeType.HTML)) {
         Table table = new Table()
                                 .setBorder(0)
                                 .addElement(new TR()
                                    .addElement(new TD()
                                       .addElement(new B()
                                          .addElement("I am bold."))))
                                 .addElement(new TR()
                                     .addElement(new TD()
                                        .addElement("I'm the lower table
row.")));
         container.addElement(table);
      }
      //show WML code for wireless
      else if (capMap.getPreferredType().equals (MimeType.WML)) {
         org.apache.ecs.wml.P p = new org.apache.ecs.wml.P()
                                  .addElement("On wireless");
         container.addElement(p);
      }
      return container;
   }
}





---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-user-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-user-help@portals.apache.org


Re: Who can give me same examples code of portelet supporting WAP? for jetspeed2.2.0

Posted by Woonsan Ko <wo...@yahoo.com>.
Hi,

You can have a look at the following guide to see how to implement a standard portlet. (Jetspeed-2.2.x requires JSR-168 or JSR-286 compliant portlets.)

[1] http://portals.apache.org/jetspeed-2/devguide/guide-simple-portlet.html

Also, you could configure something to support WML mimetype in your portlet descriptor. Please refer to "PLT.8.6 Defining Portlet Modes Support" in JSR-286 Spec. document for an example.
And, then you could implement some codes to render WML markups in your doView() method after invoking response.setContentType() with the proper content type.

HTH,

Woonsan




----- Original Message ----
> From: songzongquan <wa...@163.com>
> To: jetspeed-user@portals.apache.org
> Sent: Thu, February 4, 2010 4:36:42 AM
> Subject: Who can give me same examples code of portelet supporting WAP?  for jetspeed2.2.0
> 
> First, i will thank Woonsan Ko  very much!  you help me a lot 
> 
> I does find out some example code, but it is based of Jetspeed1,  how
> does i will  on jetspeed2? please give me a  idea.
> 
> 
> import org.apache.ecs.*;
> import org.apache.ecs.html.*;
> import org.apache.ecs.wml.P;
> import org.apache.jetspeed.capability.CapabilityMap;
> import org.apache.jetspeed.capability.CapabilityMapFactory;
> import org.apache.jetspeed.portal.portlets.AbstractPortlet;
> import org.apache.jetspeed.util.MimeType;
> import org.apache.turbine.util.RunData;
> import java.io.*;
> public class WMLPortlet extends AbstractPortlet {
>    //which MIME types does this portlet support
>    public boolean supportsType (MimeType clientMimeType) {
>       if (MimeType.HTML.equals(clientMimeType)) {
>          return true;
>       }
>       if (MimeType.WML.equals(clientMimeType)) {
>          return true;
>       }
>       return false;
>    }
>    public ConcreteElement getContent (RunData runData) {
>       //create an ECS container for our content
>       ElementContainer container = new ElementContainer();
>       //get user's browser info from the Turbine runtime data.
>       CapabilityMap capMap = CapabilityMapFactory.getCapabilityMap
> (runData);
>       //show HTML code for the web
>       if (capMap.getPreferredType().equals (MimeType.HTML)) {
>          Table table = new Table()
>                                  .setBorder(0)
>                                  .addElement(new TR()
>                                     .addElement(new TD()
>                                        .addElement(new B()
>                                           .addElement("I am bold."))))
>                                  .addElement(new TR()
>                                      .addElement(new TD()
>                                         .addElement("I'm the lower table
> row.")));
>          container.addElement(table);
>       }
>       //show WML code for wireless
>       else if (capMap.getPreferredType().equals (MimeType.WML)) {
>          org.apache.ecs.wml.P p = new org.apache.ecs.wml.P()
>                                   .addElement("On wireless");
>          container.addElement(p);
>       }
>       return container;
>    }
> }
> 
> 
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: jetspeed-user-unsubscribe@portals.apache.org
> For additional commands, e-mail: jetspeed-user-help@portals.apache.org



      

---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-user-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-user-help@portals.apache.org