+++ /dev/null
-/*
- * ContentAction.java created on 05.09.2003
- *
- * Copyright (C) 2001, 2002, 2003 The Mir-coders group
- *
- * This file is part of Mir.
- *
- * Mir is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * Mir is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with Mir; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * In addition, as a special exception, The Mir-coders gives permission to link
- * the code of this program with any library licensed under the Apache Software License,
- * The Sun (tm) Java Advanced Imaging library (JAI), The Sun JIMI library
- * (or with modified versions of the above that use the same license as the above),
- * and distribute linked combinations including the two. You must obey the
- * GNU General Public License in all respects for all of the code used other than
- * the above mentioned libraries. If you modify this file, you may extend this
- * exception to your version of the file, but you are not obligated to do so.
- * If you do not wish to do so, delete this exception statement from your version.
- */
-package mir.core.ui.action.admin;
-
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.List;
-
-import javax.servlet.ServletContext;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
-
-import mir.config.MirPropertiesConfiguration;
-import mir.config.MirPropertiesConfiguration.PropertiesConfigExc;
-import mir.core.model.ArticleType;
-import mir.core.model.Content;
-import mir.core.model.IContent;
-import mir.core.model.Language;
-import mir.core.model.MirUser;
-import mir.core.service.storage.ArticleTypeService;
-import mir.core.service.storage.ContentService;
-import mir.core.service.storage.LanguageService;
-import mir.core.ui.action.DispatchAction;
-import mir.core.ui.servlet.ServletConstants;
-import multex.Failure;
-import net.sf.hibernate.SessionFactory;
-import net.sf.hibernate.expression.Expression;
-import net.sf.hibernate.expression.Order;
-
-import org.apache.struts.action.ActionForm;
-import org.apache.struts.action.ActionForward;
-import org.apache.struts.action.ActionMapping;
-import org.apache.struts.action.DynaActionForm;
-
-/**
- * TopicAction
- * @author idefix
- * @version $Id: ContentAction.java,v 1.1 2003/12/20 20:27:09 idfx Exp $
- */
-public class ContentAction extends DispatchAction {
- private MirPropertiesConfiguration _configuration;
-
- public ContentAction(){
- super();
- try {
- _configuration = MirPropertiesConfiguration.instance();
- } catch (PropertiesConfigExc e) {
- throw new Failure("could not load config", e);
- }
- }
-
- private ActionForward add(ActionMapping actionMapping, ActionForm actionForm,
- HttpServletRequest request, HttpServletResponse response)
- throws Exception {
- //access to persistence
- ServletContext context = getServlet().getServletContext();
- ContentService contentService =
- new ContentService((SessionFactory)context
- .getAttribute(ServletConstants.SESSION_FACTORY));
-
- request.setAttribute(ServletConstants.NEW, new Boolean(true));
- request.setAttribute(ServletConstants.ID, "");
- request.setAttribute(ServletConstants.OFFSET, "");
-
- //setting standard-values
- Content content = new Content();
- request.setAttribute("article", content);
-
- // show the view
- return actionMapping.findForward("success");
- }
-
- private ActionForward save(ActionMapping actionMapping, ActionForm actionForm,
- HttpServletRequest request, HttpServletResponse response)
- throws Exception {
- //access to persistence
- ServletContext context = getServlet().getServletContext();
- HttpSession httpSession = request.getSession();
- ContentService contentService =
- new ContentService((SessionFactory)context
- .getAttribute(ServletConstants.SESSION_FACTORY));
- ArticleTypeService articleTypeService =
- new ArticleTypeService((SessionFactory)context
- .getAttribute(ServletConstants.SESSION_FACTORY));
- LanguageService languageService =
- new LanguageService((SessionFactory)context
- .getAttribute(ServletConstants.SESSION_FACTORY));
-
- //retrieve the form
- DynaActionForm form = (DynaActionForm) actionForm;
- if(form == null){
- return actionMapping.findForward("failed");
- }
-
- //check if new
- Boolean isnew = (Boolean) form.get("new");
-
- //retrieve id
- IContent content = null;
- if(isnew.booleanValue()){
- content = new Content();
- //set change and create date
- content.setWebdbCreate(new Date());
- content.setWebdbLastchange(new Date());
- } else {
- Integer id = new Integer(request.getParameter(ServletConstants.ID));
- content = (IContent) contentService.load(id);
- //set last edit date
- content.setWebdbLastchange(new Date());
- }
-
- if(content == null){
- return actionMapping.findForward("failed");
- }
-
- String webDbCreate = (String) form.get("date");
- if(webDbCreate == null || webDbCreate.length() == 0){
- Date date = new Date();
- SimpleDateFormat dateFormat = new SimpleDateFormat();
- dateFormat.applyPattern("yyyyMMdd");
- webDbCreate = dateFormat.format(date);
- }
- content.setDate(webDbCreate);
-
- //set articletype
- Integer articleTypeId = (Integer) form.get("to_article_type");
- content.setArticleType(
- (ArticleType) articleTypeService.load(articleTypeId));
-
- //set language
- Integer languageTypeId = (Integer) form.get("to_language");
- content.setLanguage(
- (Language) languageService.load(languageTypeId));
-
- //set form data
- content.setPublisher(
- (MirUser) httpSession.getAttribute(ServletConstants.USER));
- content.setTitle((String) form.get("title"));
- content.setSubtitle((String) form.get("subtitle"));
- content.setComment((String) form.get("comment"));
- content.setContentData((String) form.get("content_data"));
- content.setCreator((String) form.get("creator"));
- content.setCreatorAddress((String)form.get("creator_address"));
- content.setCreatorEmail((String)form.get("creator_email"));
- content.setCreatorPhone((String)form.get("creator_phone"));
- content.setCreatorMainUrl((String)form.get("creator_main_url"));
- content.setDescription((String)form.get("description"));
- content.setEdittitle((String)form.get("edittitle"));
- if(form.get("is_html") != null){
- content.setHtml(true);
- } else {
- content.setHtml(false);
- }
- if(form.get("is_published") != null){
- content.setPublished(true);
- } else {
- content.setPublished(false);
- }
-
-// Integer parentId = (Integer)form.get("parentContent");
-// if(parentId != null && parentId.intValue() > -1){
-// Topic parentTopic = (Topic) topicService.load(parentId);
-// topic.setParentTopic(parentTopic);
-// }
-
- //save the article
- if(isnew.booleanValue()){
- Integer id = contentService.save(content);
- request.setAttribute(ServletConstants.OFFSET, "0");
- } else {
- contentService.update(content);
- }
-
- // show the view
- return actionMapping.findForward("success");
- }
-
- private ActionForward delete(ActionMapping actionMapping, ActionForm actionForm,
- HttpServletRequest request, HttpServletResponse response)
- throws Exception {
- //access to persistence
- ServletContext context = getServlet().getServletContext();
- ContentService contentService =
- new ContentService((SessionFactory)context
- .getAttribute(ServletConstants.SESSION_FACTORY));
-
- //retrieve id
- Integer id = new Integer(request.getParameter(ServletConstants.ID));
-
- //confirm the request
- System.out.println(request.getAttribute(ServletConstants.DELETE));
- if(request.getAttribute(ServletConstants.DELETE) == null){
- return actionMapping.findForward("confirm");
- }
- //load object
- Content content = (Content) contentService.load(id);
-
- if(content == null){
- return actionMapping.findForward("failed");
- }
-
- contentService.delete(content);
-
- // show the view
- return actionMapping.findForward("success");
- }
-
- private ActionForward list(ActionMapping actionMapping, ActionForm actionForm,
- HttpServletRequest request, HttpServletResponse response)
- throws Exception {
- //retrieve parameters
- String offsetString = request.getParameter(ServletConstants.OFFSET);
- int offset = 0;
- if(offsetString != null && !offsetString.equals("")){
- offset = new Integer(offsetString).intValue();
- }
- String articleTypeString = request.getParameter("articletype");
- Integer articleTypeId = new Integer(-1);
- if(articleTypeString != null && !articleTypeString.equals("")){
- articleTypeId = new Integer(articleTypeString);
- }
-
- //access to persistence
- ServletContext context = getServlet().getServletContext();
- ContentService contentService =
- new ContentService((SessionFactory)context
- .getAttribute(ServletConstants.SESSION_FACTORY));
-
-
- //retrieve entities
- Order order = Order.desc("id");
- List contents;
- if(articleTypeId.intValue() >= 0){
- ArticleTypeService articleTypeService =
- new ArticleTypeService((SessionFactory)context
- .getAttribute(ServletConstants.SESSION_FACTORY));
- Expression expression =
- Expression.eq("articleType",
- articleTypeService.load(articleTypeId));
- contents = contentService.list(offset, expression, order);
- } else {
- contents = contentService.list(offset, order);
- }
-
-
- //configure the data to send to view
- int listSize = _configuration.getInt("ServletModule.Default.ListSize");
- Integer lastOffset;
- if(offset-listSize < 0){
- lastOffset = new Integer(0);
- } else {
- lastOffset = new Integer(offset-listSize);
- }
- request.setAttribute(ServletConstants.LAST_OFFSET, lastOffset);
- request.setAttribute(ServletConstants.NEXT_OFFSET,
- new Integer(offset + listSize));
- request.setAttribute(ServletConstants.OFFSET,
- new Integer(offset));
- request.setAttribute("articles", contents);
-
- //show the view
- return actionMapping.findForward("success");
- }
-
- private ActionForward edit(ActionMapping actionMapping, ActionForm actionForm,
- HttpServletRequest request, HttpServletResponse response)
- throws Exception {
- //retrieve parameters
- Integer id = new Integer(request.getParameter(ServletConstants.ID));
- String offset = request.getParameter(ServletConstants.OFFSET);
-
- //access to persistence
- ServletContext context = getServlet().getServletContext();
- ContentService contentService =
- new ContentService((SessionFactory)context
- .getAttribute(ServletConstants.SESSION_FACTORY));
-
- //retrieve entities
- IContent content = (IContent) contentService.load(id);
-
- //configure the data to send to view
- request.setAttribute(ServletConstants.OFFSET, offset);
- request.setAttribute(ServletConstants.NEW,"0");
- request.setAttribute("article", content);
-
- //show the view
- return actionMapping.findForward("success");
- }
-}