Commit b8e839e2 authored by Noel Alonso's avatar Noel Alonso
Browse files

Añade elementos para guardar recursos de actividad

parent 1e26fecf
Loading
Loading
Loading
Loading
+36 −3
Original line number Diff line number Diff line
package es.redmic.db.administrative.model;

import java.util.HashSet;
import java.util.Set;

import javax.persistence.Cacheable;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.DiscriminatorValue;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;

import es.redmic.db.maintenance.administrative.model.ActivityType;

@@ -32,7 +38,12 @@ public class Activity extends ActivityBase {
	@Column(name = "activitycategory", length = 2)
	private String activityCategory;

	// bi-directional many-to-one association to ActivityResource
	@OneToMany(mappedBy = "activity", fetch = FetchType.EAGER, cascade = CascadeType.ALL, orphanRemoval = true)
	private Set<ActivityResource> resources = new HashSet<>();

	public Activity() {
		// Constructor por defecto para que accedan los mappers
	}

	public ActivityType getActivityType() {
@@ -58,4 +69,26 @@ public class Activity extends ActivityBase {
	public void setActivityCategory(String activityCategory) {
		this.activityCategory = activityCategory;
	}

	public Set<ActivityResource> getResources() {
		return resources;
	}

	public void setResources(Set<ActivityResource> activityResources) {

		this.resources.clear();

		if (activityResources == null)
			return;

		for (ActivityResource resource: activityResources)
			addResource(resource);
	}

	public ActivityResource addResource(ActivityResource resource) {

		resource.setActivity(this);
		getResources().add(resource);
		return resource;
	}
}
+72 −0
Original line number Diff line number Diff line
package es.redmic.db.administrative.model;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQuery;
import javax.persistence.Table;

import es.redmic.databaselib.common.model.LongModel;

/**
 * The persistent class for the activityresource database table.
 *
 */
@Entity
@Table(name = "activityresource")
@NamedQuery(name = "ActivityResource.findAll", query = "SELECT a FROM ActivityResource a")
public class ActivityResource extends LongModel implements Serializable {
	private static final long serialVersionUID = 1L;

	@ManyToOne
	@JoinColumn(name = "activityid", nullable = false)
	private ActivityBase activity;

	@Column(nullable = false, length = 100)
	private String name;

	@Column(length = 1500)
	private String description;

	@Column(name = "urlresource", length = 500)
	private String urlResource;

	public ActivityResource() {
		// Constructor por defecto para que accedan los mappers
	}

	public ActivityBase getActivity() {
		return this.activity;
	}

	public void setActivity(ActivityBase activityBase) {
		this.activity = activityBase;
	}

	public String getName() {
		return this.name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getDescription() {
		return this.description;
	}

	public void setDescription(String description) {
		this.description = description;
	}

	public String getUrlResource() {
		return this.urlResource;
	}

	public void setUrlResource(String urlResource) {
		this.urlResource = urlResource;
	}
}
+8 −0
Original line number Diff line number Diff line
package es.redmic.db.administrative.repository;

import es.redmic.databaselib.common.repository.BaseRepository;
import es.redmic.db.administrative.model.ActivityResource;

public interface ActivityResourceRepository extends BaseRepository<ActivityResource, Long> {

}
+18 −0
Original line number Diff line number Diff line
package es.redmic.db.administrative.service;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import es.redmic.db.administrative.model.ActivityResource;
import es.redmic.db.administrative.repository.ActivityResourceRepository;
import es.redmic.db.common.service.ServiceRWImpl;
import es.redmic.models.es.administrative.dto.ActivityResourceDTO;

@Service
public class ActivityResourceService extends ServiceRWImpl<ActivityResource, ActivityResourceDTO> {

	@Autowired
	public ActivityResourceService(ActivityResourceRepository repository) {
		super(repository);
	}
}