blob: 1572efe621affa98ac20aefd39c5fdeda092f1b1 [file] [log] [blame]
//
// 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;
}
}