<%@ page session="false"%> <%@ taglib uri="/tld/desktopTable.tld" prefix="dttable" %> <%@ taglib uri="/tld/desktopProviderContext.tld" prefix="dtpc" %> <%@ taglib uri="/tld/desktopContainerProviderContext.tld" prefix="dtcpc" %> <%@ taglib uri="/tld/desktop.tld" prefix="dt" %> <%@ taglib uri="/tld/jx.tld" prefix="jx"%> <%@ taglib uri="/tld/i18n.tld" prefix="i18n"%> <%@ page import=" com.sun.portal.providers.containers.jsp.table.JSPTableContainerProvider, com.sun.portal.providers.*, com.sun.portal.providers.error.*, com.sun.portal.providers.context.*, java.util.Arrays, java.util.List, java.util.Map, java.util.HashMap, java.util.Iterator, java.util.Enumeration, java.net.*, org.json.*" %> <%-- scriptlets for ajax client --%> <%! public JSONObject getLocalizedStrings(java.util.ResourceBundle rb) throws JSONException { JSONObject localizedStrings = new JSONObject(); if (rb == null) { localizedStrings.put("x", "y"); } if (rb != null) { for (Enumeration e = rb.getKeys() ; e.hasMoreElements() ;) { String key = (String)e.nextElement(); String val = rb.getString(key); localizedStrings.put(key, val); } } return localizedStrings; } /** * Returns a json object with the selected channels and for each a data object needed by the client to build the channel. */ public JSONArray getSelectedChannels(HttpServletRequest request, HttpServletResponse response, JSPTableContainerProvider provider) { JSONArray selectedChannels = new JSONArray(); try { List selectedChannelsList = provider.getSelectedChannels(); int size = selectedChannelsList.size(); for (int i = 0; i < size; i++) { String channelName = (String) selectedChannelsList.get(i); try { ProviderAdapter selectedProvider = (ProviderAdapter)provider.getContainerProviderContext().getProvider(request, provider.getName(), channelName); JSONObject channel = new JSONObject(); String channelId = channelName; if (channelId.indexOf("/") != -1) { int index = channelId.indexOf("/"); channelId = channelId.substring(index+1); } channel.put("id", channelId); channel.put("name", channelName); channel.put("title", selectedProvider.getTitle()); channel.put("description", selectedProvider.getDescription()); channel.put("width", selectedProvider.getWidth()); channel.put("isEditable", selectedProvider.isEditable()); channel.put("help", selectedProvider.getHelp(request)); channel.put("refreshTime", selectedProvider.getRefreshTime()); channel.put("content", selectedProvider.getContent(request,response)); selectedChannels.put(channel); } catch (Exception pe) { } } } catch (Exception e) { } return selectedChannels; } /** * Returns a json object with the available channels and for each a data object needed by the client to build the channel. */ public JSONArray getAvailableChannels(HttpServletRequest request, JSPTableContainerProvider provider) { JSONArray availableChannels = new JSONArray(); try { List availableChannelsList = provider.getAvailableChannels(); int size = availableChannelsList.size(); for (int i = 0; i < size; i++) { String channelName = (String) availableChannelsList.get(i); try { ProviderAdapter availableProvider = (ProviderAdapter)provider.getContainerProviderContext().getProvider(request, provider.getName(), channelName); JSONObject channel = new JSONObject(); String channelId = channelName; if (channelId.indexOf("/") != -1) { int index = channelId.indexOf("/"); channelId = channelId.substring(index+1); } channel.put("id", channelId); channel.put("name", channelName); channel.put("title", availableProvider.getTitle()); channel.put("description", availableProvider.getDescription()); channel.put("width", availableProvider.getWidth()); channel.put("isEditable", availableProvider.isEditable()); channel.put("help", availableProvider.getHelp(request)); channel.put("refreshTime", availableProvider.getRefreshTime()); availableChannels.put(channel); } catch (Exception pe) { } } } catch (Exception e) { } return availableChannels; } /** * Returns a json object with data of all channels and for each the column to display in. */ public JSONObject getChannelsColumn (HttpServletRequest request, JSPTableContainerProvider provider) { JSONObject columns = new JSONObject(); try { List selectedChannelsList = provider.getSelectedChannels(); int size = selectedChannelsList.size(); for (int i=0;i <%-- main --%> <% JSPTableContainerProvider tableContainerProvider = (JSPTableContainerProvider)pageContext.getAttribute("JSPProvider"); JSONObject tableContainerProviderModel = new JSONObject(); // general properties tableContainerProviderModel.put("name", tableContainerProvider.getName()); tableContainerProviderModel.put("title", tableContainerProvider.getStringProperty("title", true)); tableContainerProviderModel.put("description", tableContainerProvider.getStringProperty("description", true)); tableContainerProviderModel.put("layout", getLayout(tableContainerProvider)); tableContainerProviderModel.put("refreshTime", tableContainerProvider.getStringProperty("refreshTime")); // hard-coding edit container name. tableContainerProviderModel.put("editContainerName", "JSPEditContainer"); tableContainerProviderModel.put("isEditable", tableContainerProvider.getBooleanProperty("isEditable")); tableContainerProviderModel.put("isAuthless", tableContainerProvider.getProviderContext().isAuthless(request)); tableContainerProviderModel.put("maximizedChannel", tableContainerProvider.getStringProperty("maximizedChannel")); // collections tableContainerProviderModel.put("availableChannels", getAvailableChannels(request, tableContainerProvider)); tableContainerProviderModel.put("selectedChannels", getSelectedChannels(request, response, tableContainerProvider)); tableContainerProviderModel.put("channelsRow", getChannelsRow(request, tableContainerProvider)); tableContainerProviderModel.put("channelsColumn", getChannelsColumn(request, tableContainerProvider)); tableContainerProviderModel.put("channelsIsMinimizable", getMap(tableContainerProvider, "channelsIsMinimizable")); tableContainerProviderModel.put("channelsIsMaximizable", getMap(tableContainerProvider, "channelsIsMaximizable")); tableContainerProviderModel.put("channelsIsDetachable", getMap(tableContainerProvider, "channelsIsDetachable")); tableContainerProviderModel.put("channelsHasFrame", getMap(tableContainerProvider, "channelsHasFrame")); tableContainerProviderModel.put("channelsEditInline", getMap(tableContainerProvider, "channelsEditInline")); tableContainerProviderModel.put("channelsUseIframe", getMap(tableContainerProvider, "channelsUseIframe")); tableContainerProviderModel.put("channelsIsMinimized", getMap(tableContainerProvider, "channelsIsMinimized")); tableContainerProviderModel.put("pageStyles", getPageStyles(tableContainerProvider)); tableContainerProviderModel.put("localizedStrings", getLocalizedStrings(ajaxcontainersRB)); String themeContextPath = (String) pageContext.getAttribute("themeContextPath", pageContext.REQUEST_SCOPE); if (themeContextPath != null) { tableContainerProviderModel.put("themeContextPath",themeContextPath); } %>
<% if(!tableContainerProvider.getProviderContext().isAuthless(request) && tableContainerProvider.getBooleanProperty("isEditable") ) { %><% } %>