no message
This commit is contained in:
parent
b30b5fd792
commit
5ef8689e54
|
@ -9,6 +9,7 @@ import java.util.UUID;
|
||||||
import eu.eudat.models.components.commons.datafield.AutoCompleteData;
|
import eu.eudat.models.components.commons.datafield.AutoCompleteData;
|
||||||
import eu.eudat.models.helpers.responses.ResponseItem;
|
import eu.eudat.models.helpers.responses.ResponseItem;
|
||||||
import eu.eudat.models.user.composite.DatasetProfile;
|
import eu.eudat.models.user.composite.DatasetProfile;
|
||||||
|
import eu.eudat.models.user.composite.PagedDatasetProfile;
|
||||||
import eu.eudat.services.ApiContext;
|
import eu.eudat.services.ApiContext;
|
||||||
import eu.eudat.types.ApiMessageCode;
|
import eu.eudat.types.ApiMessageCode;
|
||||||
import org.json.JSONObject;
|
import org.json.JSONObject;
|
||||||
|
@ -36,65 +37,58 @@ import eu.eudat.utilities.builders.XmlBuilder;
|
||||||
|
|
||||||
@RestController
|
@RestController
|
||||||
@CrossOrigin
|
@CrossOrigin
|
||||||
public class DatasetProfileController extends BaseController{
|
public class DatasetProfileController extends BaseController {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
public DatasetProfileController(ApiContext apiContext) {
|
public DatasetProfileController(ApiContext apiContext) {
|
||||||
super(apiContext);
|
super(apiContext);
|
||||||
}
|
}
|
||||||
|
|
||||||
@RequestMapping(method = RequestMethod.GET, value = { "/datasetwizard/get/{id}" }, produces="application/json")
|
@RequestMapping(method = RequestMethod.GET, value = {"/datasetwizard/get/{id}"}, produces = "application/json")
|
||||||
public ResponseEntity<ResponseItem<DatasetProfile>> getSingle(@PathVariable String id){
|
public ResponseEntity<ResponseItem<DatasetProfile>> getSingle(@PathVariable String id) {
|
||||||
try {
|
try {
|
||||||
eu.eudat.entities.Dataset dataset = this.getApiContext().getDatabaseRepository().getDatasetDao().find(UUID.fromString(id));
|
eu.eudat.entities.DatasetProfile profile = this.getApiContext().getDatabaseRepository().getDatasetProfileDao().find(UUID.fromString(id));
|
||||||
eu.eudat.models.user.composite.DatasetProfile datasetprofile = UserManager.generateDatasetProfileModel(dataset.getProfile());
|
eu.eudat.models.user.composite.DatasetProfile datasetprofile = UserManager.generateDatasetProfileModel(profile);
|
||||||
datasetprofile.setStatus(dataset.getStatus());
|
PagedDatasetProfile pagedDatasetProfile = new PagedDatasetProfile();
|
||||||
if(dataset.getProperties()!=null){
|
pagedDatasetProfile.buildPagedDatasetProfile(datasetprofile);
|
||||||
JSONObject jobject = new JSONObject(dataset.getProperties());
|
return ResponseEntity.status(HttpStatus.OK).body(new ResponseItem<DatasetProfile>().status(ApiMessageCode.NO_MESSAGE).payload(datasetprofile));
|
||||||
Map<String,Object> properties = (Map<String, Object>)jobject.toMap();
|
} catch (Exception ex) {
|
||||||
datasetprofile.fromJsonObject(properties);
|
ex.printStackTrace();
|
||||||
}
|
return ResponseEntity.status(HttpStatus.OK).body(new ResponseItem<DatasetProfile>().status(ApiMessageCode.DEFAULT_ERROR_MESSAGE).message(ex.getMessage()));
|
||||||
return ResponseEntity.status(HttpStatus.OK).body(new ResponseItem<DatasetProfile>().status(ApiMessageCode.NO_MESSAGE).payload(datasetprofile));
|
}
|
||||||
}
|
}
|
||||||
catch(Exception ex) {
|
|
||||||
ex.printStackTrace();
|
|
||||||
return ResponseEntity.status(HttpStatus.OK).body(new ResponseItem<DatasetProfile>().status(ApiMessageCode.DEFAULT_ERROR_MESSAGE).message(ex.getMessage()));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Transactional
|
|
||||||
@RequestMapping(method = RequestMethod.POST, value = { "/datasetprofile/save/{id}" }, consumes="application/json",produces="application/json")
|
|
||||||
public ResponseEntity<Object> updateDataset(@PathVariable String id,@RequestBody PropertiesModel properties){
|
|
||||||
try {
|
|
||||||
eu.eudat.entities.Dataset dataset = this.getApiContext().getDatabaseRepository().getDatasetDao().find(UUID.fromString(id));
|
|
||||||
Map<String,Object> values = new HashMap();
|
|
||||||
properties.toMap(values);
|
|
||||||
JSONObject jobject = new JSONObject(values);
|
|
||||||
dataset.setProperties(jobject.toString());
|
|
||||||
dataset.setStatus((short)properties.getStatus());
|
|
||||||
this.getApiContext().getDatabaseRepository().getDatasetDao().createOrUpdate(dataset); //TODO
|
|
||||||
|
|
||||||
return ResponseEntity.status(HttpStatus.OK).body(properties);
|
@Transactional
|
||||||
}
|
@RequestMapping(method = RequestMethod.POST, value = {"/datasetprofile/save/{id}"}, consumes = "application/json", produces = "application/json")
|
||||||
catch(Exception ex) {
|
public ResponseEntity<Object> updateDataset(@PathVariable String id, @RequestBody PropertiesModel properties) {
|
||||||
ex.printStackTrace();
|
try {
|
||||||
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("Serialization issue: "+ex.getMessage());
|
eu.eudat.entities.Dataset dataset = this.getApiContext().getDatabaseRepository().getDatasetDao().find(UUID.fromString(id));
|
||||||
}
|
Map<String, Object> values = new HashMap();
|
||||||
}
|
properties.toMap(values);
|
||||||
|
JSONObject jobject = new JSONObject(values);
|
||||||
@RequestMapping(method = RequestMethod.POST, value = { "/search/autocomplete" }, consumes="application/json",produces="application/json")
|
dataset.setProperties(jobject.toString());
|
||||||
public ResponseEntity<Object> getDataForAutocomplete(@RequestBody AutoCompleteLookupItem lookupItem){
|
dataset.setStatus((short) properties.getStatus());
|
||||||
try {
|
this.getApiContext().getDatabaseRepository().getDatasetDao().createOrUpdate(dataset); //TODO
|
||||||
eu.eudat.entities.Dataset dataset = this.getApiContext().getDatabaseRepository().getDatasetDao().find(UUID.fromString(lookupItem.getProfileID()));
|
|
||||||
eu.eudat.entities.xmlmodels.datasetprofiledefinition.Field modelfield = new eu.eudat.entities.xmlmodels.datasetprofiledefinition.Field();
|
|
||||||
AutoCompleteData data = new AutoCompleteData().fromData(modelfield.getData());
|
|
||||||
|
|
||||||
URL url = new URL(data.getUrl()+lookupItem.getSearchTerm());
|
return ResponseEntity.status(HttpStatus.OK).body(properties);
|
||||||
HttpURLConnection con = (HttpURLConnection) url.openConnection();
|
} catch (Exception ex) {
|
||||||
return ResponseEntity.status(HttpStatus.OK).body(null);
|
ex.printStackTrace();
|
||||||
}
|
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("Serialization issue: " + ex.getMessage());
|
||||||
catch(Exception ex) {
|
}
|
||||||
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("Serialization issue: "+ex.getMessage());
|
}
|
||||||
}
|
|
||||||
}
|
@RequestMapping(method = RequestMethod.POST, value = {"/search/autocomplete"}, consumes = "application/json", produces = "application/json")
|
||||||
|
public ResponseEntity<Object> getDataForAutocomplete(@RequestBody AutoCompleteLookupItem lookupItem) {
|
||||||
|
try {
|
||||||
|
eu.eudat.entities.Dataset dataset = this.getApiContext().getDatabaseRepository().getDatasetDao().find(UUID.fromString(lookupItem.getProfileID()));
|
||||||
|
eu.eudat.entities.xmlmodels.datasetprofiledefinition.Field modelfield = new eu.eudat.entities.xmlmodels.datasetprofiledefinition.Field();
|
||||||
|
AutoCompleteData data = new AutoCompleteData().fromData(modelfield.getData());
|
||||||
|
|
||||||
|
URL url = new URL(data.getUrl() + lookupItem.getSearchTerm());
|
||||||
|
HttpURLConnection con = (HttpURLConnection) url.openConnection();
|
||||||
|
return ResponseEntity.status(HttpStatus.OK).body(null);
|
||||||
|
} catch (Exception ex) {
|
||||||
|
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("Serialization issue: " + ex.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -82,7 +82,7 @@ public class DatasetWizardController extends BaseController {
|
||||||
public @ResponseBody ResponseEntity<ResponseItem<Dataset>> createOrUpdate(@RequestBody DatasetWizardModel profile, Principal principal) {
|
public @ResponseBody ResponseEntity<ResponseItem<Dataset>> createOrUpdate(@RequestBody DatasetWizardModel profile, Principal principal) {
|
||||||
try {
|
try {
|
||||||
eu.eudat.entities.Dataset dataset = DatasetManager.createOrUpdate(this.getApiContext(), profile);
|
eu.eudat.entities.Dataset dataset = DatasetManager.createOrUpdate(this.getApiContext(), profile);
|
||||||
return ResponseEntity.status(HttpStatus.OK).body(new ResponseItem<eu.eudat.entities.Dataset>().status(ApiMessageCode.SUCCESS_MESSAGE).message("Created").payload(dataset));
|
return ResponseEntity.status(HttpStatus.OK).body(new ResponseItem<eu.eudat.entities.Dataset>().status(ApiMessageCode.SUCCESS_MESSAGE).message("Created").payload(null));
|
||||||
} catch (Exception ex) {
|
} catch (Exception ex) {
|
||||||
ex.printStackTrace();
|
ex.printStackTrace();
|
||||||
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(new ResponseItem<eu.eudat.entities.Dataset>().status(ApiMessageCode.DEFAULT_ERROR_MESSAGE).message(ex.getMessage()));
|
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(new ResponseItem<eu.eudat.entities.Dataset>().status(ApiMessageCode.DEFAULT_ERROR_MESSAGE).message(ex.getMessage()));
|
||||||
|
|
|
@ -314,6 +314,7 @@ public class Dataset implements DataEntity<Dataset> {
|
||||||
this.setProperties(entity.getProperties());
|
this.setProperties(entity.getProperties());
|
||||||
this.setExternalDatasets(entity.getExternalDatasets());
|
this.setExternalDatasets(entity.getExternalDatasets());
|
||||||
this.setStatus(entity.getStatus());
|
this.setStatus(entity.getStatus());
|
||||||
|
if(entity.getCreator()!=null) this.creator = entity.getCreator();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -14,6 +14,7 @@ import eu.eudat.models.helpers.DataTableData;
|
||||||
import eu.eudat.models.listingmodels.DatasetListingModel;
|
import eu.eudat.models.listingmodels.DatasetListingModel;
|
||||||
import eu.eudat.models.project.Project;
|
import eu.eudat.models.project.Project;
|
||||||
import eu.eudat.models.project.ProjectTableRequest;
|
import eu.eudat.models.project.ProjectTableRequest;
|
||||||
|
import eu.eudat.models.properties.PropertiesModel;
|
||||||
import eu.eudat.models.security.Principal;
|
import eu.eudat.models.security.Principal;
|
||||||
import eu.eudat.models.user.composite.PagedDatasetProfile;
|
import eu.eudat.models.user.composite.PagedDatasetProfile;
|
||||||
import eu.eudat.queryable.QueryableList;
|
import eu.eudat.queryable.QueryableList;
|
||||||
|
@ -22,6 +23,7 @@ import eu.eudat.utilities.builders.DomainModelConverter;
|
||||||
import org.json.JSONObject;
|
import org.json.JSONObject;
|
||||||
|
|
||||||
import java.text.ParseException;
|
import java.text.ParseException;
|
||||||
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
@ -63,6 +65,7 @@ public class DatasetManager {
|
||||||
|
|
||||||
public static eu.eudat.entities.Dataset createOrUpdate(ApiContext apiContext, DatasetWizardModel profile) throws Exception {
|
public static eu.eudat.entities.Dataset createOrUpdate(ApiContext apiContext, DatasetWizardModel profile) throws Exception {
|
||||||
eu.eudat.entities.Dataset dataset = profile.toDataModel();
|
eu.eudat.entities.Dataset dataset = profile.toDataModel();
|
||||||
|
propertiesModelToString(profile,dataset);
|
||||||
createRegistriesIfTheyDontExist(apiContext.getDatabaseRepository().getRegistryDao(), dataset);
|
createRegistriesIfTheyDontExist(apiContext.getDatabaseRepository().getRegistryDao(), dataset);
|
||||||
createDataRepositoriesIfTheyDontExist(apiContext.getDatabaseRepository().getDataRepositoryDao(), dataset);
|
createDataRepositoriesIfTheyDontExist(apiContext.getDatabaseRepository().getDataRepositoryDao(), dataset);
|
||||||
createServicesIfTheyDontExist(apiContext.getDatabaseRepository().getServiceDao(), dataset);
|
createServicesIfTheyDontExist(apiContext.getDatabaseRepository().getServiceDao(), dataset);
|
||||||
|
@ -70,6 +73,14 @@ public class DatasetManager {
|
||||||
return apiContext.getDatabaseRepository().getDatasetDao().createOrUpdate(dataset);
|
return apiContext.getDatabaseRepository().getDatasetDao().createOrUpdate(dataset);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static void propertiesModelToString(DatasetWizardModel datasetWizardModel,eu.eudat.entities.Dataset dataset){
|
||||||
|
Map<String,Object> values = new HashMap();
|
||||||
|
PropertiesModel properties = datasetWizardModel.getProperties();
|
||||||
|
properties.toMap(values);
|
||||||
|
JSONObject jobject = new JSONObject(values);
|
||||||
|
dataset.setProperties(jobject.toString());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private static void createRegistriesIfTheyDontExist(RegistryDao registryDao, eu.eudat.entities.Dataset dataset) {
|
private static void createRegistriesIfTheyDontExist(RegistryDao registryDao, eu.eudat.entities.Dataset dataset) {
|
||||||
if (dataset.getRegistries() != null && !dataset.getRegistries().isEmpty()) {
|
if (dataset.getRegistries() != null && !dataset.getRegistries().isEmpty()) {
|
||||||
|
|
|
@ -11,6 +11,7 @@ import eu.eudat.models.datasetprofile.DatasetProfileListingModel;
|
||||||
import eu.eudat.models.dmp.DataManagementPlan;
|
import eu.eudat.models.dmp.DataManagementPlan;
|
||||||
import eu.eudat.models.externaldataset.ExternalDatasetListingModel;
|
import eu.eudat.models.externaldataset.ExternalDatasetListingModel;
|
||||||
import eu.eudat.models.listingmodels.DatasetListingModel;
|
import eu.eudat.models.listingmodels.DatasetListingModel;
|
||||||
|
import eu.eudat.models.properties.PropertiesModel;
|
||||||
import eu.eudat.models.user.composite.DatasetProfile;
|
import eu.eudat.models.user.composite.DatasetProfile;
|
||||||
import eu.eudat.models.user.composite.PagedDatasetProfile;
|
import eu.eudat.models.user.composite.PagedDatasetProfile;
|
||||||
import eu.eudat.utilities.builders.DomainModelConverter;
|
import eu.eudat.utilities.builders.DomainModelConverter;
|
||||||
|
@ -29,7 +30,6 @@ public class DatasetWizardModel implements DataModel<Dataset> {
|
||||||
private String uri;
|
private String uri;
|
||||||
private String description;
|
private String description;
|
||||||
private short status;
|
private short status;
|
||||||
private String properties;
|
|
||||||
private Date created;
|
private Date created;
|
||||||
private DataManagementPlan dmp;
|
private DataManagementPlan dmp;
|
||||||
private PagedDatasetProfile datasetProfileDefinition;
|
private PagedDatasetProfile datasetProfileDefinition;
|
||||||
|
@ -38,6 +38,7 @@ public class DatasetWizardModel implements DataModel<Dataset> {
|
||||||
private List<DataRepository> dataRepositories;
|
private List<DataRepository> dataRepositories;
|
||||||
private List<ExternalDatasetListingModel> externalDatasets;
|
private List<ExternalDatasetListingModel> externalDatasets;
|
||||||
private DatasetProfileListingModel profile;
|
private DatasetProfileListingModel profile;
|
||||||
|
private PropertiesModel properties;
|
||||||
|
|
||||||
public UUID getId() {
|
public UUID getId() {
|
||||||
return id;
|
return id;
|
||||||
|
@ -87,11 +88,11 @@ public class DatasetWizardModel implements DataModel<Dataset> {
|
||||||
this.status = status;
|
this.status = status;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getProperties() {
|
public PropertiesModel getProperties() {
|
||||||
return properties;
|
return properties;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setProperties(String properties) {
|
public void setProperties(PropertiesModel properties) {
|
||||||
this.properties = properties;
|
this.properties = properties;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -163,7 +164,6 @@ public class DatasetWizardModel implements DataModel<Dataset> {
|
||||||
public void fromDataModel(Dataset entity) throws InstantiationException, IllegalAccessException {
|
public void fromDataModel(Dataset entity) throws InstantiationException, IllegalAccessException {
|
||||||
this.id = entity.getId();
|
this.id = entity.getId();
|
||||||
this.label = entity.getLabel();
|
this.label = entity.getLabel();
|
||||||
this.properties = entity.getProperties();
|
|
||||||
this.status = entity.getStatus();
|
this.status = entity.getStatus();
|
||||||
this.reference = entity.getReference();
|
this.reference = entity.getReference();
|
||||||
this.description = entity.getDescription();
|
this.description = entity.getDescription();
|
||||||
|
@ -185,7 +185,6 @@ public class DatasetWizardModel implements DataModel<Dataset> {
|
||||||
entity.setLabel(this.label);
|
entity.setLabel(this.label);
|
||||||
entity.setReference(this.reference);
|
entity.setReference(this.reference);
|
||||||
entity.setUri(this.uri);
|
entity.setUri(this.uri);
|
||||||
entity.setProperties(this.properties);
|
|
||||||
entity.setStatus(this.status);
|
entity.setStatus(this.status);
|
||||||
entity.setDmp(dmp.toDataModel());
|
entity.setDmp(dmp.toDataModel());
|
||||||
entity.setDescription(this.description);
|
entity.setDescription(this.description);
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<div class="dataset-wizard">
|
<div class="dataset-wizard">
|
||||||
<h3 *ngIf="isNew">New {{datasetWizardModel?.dmp?.project?.label}} Dataset</h3>
|
<h3 *ngIf="isNew">New {{datasetWizardModel?.dmp?.project?.label}} Dataset</h3>
|
||||||
<h3 *ngIf="!isNew">{{datasetWizardModel?.dmp?.project?.label}} Dataset</h3>
|
<h3 *ngIf="!isNew">{{datasetWizardModel?.dmp?.project?.label}} Dataset</h3>
|
||||||
<mat-horizontal-stepper [linear]="isLinear" #stepper>
|
<mat-horizontal-stepper [linear]="isLinear" #stepper>
|
||||||
<mat-step [stepControl]="formGroup">
|
<mat-step [stepControl]="formGroup">
|
||||||
<form *ngIf="formGroup" [formGroup]="formGroup">
|
<form *ngIf="formGroup" [formGroup]="formGroup">
|
||||||
<ng-template matStepLabel>{{'DATASET-WIZARD.FIRST-STEP.TITLE' | translate}}</ng-template>
|
<ng-template matStepLabel>{{'DATASET-WIZARD.FIRST-STEP.TITLE' | translate}}</ng-template>
|
||||||
|
@ -80,13 +80,13 @@
|
||||||
|
|
||||||
<div class="navigation-buttons-container">
|
<div class="navigation-buttons-container">
|
||||||
<button matStepperPrevious mat-raised-button color="primary">{{'DATASET-WIZARD.ACTIONS.BACK' | translate}}</button>
|
<button matStepperPrevious mat-raised-button color="primary">{{'DATASET-WIZARD.ACTIONS.BACK' | translate}}</button>
|
||||||
<button matStepperNext mat-raised-button color="primary" style="float:right;" (click)="formSubmit()">{{'DATASET-WIZARD.ACTIONS.NEXT' | translate}}</button>
|
<button matStepperNext mat-raised-button color="primary" style="float:right;" (click)="getDefinition()">{{'DATASET-WIZARD.ACTIONS.NEXT' | translate}}</button>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</mat-step>
|
</mat-step>
|
||||||
<mat-step>
|
<mat-step>
|
||||||
<ng-template matStepLabel>{{'DATASET-WIZARD.THIRD-STEP.TITLE' | translate}}</ng-template>
|
<ng-template matStepLabel>{{'DATASET-WIZARD.THIRD-STEP.TITLE' | translate}}</ng-template>
|
||||||
<dynamic-form class="full-width" *ngIf="datasetWizardModel && datasetWizardModel.id" [dataModel]="datasetWizardModel"></dynamic-form>
|
<dynamic-form class="full-width" *ngIf="datasetWizardModel && datasetWizardModel.id" [dataModel]="datasetWizardModel"></dynamic-form>
|
||||||
<div class="navigation-buttons-container">
|
<div class="navigation-buttons-container">
|
||||||
<button style="margin-top:10px;" matStepperPrevious mat-raised-button color="primary">{{'DATASET-WIZARD.ACTIONS.BACK' | translate}}</button>
|
<button style="margin-top:10px;" matStepperPrevious mat-raised-button color="primary">{{'DATASET-WIZARD.ACTIONS.BACK' | translate}}</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -15,7 +15,7 @@ import { DataManagementPlanModel } from "../models/data-managemnt-plans/DataMana
|
||||||
import { JsonSerializer } from "../utilities/JsonSerializer";
|
import { JsonSerializer } from "../utilities/JsonSerializer";
|
||||||
import { Observable } from "rxjs/Observable";
|
import { Observable } from "rxjs/Observable";
|
||||||
import { RequestItem } from "../models/criteria/RequestItem";
|
import { RequestItem } from "../models/criteria/RequestItem";
|
||||||
import { MatPaginator, MatSort, MatSnackBar, MatStepper } from "@angular/material";
|
import { MatPaginator, MatSort, MatSnackBar } from "@angular/material";
|
||||||
import { SnackBarNotificationComponent } from "../shared/components/notificaiton/snack-bar-notification.component";
|
import { SnackBarNotificationComponent } from "../shared/components/notificaiton/snack-bar-notification.component";
|
||||||
import { DatasetProfileModel } from '../models/datasetprofile/DatasetProfileModel';
|
import { DatasetProfileModel } from '../models/datasetprofile/DatasetProfileModel';
|
||||||
import { ExternalSourcesItemModel } from '../models/external-sources/ExternalSourcesItemModel';
|
import { ExternalSourcesItemModel } from '../models/external-sources/ExternalSourcesItemModel';
|
||||||
|
@ -25,11 +25,10 @@ import { ExternalSourcesService } from '../services/external-sources/external-so
|
||||||
selector: 'app-dataset-wizard-component',
|
selector: 'app-dataset-wizard-component',
|
||||||
templateUrl: 'dataset-wizard.component.html',
|
templateUrl: 'dataset-wizard.component.html',
|
||||||
styleUrls: ['./dataset-wizard.component.scss'],
|
styleUrls: ['./dataset-wizard.component.scss'],
|
||||||
providers: [DatasetWizardService, ExternalSourcesService, DataManagementPlanService, MatStepper],
|
providers: [DatasetWizardService, ExternalSourcesService, DataManagementPlanService],
|
||||||
encapsulation: ViewEncapsulation.None
|
encapsulation: ViewEncapsulation.None
|
||||||
})
|
})
|
||||||
export class DatasetWizardComponent implements AfterViewInit {
|
export class DatasetWizardComponent {
|
||||||
@ViewChild('stepper') stepper: MatStepper;
|
|
||||||
|
|
||||||
//dmpAutoCompleteConfiguration: AutoCompleteConfiguration;
|
//dmpAutoCompleteConfiguration: AutoCompleteConfiguration;
|
||||||
//datasetProfileAutoCompleteConfiguration: AutoCompleteConfiguration;
|
//datasetProfileAutoCompleteConfiguration: AutoCompleteConfiguration;
|
||||||
|
@ -47,7 +46,7 @@ export class DatasetWizardComponent implements AfterViewInit {
|
||||||
filtereddataRepositories: ExternalSourcesItemModel[];
|
filtereddataRepositories: ExternalSourcesItemModel[];
|
||||||
filteredRegistries: ExternalSourcesItemModel[];
|
filteredRegistries: ExternalSourcesItemModel[];
|
||||||
filteredServices: ExternalSourcesItemModel[];
|
filteredServices: ExternalSourcesItemModel[];
|
||||||
filteredExternalDatasets: ExternalSourcesItemModel[];
|
filteredExternalDatasets: ExternalSourcesItemModel[];
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
private datasetWizardService: DatasetWizardService,
|
private datasetWizardService: DatasetWizardService,
|
||||||
|
@ -70,7 +69,7 @@ export class DatasetWizardComponent implements AfterViewInit {
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
let dmpRequestItem: RequestItem<DataManagementPlanCriteria> = new RequestItem();
|
let dmpRequestItem: RequestItem<DataManagementPlanCriteria> = new RequestItem();
|
||||||
dmpRequestItem.criteria = new DataManagementPlanCriteria();
|
dmpRequestItem.criteria = new DataManagementPlanCriteria();
|
||||||
//this.dmpAutoCompleteConfiguration = new AutoCompleteConfiguration(this.datasetWizardService.userDmps.bind(this.datasetWizardService), dmpRequestItem);
|
|
||||||
|
|
||||||
this.route.params.subscribe((params: Params) => {
|
this.route.params.subscribe((params: Params) => {
|
||||||
const itemId = params['id'];
|
const itemId = params['id'];
|
||||||
|
@ -81,7 +80,7 @@ export class DatasetWizardComponent implements AfterViewInit {
|
||||||
.subscribe(data => {
|
.subscribe(data => {
|
||||||
this.datasetWizardModel = JsonSerializer.fromJSONObject(data, DatasetWizardModel);
|
this.datasetWizardModel = JsonSerializer.fromJSONObject(data, DatasetWizardModel);
|
||||||
this.formGroup = this.datasetWizardModel.buildForm();
|
this.formGroup = this.datasetWizardModel.buildForm();
|
||||||
this.loadDatasetProfiles();
|
this.loadDatasetProfiles();
|
||||||
});
|
});
|
||||||
} else if (dmpId != null) {
|
} else if (dmpId != null) {
|
||||||
this.isNew = true;
|
this.isNew = true;
|
||||||
|
@ -110,39 +109,19 @@ export class DatasetWizardComponent implements AfterViewInit {
|
||||||
this.availableProfiles = JsonSerializer.fromJSONArray(items, DatasetProfileModel);
|
this.availableProfiles = JsonSerializer.fromJSONArray(items, DatasetProfileModel);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
ngAfterViewInit() {
|
|
||||||
this.route.params.subscribe((params: Params) => {
|
|
||||||
let itemId = params['id'];
|
|
||||||
if(itemId !=null) this.stepper.selectedIndex = 2;
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// this.route.params.subscribe((params: Params) => {
|
|
||||||
// const itemId = params['id'];
|
|
||||||
|
|
||||||
// if (itemId != null) {
|
|
||||||
// this.isNew = false;
|
|
||||||
// this.dataManagementPlanService.getSingle(itemId).map(data => data as DataManagementPlanModel)
|
|
||||||
// .subscribe(data => {
|
|
||||||
// this.dataManagementPlan = new JsonSerializer<DataManagementPlanModel>().fromJSONObject(data, DataManagementPlanModel);
|
|
||||||
// this.formGroup = this.dataManagementPlan.buildForm();
|
|
||||||
// });
|
|
||||||
// } else {
|
|
||||||
// this.dataManagementPlan = new DataManagementPlanModel();
|
|
||||||
// setTimeout(() => {
|
|
||||||
// this.formGroup = this.dataManagementPlan.buildForm();
|
|
||||||
// });
|
|
||||||
// }
|
|
||||||
// });
|
|
||||||
|
|
||||||
public cancel(): void {
|
public cancel(): void {
|
||||||
//this.router.navigate(['/dataManagementPlans']);
|
//this.router.navigate(['/dataManagementPlans']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
getDefinition() {
|
||||||
|
this.datasetWizardService.getDefinition(this.datasetWizardModel.profile.id).subscribe(item => {
|
||||||
|
this.datasetWizardModel.datasetProfileDefinition = item;
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
formSubmit(): void {
|
formSubmit(): void {
|
||||||
//this.touchAllFormFields(this.formGroup);
|
|
||||||
//if(this.isNew)return;
|
|
||||||
if (!this.isFormValid()) { return; }
|
if (!this.isFormValid()) { return; }
|
||||||
this.onSubmit();
|
this.onSubmit();
|
||||||
}
|
}
|
||||||
|
@ -175,7 +154,6 @@ export class DatasetWizardComponent implements AfterViewInit {
|
||||||
|
|
||||||
onCallbackError(error: any) {
|
onCallbackError(error: any) {
|
||||||
this.setErrorModel(error.error);
|
this.setErrorModel(error.error);
|
||||||
//this.validateAllFormFields(this.formGroup);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public setErrorModel(errorModel: BaseErrorModel) {
|
public setErrorModel(errorModel: BaseErrorModel) {
|
||||||
|
@ -193,11 +171,6 @@ export class DatasetWizardComponent implements AfterViewInit {
|
||||||
this.externalSourcesService.searchDatasetRepository(value).subscribe(items => {
|
this.externalSourcesService.searchDatasetRepository(value).subscribe(items => {
|
||||||
this.filtereddataRepositories = items;
|
this.filtereddataRepositories = items;
|
||||||
this.filtereddataRepositoriesAsync = false;
|
this.filtereddataRepositoriesAsync = false;
|
||||||
|
|
||||||
// this.filteredOrganisations = items.filter((filteredObj: any) => {
|
|
||||||
// return this.objectsModel ? this.objectsModel.indexOf(filteredObj) < 0 : true;
|
|
||||||
// });
|
|
||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -212,10 +185,6 @@ export class DatasetWizardComponent implements AfterViewInit {
|
||||||
this.filteredRegistries = items;
|
this.filteredRegistries = items;
|
||||||
this.filteredRegistriesAsync = false;
|
this.filteredRegistriesAsync = false;
|
||||||
|
|
||||||
// this.filteredOrganisations = items.filter((filteredObj: any) => {
|
|
||||||
// return this.objectsModel ? this.objectsModel.indexOf(filteredObj) < 0 : true;
|
|
||||||
// });
|
|
||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -229,11 +198,6 @@ export class DatasetWizardComponent implements AfterViewInit {
|
||||||
this.externalSourcesService.searchDatasetService(value).subscribe(items => {
|
this.externalSourcesService.searchDatasetService(value).subscribe(items => {
|
||||||
this.filteredServices = items;
|
this.filteredServices = items;
|
||||||
this.filteredServicesAsync = false;
|
this.filteredServicesAsync = false;
|
||||||
|
|
||||||
// this.filteredOrganisations = items.filter((filteredObj: any) => {
|
|
||||||
// return this.objectsModel ? this.objectsModel.indexOf(filteredObj) < 0 : true;
|
|
||||||
// });
|
|
||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -248,11 +212,6 @@ export class DatasetWizardComponent implements AfterViewInit {
|
||||||
this.externalSourcesService.searchDatasetSExternalDatasetservice(value).subscribe(items => {
|
this.externalSourcesService.searchDatasetSExternalDatasetservice(value).subscribe(items => {
|
||||||
this.filteredExternalDatasets = items;
|
this.filteredExternalDatasets = items;
|
||||||
this.filteredExternalDatasetsAsync = false;
|
this.filteredExternalDatasetsAsync = false;
|
||||||
|
|
||||||
// this.filteredOrganisations = items.filter((filteredObj: any) => {
|
|
||||||
// return this.objectsModel ? this.objectsModel.indexOf(filteredObj) < 0 : true;
|
|
||||||
// });
|
|
||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,7 +12,7 @@ import { NgForm } from '@angular/forms';
|
||||||
import { Router, ActivatedRoute, ParamMap, Params } from '@angular/router';
|
import { Router, ActivatedRoute, ParamMap, Params } from '@angular/router';
|
||||||
import 'rxjs/add/operator/switchMap';
|
import 'rxjs/add/operator/switchMap';
|
||||||
import { Location } from '@angular/common';
|
import { Location } from '@angular/common';
|
||||||
import {MatSidenavModule} from '@angular/material/sidenav';
|
import { MatSidenavModule } from '@angular/material/sidenav';
|
||||||
import { BaseHttpService } from '../utilities/cite-http-service-module/base-http.service';
|
import { BaseHttpService } from '../utilities/cite-http-service-module/base-http.service';
|
||||||
import { DatasetWizardService } from '../services/dataset-wizard/dataset-wizard.service';
|
import { DatasetWizardService } from '../services/dataset-wizard/dataset-wizard.service';
|
||||||
|
|
||||||
|
@ -60,48 +60,38 @@ export class DynamicFormComponent implements OnInit {
|
||||||
|
|
||||||
|
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
this.datasetProfileDefinitionModel = this.dataModel.datasetProfileDefinition
|
this.datasetProfileDefinitionModel = this.dataModel.datasetProfileDefinition
|
||||||
//this.pages = this.getPages(this.datasetProfileDefinitionModel);
|
this.createPagination();
|
||||||
this.createPagination();
|
this.form = this.datasetProfileDefinitionModel.buildForm();
|
||||||
this.form = this.datasetProfileDefinitionModel.buildForm();
|
|
||||||
this.visibilityRulesService.formGroup = this.form;
|
|
||||||
let rules: Rule[] = JsonSerializer.fromJSONArray(this.datasetProfileDefinitionModel.rules, Rule);
|
|
||||||
this.visibilityRulesService.buildVisibilityRules(rules)
|
|
||||||
this.progressbar = true;
|
|
||||||
|
|
||||||
this.route.fragment.subscribe((fragment: string) => {
|
|
||||||
var self = this;
|
|
||||||
setTimeout(function () { self.scrollTo(fragment) });
|
|
||||||
});
|
|
||||||
|
|
||||||
this.route.queryParams.subscribe((params) => {
|
|
||||||
if (params && "page" in params)
|
|
||||||
this.changeCurrentPage(params["page"]);
|
|
||||||
});
|
|
||||||
/* else{
|
|
||||||
|
|
||||||
this.addSection();
|
|
||||||
}
|
|
||||||
this.dataModel = new JsonSerializer<DatasetModel>().fromJSONObject(TestModel,DatasetModel);
|
|
||||||
this.form = this.dataModel.buildForm();
|
|
||||||
this.visibilityRulesService.formGroup = this.form;
|
this.visibilityRulesService.formGroup = this.form;
|
||||||
let rules:Rule[] = new JsonSerializer<Rule>().fromJSONArray(TestModel.rules,Rule);
|
let rules: Rule[] = JsonSerializer.fromJSONArray(this.datasetProfileDefinitionModel.rules, Rule);
|
||||||
this.visibilityRulesService.buildVisibilityRules(rules) */
|
this.visibilityRulesService.buildVisibilityRules(rules)
|
||||||
}
|
this.progressbar = true;
|
||||||
|
|
||||||
submit(){
|
this.route.fragment.subscribe((fragment: string) => {
|
||||||
this.datasetWizardService.saveDataset(this.dataModel.id, this.dataModel.status, this.form.value).subscribe(data => {
|
var self = this;
|
||||||
this.router.navigateByUrl("/datasets/" + this.dataModel.dmp.id);
|
setTimeout(function () { self.scrollTo(fragment) });
|
||||||
});
|
});
|
||||||
|
|
||||||
|
this.route.queryParams.subscribe((params) => {
|
||||||
|
if (params && "page" in params)
|
||||||
|
this.changeCurrentPage(params["page"]);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
save(){
|
submit() {
|
||||||
this.dataModel.status= "0";
|
this.datasetWizardService.saveDataset(this.dataModel, this.form.value).subscribe(data => {
|
||||||
|
this.router.navigateByUrl("/datasets/" + this.dataModel.dmp.id);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
save() {
|
||||||
|
this.dataModel.status = "0";
|
||||||
this.submit();
|
this.submit();
|
||||||
}
|
}
|
||||||
|
|
||||||
saveFinalize() {
|
saveFinalize() {
|
||||||
this.dataModel.status= "1";
|
this.dataModel.status = "1";
|
||||||
this.submit();
|
this.submit();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -140,7 +130,7 @@ export class DynamicFormComponent implements OnInit {
|
||||||
var element = document.querySelector('#' + sectionID);
|
var element = document.querySelector('#' + sectionID);
|
||||||
if (!element) return;
|
if (!element) return;
|
||||||
element.scrollIntoView();
|
element.scrollIntoView();
|
||||||
this.visibleSidebar = true;
|
this.visibleSidebar = true;
|
||||||
var scrollElement = document.querySelector('.scrollableContent');
|
var scrollElement = document.querySelector('.scrollableContent');
|
||||||
//scrollElement.scrollTop = topElement.offsetTop;
|
//scrollElement.scrollTop = topElement.offsetTop;
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,6 +26,7 @@ export class DatasetWizardModel implements Serializable<DatasetWizardModel> {
|
||||||
public externalDatasets: ExternalDatasetModel[] = [];
|
public externalDatasets: ExternalDatasetModel[] = [];
|
||||||
public dmp: DataManagementPlanModel = new DataManagementPlanModel();
|
public dmp: DataManagementPlanModel = new DataManagementPlanModel();
|
||||||
public datasetProfileDefinition = new DatasetProfileDefinitionModel();
|
public datasetProfileDefinition = new DatasetProfileDefinitionModel();
|
||||||
|
public properties :any;
|
||||||
public errorModel: BaseErrorModel = new BaseErrorModel();
|
public errorModel: BaseErrorModel = new BaseErrorModel();
|
||||||
|
|
||||||
fromJSONObject(item: any): DatasetWizardModel {
|
fromJSONObject(item: any): DatasetWizardModel {
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
import { DatasetProfileDefinitionModel } from '../../models/DatasetProfileDefinitionModel';
|
||||||
import { DatasetWizardModel } from '../../models/datasets/DatasetWizardModel';
|
import { DatasetWizardModel } from '../../models/datasets/DatasetWizardModel';
|
||||||
import { DatasetProfileCriteria } from '../../models/criteria/dataset-profile/DatasetProfileCriteria';
|
import { DatasetProfileCriteria } from '../../models/criteria/dataset-profile/DatasetProfileCriteria';
|
||||||
import 'rxjs/add/operator/map';
|
import 'rxjs/add/operator/map';
|
||||||
|
@ -35,16 +36,20 @@ export class DatasetWizardService {
|
||||||
return this.http.post<DatasetProfileModel[]>(this.actionUrl + 'getAvailableProfiles/', criteria, { headers: this.headers });
|
return this.http.post<DatasetProfileModel[]>(this.actionUrl + 'getAvailableProfiles/', criteria, { headers: this.headers });
|
||||||
}
|
}
|
||||||
|
|
||||||
public getSingle(id:String): Observable<DatasetWizardModel> {
|
public getSingle(id: String): Observable<DatasetWizardModel> {
|
||||||
return this.http.get<DatasetWizardModel>(this.actionUrl + 'getSingle/'+id,{ headers: this.headers });
|
return this.http.get<DatasetWizardModel>(this.actionUrl + 'getSingle/' + id, { headers: this.headers });
|
||||||
}
|
}
|
||||||
|
|
||||||
createDataset(datasetModel: DatasetWizardModel): Observable<DatasetWizardModel> {
|
createDataset(datasetModel: DatasetWizardModel): Observable<DatasetWizardModel> {
|
||||||
return this.http.post<DatasetWizardModel>(this.actionUrl + 'createOrUpdate', datasetModel, { headers: this.headers });
|
return this.http.post<DatasetWizardModel>(this.actionUrl + 'createOrUpdate', datasetModel, { headers: this.headers });
|
||||||
}
|
}
|
||||||
|
|
||||||
public saveDataset(datasetId:String, datasetStatus:String, formValue){
|
public saveDataset(datasetWizard: DatasetWizardModel, formValue) {
|
||||||
formValue.status = datasetStatus;
|
datasetWizard.properties = formValue;
|
||||||
return this.http.post(HostConfiguration.Server +'datasetprofile/save/'+datasetId, formValue, { headers: this.headers })
|
return this.createDataset(datasetWizard)
|
||||||
|
}
|
||||||
|
|
||||||
|
public getDefinition(id: String): Observable<DatasetProfileDefinitionModel> {
|
||||||
|
return this.http.get<DatasetProfileDefinitionModel>(this.actionUrl + 'get/' + id, { headers: this.headers });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue