Refactors "RDA Common Standards" property moving it from FieldSet to Field.

This commit is contained in:
gkolokythas 2019-10-15 18:29:34 +03:00
parent 4842587e10
commit ca3f5f267d
16 changed files with 64 additions and 75 deletions

View File

@ -43,6 +43,7 @@ public class Field implements ViewStyleDefinition<eu.eudat.models.data.entities.
private String id;
private Integer ordinal;
private String rdaCommonStandard;
private String value;
private ViewStyle viewStyle;
private String datatype;
@ -55,7 +56,6 @@ public class Field implements ViewStyleDefinition<eu.eudat.models.data.entities.
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
@ -63,15 +63,20 @@ public class Field implements ViewStyleDefinition<eu.eudat.models.data.entities.
public int getOrdinal() {
return ordinal;
}
public void setOrdinal(int ordinal) {
this.ordinal = ordinal;
}
public String getRdaCommonStandard() {
return rdaCommonStandard;
}
public void setRdaCommonStandard(String rdaCommonStandard) {
this.rdaCommonStandard = rdaCommonStandard;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
@ -79,7 +84,6 @@ public class Field implements ViewStyleDefinition<eu.eudat.models.data.entities.
public ViewStyle getViewStyle() {
return viewStyle;
}
public void setViewStyle(ViewStyle viewStyle) {
this.viewStyle = viewStyle;
}
@ -87,7 +91,6 @@ public class Field implements ViewStyleDefinition<eu.eudat.models.data.entities.
public int getPage() {
return page;
}
public void setPage(int page) {
this.page = page;
}
@ -95,7 +98,6 @@ public class Field implements ViewStyleDefinition<eu.eudat.models.data.entities.
public DefaultValue getDefaultValue() {
return defaultValue;
}
public void setDefaultValue(DefaultValue defaultValue) {
this.defaultValue = defaultValue;
}
@ -103,25 +105,20 @@ public class Field implements ViewStyleDefinition<eu.eudat.models.data.entities.
public String getDatatype() {
return datatype;
}
public void setDatatype(String datatype) {
this.datatype = datatype;
}
public Object getData() {
return data;
}
public void setData(Object data) {
this.data = data;
}
public Visibility getVisible() {
return visible;
}
public void setVisible(Visibility visible) {
this.visible = visible;
}
@ -129,7 +126,6 @@ public class Field implements ViewStyleDefinition<eu.eudat.models.data.entities.
public List<Integer> getValidations() {
return this.validations.stream().map(item -> (int) item.getValue()).collect(Collectors.toList());
}
public void setValidations(List<Integer> validations) {
this.validations = ValidationType.fromIntegers(validations);
}
@ -145,6 +141,7 @@ public class Field implements ViewStyleDefinition<eu.eudat.models.data.entities.
field.setVisible(this.visible);
field.setDefaultValue(this.defaultValue);
field.setValidations(this.validations);
field.setRdaCommonStandard(this.rdaCommonStandard);
return field;
}
@ -157,6 +154,7 @@ public class Field implements ViewStyleDefinition<eu.eudat.models.data.entities.
this.visible = item.getVisible();
this.defaultValue = item.getDefaultValue();
this.validations = item.getValidations();
this.rdaCommonStandard = item.getRdaCommonStandard();
}
@Override

View File

