PortletServlet.java

303: // TODO: Handle everything as permanently for now.  
throw new javax.servlet.UnavailableException(ex.getMessage());
            
        } catch (PortletException ex) {

BaseURLImpl.java

405: //TODO:This two methods should be deleted, when the CACHABILITY parameter gets his own prefix
	private String[] getRenderParameters(String name){
		int lenght = 0;
		String[] tmp1 = this.servletRequest.getParameterValues(name);
		if (tmp1!=null)

CacheControlImpl.java

26: * TODO: Move CachControlImpl from inner Class to this implementation
 */
public class CacheControlImpl implements CacheControl {

EventRequestImpl.java (see same Fixme)

84 public PortletPreferences getPreferences() {
    	// TODO: Are there any changes to do in PortletPreferences?
       if (portletPreferences == null) {

PortletPreferencesImpl.java (2 matches)

143 } catch (PortletContainerException ex) {
            LOG.error("Error retrieving preferences.", ex);
            //TODO: Rethrow up the stack????
        } catch (IOException ex) {
            LOG.error("Error retrieving preferences.", ex);        	
            //TODO: Rethrow up the stack????
        } catch (ValidatorException ex) {
            LOG.warn("ValidatorException initializing portlet preferences. "
            		+ "This is not illegal at this point "
            		+ "since we are just retreiving from portlet.xml.", ex);   

PortletRequestImpl.java 

695 	/**
     * TODO: Implement this properly.  Not required now
     */
    public void release() {
    	// FIXME: This needs to be implemented
    }

703     // TODO: Additional Methods of HttpServletRequestWrapper -------------------
    
    public BufferedReader getReader()
    throws UnsupportedEncodingException, IOException {
    	// the super class will ensure that a IllegalStateException is thrown
    	//   if getInputStream() was called earlier
    	BufferedReader reader = getHttpServletRequest().getReader();

725     /**
     * TODO: why check bodyAccessed?
     */
    public void setCharacterEncoding(String encoding)
    throws UnsupportedEncodingException {
        if (bodyAccessed) {
        	throw new IllegalStateException("Cannot set character encoding "
        			+ "after HTTP body is accessed.");
        }

1005	@Override
	public Cookie[] getCookies() {
		if (isIncluded() || isForwarded()){
			// TODO:return Cookies from properties
			return super.getCookies();
		}
		else
			return super.getCookies();
	}

	@Override
	public long getDateHeader(String arg0) {
		if (isIncluded() || isForwarded()){
			// TODO:return header from properties
			return 0;
		}
		else
			return super.getDateHeader(arg0);
	}

	@Override
	public String getHeader(String arg0) {
		if (isIncluded() || isForwarded()){
			// TODO:return header from properties
			return null;
		}
		else
			return super.getHeader(arg0);
	}

	@Override
	public Enumeration getHeaderNames() {
		if (isIncluded() || isForwarded()){
			// TODO:return header from properties
			return null;
		}
		else
			return super.getHeaderNames();
	}

	@Override
	public Enumeration getHeaders(String arg0) {
		if (isIncluded() || isForwarded()){
			// TODO:return header from properties
			return null;
		}
		else
			return super.getHeaders(arg0);
	}

	@Override
	public int getIntHeader(String arg0) {
		if (isIncluded() || isForwarded()){
			// TODO:return header from properties
			return 0;
		}
		else
			return super.getIntHeader(arg0);
	}

PortletResponseImpl.java

259	/**
	 * Creates a portlet URL.
	 * TODO: make dynamic? as service?
	 * @param isAction  true for an action URL, false for a render URL.
	 * @return the created portlet (action/render) URL.
	 */
	private PortletURL createURL(boolean isAction, boolean isResourceServing) {
	    return new PortletURLImpl(getContainer(),

RenderRequestImpl.java and ResourceRequestImpl.java

258 	public String getETag() {
		// TODO Return ETag
		return null;
	}

UserDataConstraintDD.java

30/**
 * User Data Constraint descriptor.
 *
 * @version $Id: UserDataConstraintDD.java 156636 2005-03-09 12:16:31Z cziegeler $
 * @since Feb 28, 2005
 * 
 * TODO: Convert TransportGuarantee to a Java 5 enum
 * and annotate with @XmlEnum(String.class)
 */
@XmlAccessorType(XmlAccessType.FIELD)

PageAdminPortlet.java (7 matches)

70			//TODO: send message back to UI
		}
		//TODO: send 'success' message back to UI
    }

    public void doAddPortlet(ActionRequest request) {
        String page = request.getParameter("page");
        String applicationId = request.getParameter("applications");
        String portletId = request.getParameter("availablePortlets");

        LOG.info("Request: Add [applicationId=" + applicationId + ":portletId=" + portletId + "] to page '" + page + "'");

        PageConfig config = getPageConfig(page);
        config.addPortlet(applicationId, portletId);

    }

    /**
     * Adds a page to the portal via the <code>RenderConfigService</code>.
     * 
     *  This does not add portlets to the new page. Do that when the page is created
     *  using the Add Portlet button.
     *   
     * @param request The action request.
     */
    public void doAddPage(ActionRequest request) {
        String page = request.getParameter("newPage");//newPage text input element
        //Check if page is null or empty
        if (page == null || page.equals("")) {
			LOG.warn("Page parameter is null or empty. Page addition will be ignored.");
			//TODO: send message back to UI
        	return;
        }
        //TODO: add page URI input to form
        String uri = request.getParameter("pageURI");
        if (uri == null) {
        	uri = PortalDriverServlet.DEFAULT_PAGE_URI;
        }
        DriverConfiguration driverConfig = (DriverConfiguration) getPortletContext()
    		.getAttribute(AttributeKeys.DRIVER_CONFIG);
        PageConfig pageConfig = new PageConfig();
        pageConfig.setName(page);
        pageConfig.setUri(uri);

        RenderConfigService renderConfig = driverConfig.getRenderConfigService();
        renderConfig.addPage(pageConfig);
    }

    /**
     * Removes a page from the portal ignoring any requests to remove the default page
     * or the Pluto Admin page. 
     * 
     * The page's portlets are still available, but no longer associated with the deleted page.
     * 
     * @param request The action request.
     * @throws IOException If a problem occurs accessing the config file.
     */
    public void doRemovePage(ActionRequest request) throws IOException {
        String page = request.getParameter("page");
        DriverConfiguration driverConfig = (DriverConfiguration) getPortletContext()
    	.getAttribute(AttributeKeys.DRIVER_CONFIG);
        //make sure we are not deleting the default page
		String defaultPage = getDefaultPage();
	    if (page.equalsIgnoreCase(defaultPage)) {
			LOG.warn("Trying to delete the default page. Page deletion will be ignored.");
			//TODO: send message back to UI
	    	return;
	    }
        //make sure we are not deleting the Pluto Admin page
		if (page.equalsIgnoreCase("Pluto Admin")) {
			LOG.warn("Trying to delete the Pluto Admin page. Page deletion will be ignored.");
			return;
		}

		PageConfig pageConfig = getPageConfig(page);
        RenderConfigService renderConfig = driverConfig.getRenderConfigService();
        renderConfig.removePage(pageConfig);
    }
    
    public void doRemovePortlet(ActionRequest request) {
        String page = request.getParameter("page");
        String portletId = request.getParameter("placedPortlets");

        LOG.info("Request: Remove [portletId=" + portletId + "] from page '" + page + "'");

        PageConfig config = getPageConfig(page);
        config.removePortlet(portletId);
    }

    private PageConfig getPageConfig(String page) {
        DriverConfiguration driverConfig = (DriverConfiguration) getPortletContext()
            .getAttribute(AttributeKeys.DRIVER_CONFIG);

        PageConfig config = driverConfig.getPageConfig(page);
        return config;
    }

    public void doView(RenderRequest request, RenderResponse response) throws PortletException, IOException {
        request.setAttribute("availablePages", getAvailablePages());
        super.doView(request, response);
    }

    public String getViewPage() {
        return VIEW_PAGE;
    }

    public String getEditPage() {
        return EDIT_PAGE;
    }

    public String getHelpPage(RenderRequest request) {
    	String incPage = HELP_PAGE;
    	String page = request.getParameter("helpPage");
    	if (page != null) {
    		incPage = JSP_DIR + page;
    	}
        return incPage;
    }

    public Collection getAvailablePages() {
        DriverConfiguration configuration =
            (DriverConfiguration) getPortletContext().getAttribute(AttributeKeys.DRIVER_CONFIG);

        ArrayList list = new ArrayList();
        Iterator it = configuration.getPages().iterator();
        while (it.hasNext()) {
            PageConfig config = (PageConfig) it.next();
            ArrayList portlets = new ArrayList();
            Iterator pids = config.getPortletIds().iterator();
            while (pids.hasNext()) {
                String pid = pids.next().toString();
                String name = PortletWindowConfig.parsePortletName(pid);
                portlets.add(new Placement(pid, name));
            }
            list.add(new Page(config.getName(), config.getName(), portlets));
        }

        return list;
    }

    /**
     * Persist page configuration changes to render-config section of pluto-portal-driver-config.xml.
     * 
     * TODO: Use JAXB for config file parsing and persistence.
     * 
     * @throws IOException
     */
    private void persistPages() throws IOException {
    	//TODO: Null checks??? Substitute empty string or throw an Exception
    	final String NL = System.getProperty("line.separator");
        DriverConfiguration driverConfig = (DriverConfiguration) getPortletContext()

RenderConfig.java

92         // TODO: Make sure this is needed. 
         //This is the PLUTO-251 fix submitted by Charles Severence. Thank you!!!
         // Sometimes pages come with a prefix of a slash - if the page is not 
         // found, and the first character of the pageId is a slash we attempt 
         // to look up the page without the slash. 

PortletModeAnchorTag.java

42 * <pluto:modeAnchor portletId="" portletMode="edit"/>
 *
 * @todo Test supported Window States using a version of ActionResponseImpl.isWindowStateAllowed()
 */
public class PortletModeAnchorTag extends BodyTagSupport {

PortalDriverServlet.java

170if (pageConfig == null)
            {
                // TODO Shouldn't we throw an exception here?
                LOG.error("PageConfig for render path [" + portalURL.getRenderPath() + "] could not be found.");
            }

EventProviderImpl.java

189			} catch (JAXBException e) {
				// maybe there is no valid jaxb binding
				// TODO wsrp:eventHandlingFailed
				LOG.error("Event handling failed", e);
			} catch (FactoryConfigurationError e) {

PortalCallbackServiceImpl.java

80    public Map getRequestProperties(HttpServletRequest request,
                                    PortletWindow portletWindow) {
    	// TODO: currently this method returns an empty map.
        return Collections.EMPTY_MAP;
    }

MiscTest.java

98    /**
     * Test to ensure that the basic modes are supported.
     * @todo Enhance to check for custom modes.
     * @param req
     * @return
     */
    protected TestResult checkSupportedModes(PortletRequest request)  {

PreferencesValidatorImpl.java

78        //
        // TODO: Determine why we use this - I seem to remember it's a
        //   spec requirement, and fix it so that we don't have issues
        //   anymore.  When enabled, all preferences fail in testsuite.
        //
        final String[] DEFAULT_VALUES = new String[] { "no values" };
    	Collection<String> failedNames = new ArrayList<String>();

TestPortlet.java

211   /**
     * Serves up the <code>view</code> mode.
     * TODO: more javadoc.
     *
     * @param request  the protlet request.
     * @param response  the portlet response.
     */
    @Override
    public void doView(RenderRequest request, RenderResponse response)

FileAssemblerAnt.java
139/**
     * Updates the webapp descriptor by injecting portlet wrapper servlet
     * definitions and mappings.
     * 
     * TODO: currently we rely specifically on the castor implementation.
     * 
     * @param webXmlIn  input stream to the webapp descriptor.
     * @param portletXmlIn  input stream to the portlet app descriptor.
     * @return the updated webapp descriptor XML document.
     * @throws IOException
     */

WarAssembler.java

66    protected void assembleWar(File source, File dest, String dispatchServletClass) throws IOException {
        final JarInputStream jarIn = new JarInputStream(new FileInputStream(source));
        //Create the output JAR stream, copying the Manifest
        final Manifest manifest = jarIn.getManifest();
        //TODO add pluto notes to the Manifest?
        
        final JarOutputStream jarOut;

WebXmlRewritingAssembler.java

26/**
 * @version $Revision: 564921 $
 * @todo fix direct dependency on pluto-descriptor-impl
 */
public abstract class WebXmlRewritingAssembler implements Assembler {