2017-09-14 12:37:36 +02:00
|
|
|
|
import {Injectable, ReflectiveInjector, Injector} from '@angular/core';
|
2017-10-17 09:38:04 +02:00
|
|
|
|
import { HttpClient , HttpHeaders, HttpParams} from '@angular/common/http';
|
2017-09-14 12:37:36 +02:00
|
|
|
|
import {FieldBase} from '../../app/form/fields/field-base';
|
|
|
|
|
import {JsonObjest} from '../../app/entities/JsonObject.class';
|
|
|
|
|
import {dataModelBuilder} from '../../app/services/dataModelBuilder.service';
|
|
|
|
|
import { DatasetProfile } from '../entities/datasetprofile';
|
2017-09-28 17:05:46 +02:00
|
|
|
|
import {DataModel} from '../entities/DataModel';
|
|
|
|
|
import {Project} from '../entities/model/project';
|
2017-10-17 09:38:04 +02:00
|
|
|
|
import {LoginComponent} from '../../app/login/login-page';
|
2017-10-17 10:23:40 +02:00
|
|
|
|
import { TokenService, TokenProvider } from './token.service';
|
2017-10-18 18:08:21 +02:00
|
|
|
|
import {RestBase} from './rest-base';
|
2017-10-17 11:13:10 +02:00
|
|
|
|
import 'rxjs/Rx';
|
2017-09-14 12:37:36 +02:00
|
|
|
|
|
|
|
|
|
import './../../assets/xml2json.min.js';
|
|
|
|
|
declare var X2JS: any;
|
|
|
|
|
|
|
|
|
|
@Injectable()
|
|
|
|
|
export class ServerService {
|
|
|
|
|
|
|
|
|
|
xml2jsonOBJ: any;
|
|
|
|
|
//fetchURL: string = 'http://dl010.madgik.di.uoa.gr:8080/dmp-backend/rest/DMP/a868dbbb-ee37-4ce6-81c8-27048e0599a9';
|
2017-09-18 12:18:17 +02:00
|
|
|
|
//fetchURL: string = 'http://dl010.madgik.di.uoa.gr:8080/dmp-backend/rest/DMP/a71a6a92-5c23-40d7-ab87-e30bc860f5a4';//include rules!
|
2017-09-21 12:02:11 +02:00
|
|
|
|
//fetchURL: string = 'http://dl010.madgik.di.uoa.gr:8080/dmp-backend/rest/DMP/d597c26e-3d8b-416a-bc07-1734d68c79c9';//include sections! + 3groupfields
|
2017-10-17 09:38:04 +02:00
|
|
|
|
//fetchURL: string = 'http://dl010.madgik.di.uoa.gr:8080/dmp-backend/rest/dmps/9a4a4a57-4d01-465e-9887-254534f31600'; με το security
|
|
|
|
|
fetchURL: string = 'http://dl010.madgik.di.uoa.gr:8080/dmp-backend-no-sec/rest/dmps/9a4a4a57-4d01-465e-9887-254534f31600';
|
2017-09-14 12:37:36 +02:00
|
|
|
|
//fetchURL: string = 'http://dl010.madgik.di.uoa.gr:8080/dmp-backend/rest/DMP/6c845c42-dc09-42ed-9959-cceb3b616364';
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
//fetchURL: string = 'http://dl010.madgik.di.uoa.gr:8080/dmp-backend/rest/DMP/a868dbbb-ee37-4ce6-81c8-27048e0599a9';
|
|
|
|
|
fetchURL: string = 'http://dl010.madgik.di.uoa.gr:8080/dmp-backend/rest/DMP/a71a6a92-5c23-40d7-ab87-e30bc860f5a4';
|
|
|
|
|
//fetchURL: string = 'http://dl010.madgik.di.uoa.gr:8080/dmp-backend/rest/DMP/6c845c42-dc09-42ed-9959-cceb3b616364';
|
|
|
|
|
*/
|
|
|
|
|
|
2017-10-17 11:13:10 +02:00
|
|
|
|
//data: any;
|
2017-09-14 12:37:36 +02:00
|
|
|
|
|
2017-10-18 18:08:21 +02:00
|
|
|
|
constructor(private httpClient: HttpClient, private tokenService: TokenService, private restBase: RestBase) { //private http: Http
|
2017-09-14 12:37:36 +02:00
|
|
|
|
this.xml2jsonOBJ = new X2JS();
|
|
|
|
|
}
|
|
|
|
|
|
2017-10-18 18:08:21 +02:00
|
|
|
|
|
2017-10-18 20:30:55 +02:00
|
|
|
|
public listDatasetIDs(){
|
2017-10-18 18:08:21 +02:00
|
|
|
|
return this.restBase.get("dataset");
|
|
|
|
|
}
|
|
|
|
|
|
2017-10-18 20:30:55 +02:00
|
|
|
|
public getAllDatasets(){
|
|
|
|
|
return this.restBase.get("getAllDatasets");
|
2017-10-18 18:08:21 +02:00
|
|
|
|
}
|
|
|
|
|
|
2017-10-18 20:30:55 +02:00
|
|
|
|
public getAllDatasetIDs(datasetId: string){
|
2017-10-18 18:08:21 +02:00
|
|
|
|
return this.restBase.get("dataset/"+datasetId);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
2017-10-18 20:30:55 +02:00
|
|
|
|
public getAllDmps(){
|
2017-10-18 18:08:21 +02:00
|
|
|
|
return this.restBase.get("dmp/getAll");
|
|
|
|
|
}
|
|
|
|
|
|
2017-10-18 20:30:55 +02:00
|
|
|
|
public listDmpsLabelID(){
|
2017-10-18 18:08:21 +02:00
|
|
|
|
return this.restBase.get("dmp/listDMPLabelID");
|
2017-10-23 18:16:04 +02:00
|
|
|
|
}
|
2017-10-18 18:08:21 +02:00
|
|
|
|
|
2017-10-18 20:30:55 +02:00
|
|
|
|
public getDmp(dmpid : string){
|
2017-10-18 18:08:21 +02:00
|
|
|
|
return this.restBase.get("dmps/"+dmpid);
|
|
|
|
|
}
|
|
|
|
|
|
2017-10-18 20:30:55 +02:00
|
|
|
|
public listDmpIDs(){
|
2017-10-18 18:08:21 +02:00
|
|
|
|
return this.restBase.get("dmps");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
2017-10-18 20:30:55 +02:00
|
|
|
|
public listProjectIDs(){
|
2017-10-18 18:08:21 +02:00
|
|
|
|
return this.restBase.get("projects");
|
|
|
|
|
}
|
|
|
|
|
|
2017-10-18 20:30:55 +02:00
|
|
|
|
public getAllProjects(){
|
2017-10-18 18:08:21 +02:00
|
|
|
|
return this.restBase.get("project/getAll");
|
|
|
|
|
}
|
|
|
|
|
|
2017-10-18 20:30:55 +02:00
|
|
|
|
public getProject(projectID : string){
|
2017-10-18 18:08:21 +02:00
|
|
|
|
return this.restBase.get("projects/"+projectID);
|
|
|
|
|
}
|
|
|
|
|
|
2017-10-18 20:30:55 +02:00
|
|
|
|
public listProjectsLabelID(){
|
2017-10-18 18:08:21 +02:00
|
|
|
|
return this.restBase.get("project/listAllLabelIDs");
|
|
|
|
|
}
|
|
|
|
|
|
2017-10-23 18:16:04 +02:00
|
|
|
|
public listDmpsUser(){
|
|
|
|
|
return this.restBase.get("dmp/listDMPLabelID");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public getProjectOfUer(){
|
|
|
|
|
return this.restBase.get("project/getofuser");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public createProject(data:any){
|
|
|
|
|
return this.restBase.post("project/createofuser", data);
|
|
|
|
|
}
|
|
|
|
|
|
2017-10-25 15:17:16 +02:00
|
|
|
|
public getAllDataSet(){
|
|
|
|
|
return this.restBase.get("dataset/getAll");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public getDmpOfUser(){
|
|
|
|
|
return this.restBase.get("dmp/getofuser");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
2017-10-27 09:48:53 +02:00
|
|
|
|
public createDmpForProject(data:any){
|
2017-10-27 11:24:04 +02:00
|
|
|
|
debugger;
|
2017-10-27 09:48:53 +02:00
|
|
|
|
return this.restBase.post("dmp/create", data);
|
|
|
|
|
}
|
|
|
|
|
|
2017-10-18 18:08:21 +02:00
|
|
|
|
|
2017-10-25 15:17:16 +02:00
|
|
|
|
logOut() {
|
2017-10-23 15:09:50 +02:00
|
|
|
|
|
|
|
|
|
var auth2 = gapi.auth2.getAuthInstance();
|
|
|
|
|
auth2.signOut().then(function () {
|
|
|
|
|
console.log('User signed out.');
|
|
|
|
|
localStorage.removeItem('currentUser');
|
|
|
|
|
});
|
|
|
|
|
this.tokenService.setToken(null); //kanonika prepei na mpei mesa sthn function.....
|
|
|
|
|
}
|
|
|
|
|
|
2017-09-14 12:37:36 +02:00
|
|
|
|
|
|
|
|
|
getData() {
|
|
|
|
|
|
2017-10-17 09:38:04 +02:00
|
|
|
|
//let headers = new HttpHeaders();
|
|
|
|
|
|
2017-10-18 20:30:55 +02:00
|
|
|
|
// let headers = new HttpHeaders().set("google-token", this.tokenService.getToken());
|
2017-10-17 10:17:24 +02:00
|
|
|
|
|
2017-10-18 20:30:55 +02:00
|
|
|
|
// console.log("google-token: "+ this.tokenService.getToken());
|
2017-10-17 11:13:10 +02:00
|
|
|
|
|
2017-10-18 20:30:55 +02:00
|
|
|
|
// return this.httpClient.get<any>(this.fetchURL);
|
|
|
|
|
return this.restBase.get("dmps/9a4a4a57-4d01-465e-9887-254534f31600");
|
2017-10-17 11:13:10 +02:00
|
|
|
|
|
|
|
|
|
/*
|
2017-09-14 12:37:36 +02:00
|
|
|
|
return this.http.get(this.fetchURL)
|
|
|
|
|
.map(
|
|
|
|
|
(response: Response) => {
|
2017-10-17 11:13:10 +02:00
|
|
|
|
console.log("response");
|
|
|
|
|
console.log(response);
|
|
|
|
|
const data = response.json();
|
2017-09-14 12:37:36 +02:00
|
|
|
|
|
|
|
|
|
//replace the xmls {model,view,rule} definitions with json -- https://github.com/abdmob/x2js library
|
|
|
|
|
data.dataset.profile.definition = this.xml2jsonOBJ.xml_str2json(data.dataset.profile.definition);
|
|
|
|
|
data.dataset.profile.ruleset.definition = this.xml2jsonOBJ.xml_str2json(data.dataset.profile.ruleset.definition);
|
|
|
|
|
data.dataset.profile.viewstyle.definition = this.xml2jsonOBJ.xml_str2json(data.dataset.profile.viewstyle.definition);
|
|
|
|
|
//can be converted back to xml (which shouldn't be needed) with this.xml2jsonOBJ.json2xml_str
|
|
|
|
|
|
|
|
|
|
this.data = data; //cache it for subsequent calls
|
|
|
|
|
return data;
|
|
|
|
|
}
|
|
|
|
|
);
|
2017-10-17 11:13:10 +02:00
|
|
|
|
*/
|
2017-09-14 12:37:36 +02:00
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
2017-10-17 15:20:40 +02:00
|
|
|
|
getProjects(){
|
|
|
|
|
|
|
|
|
|
let headers = new HttpHeaders().set("google-token", this.tokenService.getToken());
|
|
|
|
|
|
|
|
|
|
console.log("google-token: "+ this.tokenService.getToken());
|
|
|
|
|
|
2017-10-18 14:50:12 +02:00
|
|
|
|
return this.httpClient.get<any>("http://dl010.madgik.di.uoa.gr:8080/dmp-backend-no-sec/rest/project/getAll");
|
2017-10-17 15:20:40 +02:00
|
|
|
|
|
|
|
|
|
// let projects :Project[] =[];
|
2017-09-28 17:05:46 +02:00
|
|
|
|
|
2017-10-17 15:20:40 +02:00
|
|
|
|
// let project = new Project;
|
|
|
|
|
// project.name = "Project1";
|
|
|
|
|
// project.id = "Project1Id";
|
2017-09-28 17:05:46 +02:00
|
|
|
|
|
2017-10-17 15:20:40 +02:00
|
|
|
|
// projects.push(project);
|
2017-09-28 17:05:46 +02:00
|
|
|
|
|
2017-10-17 15:20:40 +02:00
|
|
|
|
// let project2 = new Project;
|
|
|
|
|
// project2.name = "Project2";
|
|
|
|
|
// project2.id = "Project2Id";
|
2017-09-28 17:05:46 +02:00
|
|
|
|
|
2017-10-17 15:20:40 +02:00
|
|
|
|
// projects.push(project2);
|
2017-09-28 17:05:46 +02:00
|
|
|
|
|
2017-10-17 15:20:40 +02:00
|
|
|
|
// return projects;
|
2017-09-28 17:05:46 +02:00
|
|
|
|
}
|
|
|
|
|
|
2017-09-14 12:37:36 +02:00
|
|
|
|
}
|