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.LogManager;
|
||||||
import org.apache.logging.log4j.Logger;
|
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.SciPublicationsConfig;
|
||||||
import org.scientificcms.publications.SciPublicationsConstants;
|
import org.scientificcms.publications.SciPublicationsConstants;
|
||||||
|
import org.scientificcms.publications.Series;
|
||||||
|
import org.scientificcms.publications.assets.SeriesAsset;
|
||||||
import org.scientificcms.publications.contenttypes.PublicationItem;
|
import org.scientificcms.publications.contenttypes.PublicationItem;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -61,7 +65,7 @@ public class PublicationSeriesAddForm
|
||||||
|
|
||||||
seriesSearchWidget = new AssetSearchWidget(
|
seriesSearchWidget = new AssetSearchWidget(
|
||||||
SERIES_SEARCH,
|
SERIES_SEARCH,
|
||||||
Series.class
|
SeriesAsset.class
|
||||||
);
|
);
|
||||||
seriesSearchWidget.setLabel(
|
seriesSearchWidget.setLabel(
|
||||||
new GlobalizedMessage(
|
new GlobalizedMessage(
|
||||||
|
|
@ -100,18 +104,20 @@ public class PublicationSeriesAddForm
|
||||||
final PageState state = event.getPageState();
|
final PageState state = event.getPageState();
|
||||||
|
|
||||||
final PublicationItem<?> item
|
final PublicationItem<?> item
|
||||||
= (PublicationItem<?>) getItemSelectionModel().
|
= (PublicationItem<?>) getItemSelectionModel()
|
||||||
getSelectedObject(state);
|
.getSelectedObject(state);
|
||||||
|
|
||||||
if (!(getSaveCancelSection().getCancelButton().isSelected(state))) {
|
if (!(getSaveCancelSection().getCancelButton().isSelected(state))) {
|
||||||
|
|
||||||
Series series = (Series) data.get(ITEM_SEARCH);
|
Series series = (Series) data.get(SERIES_SEARCH);
|
||||||
series = (Series) series.getContentBundle().getInstance(item.
|
|
||||||
getLanguage());
|
|
||||||
|
|
||||||
item.addSeries(series, (String) data.get(
|
final PublicationManager publicationManager = CdiUtil
|
||||||
VolumeInSeriesCollection.VOLUME_OF_SERIES));
|
.createCdiUtil().findBean(PublicationManager.class);
|
||||||
m_itemSearch.publishCreatedItem(data, series);
|
publicationManager.addSeries(
|
||||||
|
series,
|
||||||
|
item.getPublication(),
|
||||||
|
(String) volumeOfSeries.getValue(state)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
init(event);
|
init(event);
|
||||||
|
|
|
||||||
|
|
@ -60,6 +60,8 @@ class SciPublicationsController implements Serializable {
|
||||||
|
|
||||||
public static final String AUTHORSHIP_ORDER = "order";
|
public static final String AUTHORSHIP_ORDER = "order";
|
||||||
|
|
||||||
|
public static final String VOLUME_OF_SERIES = "volumeOfSeries";
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private PersonRepository personRepository;
|
private PersonRepository personRepository;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,7 @@ import static org.scientificcms.publications.SciPublicationsConstants.*;
|
||||||
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||||
*/
|
*/
|
||||||
@Entity
|
@Entity
|
||||||
@Table(name = "PUBLISHERS", schema = DB_SCHEMA)
|
@Table(name = "PUBLISHER_ASSETS", schema = DB_SCHEMA)
|
||||||
@Audited
|
@Audited
|
||||||
public class PublisherAsset extends Asset {
|
public class PublisherAsset extends Asset {
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,13 +5,85 @@
|
||||||
*/
|
*/
|
||||||
package org.scientificcms.publications.assets;
|
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.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>
|
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||||
*/
|
*/
|
||||||
@Entity
|
@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