Package org.apache.airavata.interpreter.service.handler

Source Code of org.apache.airavata.interpreter.service.handler.MappingUtils

/*
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements.  See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership.  The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License.  You may obtain a copy of the License at
*
*   http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied.  See the License for the
* specific language governing permissions and limitations
* under the License.
*
*/

package org.apache.airavata.interpreter.service.handler;

import org.apache.airavata.client.api.*;
import org.apache.airavata.client.api.exception.AiravataAPIInvocationException;
import org.apache.airavata.client.impl.*;
import org.apache.airavata.client.tools.NameValuePairType;

import java.util.ArrayList;
import java.util.List;

public class MappingUtils {
    public static ExperimentAdvanceOptions getExperimentOptionsObject(org.apache.airavata.experiment.execution.ExperimentAdvanceOptions advanceOptions){
        try {
            ExperimentAdvanceOptions experimentAdvanceOptions = new ExperimentAdvanceOptions();
            experimentAdvanceOptions.setCustomExperimentId(advanceOptions.getCustomExperimentId());
            experimentAdvanceOptions.setExperimentExecutionUser(advanceOptions.getExecutionUser());
            experimentAdvanceOptions.setExperimentCustomMetadata(advanceOptions.getMetadata());
            experimentAdvanceOptions.setExperimentName(advanceOptions.getExperimentName());

            if (advanceOptions.getWorkflowSchedulingSettings() != null){
                List<org.apache.airavata.experiment.execution.NodeSettings> nodeSettingsList = advanceOptions.getWorkflowSchedulingSettings().getNodeSettingsList();
                for (org.apache.airavata.experiment.execution.NodeSettings nodeSettings : nodeSettingsList){
                    NodeSettings n = getNodeSettingObject(nodeSettings);
                    org.apache.airavata.experiment.execution.HPCSettings hpcSettings = nodeSettings.getHpcSettings();
                    HPCSettings hpcSettingsObject = getHPCSettingsObject(hpcSettings);
                    n.setHPCSettings(hpcSettingsObject);
                    org.apache.airavata.experiment.execution.HostSchedulingSettings hostSchedulingSettings = nodeSettings.getHostSchedulingSettings();
                    HostSchedulingSettings hostSchedulingSettingsObj = getHostSchedulingSettingsObj(hostSchedulingSettings);
                    n.setHostSettings(hostSchedulingSettingsObj);
                    experimentAdvanceOptions.getCustomWorkflowSchedulingSettings().addNewNodeSettings(n);
                }
            }

            org.apache.airavata.experiment.execution.WorkflowOutputDataSettings workflowOutputDataSettings = advanceOptions.getWorkflowOutputDataSettings();
            if (workflowOutputDataSettings != null){
                WorkflowOutputDataSettings dataSettings = getWorkflowOutputDataSettingsObject(workflowOutputDataSettings);
                experimentAdvanceOptions.getCustomWorkflowOutputDataSettings().addNewOutputDataSettings(dataSettings.getOutputDataSettingsList());
            }

            SecuritySettings securitySettings = experimentAdvanceOptions.getCustomSecuritySettings();
            org.apache.airavata.experiment.execution.SecuritySettings securitySettings1 = advanceOptions.getSecuritySettings();
            if (securitySettings != null && securitySettings1 != null){
                AmazonWebServicesSettings amazonWSSettings = securitySettings.getAmazonWSSettings();
                if (amazonWSSettings != null){
                    amazonWSSettings.setAccessKeyId(securitySettings1.getAmazonWSSettings().getAccessKey());
                    amazonWSSettings.setAMIId(securitySettings1.getAmazonWSSettings().getAmiID());
                    amazonWSSettings.setInstanceId(securitySettings1.getAmazonWSSettings().getInstanceID());
                    amazonWSSettings.setInstanceType(securitySettings1.getAmazonWSSettings().getInstanceType());
                    amazonWSSettings.setSecretAccessKey(securitySettings1.getAmazonWSSettings().getSecretAccessKey());
                    amazonWSSettings.setUsername(securitySettings1.getAmazonWSSettings().getUsername());
                }
                CredentialStoreSecuritySettings storeSecuritySettings = securitySettings.getCredentialStoreSecuritySettings();
                if (storeSecuritySettings != null){
                    storeSecuritySettings.setGatewayId(securitySettings1.getCredentialStoreSettings().getGatewayID());
                    storeSecuritySettings.setPortalUser(securitySettings1.getCredentialStoreSettings().getPortalUser());
                    storeSecuritySettings.setTokenId(securitySettings1.getCredentialStoreSettings().getTokenId());
                }

//                GridMyProxyRepositorySettings myProxyRepositorySettings = securitySettings.getGridMyProxyRepositorySettings();
//                if (myProxyRepositorySettings != null){
//                    myProxyRepositorySettings.setUsername(securitySettings1.getMyproxySettings().getUserName());
//                    myProxyRepositorySettings.setPassword(securitySettings1.getMyproxySettings().getPassword());
//                    myProxyRepositorySettings.setLifeTime(securitySettings1.getMyproxySettings().getLifetime());
//                    myProxyRepositorySettings.setMyProxyServer(securitySettings1.getMyproxySettings().getMyproxyServer());
//                }
//
//                SSHAuthenticationSettings authenticationSettings = securitySettings.getSSHAuthenticationSettings();
//                if (authenticationSettings != null){
//                    authenticationSettings.setAccessKeyId(securitySettings1.getSshAuthSettings().getAccessKeyID());
//                    authenticationSettings.setSecretAccessKey(securitySettings1.getSshAuthSettings().getSecretAccessKey());
//                }
            }
            return experimentAdvanceOptions;
        } catch (AiravataAPIInvocationException e) {
            e.printStackTrace();
        }

        return null;
    }

    public static NodeSettingsImpl getNodeSettingObject (org.apache.airavata.experiment.execution.NodeSettings nodeSettings){
        NodeSettings n = new NodeSettingsImpl(nodeSettings.getNodeId());
        n.setServiceId(nodeSettings.getServiceId());
        List<NameValuePairType> nameValuePairTypes = new ArrayList<NameValuePairType>();
        List<org.apache.airavata.experiment.execution.NameValuePairType> nameValuePairList = nodeSettings.getNameValuePairList();
        for (org.apache.airavata.experiment.execution.NameValuePairType np : nameValuePairList) {
            NameValuePairType nameValuePairObject = getNameValuePairObject(np);
            nameValuePairTypes.add(nameValuePairObject);
        }
        n.setNameValuePair(nameValuePairTypes);
        return (NodeSettingsImpl)n;

    }

    public static NameValuePairType getNameValuePairObject(org.apache.airavata.experiment.execution.NameValuePairType nameValuePairType){
        NameValuePairType nameValuePair = new NameValuePairType();
        nameValuePair.setName(nameValuePairType.getName());
        nameValuePair.setValue(nameValuePairType.getValue());
        nameValuePair.setDescription(nameValuePairType.getDescription());
        return nameValuePair;
    }

    public static HPCSettings getHPCSettingsObject (org.apache.airavata.experiment.execution.HPCSettings hsettings){
        HPCSettings hpcSettings = new HPCSettingsImpl();
        hpcSettings.setCPUCount(hsettings.getCpuCount());
        hpcSettings.setJobManager(hsettings.getJobManager());
        hpcSettings.setMaxWallTime(hsettings.getMaxWalltime());
        hpcSettings.setNodeCount(hsettings.getNodeCount());
        hpcSettings.setQueueName(hsettings.getQueueName());
        return hpcSettings;
    }

    public static HostSchedulingSettings getHostSchedulingSettingsObj (org.apache.airavata.experiment.execution.HostSchedulingSettings schedulingSettings){
        HostSchedulingSettings hostSchedulingSettings = new HostSchedulingSettingsImpl();
        hostSchedulingSettings.setHostId(schedulingSettings.getHostID());
        hostSchedulingSettings.setGatekeeperEPR(schedulingSettings.getGatekeeperEPR());
        hostSchedulingSettings.setWSGramPreffered(schedulingSettings.isIsWSGramPreferred());
        return hostSchedulingSettings;
    }

    public static WorkflowOutputDataSettings getWorkflowOutputDataSettingsObject(org.apache.airavata.experiment.execution.WorkflowOutputDataSettings wfods) {
        WorkflowOutputDataSettings wfOutDataSettings = new WorkflowOutputDataSettingsImpl();
        List<org.apache.airavata.experiment.execution.OutputDataSettings> dataSettingsList = wfods.getOutputDataSettingsList();
        for (org.apache.airavata.experiment.execution.OutputDataSettings outPutDSettng : dataSettingsList) {
            OutputDataSettings outputDataSettings = new ApplicationOutputDataSettingsImpl(outPutDSettng.getNodeID());
            outputDataSettings.setDataPersistent(outPutDSettng.isIsdataPersisted());
            outputDataSettings.setDataRegistryUrl(outPutDSettng.getDataRegURL());
            outputDataSettings.setOutputDataDirectory(outPutDSettng.getOutputdataDir());
            wfOutDataSettings.addNewOutputDataSettings(outputDataSettings);
        }
        return wfOutDataSettings;
    }



}
TOP

Related Classes of org.apache.airavata.interpreter.service.handler.MappingUtils

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.