Package org.dspace.app.xmlui.aspect.administrative.authorization

Source Code of org.dspace.app.xmlui.aspect.administrative.authorization.AuthorizationMain

/*
* AuthorizationMain.java
*
* Version: $Revision: 3705 $
*
* Date: $Date: 2009-04-11 17:02:24 +0000 (Sat, 11 Apr 2009) $
*
* Copyright (c) 2002, Hewlett-Packard Company and Massachusetts
* Institute of Technology.  All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
* met:
*
* - Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* - Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* - Neither the name of the Hewlett-Packard Company nor the name of the
* Massachusetts Institute of Technology nor the names of their
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
* USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
* DAMAGE.
*/
package org.dspace.app.xmlui.aspect.administrative.authorization;

import java.sql.SQLException;
import java.util.ArrayList;

import org.dspace.app.xmlui.cocoon.AbstractDSpaceTransformer;
import org.dspace.app.xmlui.wing.Message;
import org.dspace.app.xmlui.wing.WingException;
import org.dspace.app.xmlui.wing.element.Body;
import org.dspace.app.xmlui.wing.element.Division;
import org.dspace.app.xmlui.wing.element.Item;
import org.dspace.app.xmlui.wing.element.List;
import org.dspace.app.xmlui.wing.element.PageMeta;
import org.dspace.app.xmlui.wing.element.Text;
import org.dspace.content.Collection;
import org.dspace.content.Community;

/**
* @author Alexey Maslov
*/
public class AuthorizationMain extends AbstractDSpaceTransformer  
  private static final Message T_title =
    message("xmlui.administrative.authorization.AuthorizationMain.title");
  private static final Message T_authorize_trail =
    message("xmlui.administrative.authorization.general.authorize_trail");
 
  private static final Message T_main_head =
    message("xmlui.administrative.authorization.AuthorizationMain.main_head");
 
  private static final Message T_actions_head =
    message("xmlui.administrative.authorization.AuthorizationMain.actions_head");
    private static final Message T_actions_item_lookup =
    message("xmlui.administrative.authorization.AuthorizationMain.actions_item_lookup");
   
    private static final Message T_bad_name =
    message("xmlui.administrative.authorization.AuthorizationMain.bad_name");
    private static final Message T_search_help =
    message("xmlui.administrative.authorization.AuthorizationMain.search_help");
    private static final Message T_submit_find =
    message("xmlui.administrative.authorization.AuthorizationMain.submit_find");
   
    private static final Message T_actions_advanced =
    message("xmlui.administrative.authorization.AuthorizationMain.actions_advanced");
    private static final Message T_actions_advanced_link =
    message("xmlui.administrative.authorization.AuthorizationMain.actions_advanced_link");
   
    private static final Message T_containerList_head =
    message("xmlui.administrative.authorization.AuthorizationMain.containerList_head");
    private static final Message T_containerList_para =
    message("xmlui.administrative.authorization.AuthorizationMain.containerList_para");
 
  private static final Message T_dspace_home =
    message("xmlui.general.dspace_home");
 
  private static final Message T_untitled =
    message("xmlui.general.untitled");
 
 
 
  public void addPageMeta(PageMeta pageMeta) throws WingException
    {
        pageMeta.addMetadata("title").addContent(T_title);
        pageMeta.addTrailLink(contextPath + "/", T_dspace_home);
        pageMeta.addTrailLink(contextPath + "/admin/authorize", T_authorize_trail);
    }
 
  public void addBody(Body body) throws WingException, SQLException
  {
    /* Get and setup our parameters */
        String query = URLDecode(parameters.getParameter("query",null));
        String baseURL = contextPath+"/admin/epeople?administrative-continue="+knot.getId();
       
        String errorString = parameters.getParameter("errors",null);
    ArrayList<String> errors = new ArrayList<String>();
    if (errorString != null)
    {
      for (String error : errorString.split(","))
        errors.add(error);
    }
       
        Division main = body.addInteractiveDivision("authorization-main",contextPath+"/admin/authorize",Division.METHOD_POST,"primary administrative authorization");
    main.setHead(T_main_head);
    //main.addPara(T_main_para);   
   
   
    // DIVISION: authorization-actions
        Division actions = main.addDivision("authorization-actions");
        actions.setHead(T_actions_head);
       
        List actionsList = actions.addList("actions");
        actionsList.addLabel(T_actions_item_lookup);
        Item actionItem = actionsList.addItem();
        Text queryField = actionItem.addText("identifier");
        if (query != null)
          queryField.setValue(query);
        if (errors.contains("identifier"))
          queryField.addError(T_bad_name);
        queryField.setHelp(T_search_help);
        actionItem.addButton("submit_edit").setValue(T_submit_find);
        actionsList.addLabel(T_actions_advanced);
        actionsList.addItemXref(baseURL+"&submit_wildcard", T_actions_advanced_link);
   
        // DIVISION: authorization-containerList
        Division containers = main.addDivision("authorization-containerList");
        containers.setHead(T_containerList_head);
        containers.addPara(T_containerList_para);
       
        List containerList = containers.addList("containerList");
        this.containerListBuilder(baseURL,containerList,null);
       
    main.addHidden("administrative-continue").setValue(knot.getId());
  }
 
 
  /* A recursive helper method to build the community/collection hierarchy list */
  private void containerListBuilder (String baseURL, List parentList, Community currentCommunity)
    throws SQLException, WingException
  {
    if (currentCommunity == null) {
      for (Community topLevel : Community.findAllTop(context)) {
        containerListBuilder(baseURL,parentList,topLevel);
      }
    }
    else {
      parentList.addItem().addHighlight("bold").addXref(baseURL+"&submit_edit&community_id="+currentCommunity.getID(), currentCommunity.getMetadata("name"));
      List containerSubList = null;
      for (Collection subCols : currentCommunity.getCollections())
      {
        if (containerSubList == null)
          containerSubList = parentList.addList("subList" + currentCommunity.getID());
        String name = subCols.getMetadata("name");
        if (name == null || name.length() == 0)
          containerSubList.addItemXref(baseURL+"&submit_edit&collection_id="+subCols.getID(), T_untitled);
        else
          containerSubList.addItemXref(baseURL+"&submit_edit&collection_id="+subCols.getID(), name);
          }
      for (Community subComs : currentCommunity.getSubcommunities())
      {
        if (containerSubList == null)
          containerSubList = parentList.addList("subList" + currentCommunity.getID());
        containerListBuilder(baseURL,containerSubList,subComs);
      }
    }
  }
 
 
 
 
 
 
 
}
TOP

Related Classes of org.dspace.app.xmlui.aspect.administrative.authorization.AuthorizationMain

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.