SeriesAddForm and SeriesAsset
parent
0be1ad37c0
commit
96aee1917a
|
|
@ -21,8 +21,12 @@ import com.arsdigita.globalization.GlobalizedMessage;
|
|||
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.libreccm.cdi.utils.CdiUtil;
|
||||
import org.scientificcms.publications.PublicationManager;
|
||||
import org.scientificcms.publications.SciPublicationsConfig;
|
||||
import org.scientificcms.publications.SciPublicationsConstants;
|
||||
import org.scientificcms.publications.Series;
|
||||
import org.scientificcms.publications.assets.SeriesAsset;
|
||||
import org.scientificcms.publications.contenttypes.PublicationItem;
|
||||
|
||||
/**
|
||||
|
|
@ -61,7 +65,7 @@ public class PublicationSeriesAddForm
|
|||
|
||||
seriesSearchWidget = new AssetSearchWidget(
|
||||
SERIES_SEARCH,
|
||||
Series.class
|
||||
SeriesAsset.class
|
||||
);
|
||||
seriesSearchWidget.setLabel(
|
||||
new GlobalizedMessage(
|
||||
|
|
@ -100,18 +104,20 @@ public class PublicationSeriesAddForm
|
|||
final PageState state = event.getPageState();
|
||||
|
||||
final PublicationItem<?> item
|
||||
= (PublicationItem<?>) getItemSelectionModel().
|
||||
getSelectedObject(state);
|
||||
= (PublicationItem<?>) getItemSelectionModel()
|
||||
.getSelectedObject(state);
|
||||
|
||||
if (!(getSaveCancelSection().getCancelButton().isSelected(state))) {
|
||||
|
||||
Series series = (Series) data.get(ITEM_SEARCH);
|
||||
series = (Series) series.getContentBundle().getInstance(item.
|
||||
getLanguage());
|
||||
Series series = (Series) data.get(SERIES_SEARCH);
|
||||
|
||||
item.addSeries(series, (String) data.get(
|
||||
VolumeInSeriesCollection.VOLUME_OF_SERIES));
|
||||
m_itemSearch.publishCreatedItem(data, series);
|
||||
final PublicationManager publicationManager = CdiUtil
|
||||
.createCdiUtil().findBean(PublicationManager.class);
|
||||
publicationManager.addSeries(
|
||||
series,
|
||||
item.getPublication(),
|
||||
(String) volumeOfSeries.getValue(state)
|
||||
);
|
||||
}
|
||||
|
||||
init(event);
|
||||
|
|
|
|||
|
|
@ -60,6 +60,8 @@ class SciPublicationsController implements Serializable {
|
|||
|
||||
public static final String AUTHORSHIP_ORDER = "order";
|
||||
|
||||
public static final String VOLUME_OF_SERIES = "volumeOfSeries";
|
||||
|
||||
@Inject
|
||||
private PersonRepository personRepository;
|
||||
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ import static org.scientificcms.publications.SciPublicationsConstants.*;
|
|||
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||
*/
|
||||
@Entity
|
||||
@Table(name = "PUBLISHERS", schema = DB_SCHEMA)
|
||||
@Table(name = "PUBLISHER_ASSETS", schema = DB_SCHEMA)
|
||||
@Audited
|
||||
public class PublisherAsset extends Asset {
|
||||
|
||||
|
|
|
|||
|
|
@ -5,13 +5,85 @@
|
|||
*/
|
||||
package org.scientificcms.publications.assets;
|
||||
|
||||
import org.hibernate.envers.Audited;
|
||||
import org.librecms.contentsection.Asset;
|
||||
import org.scientificcms.publications.Series;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
import javax.persistence.CascadeType;
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.JoinColumn;
|
||||
import javax.persistence.OneToOne;
|
||||
import javax.persistence.Table;
|
||||
|
||||
import static org.scientificcms.publications.SciPublicationsConstants.*;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||
*/
|
||||
@Entity
|
||||
public class SeriesAsset {
|
||||
@Table(name = "SERIES_ASSETS", schema = DB_SCHEMA)
|
||||
@Audited
|
||||
public class SeriesAsset extends Asset {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@OneToOne(cascade = {CascadeType.DETACH,
|
||||
CascadeType.MERGE,
|
||||
CascadeType.PERSIST,
|
||||
CascadeType.REFRESH
|
||||
})
|
||||
@JoinColumn(name = "SERIES_ID")
|
||||
private Series series;
|
||||
|
||||
public Series getSeries() {
|
||||
return series;
|
||||
}
|
||||
|
||||
public void setSeries(final Series series) {
|
||||
this.series = series;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
int hash = 7;
|
||||
hash = 53 * hash + Objects.hashCode(series);
|
||||
return hash;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj) {
|
||||
return true;
|
||||
}
|
||||
if (obj == null) {
|
||||
return false;
|
||||
}
|
||||
if (!super.equals(obj)) {
|
||||
return false;
|
||||
}
|
||||
if (!(obj instanceof SeriesAsset)) {
|
||||
return false;
|
||||
}
|
||||
final SeriesAsset other = (SeriesAsset) obj;
|
||||
if (!other.canEqual(this)) {
|
||||
return false;
|
||||
}
|
||||
return Objects.equals(series, other.getSeries());
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canEqual(final Object obj) {
|
||||
return obj instanceof SeriesAsset;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString(final String data) {
|
||||
return super.toString(String.format(", series = %s%s",
|
||||
Objects.toString(series),
|
||||
data));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue