Changeset 7438

Show
Ignore:
Timestamp:
03/16/09 14:08:33 (17 months ago)
Author:
wtoconnor
Message:

Prevent Cross Publishing into current journal.

After and ingest the admin is presented with a matrix of journals that articles can be cross published in. Included in the current journal the article will be published in if 'Publish' check box is chosen. Articles should not be crossed published in the journal they are published in. Remove it form the adminTop.ftl but several xxxxAction.java files were affect so they were changed also.

Addresses #1149

Location:
head/ambra/webapp/src
Files:
7 modified

Legend:

Unmodified
Added
Removed
  • head/ambra/webapp/src/main/java/org/topazproject/ambra/admin/action/AdminTopAction.java

    r6588 r7438  
    22 * $Id$ 
    33 * 
    4  * Copyright (c) 2006-2008 by Topaz, Inc. http://topazproject.org 
     4 * Copyright (c) 2006-2009 by Topaz, Inc. http://topazproject.org 
    55 * 
    66 * Licensed under the Apache License, Version 2.0 (the "License"); 
     
    2020 
    2121import org.springframework.transaction.annotation.Transactional; 
     22import org.springframework.beans.factory.annotation.Required; 
     23import org.topazproject.ambra.admin.service.AdminService; 
    2224 
    2325@SuppressWarnings("serial") 
    2426public class AdminTopAction extends BaseAdminActionSupport { 
     27 
     28  // Fields Used by template 
     29  private AdminService.JournalInfo journalInfo; 
     30 
     31  // Necessary Services 
     32  private AdminService adminService; 
     33 
    2534  @Override 
    2635  @Transactional(readOnly = true) 
    2736  public String execute() throws Exception { 
     37 
     38    // create a faux journal object for template 
     39    journalInfo = adminService.createJournalInfo(); 
    2840    return base(); 
    2941  } 
    3042 
     43 /** 
     44   * Gets the JournalInfo value object for access in the view. 
     45   * 
     46   * @return Current virtual Journal value object. 
     47   */ 
     48  public AdminService.JournalInfo getJournal() { 
     49    return journalInfo; 
     50  } 
     51 
     52  /** 
     53   * Sets the AdminService. 
     54   * 
     55   * @param  adminService The adminService to set. 
     56   */ 
     57  @Required 
     58  public void setAdminService(AdminService adminService) { 
     59    this.adminService = adminService; 
     60  } 
    3161} 
  • head/ambra/webapp/src/main/java/org/topazproject/ambra/admin/action/DeleteArticleAction.java

    r6588 r7438  
    22 * $Id$ 
    33 * 
    4  * Copyright (c) 2006-2008 by Topaz, Inc. 
     4 * Copyright (c) 2006-2009 by Topaz, Inc. 
    55 * http://topazproject.org 
    66 * 
     
    2222import org.apache.commons.logging.Log; 
    2323import org.apache.commons.logging.LogFactory; 
     24import org.topazproject.ambra.admin.service.AdminService; 
     25import org.topazproject.ambra.admin.service.AdminService.JournalInfo; 
     26import org.springframework.beans.factory.annotation.Required; 
    2427 
    2528@SuppressWarnings("serial") 
    2629public class DeleteArticleAction extends BaseAdminActionSupport { 
    2730  private static final Log log = LogFactory.getLog(DeleteArticleAction.class); 
     31 
     32  // Fields Used by template 
    2833  private String article; 
     34  private JournalInfo journalInfo; 
     35 
     36  // Necessary Services 
     37  private AdminService adminService; 
    2938 
    3039  @Override 
     
    5160    article = a; 
    5261  } 
     62 
     63  /** 
     64   * Gets the JournalInfo value object for access in the view. 
     65   * 
     66   * @return Current virtual Journal value object. 
     67   */ 
     68  public JournalInfo getJournal() { 
     69    return journalInfo; 
     70  } 
     71 
     72  /** 
     73   * Sets the AdminService. 
     74   * 
     75   * @param  adminService The adminService to set. 
     76   */ 
     77  @Required 
     78  public void setAdminService(AdminService adminService) { 
     79    this.adminService = adminService; 
     80  } 
    5381} 
  • head/ambra/webapp/src/main/java/org/topazproject/ambra/admin/action/IngestArchivesAction.java

    r7197 r7438  
    22 * $$Id$$ 
    33 * 
    4  * Copyright (c) 2006-2008 by Topaz, Inc. 
     4 * Copyright (c) 2006-2009 by Topaz, Inc. 
    55 * http://topazproject.org 
    66 * 
     
    2828 
    2929import org.topazproject.ambra.admin.service.DocumentManagementService; 
     30import org.topazproject.ambra.admin.service.AdminService; 
     31import org.topazproject.ambra.admin.service.AdminService.JournalInfo; 
    3032import org.topazproject.ambra.article.service.DuplicateArticleIdException; 
    3133import org.topazproject.ambra.article.service.Ingester; 
     
    3739public class IngestArchivesAction extends BaseAdminActionSupport { 
    3840  private static final Log log = LogFactory.getLog(IngestArchivesAction.class); 
     41 
     42  // Fields Used by template 
    3943  private String[] filesToIngest; 
    4044  private boolean  force = false; 
    4145  private Session session; 
     46  private JournalInfo journalInfo; 
     47 
     48  // Necessary Services 
     49  private AdminService adminService; 
    4250 
    4351  public void setFilesToIngest(String[] files) { 
     
    8290      } 
    8391    } 
     92 
     93    // create a faux journal object for template 
     94    journalInfo = adminService.createJournalInfo(); 
    8495    return base(); 
    8596  } 
     
    95106    return msg.toString(); 
    96107  } 
     108 
     109  /** 
     110   * Gets the JournalInfo value object for access in the view. 
     111   * 
     112   * @return Current virtual Journal value object. 
     113   */ 
     114  public AdminService.JournalInfo getJournal() { 
     115    return journalInfo; 
     116  } 
     117 
     118  /** 
     119   * Sets the AdminService. 
     120   * 
     121   * @param  adminService The adminService to set. 
     122   */ 
     123  @Required 
     124  public void setAdminService(AdminService adminService) { 
     125    this.adminService = adminService; 
     126  } 
    97127} 
  • head/ambra/webapp/src/main/java/org/topazproject/ambra/admin/action/ProcessFlagsAction.java

    r7298 r7438  
    3838import org.topazproject.ambra.models.Reply; 
    3939import org.topazproject.ambra.rating.service.RatingsService; 
     40import org.topazproject.ambra.admin.service.AdminService; 
     41import org.topazproject.ambra.admin.service.AdminService.JournalInfo; 
    4042 
    4143@SuppressWarnings("serial") 
     
    4345 
    4446  private static final Log log = LogFactory.getLog(ProcessFlagsAction.class); 
     47 
     48  // Fields Used by template 
    4549  private String[] commentsToUnflag; 
    4650  private String[] commentsToDelete; 
     
    4953  private String[] convertToRetraction; 
    5054  private String[] convertToNote; 
     55  private JournalInfo journalInfo; 
     56 
     57  // Necessary Services 
     58  private AdminService      adminService; 
    5159  private AnnotationService annotationService; 
    52   private RatingsService ratingsService; 
    53   private ReplyService replyService; 
     60  private RatingsService    ratingsService; 
     61  private ReplyService      replyService; 
    5462  protected AnnotationConverter converter; 
    5563 
     
    223231    } 
    224232 
     233    // create a faux journal object for template 
     234    journalInfo = adminService.createJournalInfo(); 
    225235    return base(); 
    226236  } 
     
    345355  } 
    346356 
     357  /** 
     358   * Gets the JournalInfo value object for access in the view. 
     359   * 
     360   * @return Current virtual Journal value object. 
     361   */ 
     362  public JournalInfo getJournal() { 
     363    return journalInfo; 
     364  } 
     365 
     366  /** 
     367   * Sets the AdminService. 
     368   * 
     369   * @param  adminService The adminService to set. 
     370   */ 
     371  @Required 
     372  public void setAdminService(AdminService adminService) { 
     373    this.adminService = adminService; 
     374  } 
    347375} 
  • head/ambra/webapp/src/main/java/org/topazproject/ambra/admin/action/PublishArchivesAction.java

    r7197 r7438  
    22 * $$Id$$ 
    33 * 
    4  * Copyright (c) 2006-2007 by Topaz, Inc. 
     4 * Copyright (c) 2006-2009 by Topaz, Inc. 
    55 * http://topazproject.org 
    66 * 
     
    3131import org.springframework.transaction.annotation.Transactional; 
    3232import org.springframework.transaction.interceptor.TransactionAspectSupport; 
     33import org.springframework.beans.factory.annotation.Required; 
     34import org.topazproject.ambra.admin.service.AdminService; 
     35import org.topazproject.ambra.admin.service.AdminService.JournalInfo; 
    3336 
    3437@SuppressWarnings("serial") 
     
    3639  private static final Log log = LogFactory.getLog(PublishArchivesAction.class); 
    3740 
     41  // Fields Used by template 
    3842  private String[] articlesToPublish; 
    3943  private String[] articlesInVirtualJournals; 
    4044  private String[] articlesToDelete; 
     45  private JournalInfo journalInfo; 
     46 
     47  // Necessary Services 
     48  private AdminService adminService; 
    4149 
    4250  /** 
     
    5765    } 
    5866 
     67    // create a faux journal object for template 
     68    journalInfo = adminService.createJournalInfo(); 
    5969    return base(); 
    6070  } 
     
    129139    articlesToDelete= articles; 
    130140  } 
     141 
     142  /** 
     143   * Gets the JournalInfo value object for access in the view. 
     144   * 
     145   * @return Current virtual Journal value object. 
     146   */ 
     147  public AdminService.JournalInfo getJournal() { 
     148    return journalInfo; 
     149  } 
     150 
     151  /** 
     152   * Sets the AdminService. 
     153   * 
     154   * @param  adminService The adminService to set. 
     155   */ 
     156  @Required 
     157  public void setAdminService(AdminService adminService) { 
     158    this.adminService = adminService; 
     159  } 
    131160} 
  • head/ambra/webapp/src/main/webapp/admin/adminTop.ftl

    r7298 r7438  
    6464 
    6565    <#include "templates/messages.ftl"> 
    66  
     66    <h2>${journal.key} (${journal.eIssn!""})</h2> 
     67     
    6768    <#if uploadableFiles?has_content> 
    6869      <fieldset> 
     
    9495              <th>Publish</th> 
    9596              <#list Request[freemarker_config.journalContextAttributeKey].virtualJournals as virtualJournal> 
     97                <#if journal.key != virtualJournal> 
    9698                <th>${virtualJournal}</th> 
     99                </#if> 
    97100              </#list> 
    98101              <th>Delete</th> 
     
    106109                </th> 
    107110                <#list Request[freemarker_config.journalContextAttributeKey].virtualJournals as virtualJournal> 
     111                  <#if journal.key != virtualJournal> 
    108112                  <th>&nbsp;</th> 
     113                  </#if> 
    109114                </#list> 
    110115                <th> 
     
    120125                <td><@s.checkbox name="articlesToPublish" fieldValue="${article}"/></td> 
    121126                <#list Request[freemarker_config.journalContextAttributeKey].virtualJournals as virtualJournal> 
     127                <#if journal.key != virtualJournal> 
    122128                  <td><@s.checkbox name="articlesInVirtualJournals" fieldValue="${article}::${virtualJournal}"/></td> 
     129                </#if> 
    123130                </#list> 
    124131                <td><@s.checkbox name="articlesToDelete" fieldValue="${article}"/></td> 
  • head/ambra/webapp/src/test/java/org/topazproject/ambra/admin/action/ProcessFlagsActionTest.java

    r7315 r7438  
    3838import org.topazproject.ambra.permission.service.PermissionsService; 
    3939import org.topazproject.ambra.admin.service.DocumentManagementService; 
     40import org.topazproject.ambra.admin.service.AdminService; 
    4041import org.topazproject.ambra.admin.service.FlagManagementService; 
    4142import org.topazproject.ambra.admin.service.FlaggedCommentRecord; 
     
    8687    DocumentManagementService documentManagementService = ctrl.createMock(DocumentManagementService.class); 
    8788    FlagManagementService flagManagementService = ctrl.createMock(FlagManagementService.class); 
     89    AdminService adminService = ctrl.createMock(AdminService.class); 
    8890 
    8991    PDP pdp = ctrl.createMock(PDP.class); 
     
    125127    expect(documentManagementService.getUploadableFiles()).andReturn(new ArrayList<String>()); 
    126128    expect(flagManagementService.getFlaggedComments()).andReturn(new ArrayList<FlaggedCommentRecord>()); 
     129    expect(adminService.createJournalInfo()).andReturn(new AdminService.JournalInfo()); 
    127130 
    128131    AnnotationService annotationService = new AnnotationService(); 
     
    133136    action.setAnnotationService(annotationService); 
    134137    action.setDocumentManagementService(documentManagementService); 
     138    action.setAdminService(adminService); 
    135139    action.setFlagManagementService(flagManagementService); 
    136140    action.setConvertToFormalCorrection(flags);