/** SpagoBI, the Open Source Business Intelligence suite Copyright (C) 2012 Engineering Ingegneria Informatica S.p.A. - SpagoBI Competency Center This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/. **/ package it.eng.spagobi.studio.utils.services; import it.eng.spagobi.sdk.datasets.bo.SDKDataSet; import it.eng.spagobi.sdk.datasets.bo.SDKDataSetParameter; import it.eng.spagobi.sdk.documents.bo.SDKDocument; import it.eng.spagobi.sdk.documents.bo.SDKFunctionality; import it.eng.spagobi.sdk.documents.bo.SDKSchema; import it.eng.spagobi.sdk.documents.bo.SDKTemplate; import it.eng.spagobi.sdk.importexport.bo.SDKFile; import it.eng.spagobi.server.services.api.bo.IDataSet; import it.eng.spagobi.server.services.api.bo.IDataSetParameter; import it.eng.spagobi.server.services.api.bo.IDocument; import it.eng.spagobi.server.services.api.bo.ITemplate; import it.eng.spagobi.studio.utils.bo.Dataset; import it.eng.spagobi.studio.utils.bo.DatasetParameter; import it.eng.spagobi.studio.utils.bo.Document; import it.eng.spagobi.studio.utils.bo.Functionality; import it.eng.spagobi.studio.utils.bo.Template; public class ServerObjectsTranslator { static public SDKDocument createSDKDocument(IDocument doc){ SDKDocument sdkDocument = new SDKDocument(); sdkDocument.setDataSetId(doc.getDataSetId()); sdkDocument.setDataSourceId(doc.getDataSourceId()); sdkDocument.setDescription(doc.getDescription()); sdkDocument.setEngineId(doc.getEngineId()); sdkDocument.setId(doc.getId()); sdkDocument.setLabel(doc.getLabel()); sdkDocument.setName(doc.getName()); sdkDocument.setState(doc.getState()); sdkDocument.setType(doc.getType()); return sdkDocument; } static public SDKTemplate createSDKTemplate(ITemplate temp){ SDKTemplate sdkTemplate = new SDKTemplate(); if(temp != null){ sdkTemplate.setContent(temp.getContent()); sdkTemplate.setFileName(temp.getFileName()); sdkTemplate.setFolderName(temp.getFolderName()); } return sdkTemplate; } static public SDKDataSet createSDKDataSet(IDataSet ds){ SDKDataSet sdkDataset = new SDKDataSet(); sdkDataset.setId(ds.getId()); sdkDataset.setLabel(ds.getLabel()); sdkDataset.setName(ds.getName()); sdkDataset.setDescription(ds.getDescription()); sdkDataset.setType(ds.getType()); //sdkDataset.setJdbcDataSourceId(ds.getJdbcDataSourceId()); if(ds.getTransformer() != null) sdkDataset.setTransformer(ds.getTransformer().toString()); sdkDataset.setNumberingRows(ds.getNumberingRows()); sdkDataset.setPivotColumnName(ds.getPivotColumnName()); sdkDataset.setPivotColumnValue(ds.getPivotColumnValue()); sdkDataset.setPivotRowName(ds.getPivotRowName()); // sdkDataset.setJsonQuery(ds.getJsonQuery()); // sdkDataset.setDatamarts(ds.getDatamarts()); sdkDataset.set_public(ds.get_public()); sdkDataset.setOrganization(ds.getOrganization()); SDKDataSetParameter[] sdkDataSetParameters = null; IDataSetParameter[] parArray = ds.getParameters(); if(parArray != null){ sdkDataSetParameters = new SDKDataSetParameter[parArray.length]; for (int i = 0; i < parArray.length; i++) { IDataSetParameter dsPar = parArray[i]; SDKDataSetParameter sdkPar = createSDKDataSetParameter(dsPar); sdkDataSetParameters[i] = sdkPar; } } sdkDataset.setParameters(sdkDataSetParameters); sdkDataset.setConfiguration(ds.getConfiguration()); sdkDataset.setCategory(ds.getCategory()); return sdkDataset; } static public SDKDataSetParameter createSDKDataSetParameter(IDataSetParameter dsPar){ SDKDataSetParameter sdkDataSetParameter = new SDKDataSetParameter(); sdkDataSetParameter.setName(dsPar.getName()); sdkDataSetParameter.setType(dsPar.getType()); sdkDataSetParameter.setValues(dsPar.getValues()); return sdkDataSetParameter; } static public SDKSchema createSDKSchema(IDocument newDocument, ITemplate template, String dataSourceLabel){ SDKSchema schema = new SDKSchema(); schema.setSchemaName(newDocument.getName()); if (newDocument.getDescription() != null){ schema.setSchemaDescription(newDocument.getDescription()); } if ((dataSourceLabel != null) && (dataSourceLabel.length() > 0)){ schema.setSchemaDataSourceLbl(dataSourceLabel); } SDKFile schemaFile = new SDKFile(); schemaFile.setContent(template.getContent()); schemaFile.setFileName(template.getFileName()); schema.setSchemaFile(schemaFile); return schema; } }