no message

This commit is contained in:
Ioannis Kalyvas 2018-01-25 10:14:43 +02:00
parent b30b5fd792
commit 5ef8689e54
10 changed files with 124 additions and 164 deletions

View File

@ -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());
}
}
} }

View File

@ -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()));

View File

@ -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

View File

@ -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()) {

View File

@ -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);

View File

@ -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>

View File

@ -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;
// });
}); });
} }
} }

View File

@ -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;
} }

View File

@ -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 {

View File

@ -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 });
} }
} }