All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.anotheria.anosite.gen.aslayoutdata.action.EditPageStyleAction Maven / Gradle / Ivy

There is a newer version: 4.1.2
Show newest version
/**
 ********************************************************************************
 *** EditPageStyleAction.java                                                 ***
 *** generated by AnoSiteGenerator (ASG), Version: 2.6.3                      ***
 *** Copyright (C) 2005 - 2010 Anotheria.net, www.anotheria.net               ***
 *** All Rights Reserved.                                                     ***
 ********************************************************************************
 *** Don't edit this code, if you aren't sure                                 ***
 *** that you do exactly know what you are doing!                             ***
 *** It's better to invest time in the generator, as into the generated code. ***
 ********************************************************************************
 */

package net.anotheria.anosite.gen.aslayoutdata.action;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import net.anotheria.maf.action.ActionForward;
import net.anotheria.maf.action.ActionMapping;
import net.anotheria.maf.bean.FormBean;
import java.util.List;
import java.util.ArrayList;
import net.anotheria.anosite.gen.aslayoutdata.bean.EditPageStyleFB;
import net.anotheria.anosite.gen.aslayoutdata.data.PageStyle;
import net.anotheria.asg.util.helper.cmsview.CMSViewHelperUtil;
import net.anotheria.asg.util.helper.cmsview.CMSViewHelperRegistry;
import net.anotheria.anodoc.query2.QueryProperty;
import net.anotheria.asg.util.bean.LinkToMeBean;
import net.anotheria.anosite.gen.aslayoutdata.data.PageLayout;
import net.anotheria.asg.data.LockableObject;


public class EditPageStyleAction extends ShowPageStylesAction{

// Generated by: class net.anotheria.asg.generator.view.action.ModuleActionsGenerator.generateEditAction

	// Generated by: class net.anotheria.asg.generator.view.action.ModuleActionsGenerator.generateEditActionMethod

	public ActionForward anoDocExecute(ActionMapping mapping, FormBean af, HttpServletRequest req, HttpServletResponse res) throws Exception{
		String id = getStringParameter(req, PARAM_ID);
		EditPageStyleFB form = new EditPageStyleFB() ;
		PageStyle pagestyle = getASLayoutDataService().getPageStyle(id);
		checkPageStyles(pagestyle, req);
		if(pagestyle instanceof LockableObject && !((LockableObject)pagestyle).isLocked() && isAutoLockingEnabled())
			lockPageStyles(pagestyle, req);
		form.setId(pagestyle.getId());
		form.setName(pagestyle.getName());
		form.setCss(pagestyle.getCss());
		form.setDescription(pagestyle.getDescription());
		form.setLocked(((LockableObject)pagestyle).isLocked());
		form.setLockerId(((LockableObject)pagestyle).getLockerId());
		form.setLockingTime(net.anotheria.util.NumberUtils.makeISO8601TimestampString(((LockableObject)pagestyle).getLockingTime()) + " automatic unlock expected AT : " + net.anotheria.util.NumberUtils.makeISO8601TimestampString(((LockableObject)pagestyle).getLockingTime() + getLockingTimeout()));

		addBeanToRequest(req, "objectId" , pagestyle.getId());
		addBeanToRequest(req, "EditASLayoutDataPageStyleForm" , form);
		addBeanToRequest(req, "objectInfoString" , pagestyle.getObjectInfo().toString());
		addBeanToRequest(req, "apply.label.prefix", "Apply");
		addBeanToRequest(req, "save.label.prefix", "Save");

		addFieldExplanations(req, pagestyle);


		// Generating back link handling...
		List linksToMe = findLinksToCurrentDocument(pagestyle.getId());
		if (linksToMe.size()>0)
			req.setAttribute("linksToMe", linksToMe);
		return mapping.findForward("success");
	}

	private void addFieldExplanations(HttpServletRequest req, PageStyle pagestyle) {
		if (!CMSViewHelperRegistry.getCMSViewHelpers("ASLayoutData.PageStyle").isEmpty()) {
			String fieldDescription = null;
			fieldDescription = CMSViewHelperUtil.getFieldExplanation("ASLayoutData.PageStyle", pagestyle, "name");
			if (fieldDescription!=null && fieldDescription.length()>0)
				req.setAttribute("description.name", fieldDescription);
			fieldDescription = CMSViewHelperUtil.getFieldExplanation("ASLayoutData.PageStyle", pagestyle, "css");
			if (fieldDescription!=null && fieldDescription.length()>0)
				req.setAttribute("description.css", fieldDescription);
			fieldDescription = CMSViewHelperUtil.getFieldExplanation("ASLayoutData.PageStyle", pagestyle, "description");
			if (fieldDescription!=null && fieldDescription.length()>0)
				req.setAttribute("description.description", fieldDescription);
		} //
	} //addFieldExplanations END


	private List findLinksToCurrentDocument(String documentId){
		List ret = new ArrayList();
		try{
			ret.addAll(findLinkToCurrentDocumentInASLayoutDataPageLayoutStyle(documentId));
		}catch(Exception ignored){
		}
		return ret;
	}
	private List findLinkToCurrentDocumentInASLayoutDataPageLayoutStyle(String documentId) throws net.anotheria.anosite.gen.aslayoutdata.service.ASLayoutDataServiceException{
		List ret = new ArrayList();
		QueryProperty p = new QueryProperty(PageLayout.LINK_PROP_STYLE, documentId);
		// temporarly - replacy with query property
		List list = getASLayoutDataService().getPageLayoutsByProperty(p.getName(), p.getValue());
		for (PageLayout doc : list ){
			ret.add(new LinkToMeBean(doc, "style"));
		}
		return ret;
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy