All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.swisscom.cloud.sb.broker.servicedefinition.dto.PlanDto.groovy Maven / Gradle / Ivy

There is a newer version: 6.21.7
Show newest version
/*
 * Copyright (c) 2018 Swisscom (Switzerland) Ltd.
 *
 * Licensed 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 com.swisscom.cloud.sb.broker.servicedefinition.dto

import com.swisscom.cloud.sb.broker.cfapi.dto.CFPlanDto
import com.swisscom.cloud.sb.broker.cfapi.dto.SchemasDto
import com.swisscom.cloud.sb.broker.model.Parameter
import com.swisscom.cloud.sb.broker.model.Plan
import com.swisscom.cloud.sb.broker.model.PlanMetadata
import groovy.transform.CompileStatic

@CompileStatic
class PlanDto extends CFPlanDto {
    String guid
    String templateId
    String templateVersion
    String internalName
    String serviceProviderClass
    int displayIndex
    boolean asyncRequired
    int maxBackups
    List parameters
    List containerParams

    PlanDto() {
        super()
    }

    PlanDto(Plan plan) {
        super()
        this.guid = plan.guid
        this.name = plan.name
        this.active = plan.active
        this.description = plan.description
        this.free = plan.free
        this.metadata = plan.metadata.collectEntries {PlanMetadata meta -> [(meta.key): meta.value]}
        this.schemas = new SchemasDto(plan)
        this.internalName = plan.internalName
        this.displayIndex = plan.displayIndex
        this.asyncRequired = plan.asyncRequired
        this.templateId = plan.templateUniqueIdentifier
        this.templateVersion = plan.templateVersion
        this.maxBackups = plan.maxBackups
        this.parameters = plan.parameters.collect {Parameter parameter -> new ParameterDto(parameter)}
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy