// // 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.cloudstack.storage.to; import com.cloud.agent.api.to.DataStoreTO; import com.cloud.storage.DataStoreRole; import com.cloud.storage.Storage.StoragePoolType; import org.apache.cloudstack.engine.subsystem.api.storage.PrimaryDataStore; import java.util.Map; public class PrimaryDataStoreTO implements DataStoreTO { public static final String MANAGED = PrimaryDataStore.MANAGED; public static final String STORAGE_HOST = PrimaryDataStore.STORAGE_HOST; public static final String STORAGE_PORT = PrimaryDataStore.STORAGE_PORT; public static final String MANAGED_STORE_TARGET = PrimaryDataStore.MANAGED_STORE_TARGET; public static final String MANAGED_STORE_TARGET_ROOT_VOLUME = PrimaryDataStore.MANAGED_STORE_TARGET_ROOT_VOLUME; public static final String CHAP_INITIATOR_USERNAME = PrimaryDataStore.CHAP_INITIATOR_USERNAME; public static final String CHAP_INITIATOR_SECRET = PrimaryDataStore.CHAP_INITIATOR_SECRET; public static final String CHAP_TARGET_USERNAME = PrimaryDataStore.CHAP_TARGET_USERNAME; public static final String CHAP_TARGET_SECRET = PrimaryDataStore.CHAP_TARGET_SECRET; public static final String REMOVE_AFTER_COPY = PrimaryDataStore.REMOVE_AFTER_COPY; public static final String VOLUME_SIZE = PrimaryDataStore.VOLUME_SIZE; private final String uuid; private final String name; private String type; private final long id; private StoragePoolType poolType; private String host; private String path; private int port; private final String url; private Map<String, String> details; private static final String pathSeparator = "/"; private Boolean fullCloneFlag; private final boolean isManaged; public PrimaryDataStoreTO(PrimaryDataStore dataStore) { this.uuid = dataStore.getUuid(); this.name = dataStore.getName(); this.id = dataStore.getId(); this.setPoolType(dataStore.getPoolType()); this.setHost(dataStore.getHostAddress()); this.setPath(dataStore.getPath()); this.setPort(dataStore.getPort()); this.url = dataStore.getUri(); this.details = dataStore.getDetails(); this.isManaged = dataStore.isManaged(); } public long getId() { return this.id; } @Override public String getUuid() { return this.uuid; } @Override public String getUrl() { return this.url; } public Map<String, String> getDetails() { return this.details; } public String getName() { return this.name; } public String getType() { return this.type; } @Override public DataStoreRole getRole() { return DataStoreRole.Primary; } public StoragePoolType getPoolType() { return poolType; } public void setPoolType(StoragePoolType poolType) { this.poolType = poolType; } public String getHost() { return host; } public void setHost(String host) { this.host = host; } public String getPath() { return path; } public void setPath(String path) { this.path = path; } public int getPort() { return port; } public void setPort(int port) { this.port = port; } @Override public String getPathSeparator() { return pathSeparator; } @Override public String toString() { return new StringBuilder("PrimaryDataStoreTO[uuid=").append(uuid) .append("|name=") .append(name) .append("|id=") .append(id) .append("|pooltype=") .append(poolType) .append("]") .toString(); } public Boolean isFullCloneFlag() { return fullCloneFlag; } public void setFullCloneFlag(Boolean fullCloneFlag) { this.fullCloneFlag = fullCloneFlag; } public boolean isManaged() { return isManaged; } }