@ -11,7 +11,6 @@ import java.util.List;
public class FieldSet implements Comparable, ViewStyleDefinition<eu.eudat.models.data.entities.xmlmodels.datasetprofiledefinition.FieldSet> {
private String id;
private Integer ordinal;
private String rdaCommonStandard;
private Multiplicity multiplicity;
private String title;
private String description;
@ -44,13 +43,6 @@ public class FieldSet implements Comparable, ViewStyleDefinition<eu.eudat.models
this.ordinal = ordinal;
}
public String getRdaCommonStandard() {
return rdaCommonStandard;
}
public void setRdaCommonStandard(String rdaCommonStandard) {
this.rdaCommonStandard = rdaCommonStandard;
}
public Multiplicity getMultiplicity() {
return multiplicity;
}
@ -106,7 +98,7 @@ public class FieldSet implements Comparable, ViewStyleDefinition<eu.eudat.models
item.setOrdinal(this.ordinal);
item.setMultiplicity(this.multiplicity);
item.setHasCommentField(this.hasCommentField);
item.setRdaCommonStandard(this.rdaCommonStandard);
return item;
}
@ -121,7 +113,6 @@ public class FieldSet implements Comparable, ViewStyleDefinition<eu.eudat.models
this.title = item.getTitle();
this.multiplicity = item.getMultiplicity();
this.hasCommentField = item.getHasCommentField();
this.rdaCommonStandard = item.getRdaCommonStandard();
}
@Override
@ -139,7 +130,6 @@ public class FieldSet implements Comparable, ViewStyleDefinition<eu.eudat.models
shortenFieldSet.setExtendedDescription(this.extendedDescription);
shortenFieldSet.setAdditionalInformation(this.additionalInformation);
shortenFieldSet.setHasCommentField(this.hasCommentField);
shortenFieldSet.setRdaCommonStandard(this.rdaCommonStandard);
List<Field> fieldToShort = this.fields;
Collections.sort(fieldToShort);

View File

