no message

This commit is contained in:
annabakouli 2018-01-19 13:11:22 +02:00
parent 6a93ed8ef8
commit 51e2deb180
20 changed files with 163 additions and 176 deletions

View File

@ -1,6 +1,6 @@
<div class="container">
<div style="background-color: #f5f5f5;border: 1px solid #e3e3e3;padding: 24px;">
<form novalidate [formGroup]="form" (ngSubmit)="onSubmit()">
<form *ngIf="form" novalidate [formGroup]="form" (ngSubmit)="onSubmit()">
<div class="row">
<div class="form-group col-md-12">
<label>Label</label>

View File

@ -30,10 +30,10 @@ export class DatasetProfileModel extends BaseModel implements Serializable<Datas
formGroup.addControl('sections', this.formBuilder.array(sectionsFormArray));
let pagesFormArray = new Array<FormGroup>();
// this.pages.forEach(item => {
// let form: FormGroup = item.buildForm();
// pagesFormArray.push(form)
// })
this.pages.forEach(item => {
let form: FormGroup = item.buildForm();
pagesFormArray.push(form)
})
formGroup.addControl('pages', this.formBuilder.array(pagesFormArray));
formGroup.addControl('label', new FormControl(this.label, Validators.required));

View File

@ -18,7 +18,7 @@ export class RestBase {
/*
*/
protocol: string = "http";
hostname: string = "dl043.madgik.di.uoa.gr";
hostname: string = "localhost";
port: number = 8080;
webappname: string = "";
restpath: string = "";

View File

@ -67,6 +67,7 @@ public class Admin extends BaseController{
try{
eu.eudat.entities.DatasetProfile profile = this.getApiContext().getDatabaseRepository().getDatasetProfileDao().find(UUID.fromString(id));
eu.eudat.models.admin.composite.DatasetProfile datasetprofile = AdminManager.generateDatasetProfileModel(profile);
datasetprofile.setLabel(profile.getLabel());
return ResponseEntity.status(HttpStatus.OK).body(datasetprofile);
}catch(Exception ex){
ex.printStackTrace();

View File

@ -1,25 +0,0 @@
package eu.eudat.controllers;
import org.springframework.boot.autoconfigure.web.ErrorController;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Created by ikalyvas on 1/16/2018.
*/
@Controller
public class CustomErrorController implements ErrorController{
@RequestMapping(value = "/error")
public String error(HttpServletRequest request, HttpServletResponse response) {
return "forward:/index.html";
}
@Override
public String getErrorPath() {
return "/error";
}
}

View File

@ -18,6 +18,7 @@ import eu.eudat.services.ApiContext;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
@ -27,25 +28,6 @@ import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import eu.eudat.dao.entities.DMPDao;
import eu.eudat.dao.entities.DMPProfileDao;
import eu.eudat.dao.entities.DataRepositoryDao;
import eu.eudat.dao.entities.DatasetDao;
import eu.eudat.dao.entities.DatasetProfileDao;
import eu.eudat.dao.entities.DatasetProfileRulesetDao;
import eu.eudat.dao.entities.DatasetProfileViewstyleDao;
import eu.eudat.dao.entities.OrganisationDao;
import eu.eudat.dao.entities.ProjectDao;
import eu.eudat.dao.entities.RegistryDao;
import eu.eudat.dao.entities.ResearcherDao;
import eu.eudat.dao.entities.ServiceDao;
import eu.eudat.dao.entities.UserInfoDao;
import eu.eudat.models.criteria.DataRepositoryCriteria;
import eu.eudat.models.criteria.RegistryCriteria;
import eu.eudat.models.criteria.ServiceCriteria;
import javax.transaction.Transactional;
@RestController
@CrossOrigin
@ -69,5 +51,18 @@ public class Datasets extends BaseController {
}
}
@Transactional
@RequestMapping(method = RequestMethod.GET, value = {"/datasets/makepublic/{id}"}, produces = "application/json")
public @ResponseBody ResponseItem<Dataset> makePublic(@PathVariable UUID id, Principal principal) {
try {
DatasetManager.makePublic(this.getApiContext().getDatabaseRepository().getDatasetDao(), id);
return new ResponseItem<Dataset>().status(HttpStatus.OK).message("Dataset Has Been Made Public");
} catch (Exception ex) {
ex.printStackTrace();
return new ResponseItem<Dataset>().status(HttpStatus.BAD_REQUEST).message(ex.getMessage());
}
}
}

View File

@ -1,7 +0,0 @@
package eu.eudat.controllers.controllerhandler;
/**
* Created by ikalyvas on 1/17/2018.
*/
public class ExternalDatasets {
}

View File

@ -33,11 +33,16 @@ public class DatasetDaoImpl implements DatasetDao {
@Override
public QueryableList<Dataset> getWithCriteria(DatasetCriteria criteria) {
QueryableList<Dataset> query = databaseService.getQueryable(Dataset.class, Dataset.getHints());
if (criteria.getLike() != null && !criteria.getLike().isEmpty())query.where((builder, root) -> builder.like(root.get("label"), "%" + criteria.getLike() + "%"));
if (criteria.getStatus() != null)query.where((builder, root) -> builder.equal(root.get("status"), criteria.getStatus()));
if (criteria.getPeriodEnd() != null)query.where((builder, root) -> builder.lessThan(root.get("created"), criteria.getPeriodEnd()));
if (criteria.getPeriodStart() != null) query.where((builder, root) -> builder.greaterThan(root.get("created"), criteria.getPeriodStart()));
if (criteria.getDmpIds() != null && !criteria.getDmpIds().isEmpty()) query.where((builder, root) -> root.get("dmp").get("id").in( criteria.getDmpIds()));
if (criteria.getLike() != null && !criteria.getLike().isEmpty())
query.where((builder, root) -> builder.like(root.get("label"), "%" + criteria.getLike() + "%"));
if (criteria.getStatus() != null)
query.where((builder, root) -> builder.equal(root.get("status"), criteria.getStatus()));
if (criteria.getPeriodEnd() != null)
query.where((builder, root) -> builder.lessThan(root.get("created"), criteria.getPeriodEnd()));
if (criteria.getPeriodStart() != null)
query.where((builder, root) -> builder.greaterThan(root.get("created"), criteria.getPeriodStart()));
if (criteria.getDmpIds() != null && !criteria.getDmpIds().isEmpty())
query.where((builder, root) -> root.get("dmp").get("id").in(criteria.getDmpIds()));
return query;
}
@ -57,7 +62,8 @@ public class DatasetDaoImpl implements DatasetDao {
@Override
public QueryableList<Dataset> getAuthenticated(QueryableList<Dataset> query, UserInfo principal) {
query.where((builder, root) -> builder.or(builder.equal(root.get("dmp").get("creator"), principal), builder.isMember(principal, root.get("dmp").get("users"))));
query.where((builder, root) -> builder.or(builder.equal(root.get("dmp").get("creator"), principal), builder.isMember(principal, root.get("dmp").get("users"))
, builder.equal(root.get("isPublic"), true)));
return query;
}
}

View File

@ -33,7 +33,7 @@ public class ProjectDaoImpl implements ProjectDao {
if(criteria.getLike()!=null&&!criteria.getLike().isEmpty())query.where((builder, root) -> builder.like(root.get("label"),"%"+criteria.getLike()+"%"));
if(criteria.getPeriodEnd()!=null)query.where((builder, root) -> builder.lessThan(root.get("enddate"),criteria.getPeriodEnd()));
if(criteria.getPeriodStart()!=null)query.where((builder, root) -> builder.greaterThan(root.get("startdate"),criteria.getPeriodStart()));
query.where((builder, root) -> builder.notEqual(root.get("status"), eu.eudat.models.project.Project.Status.DELETED.getValue()));
query.where((builder, root) -> builder.notEqual(root.get("status"), Project.Status.DELETED.getValue()));
return query;
}

View File

@ -6,6 +6,8 @@ import java.util.*;
import javax.persistence.*;
import eu.eudat.models.project.*;
import eu.eudat.models.project.Project;
import org.hibernate.annotations.GenericGenerator;
import org.hibernate.annotations.Type;
@ -29,6 +31,31 @@ public class Dataset implements DataEntity<Dataset> {
private static final long serialVersionUID = 3575723814399553259L;
public enum Status {
SAVED((short) 0), FINALISED((short) 1), DELETED((short) 99);
private short value;
private Status(short value) {
this.value = value;
}
public short getValue() {
return value;
}
public static Dataset.Status fromInteger(int value) {
switch (value) {
case 0:
return SAVED;
case 1:
return FINALISED;
default:
throw new RuntimeException("Unsupported Project Status");
}
}
}
public Dataset () {}
@ -99,6 +126,8 @@ public class Dataset implements DataEntity<Dataset> {
@Column(name = "\"Status\"", nullable = false)
private Short status;
@Column(name = "\"IsPublic\"", nullable = false)
private boolean isPublic;
@Column(name = "\"Created\"")
private Date created = null;
@ -268,6 +297,14 @@ public class Dataset implements DataEntity<Dataset> {
this.externalDatasets = externalDatasets;
}
public boolean isPublic() {
return isPublic;
}
public void setPublic(boolean aPublic) {
isPublic = aPublic;
}
@Override
public void update(Dataset entity) {
this.setRegistries(entity.getRegistries());
@ -276,6 +313,7 @@ public class Dataset implements DataEntity<Dataset> {
this.setLabel(entity.getLabel());
this.setProperties(entity.getProperties());
this.setExternalDatasets(entity.getExternalDatasets());
this.setStatus(entity.getStatus());
}
@Override

View File

@ -31,6 +31,32 @@ import com.fasterxml.jackson.databind.SerializationFeature;
@JsonIdentityInfo(generator=ObjectIdGenerators.PropertyGenerator.class, property="id")
public class Project implements DataEntity<Project> {
public enum Status {
ACTIVE((short) 1), INACTIVE((short) 0), DELETED((short) 99);
private short value;
private Status(short value) {
this.value = value;
}
public short getValue() {
return value;
}
public static Status fromInteger(int value) {
switch (value) {
case 0:
return ACTIVE;
case 1:
return INACTIVE;
case 99:
return DELETED;
default:
throw new RuntimeException("Unsupported Project Status");
}
}
}
public Project () {}

View File

@ -65,7 +65,7 @@ public class ViewStyleModel implements XmlSerializable<ViewStyleModel> {
this.pages = new LinkedList<>();
Element pages = (Element) XmlBuilder.getNodeFromListByTagName(element.getChildNodes(),"pages");
if(pages!=null){
NodeList pagesElements = sections.getChildNodes();
NodeList pagesElements = pages.getChildNodes();
for (int temp = 0; temp < pagesElements.getLength(); temp++) {
Node pageElement = pagesElements.item(temp);
if (pageElement.getNodeType() == Node.ELEMENT_NODE) {

View File

@ -42,9 +42,6 @@ public class AdminManager {
Element root = (Element)viewStyleDoc.getDocumentElement();
eu.eudat.entities.xmlmodels.datasetprofiledefinition.ViewStyleModel viewstyle= new eu.eudat.entities.xmlmodels.datasetprofiledefinition.ViewStyleModel().fromXml(root);
Document profileDoc = XmlBuilder.fromXml(profile.getDefinition());
root = (Element)profileDoc.getDocumentElement();
eu.eudat.models.admin.composite.DatasetProfile datasetprofile = new eu.eudat.models.admin.composite.DatasetProfile();
datasetprofile.buildProfile(viewstyle);

View File

@ -105,5 +105,12 @@ public class DatasetManager {
}
}
public static void makePublic(DatasetDao datasetDao, UUID id) throws Exception {
eu.eudat.entities.Dataset dataset = datasetDao.find(id);
if (dataset.getStatus() != eu.eudat.entities.Dataset.Status.FINALISED.getValue())
throw new Exception("You cannot make public a Dataset That Has not Been Finalised");
dataset.setPublic(true);
datasetDao.createOrUpdate(dataset);
}
}

View File

@ -43,7 +43,7 @@ public class ProjectManager {
public eu.eudat.entities.Project inactivate(ProjectDao projectRepository, String id) throws InstantiationException, IllegalAccessException {
eu.eudat.entities.Project project = projectRepository.find(UUID.fromString(id));
project.setStatus(Project.Status.DELETED.getValue());
project.setStatus(eu.eudat.entities.Project.Status.DELETED.getValue());
project = projectRepository.createOrUpdate(project);
return project;
}

View File

@ -27,10 +27,6 @@ public class DatasetProfile {
this.label = label;
}
public void buildProfile(eu.eudat.entities.xmlmodels.datasetprofiledefinition.ViewStyleModel viewStyle){
this.sections = new ModelBuilder().fromViewStyleDefinition(viewStyle.getSections(), Section.class);
}
public List<Page> getPages() {
return pages;
}
@ -38,4 +34,9 @@ public class DatasetProfile {
public void setPages(List<Page> pages) {
this.pages = pages;
}
public void buildProfile(eu.eudat.entities.xmlmodels.datasetprofiledefinition.ViewStyleModel viewStyle){
this.sections = new ModelBuilder().fromViewStyleDefinition(viewStyle.getSections(), Section.class);
this.pages = new ModelBuilder().fromViewStyleDefinition(viewStyle.getPages(), Page.class);
}
}

View File

@ -12,32 +12,7 @@ import eu.eudat.models.dmp.DataManagementPlan;
public class Project implements DataModel<eu.eudat.entities.Project> {
public enum Status {
ACTIVE((short) 1), INACTIVE((short) 0), DELETED((short) 99);
private short value;
private Status(short value) {
this.value = value;
}
public short getValue() {
return value;
}
public static Status fromInteger(int value) {
switch (value) {
case 0:
return ACTIVE;
case 1:
return INACTIVE;
case 99:
return INACTIVE;
default:
throw new RuntimeException("Unsupported Project Status");
}
}
}
private UUID id;
@ -58,7 +33,7 @@ public class Project implements DataModel<eu.eudat.entities.Project> {
private Date endDate;
private Status status;
private eu.eudat.entities.Project.Status status;
private UserInfo creationUser;
@ -146,7 +121,7 @@ public class Project implements DataModel<eu.eudat.entities.Project> {
}
public void setStatus(Short status) {
this.status = Status.fromInteger(status);
this.status = eu.eudat.entities.Project.Status.fromInteger(status);
}
public UserInfo getCreationUser() {
@ -210,7 +185,7 @@ public class Project implements DataModel<eu.eudat.entities.Project> {
entity.setStartdate(this.startDate);
entity.setCreated(this.created == null ? new Date() : this.created);
entity.setEnddate(this.endDate);
entity.setStatus(this.status != null ? this.getStatus() : Status.ACTIVE.getValue());
entity.setStatus(this.status != null ? this.getStatus() : eu.eudat.entities.Project.Status.ACTIVE.getValue());
entity.setModified(new Date());
entity.setDescription(this.description);
return entity;

View File

@ -5,41 +5,14 @@ import java.util.List;
import java.util.Set;
import java.util.UUID;
import eu.eudat.entities.UserInfo;
import eu.eudat.entities.*;
import eu.eudat.entities.Project;
import eu.eudat.models.DataModel;
import eu.eudat.models.dmp.DataManagementPlan;
public class ProjectListingModel implements DataModel<eu.eudat.entities.Project> {
public enum Status {
ACTIVE((short) 1), INACTIVE((short) 0), DELETED((short) 99);
private short value;
private Status(short value) {
this.value = value;
}
public short getValue() {
return value;
}
public static Status fromInteger(int value) {
switch (value) {
case 0:
return ACTIVE;
case 1:
return INACTIVE;
case 99:
return INACTIVE;
default:
throw new RuntimeException("Unsupported Project Status");
}
}
}
private UUID id;
private List<DataManagementPlan> dmps;
@ -58,7 +31,7 @@ public class ProjectListingModel implements DataModel<eu.eudat.entities.Project>
private String endDate;
private Status status;
private Project.Status status;
private UserInfo creationUser;
@ -130,7 +103,7 @@ public class ProjectListingModel implements DataModel<eu.eudat.entities.Project>
}
public void setStatus(Short status) {
this.status = Status.fromInteger(status);
this.status = Project.Status.fromInteger(status);
}
public UserInfo getCreationUser() {

View File

@ -49,6 +49,7 @@ public class PagedDatasetProfile {
datasetProfilePage.setOrdinal(page.getOrdinal());
datasetProfilePage.setTitle(page.getTitle());
datasetProfilePage.setSections(profile.getSections().stream().filter(item -> item.getPage().equals(page.getId())).collect(Collectors.toList()));
this.pages.add(datasetProfilePage);
}
return this;
}

View File

@ -14,7 +14,6 @@ database.password=dmpt00lu$r
eu.eudat.proxy.allowed.host=https://eestore.paas2.uninett.no
configuration.externalUrls=/classes/ExternalUrls.xml
#######################################################
spring.resources.add-mappings=true
########################/Email#############################
spring.mail.default-encoding=UTF-8
spring.mail.host=smtp.gmail.com