/*
* Copyright 2000-2013 Enonic AS
* http://www.enonic.com/license
*/
package com.enonic.vertical.adminweb.handlers;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.w3c.dom.Document;
import com.enonic.esl.containers.ExtendedMap;
import com.enonic.esl.xml.XMLTool;
import com.enonic.vertical.adminweb.VerticalAdminException;
import com.enonic.vertical.adminweb.VerticalAdminLogger;
import com.enonic.vertical.adminweb.handlers.xmlbuilders.GeneralContentXMLBuilder;
import com.enonic.vertical.engine.VerticalEngineException;
import com.enonic.cms.core.security.user.User;
import com.enonic.cms.core.service.AdminService;
public class PagelinkHandlerServlet
extends ContentBaseHandlerServlet
{
@Autowired
public void setGeneralContentXMLBuilder( final GeneralContentXMLBuilder builder )
{
setContentXMLBuilder( builder );
}
public void handlerCreate( HttpServletRequest request, HttpServletResponse response, HttpSession session, AdminService admin,
ExtendedMap formItems, User user )
throws VerticalAdminException, VerticalEngineException
{
VerticalAdminLogger.errorAdmin( "OperationWrapper CREATE not implemented" );
}
public boolean handlerSelect( HttpServletRequest request, HttpServletResponse response, HttpSession session, AdminService admin,
ExtendedMap formItems )
throws VerticalAdminException
{
User user = securityService.getLoggedInAdminConsoleUser();
ExtendedMap parameters = new ExtendedMap();
int contentTypeKey = getContentTypeKey( formItems );
String tmp = (String) formItems.getString( "selectedunitkey", null );
int unitKey = -1;
if ( tmp != null && tmp.length() > 0 )
{
unitKey = Integer.parseInt( tmp );
}
if ( unitKey != -1 )
{
parameters.put( "unitkey", Integer.toString( unitKey ) );
parameters.put( "selectedunitkey", Integer.toString( unitKey ) );
}
parameters.put( "unitkey", Integer.toString( unitKey ) );
parameters.put( "contenttypekey", Integer.toString( contentTypeKey ) );
Document menuDoc = null;
int menuKey = Integer.parseInt( tmp );
if ( formItems.containsKey( "menukey" ) )
{
menuKey = formItems.getInt( "menukey" );
menuDoc = admin.getMenu( user, menuKey, false ).getAsDOMDocument();
parameters.put( "internallink", Boolean.TRUE );
}
else
{
menuDoc = XMLTool.createDocument( "menus" );
parameters.put( "internallink", Boolean.FALSE );
}
transformXML( request, response, menuDoc, "pagelink_insert.xsl", parameters );
return true;
}
}