@ -18,6 +18,7 @@ import java.util.List;
public class Field implements DatabaseViewStyleDefinition, XmlSerializable<Field> {
private String id;
private int ordinal;
private String rdaCommonStandard;
private String numbering;
private ViewStyle viewStyle;
private DefaultValue defaultValue;
@ -28,7 +29,6 @@ public class Field implements DatabaseViewStyleDefinition, XmlSerializable<Field
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
@ -36,15 +36,20 @@ public class Field implements DatabaseViewStyleDefinition, XmlSerializable<Field
public int getOrdinal() {
return ordinal;
}
public void setOrdinal(int ordinal) {
this.ordinal = ordinal;
}
public String getRdaCommonStandard() {
return rdaCommonStandard;
}
public void setRdaCommonStandard(String rdaCommonStandard) {
this.rdaCommonStandard = rdaCommonStandard;
}
public ViewStyle getViewStyle() {
return viewStyle;
}
public void setViewStyle(ViewStyle viewStyle) {
this.viewStyle = viewStyle;
}
@ -52,7 +57,6 @@ public class Field implements DatabaseViewStyleDefinition, XmlSerializable<Field
public FieldData getData() {
return data;
}
public void setData(FieldData data) {
this.data = data;
}
@ -60,7 +64,6 @@ public class Field implements DatabaseViewStyleDefinition, XmlSerializable<Field
public DefaultValue getDefaultValue() {
return defaultValue;
}
public void setDefaultValue(DefaultValue defaultValue) {
this.defaultValue = defaultValue;
}
@ -68,7 +71,6 @@ public class Field implements DatabaseViewStyleDefinition, XmlSerializable<Field
public Visibility getVisible() {
return visible;
}
public void setVisible(Visibility visible) {
this.visible = visible;
}
@ -76,7 +78,6 @@ public class Field implements DatabaseViewStyleDefinition, XmlSerializable<Field
public List<eu.eudat.models.data.admin.components.datasetprofile.Field.ValidationType> getValidations() {
return validations;
}
public void setValidations(List<eu.eudat.models.data.admin.components.datasetprofile.Field.ValidationType> validations) {
this.validations = validations;
}
@ -84,7 +85,6 @@ public class Field implements DatabaseViewStyleDefinition, XmlSerializable<Field
public String getNumbering() {
return numbering;
}
public void setNumbering(String numbering) {
this.numbering = numbering;
}
@ -95,6 +95,9 @@ public class Field implements DatabaseViewStyleDefinition, XmlSerializable<Field
rootElement.setAttribute("id", this.id);
rootElement.setAttribute("ordinal", "" + this.ordinal);
Element rdaCommonStandard = doc.createElement("rdaCommonStandard");
rdaCommonStandard.setTextContent(this.rdaCommonStandard);
Element viewStyle = doc.createElement("viewStyle");
viewStyle.setAttribute("renderstyle", this.viewStyle.getRenderStyle());
viewStyle.setAttribute("cssClass", this.viewStyle.getCssClass());
@ -115,6 +118,7 @@ public class Field implements DatabaseViewStyleDefinition, XmlSerializable<Field
Element numbering = doc.createElement("numbering");
numbering.setTextContent(this.numbering);
rootElement.appendChild(rdaCommonStandard);
rootElement.appendChild(numbering);
rootElement.appendChild(validations);
rootElement.appendChild(defaultValue);
@ -143,6 +147,9 @@ public class Field implements DatabaseViewStyleDefinition, XmlSerializable<Field
Element numbering = XmlBuilder.getNodeFromListByTagName(element.getChildNodes(), "numbering");
if (numbering != null) this.numbering = numbering.getTextContent();
Element rdaCommonStandard = XmlBuilder.getNodeFromListByTagName(element.getChildNodes(), "rdaCommonStandard");
if (rdaCommonStandard != null) this.rdaCommonStandard = rdaCommonStandard.getTextContent();
Element dataElement = (Element) XmlBuilder.getNodeFromListByTagName(element.getChildNodes(), "data");
Element defaultValue = (Element) XmlBuilder.getNodeFromListByTagName(element.getChildNodes(), "defaultValue");

View File

@ -14,7 +14,6 @@ import java.util.List;
public class FieldSet implements DatabaseViewStyleDefinition, XmlSerializable<FieldSet> {
private String id;
private int ordinal;
private String rdaCommonStandard;
private List<Field> fields;
private String numbering;
private String title;
@ -46,13 +45,6 @@ public class FieldSet implements DatabaseViewStyleDefinition, XmlSerializable<Fi
this.ordinal = ordinal;
}
public String getRdaCommonStandard() {
return rdaCommonStandard;
}
public void setRdaCommonStandard(String rdaCommonStandard) {
this.rdaCommonStandard = rdaCommonStandard;
}
public String getTitle() {
return title;
}
@ -117,9 +109,6 @@ public class FieldSet implements DatabaseViewStyleDefinition, XmlSerializable<Fi
Element title = doc.createElement("title");
title.setTextContent(this.title);
Element rdaCommonStandard = doc.createElement("rdaCommonStandard");
rdaCommonStandard.setTextContent(this.rdaCommonStandard);
Element description = doc.createElement("description");
description.setTextContent(this.description);
@ -151,7 +140,6 @@ public class FieldSet implements DatabaseViewStyleDefinition, XmlSerializable<Fi
fieldSet.appendChild(fieldsElement);
fieldSet.appendChild(multiplicity);
fieldSet.appendChild(title);
fieldSet.appendChild(rdaCommonStandard);
fieldSet.appendChild(description);
fieldSet.appendChild(extendedDescription);
fieldSet.appendChild(additionalInformation);
@ -176,8 +164,6 @@ public class FieldSet implements DatabaseViewStyleDefinition, XmlSerializable<Fi
this.hasCommentField = Boolean.parseBoolean(commentField.getAttribute("hasCommentField"));
this.commentFieldValue = commentField.getAttribute("commentFieldValue");
Element fields = XmlBuilder.getNodeFromListByTagName(element.getChildNodes(), "fields");
Element rdaCommonStandard = XmlBuilder.getNodeFromListByTagName(element.getChildNodes(), "rdaCommonStandard");
if (rdaCommonStandard != null) this.rdaCommonStandard = rdaCommonStandard.getTextContent();
Element numbering = XmlBuilder.getNodeFromListByTagName(element.getChildNodes(), "numbering");
if (numbering != null) this.numbering = numbering.getTextContent();

View File

@ -36,7 +36,6 @@ export interface FieldSet {
additionalInformation:string;
hasCommentField: boolean;
fields: Field[];
rdaCommonStandard: string;
}
export interface Multiplicity {
@ -55,6 +54,7 @@ export interface Field {
data: any;
visible: Visibility;
validations: ValidationType[];
rdaCommonStandard: string;
}
export interface ViewStyle {

View File

@ -1,10 +1,12 @@
import { HttpClient, HttpHeaders, HttpResponse } from '@angular/common/http';
import { Injectable } from '@angular/core';
import { Observable } from 'rxjs';
import { takeUntil } from "rxjs/operators";
import { environment } from '../../../../environments/environment';
import { BaseHttpParams } from '../../../common/http/base-http-params';
import { InterceptorType } from '../../../common/http/interceptors/interceptor-type';
import { DatasetProfileEditorModel } from '../../../ui/admin/dataset-profile/editor/dataset-profile-editor-model';
import { BaseService } from "../../common/base/base.service";
import { DatasetProfile } from '../../model/admin/dataset-profile/dataset-profile';
import { DataTableData } from '../../model/data-table/data-table-data';
import { DataTableRequest } from '../../model/data-table/data-table-request';
@ -14,12 +16,16 @@ import { DatasetProfileCriteria } from '../../query/dataset-profile/dataset-prof
import { BaseHttpService } from '../http/base-http.service';
@Injectable()
export class DatasetProfileService {
export class DatasetProfileService extends BaseService {
private rdaCommonStandards: String[];
private rdaCommonStandardsLoading: boolean;
private actionUrl: string;
private headers = new HttpHeaders();
constructor(private http: BaseHttpService, private httpClient: HttpClient) {
super();
this.actionUrl = environment.Server + 'admin/';
}
@ -71,7 +77,16 @@ export class DatasetProfileService {
return this.http.post(this.actionUrl + "upload", formData, { params: params });
}
getRDACommonStandards(): Observable<String[]> {
return this.http.get(this.actionUrl + "getRDACommonStandards");
getRDACommonStandards(): String[] {
if (!this.rdaCommonStandards && !this.rdaCommonStandardsLoading) { this.getRDACommonStandardsInternal(); }
return this.rdaCommonStandards;
}
private getRDACommonStandardsInternal() {
this.rdaCommonStandardsLoading = true;
return this.http.get<String[]>(this.actionUrl + "getRDACommonStandards").pipe(takeUntil(this._destroyed)).subscribe(x => {
this.rdaCommonStandards = x;
this.rdaCommonStandardsLoading = false;
});
}
}

View File

@ -30,6 +30,7 @@ export class FieldEditorModel extends BaseFormModel {
public visible: VisibilityEditorModel = new VisibilityEditorModel();
public data: FieldDataEditorModel<any>;
public validations: ValidationType[] = [];
public rdaCommonStandard: string;
fromModel(item: Field): FieldEditorModel {
this.id = item.id;
@ -39,6 +40,7 @@ export class FieldEditorModel extends BaseFormModel {
this.validations = item.validations;
this.viewStyle = new ViewStyleEditorModel().fromModel(item.viewStyle);
this.visible = new VisibilityEditorModel().fromModel(item.visible);
this.rdaCommonStandard = item.rdaCommonStandard;
if (item.data) {
if (this.viewStyle.renderStyle === 'combobox') {
@ -66,7 +68,8 @@ export class FieldEditorModel extends BaseFormModel {
// title: [this.title],
page: [{ value: this.page, disabled: (disabled && !skipDisable.includes('FieldEditorModel.page')) }],
ordinal: [{ value: this.ordinal, disabled: (disabled && !skipDisable.includes('FieldEditorModel.ordinal')) }],
validations: [{ value: this.validations, disabled: (disabled && !skipDisable.includes('FieldEditorModel.validations')) }]
validations: [{ value: this.validations, disabled: (disabled && !skipDisable.includes('FieldEditorModel.validations')) }],
rdaCommonStandard: [{value: this.rdaCommonStandard, disabled: (disabled && !skipDisable.includes('FieldSetEditorModel.rdaCommonStandard')) }]
});
formGroup.addControl('defaultValue', this.defaultValue.buildForm(disabled, skipDisable));

View File

@ -16,7 +16,6 @@ export class FieldSetEditorModel extends BaseFormModel {
public extendedDescription: string;
public additionalInformation: string;
public hasCommentField: boolean;
public rdaCommonStandard: string;
fromModel(item: FieldSet): FieldSetEditorModel {
@ -29,7 +28,6 @@ export class FieldSetEditorModel extends BaseFormModel {
this.extendedDescription = item.extendedDescription;
this.additionalInformation = item.additionalInformation;
this.hasCommentField = item.hasCommentField;
this.rdaCommonStandard = item.rdaCommonStandard;
return this;
}
@ -41,8 +39,7 @@ export class FieldSetEditorModel extends BaseFormModel {
description: [{ value: this.description, disabled: (disabled && !skipDisable.includes('FieldSetEditorModel.description')) }],
extendedDescription: [{ value: this.extendedDescription, disabled: (disabled && !skipDisable.includes('FieldSetEditorModel.extendedDescription')) }],
additionalInformation: [{ value: this.additionalInformation, disabled: (disabled && !skipDisable.includes('FieldSetEditorModel.additionalInformation')) }],
hasCommentField: [{ value: this.hasCommentField, disabled: (disabled && !skipDisable.includes('FieldSetEditorModel.hasCommentField')) }],
rdaCommonStandard: [{value: this.rdaCommonStandard, disabled: (disabled && !skipDisable.includes('FieldSetEditorModel.rdaCommonStandard')) }]
hasCommentField: [{ value: this.hasCommentField, disabled: (disabled && !skipDisable.includes('FieldSetEditorModel.hasCommentField')) }]
});
const fieldsFormArray = new Array<FormGroup>();
this.fields.forEach(item => {

View File

@ -36,14 +36,6 @@
<input matInput type="number" placeholder="{{'DATASET-PROFILE-EDITOR.STEPS.FORM.COMPOSITE-FIELD.FIELDS.ORDER' | translate}}"
[formControl]="this.form.get('ordinal')">
</mat-form-field>
<mat-form-field class="col">
<mat-label>{{'DATASET-PROFILE-EDITOR.STEPS.FORM.COMPOSITE-FIELD.FIELDS.RDA-COMMON-STANDARDS' | translate}}</mat-label>
<mat-select [formControl]="this.form.get('rdaCommonStandard')">
<mat-option *ngFor="let property of rdaCommonStandards" [value]="property">
{{property}}
</mat-option>
</mat-select>
</mat-form-field>
</div>
<div class="row">
<mat-form-field class="col">

View File

@ -1,7 +1,6 @@
import { Component, Input, OnInit } from '@angular/core';
import { FormArray, FormControl, FormGroup } from '@angular/forms';
import { FieldEditorModel } from '../../../admin/field-editor-model';
import { FieldSetEditorModel } from '../../../admin/field-set-editor-model';
@Component({
selector: 'app-dataset-profile-editor-composite-field-component',
@ -13,7 +12,6 @@ export class DatasetProfileEditorCompositeFieldComponent implements OnInit {
@Input() form: FormGroup;
@Input() indexPath: string;
@Input() viewOnly: boolean;
@Input() rdaCommonStandards: String[];
isComposite = false;
isMultiplicityEnabled = false;

View File

@ -36,6 +36,15 @@
<mat-option [value]="validationTypeEnum.Required">{{enumUtils.toDatasetProfileFieldValidationTypeString(validationTypeEnum.Required)}}</mat-option>
</mat-select>
</mat-form-field>
<mat-form-field class="col">
<mat-label>{{'DATASET-PROFILE-EDITOR.STEPS.FORM.COMPOSITE-FIELD.FIELDS.RDA-COMMON-STANDARDS' | translate}}</mat-label>
<mat-select [formControl]="this.form.get('rdaCommonStandard')">
<mat-option>--</mat-option>
<mat-option *ngFor="let property of datasetProfileService.getRDACommonStandards()" [value]="property">
{{property}}
</mat-option>
</mat-select>
</mat-form-field>
</div>
<div class="row" [ngSwitch]="form.get('viewStyle').get('renderStyle').value">

View File

@ -16,6 +16,7 @@ import { RuleEditorModel } from '../../../admin/rule-editor-model';
import { DatePickerDataEditorModel } from '../../../admin/field-data/date-picker-data-editor-models';
import { ResearchersAutoCompleteFieldDataEditorModel } from '../../../admin/field-data/researchers-auto-complete-field-data-editor-model';
import { DatasetProfileInternalDmpEntitiesType } from '../../../../../../core/common/enum/dataset-profile-internal-dmp-entities-type';
import { DatasetProfileService } from "../../../../../../core/services/dataset-profile/dataset-profile.service";
@Component({
selector: 'app-dataset-profile-editor-field-component',
@ -33,7 +34,8 @@ export class DatasetProfileEditorFieldComponent extends BaseComponent implements
constructor(
public enumUtils: EnumUtils
public enumUtils: EnumUtils,
public datasetProfileService: DatasetProfileService
) { super(); }
ngOnInit() {

View File

@ -42,7 +42,7 @@
<button mat-icon-button type="button" class="deleteBtn col-auto" (click)="deleteFieldSet(i);" [disabled]="viewOnly">
<mat-icon>delete</mat-icon>
</button>
<app-dataset-profile-editor-composite-field-component class="col-12" [form]="fieldControl" [indexPath]="indexPath + 'cf' + i" [viewOnly]="viewOnly" [rdaCommonStandards]="rdaCommonStandards"></app-dataset-profile-editor-composite-field-component>
<app-dataset-profile-editor-composite-field-component class="col-12" [form]="fieldControl" [indexPath]="indexPath + 'cf' + i" [viewOnly]="viewOnly"></app-dataset-profile-editor-composite-field-component>
</div>
</mat-card>
</div>

View File

@ -18,7 +18,6 @@ export class DatasetProfileEditorSectionComponent extends BaseComponent implemen
@Input() dataModel: SectionEditorModel;
@Input() indexPath: string;
@Input() viewOnly: boolean;
@Input() rdaCommonStandards: String[];
constructor() { super(); }

View File

@ -46,7 +46,7 @@
</button>
</mat-expansion-panel-header>
<div id="{{'s' + i}}" class="row" *ngIf="panel.expanded">
<app-dataset-profile-editor-section-component class="col-12" [form]="form.get('sections').get(''+i)" [dataModel]="section" [indexPath]="'s' + i" [viewOnly]="viewOnly" [rdaCommonStandards]="rdaCommonStandards">
<app-dataset-profile-editor-section-component class="col-12" [form]="form.get('sections').get(''+i)" [dataModel]="section" [indexPath]="'s' + i" [viewOnly]="viewOnly">
</app-dataset-profile-editor-section-component>
</div>
</mat-expansion-panel>

View File

@ -46,7 +46,6 @@ export class DatasetProfileEditorComponent extends BaseComponent implements OnIn
breadCrumbs: Observable<BreadcrumbItem[]>;
@ViewChild('stepper', { static: false }) stepper: MatHorizontalStepper;
viewOnly = false;
rdaCommonStandards: String[];
constructor(
private datasetProfileService: DatasetProfileService,
@ -146,12 +145,6 @@ export class DatasetProfileEditorComponent extends BaseComponent implements OnIn
this.addPage();
}
});
this.datasetProfileService.getRDACommonStandards()
.subscribe(
data => {
this.rdaCommonStandards = data;
}
);
}
prepareForm() {