Ticket #1215 (closed clarification: fixed)

Opened 17 months ago

Last modified 15 months ago

Move addArticle and removeArticle methods into a service class

Reported by: npeterson Owned by: rcave
Priority: medium Milestone: 0.9.3_rc1
Component: ambra Version: 0.9.1_rc1
Keywords: Cc:

Description

Cross-pubbed a couple of genetics articles in compbiol

info:doi/10.1371/journal.pgen.1000390 info:doi/10.1371/journal.pgen.1000410

added them to issue.pcbi.v04.i12 and issue.pcbi.v04.i11 respectively.

each time I added one, all the other articles in teh issue were deleted, leaving the cross-pubbed article as the issues only member. I was able to add them back for v04.i12, and the crosspubbed article stayed in place. Didn't try to v04.i11, just left it as-is, with the cross-pubbed as the only member

Change History

Changed 16 months ago by dragisak

(In [7548]) Get methods in entities should not set fields.

Because of lazy loading, all values in the entity might not be initialized when get method is called. So simpleCollection might not have been initialized when getArticleList is called.

Addresses #1201, #1215 and #1228

Changed 16 months ago by npeterson

  • owner changed from wtoconnor to rich
  • type changed from defect to clarification

Changed 16 months ago by rcave

  • status changed from new to closed
  • resolution set to fixed

Verified that cross published articles do not delete current articles when added to an issue.

Changed 16 months ago by npeterson

  • status changed from closed to reopened
  • resolution fixed deleted

This still seems to happen sometimes, but it appears to have nothing to do with cross-pubbed articles -- happens for journal-native articles too. The first thing that I add to any issue (in a particular session?) reliably removes everything else. I can subsequently add other articles, or delete and re-add that same one without any problems.

Changed 16 months ago by npeterson

  • status changed from reopened to new
  • owner changed from rich to wtoconnor

Changed 16 months ago by wtoconnor

  • status changed from new to assigned

During an update the articleList gets a copy of the new information from simpleCollection. This is not the case for addArticle and removeArticle. If this is done before articleList is set with new information we loose the previous articles.

This is not the best way to solve this but it is the only thing we have time for.

Changed 16 months ago by wtoconnor

(In [7558]) Make sure articleList is set by Adds and Removes of articles.

Add and Removed worked before the Update fix. However in the process of fixing update we failed to take in to account problems with Add and Remove.

Addresses #1215

Changed 16 months ago by npeterson

  • owner changed from wtoconnor to rich
  • status changed from assigned to new

Changed 16 months ago by wtoconnor

  • owner changed from rich to npeterson

Changed 16 months ago by rcave

  • owner changed from npeterson to rich

Changed 16 months ago by rcave

  • priority changed from critical to medium
  • owner changed from rich to wtoconnor
  • milestone changed from 0.9.2 to 0.9.3

addArticle and removeArticle methods hold business logic and, as a part of layering the architecture, it would have been better if they were in a service class. Moving to 0.9.3

Changed 16 months ago by rcave

  • summary changed from Cross Publish Articles - Adding to issue deletes other articles to Move addArticle and removeArticle methods into a service class

Changed 16 months ago by josowski

  • owner changed from wtoconnor to josowski
  • status changed from new to assigned

Changed 16 months ago by josowski

(In [7604]) Moving the addArticle and removeArticle methods into a service class and some minor updates to the javadocs

Addresses #1215

Changed 16 months ago by josowski

  • owner changed from josowski to rich
  • status changed from assigned to new

Changed 15 months ago by rcave

  • status changed from new to closed
  • resolution set to fixed

Confirmed that the addArticle and removeArticle methods were made private functions within the AdminService? class.

Note: See TracTickets for help on using tickets.