This Portlet service provides the list of portal supported locales.
Sample Code:
package com.ibm.mylanguagelistprovider;
import java.io.*;
import java.util.*;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NameNotFoundException;
import javax.naming.NamingException;
import javax.portlet.*;
import com.ibm.portal.ModelException;
import com.ibm.portal.admin.Language;
import com.ibm.portal.admin.LanguageList;
import com.ibm.portal.portlet.service.PortletServiceHome;
import com.ibm.portal.portlet.service.model.LanguageListProvider;
/**
* A sample portlet based on GenericPortlet
*/
public class MyLanguageListProviderPortlet extends GenericPortlet {
public static final String JSP_FOLDER = "/_MyLanguageListProvider/jsp/"; // JSP folder name
public static final String VIEW_JSP = "MyLanguageListProviderPortletView"; // JSP file name to be rendered on the view mode
PortletServiceHome psh;
/**
* @see javax.portlet.Portlet#init()
*/
public void init() throws PortletException{
super.init();
try {
Context ctx = new InitialContext();
psh = (PortletServiceHome) ctx.lookup("portletservice/com.ibm.portal.portlet.service.model.LanguageListProvider");
} catch(NameNotFoundException ex) {
ex.printStackTrace();
} catch (NamingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* Serve up the <code>view</code> mode.
*
* @see javax.portlet.GenericPortlet#doView(javax.portlet.RenderRequest, javax.portlet.RenderResponse)
*/
public void doView(RenderRequest request, RenderResponse response) throws PortletException, IOException {
// Set the MIME type for the render response
response.setContentType(request.getResponseContentType());
LanguageListProvider provider = (LanguageListProvider) psh.getPortletService(LanguageListProvider.class);
try {
LanguageList list = provider.getLanguageList(request);
Iterator it = list.iterator();
TreeMap lanmap=new TreeMap();
Language language = null;
while (it.hasNext()) {
language = (Language)it.next();
String key=language.getTitle(Locale.ENGLISH);
String val=language.getLocale().toString();
lanmap.put(key,val);
}
request.setAttribute("result",lanmap);
} catch (ModelException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// Invoke the JSP to render
PortletRequestDispatcher rd = getPortletContext().getRequestDispatcher(getJspFilePath(request, VIEW_JSP));
rd.include(request,response);
}
/**
* Process an action request.
*
* @see javax.portlet.Portlet#processAction(javax.portlet.ActionRequest, javax.portlet.ActionResponse)
*/
public void processAction(ActionRequest request, ActionResponse response) throws PortletException, java.io.IOException {
}
/**
* Returns JSP file path.
*
* @param request Render request
* @param jspFile JSP file name
* @return JSP file path
*/
private static String getJspFilePath(RenderRequest request, String jspFile) {
String markup = request.getProperty("wps.markup");
if( markup == null )
markup = getMarkup(request.getResponseContentType());
return JSP_FOLDER + markup + "/" + jspFile + "." + getJspExtension(markup);
}
/**
* Convert MIME type to markup name.
*
* @param contentType MIME type
* @return Markup name
*/
private static String getMarkup(String contentType) {
if( "text/vnd.wap.wml".equals(contentType) )
return "wml";
else
return "html";
}
/**
* Returns the file extension for the JSP file
*
* @param markupName Markup name
* @return JSP extension
*/
private static String getJspExtension(String markupName) {
return "jsp";
}
}
Screen Shot
Click here to download the source code
Sample Code:
package com.ibm.mylanguagelistprovider;
import java.io.*;
import java.util.*;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NameNotFoundException;
import javax.naming.NamingException;
import javax.portlet.*;
import com.ibm.portal.ModelException;
import com.ibm.portal.admin.Language;
import com.ibm.portal.admin.LanguageList;
import com.ibm.portal.portlet.service.PortletServiceHome;
import com.ibm.portal.portlet.service.model.LanguageListProvider;
/**
* A sample portlet based on GenericPortlet
*/
public class MyLanguageListProviderPortlet extends GenericPortlet {
public static final String JSP_FOLDER = "/_MyLanguageListProvider/jsp/"; // JSP folder name
public static final String VIEW_JSP = "MyLanguageListProviderPortletView"; // JSP file name to be rendered on the view mode
PortletServiceHome psh;
/**
* @see javax.portlet.Portlet#init()
*/
public void init() throws PortletException{
super.init();
try {
Context ctx = new InitialContext();
psh = (PortletServiceHome) ctx.lookup("portletservice/com.ibm.portal.portlet.service.model.LanguageListProvider");
} catch(NameNotFoundException ex) {
ex.printStackTrace();
} catch (NamingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* Serve up the <code>view</code> mode.
*
* @see javax.portlet.GenericPortlet#doView(javax.portlet.RenderRequest, javax.portlet.RenderResponse)
*/
public void doView(RenderRequest request, RenderResponse response) throws PortletException, IOException {
// Set the MIME type for the render response
response.setContentType(request.getResponseContentType());
LanguageListProvider provider = (LanguageListProvider) psh.getPortletService(LanguageListProvider.class);
try {
LanguageList list = provider.getLanguageList(request);
Iterator it = list.iterator();
TreeMap lanmap=new TreeMap();
Language language = null;
while (it.hasNext()) {
language = (Language)it.next();
String key=language.getTitle(Locale.ENGLISH);
String val=language.getLocale().toString();
lanmap.put(key,val);
}
request.setAttribute("result",lanmap);
} catch (ModelException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// Invoke the JSP to render
PortletRequestDispatcher rd = getPortletContext().getRequestDispatcher(getJspFilePath(request, VIEW_JSP));
rd.include(request,response);
}
/**
* Process an action request.
*
* @see javax.portlet.Portlet#processAction(javax.portlet.ActionRequest, javax.portlet.ActionResponse)
*/
public void processAction(ActionRequest request, ActionResponse response) throws PortletException, java.io.IOException {
}
/**
* Returns JSP file path.
*
* @param request Render request
* @param jspFile JSP file name
* @return JSP file path
*/
private static String getJspFilePath(RenderRequest request, String jspFile) {
String markup = request.getProperty("wps.markup");
if( markup == null )
markup = getMarkup(request.getResponseContentType());
return JSP_FOLDER + markup + "/" + jspFile + "." + getJspExtension(markup);
}
/**
* Convert MIME type to markup name.
*
* @param contentType MIME type
* @return Markup name
*/
private static String getMarkup(String contentType) {
if( "text/vnd.wap.wml".equals(contentType) )
return "wml";
else
return "html";
}
/**
* Returns the file extension for the JSP file
*
* @param markupName Markup name
* @return JSP extension
*/
private static String getJspExtension(String markupName) {
return "jsp";
}
}
Screen Shot
Click here to download the source code
No comments:
Post a Comment