前のトピック: ソフトウェア パッケージの作成次のトピック: ソフトウェア パッケージ プロシージャの作成


ソフトウェア パッケージ ボリュームの作成

正常に createSoftwarePackage が呼び出された場合、コードを続行できます。 新しいパッケージに関連付けられたソフトウェア パッケージのボリュームを 1 つ以上作成します。 これを作成するには、ボリュームに含める必要があるファイルまたはディレクトリごとに、ファイル要素をそのボリュームにコピーする必要があります。 ボリュームを作成する場合は、最近作成したパッケージ ID と関連付ける必要があります。

例 6: 単純な SoftwarePackageVolume の作成

//このメソッドによって、1 つのファイルを含む単純なソフトウェア ボリュームが作成されます
private int createSimpleSoftwareVolume() throws Exception
{
	CreateSoftwarePackageVolumeProperties props =
	new CreateSoftwarePackageVolumeProperties();
	//ソフトウェア ボリュームを作成するために、すべてのプロパティを設定します
	props.setVolumeName(cfg.getVolumeName());
	props.setVolumeNameSupplied(true);
	//ソースは、ローカルのハード ディスク上にあります
	props.setVolumeType(SourceMedium.HARDDISK);
	props.setVolumeTypeSupplied(true);
	props.setSoftwarePackageId(packageID);
	props.setSoftwarePackageIdSupplied(true);
	//ソフトウェア ボリュームを作成します
	String volID = wsAPIconnector.createSoftwarePackageVolume (getSessionId(), props);
	
	if(volID.equals(""))
	return UDSMWebService.PACKAGE_CREATION_ERROR;
	//戻り値を割り当てます
	volumeID = volID;
	//いくつかの要素をボリュームに追加します
	ArrayOfFileSystemElementPath array =
	new ArrayOfFileSystemElementPath();
	FileSystemElementPath path[] = new FileSystemElementPath[1];
	path[0] = new FileSystemElementPath();
	path[0].setElementName(cfg.getVolumeElementName());
	path[0].setElementPath(cfg.getVolumeElementPath());
	array.setFileSystemElementPath(path);
	Integer retVal = wsAPIconnector.copyElementsToSoftwarePackageVolume (getSessionId(), 	volumeID, "", array);
	if(retVal.intValue() != 0)
		return UDSMWebService.ELEMENT_ADDITION_ERROR;
	else
		return UDSMWebService.RESULT_OK;
}