Chinaunix首页 | 论坛 | 博客

W25

  • 博客访问: 1828
  • 博文数量: 0
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 10
  • 用 户 组: 普通用户
  • 注册时间: 2011-09-13 13:21
我的朋友
最近访客
     该分类下暂时没有公开的博文,给他留言提醒一下吧。
给主人留下些什么吧!~~

chinaunix网友2006-05-16 10:30

/****************************************************************** * * FILE:CopyCommonFunction.java * * 履歴: * * 日付: 2004/04/28 * 版数: 1.00 * 担当: BSC)杉山 実 * 内容: 新規作成 * * 日付: 2004/08/16 * 版数: 1.01 * 担当: BSC)杉山 実 * 内容: 選出論理改善による修正 * * 日付: 2004/09/13 * 版数: 1.02 * 担当: BSC)杉山 実 * 内容: マイグレーションID切替え時に仮想LUN割当の変更も行う * (CT障害番号:000061) * * 日付: 2004/09/17 * 版数: 1.03 * 担当: BSC)杉山 実 * 内容: コピー履歴で出力するバックアップ有無の文言を変更する * (CT障害番号:000048) * * 日付: 2004/09/17 * 版数: 1.04 * 担当: BSC)杉山 実 * 内容: Handle-Engine間のエラートレースを出力する機能改善 * (CT障害番号:000079) * * 日付: 2004/09/17 * 版数: 1.05 * 担当: BSC)杉山 実 * 内容: COPY_HISTORY_PATHに誤ったディレクトリ名指定された時に * ワーニングメッセージを出力しコマンドは正常終了する * (CT障害番号:000030) * * 日付: 2004/10/25 * 版数: 1.06 * 担当: BSC)杉山 実 * 内容: 1.05版の修正不備対応 * * 日付: 2004/11/02 * 版数: 1.07 * 担当: BSC)杉山 実 * 内容: コピー履歴用タイトル追加 * * 日付: 2004/12/01 * 版数: 1.50 * 担当: BSC)田近 聡 * 内容: 1.5版対応 * * 日付: 2005/03/04 * 版数: 1.51 * 担当: BSC)田近 聡 * 内容: CT0031 マイグレーション時にコピー先情報を設定しないように修正(障害番号:021) * * 日付: 2005/08/26 * 版数: 2.00 * 担当: BSC)樋口 健太 * 内容: ACM

回复 |  删除 |  举报

chinaunix网友2006-05-16 10:26

/****************************************************************** * * FILE:CopyHistoryWriter.java * * 履歴: * * 日付: 2005/12/28 * 版数: 3.00 * 担当: BSC)田近 聡 * 内容: 新規作成 * * 日付: 2006/01/17 * 版数: 3.01 * 担当: BSC)田近 聡 * 内容: CT0053:(コピー中止正常系)LostFlgを削除 * * 日付: 2006/01/18 * 版数: 3.02 * 担当: BSC)田近 聡 * 内容: CT0052:Mig中止、切替え、Rep切離し異常系で、 *  コピー進捗率採取に失敗した場合、開始時刻を表示しないように修正 * * 日付: 2006/05/08 * 版数: 4.00 * 担当: BSC)田近 聡 * 内容: コピー履歴改善対応 * ================================================================== * This software is the licensed software of Fujitsu Limited. * All Rights Reserved, Copyright (c) 2004 by Fujitsu Limited * * THIS SOFTWARE IS THE CONFIDENTIAL OR TRADE SECRET PROPERTY * OF FUJITSU LIMITED AND MAY ONLY BE USED UNDER LICENSE FROM * FUJITSU LIMITED */ package com.fujitsu.storagesoft.sahandle.manager.util; import java.util.logging.Logger; import com.fujitsu.storagesoft.sahandle.common.Const; import com.fujitsu.storagesoft.sahandle.common.HandleLog; import com.fujitsu.storagesoft.sahandle.common.Utility; import com.fujitsu.storagesoft.sahandle.common.ho.repository.CopyStatus; import com.fujitsu.storagesoft.sahandle.common.ho.repository.VSwitch; import com.fujitsu.storagesoft.sahandle.common.ho.repository.VirtualBox; import com.fujitsu.storagesoft.sahandle.common.ho.repository.VirtualDisk; import com.fujitsu.storagesoft.sahandle.common.ho.screen.SSwitch; import com.fujitsu.storagesoft.sahandle.repository.RepositoryClient; /** * コピー履歴出力用クラス.
*
* * @author BSC)田近 聡 * @version 4.00 */ public class CopyHistoryWriter { /** トレース出力用 */ private final Logger trace; /** メッセージID */ private String id; /** メッセージ名 */ private String name; /** エラーメッセージ */ private String message; /** コピーABEND要因情報 */ private int abend; /** * コンストラクタ */ public CopyHistoryWriter(String msgId, String msgName, String errorMsg, int copyAbend) { id = msgId; name = msgName; abend = copyAbend; message = errorMsg; trace = HandleLog.getTrace(CopyHistoryWriter.class); } /** * GUIマイグレーション開始正常終了 * * @param copyStatus * コピーステータス情報 * @param vsw * 処理仮想化スイッチ * @param vb * コピー元仮想筐体 * @param vd * コピー元仮想ディスク */ public void writeStartMig(CopyStatus copyStatus, SSwitch vsw, VirtualBox vb, VirtualDisk vd) { CopyStatus status = (CopyStatus) copyStatus.clone(); status.setSrcVirtualBoxName(vb.getName()); status.setSrcVirtualDiskName(vd.getName()); status.setSwitchName(vsw.getHostName()); status.setTotalCapcity(Utility.toMByte(copyStatus.getTotalCapcity())); // コピー履歴出力処理 print(id, name, status, message, abend); } /** * CLIマイグレーション開始正常終了 * * @param copyStatus * コピーステータス情報 * @param vsw * 処理仮想化スイッチ * @param vb * コピー元仮想筐体 * @param vd * コピー元仮想ディスク */ public void writeStartMig(CopyStatus copyStatus, VSwitch vsw, VirtualBox vb, VirtualDisk vd) { CopyStatus status = (CopyStatus) copyStatus.clone(); status.setSrcVirtualBoxName(vb.getName()); status.setSrcVirtualDiskName(vd.getName()); status.setSwitchName(vsw.getHostName()); status.setTotalCapcity(Utility.toMByte(copyStatus.getTotalCapcity())); // コピー履歴出力処理 print(id, name, status, message, abend); } /** * GUIマイグレーション開始異常終了 * * @param cStatus * コピーステータス情報 * @param vsw * 処理仮想化スイッチ * @param vb * コピー元仮想筐体 * @param vd * コピー元仮想ディスク * @param copyCode * 処理コード */ public void writeStratMigError(CopyStatus cStatus, SSwitch vsw, VirtualBox vb, VirtualDisk vd, int copyCode) { CopyStatus status = new CopyStatus(); status.setSrcVirtualBoxName(vb.getName()); status.setSrcVirtualDiskName(vd.getName()); status.setSwitchName(vsw.getHostName()); status.setTotalCapcity(Utility.toMByte(vd.getCapacity())); status.setProcessingCd(copyCode); status.setBackupFlg(cStatus.getBackupFlg()); status.setStartTime(System.currentTimeMillis() / 1000); // コピー履歴出力処理 print(id, name, status, message, abend); } /** * CLIマイグレーション開始異常終了 * * @param cStatus * コピーステータス情報 * @param vsw * 処理仮想化スイッチ * @param vb * コピー元仮想筐体 * @param vd * コピー元仮想ディスク * @param copyCode * 処理コード */ public void writeStratMigError(CopyStatus cStatus, VSwitch vsw, VirtualBox vb, VirtualDisk vd, int copyCode) { CopyStatus status = new CopyStatus(); status.setSrcVirtualBoxName(vb.getName()); status.setSrcVirtualDiskName(vd.getName()); status.setSwitchName(vsw.getHostName()); status.setTotalCapcity(Utility.toMByte(vd.getCapacity())); status.setProcessingCd(copyCode); status.setBackupFlg(cStatus.getBackupFlg()); status.setStartTime(System.currentTimeMillis() / 1000); // コピー履歴出力処理 print(id, name, status, message, abend); } /** * マイグレーション中止
* レプリケーション中止正常終了 * * @param copyStatus * コピーステータス情報 * @param pCopyStatus * セションIDを保持するコピーステータス情報 */ public void writeCancel(CopyStatus copyStatus, CopyStatus pCopyStatus) { CopyStatus status = (CopyStatus) copyStatus.clone(); status.setSessionId(pCopyStatus.getSessionId()); if (copyStatus.getStatus() != Const.COPY_STATUS_ABNORMAL) { // 正常動作セションの場合 print(Const.COPY_MSG_ID_CANCELED, Const.COPY_MSG_CANCELED, status, message, abend); } else { // 異常動作セションの場合 print(Const.COPY_MSG_ID_WARNING, Const.COPY_MSG_ABNORMAL, status, message, abend); } } /** * マイグレーション切替
* レプリケーション切離し正常終了 * * @param copyStatus * コピーステータス情報 * @param pCopyStatus * セションIDを保持するコピーステータス情報 * @param lostFlg * Engineロストフラグ */ public void writeFinish(CopyStatus copyStatus, CopyStatus pCopyStatus) { CopyStatus status = (CopyStatus) copyStatus.clone(); status.setSessionId(pCopyStatus.getSessionId()); // コピー履歴出力処理 print(id, name, status, message, abend); } /** * マイグレーション中止,切替
* レプリケーション中止,切離し異常終了 * * @param copyStatus * コピーステータス情報 * @param pCopyStatus * セションIDを保持するコピーステータス情報 */ public void writeCancelFinishError(CopyStatus copyStatus, CopyStatus pCopyStatus, int copyCode, int backupFlg) { CopyStatus status = new CopyStatus(); if (copyStatus != null) { status = (CopyStatus) copyStatus.clone(); status.setSessionId(pCopyStatus.getSessionId()); } else { // コピー進捗率採取に失敗した場合 status = createErrorCopyStatus(pCopyStatus, copyCode, backupFlg); abend = Const.COPY_ABEND_CAUSE_UNKNOWN_INT_VALUE; } // コピー履歴出力処理 print(id, name, status, message, abend); } /** * マイグレーション自動切替 * * @param copyStatus * コピーステータス情報 * @param pCopyStatus * セションIDを保持するコピーステータス情報 * @param copyHistoryFlg * コピー履歴出力フラグ * @param copyCode * 処理コード * @param backupFlg * バックアップ有無フラグ * @param errorMsg * エラーメッセージ */ public void writeAutoFinishMig(CopyStatus copyStatus, CopyStatus pCopyStatus, boolean copyHistoryFlg, int copyCode, int backupFlg, String errorMsg) { try { CopyStatus status = new CopyStatus(); if (!copyHistoryFlg) { // コピー履歴に出力する場合 if (copyStatus != null) { status = (CopyStatus) copyStatus.clone(); status.setSessionId(pCopyStatus.getSessionId()); } else { // コピー進捗率採取に失敗した場合 status = createErrorCopyStatus(pCopyStatus, copyCode, backupFlg); abend = Const.COPY_ABEND_CAUSE_UNKNOWN_INT_VALUE; } if (errorMsg == null) { // 正常終了 print(Const.COPY_MSG_ID_NORMAL, Const.COPY_MSG_NORMAL, status, errorMsg, abend); } else { // 異常終了 print(Const.COPY_MSG_ID_ABNORMAL, Const.COPY_MSG_FAILED, status, errorMsg, abend); } } } catch (Exception e) { this.trace.info("It failed in the output of the log."); } } /** * コピー進捗率採取に失敗した場合のCopyStatus情報生成メソッド. * * @param pCopyStatus * セションIDを保持するCopyStatus * @param copyCode * 処理コード * @param backupFlg * バックアップ有無 * @return status CopyStatus情報 */ private CopyStatus createErrorCopyStatus(CopyStatus pCopyStatus, int copyCode, int backupFlg) { CopyStatus status = RepositoryClient.getInstance().getCopyStatus( pCopyStatus.getSessionId()); if (status == null) { // ACMセションの場合 status = new CopyStatus(); status.setSessionId(pCopyStatus.getSessionId()); status.setSrcVirtualBoxName(Const.COPY_MSG_UNKNOWN); status.setSrcVirtualDiskName(Const.COPY_MSG_UNKNOWN); status.setDstVirtualBoxName(Const.COPY_MSG_UNKNOWN); status.setDstVirtualDiskName(Const.COPY_MSG_UNKNOWN); status.setProcessingCd(copyCode); status.setBackupFlg(backupFlg); status.setStartTime(Const.COPY_MSG_UNKNOWN_STARTTIME); } else { // 容量をMByte単位に変換 status.setTotalCapcity(Utility.toMByte(status.getTotalCapcity())); } return status; } /** * レプリケーション開始正常系 * * @param copyStatus * コピーステータス情報 * @param vsw * 処理仮想化スイッチ * @param srcVirtualBox * 元仮想筐体 * @param dstVirtualBox * 先仮想筐体 * @param srcVirtualDisk * 元仮想ディスク * @param dstVirtualDisk * 先仮想ディスク */ public void writeStartRep(CopyStatus copyStatus, VSwitch vsw, VirtualBox srcVirtualBox, VirtualBox dstVirtualBox, VirtualDisk srcVirtualDisk, VirtualDisk dstVirtualDisk) { CopyStatus status = (CopyStatus) copyStatus.clone(); status.setSrcVirtualBoxName(srcVirtualBox.getName()); status.setSrcVirtualDiskName(srcVirtualDisk.getName()); status.setDstVirtualBoxName(dstVirtualBox.getName()); status.setDstVirtualDiskName(dstVirtualDisk.getName()); status.setSwitchName(vsw.getHostName()); status.setTotalCapcity(Utility.toMByte(copyStatus.getTotalCapcity())); // コピー履歴出力処理 print(id, name, status, message, abend); } /** * レプリケーション開始異常系 * * @param copyStaus * コピーステータス情報 * @param vsw * 処理仮想化スイッチ * @param srcVirtualBox * 元仮想筐体 * @param dstVirtualBox * 先仮想筐体 * @param srcVirtualDisk * 元仮想ディスク * @param dstVirtualDisk * 先仮想ディスク * @param copyCode * 処理コード * @param backupFlg * バックアップ有無フラグ */ public void writeStartRepError(CopyStatus copyStaus, VSwitch vsw, VirtualBox srcVirtualBox, VirtualBox dstVirtualBox, VirtualDisk srcVirtualDisk, VirtualDisk dstVirtualDisk, int copyCode, int backupFlg) { CopyStatus status = new CopyStatus(); status.setSessionId(copyStaus.getSessionId()); status.setSrcVirtualBoxName(srcVirtualBox.getName()); status.setSrcVirtualDiskName(srcVirtualDisk.getName()); status.setDstVirtualBoxName(dstVirtualBox.getName()); status.setDstVirtualDiskName(dstVirtualDisk.getName()); status.setSwitchName(vsw.getHostName()); status.setStartTime(System.currentTimeMillis() / 1000); status.setPriority(copyStaus.getPriority()); status.setBackupFlg(backupFlg); status.setProcessingCd(copyCode); status.setTotalCapcity(Utility.toMByte(srcVirtualDisk.getCapacity())); // コピー履歴出力処理 print(id, name, status, message, abend); } /** * コピー履歴出力メソッド. * * @param id * メッセージID * @param name * メッセージ名 * @param status * コピーステータス情報 * @param message * エラーメッセージ * @param abend * コピーABEND情報 */ private void print(String id, String name, CopyStatus status, String message, int abend) { CopyCommonFunction.setCopyInfo(id, name, status, message, abend); } }

回复 |  删除 |  举报

chinaunix网友2006-05-16 10:16

/****************************************************************** * * FILE:CopyCommonFunction.java * * 履歴: * * 日付: 2004/04/28 * 版数: 1.00 * 担当: BSC)杉山 実 * 内容: 新規作成 * * 日付: 2004/08/16 * 版数: 1.01 * 担当: BSC)杉山 実 * 内容: 選出論理改善による修正 * * 日付: 2004/09/13 * 版数: 1.02 * 担当: BSC)杉山 実 * 内容: マイグレーションID切替え時に仮想LUN割当の変更も行う * (CT障害番号:000061) * * 日付: 2004/09/17 * 版数: 1.03 * 担当: BSC)杉山 実 * 内容: コピー履歴で出力するバックアップ有無の文言を変更する * (CT障害番号:000048) * * 日付: 2004/09/17 * 版数: 1.04 * 担当: BSC)杉山 実 * 内容: Handle-Engine間のエラートレースを出力する機能改善 * (CT障害番号:000079) * * 日付: 2004/09/17 * 版数: 1.05 * 担当: BSC)杉山 実 * 内容: COPY_HISTORY_PATHに誤ったディレクトリ名指定された時に * ワーニングメッセージを出力しコマンドは正常終了する * (CT障害番号:000030) * * 日付: 2004/10/25 * 版数: 1.06 * 担当: BSC)杉山 実 * 内容: 1.05版の修正不備対応 * * 日付: 2004/11/02 * 版数: 1.07 * 担当: BSC)杉山 実 * 内容: コピー履歴用タイトル追加 * * 日付: 2004/12/01 * 版数: 1.50 * 担当: BSC)田近 聡 * 内容: 1.5版対応 * * 日付: 2005/03/04 * 版数: 1.51 * 担当: BSC)田近 聡 * 内容: CT0031 マイグレーション時にコピー先情報を設定しないように修正(障害番号:021) * * 日付: 2005/08/26 * 版数: 2.00 * 担当: BSC)樋口 健太 * 内容: ACM

回复 |  删除 |  举报

chinaunix网友2006-05-16 10:16

/****************************************************************** * * FILE:CopyCommonFunction.java * * 履歴: * * 日付: 2004/04/28 * 版数: 1.00 * 担当: BSC)杉山 実 * 内容: 新規作成 * * 日付: 2004/08/16 * 版数: 1.01 * 担当: BSC)杉山 実 * 内容: 選出論理改善による修正 * * 日付: 2004/09/13 * 版数: 1.02 * 担当: BSC)杉山 実 * 内容: マイグレーションID切替え時に仮想LUN割当の変更も行う * (CT障害番号:000061) * * 日付: 2004/09/17 * 版数: 1.03 * 担当: BSC)杉山 実 * 内容: コピー履歴で出力するバックアップ有無の文言を変更する * (CT障害番号:000048) * * 日付: 2004/09/17 * 版数: 1.04 * 担当: BSC)杉山 実 * 内容: Handle-Engine間のエラートレースを出力する機能改善 * (CT障害番号:000079) * * 日付: 2004/09/17 * 版数: 1.05 * 担当: BSC)杉山 実 * 内容: COPY_HISTORY_PATHに誤ったディレクトリ名指定された時に * ワーニングメッセージを出力しコマンドは正常終了する * (CT障害番号:000030) * * 日付: 2004/10/25 * 版数: 1.06 * 担当: BSC)杉山 実 * 内容: 1.05版の修正不備対応 * * 日付: 2004/11/02 * 版数: 1.07 * 担当: BSC)杉山 実 * 内容: コピー履歴用タイトル追加 * * 日付: 2004/12/01 * 版数: 1.50 * 担当: BSC)田近 聡 * 内容: 1.5版対応 * * 日付: 2005/03/04 * 版数: 1.51 * 担当: BSC)田近 聡 * 内容: CT0031 マイグレーション時にコピー先情報を設定しないように修正(障害番号:021) * * 日付: 2005/08/26 * 版数: 2.00 * 担当: BSC)樋口 健太 * 内容: ACM

回复 |  删除 |  举报

chinaunix网友2006-05-16 10:16

/****************************************************************** * * FILE:CopyCommonFunction.java * * 履歴: * * 日付: 2004/04/28 * 版数: 1.00 * 担当: BSC)杉山 実 * 内容: 新規作成 * * 日付: 2004/08/16 * 版数: 1.01 * 担当: BSC)杉山 実 * 内容: 選出論理改善による修正 * * 日付: 2004/09/13 * 版数: 1.02 * 担当: BSC)杉山 実 * 内容: マイグレーションID切替え時に仮想LUN割当の変更も行う * (CT障害番号:000061) * * 日付: 2004/09/17 * 版数: 1.03 * 担当: BSC)杉山 実 * 内容: コピー履歴で出力するバックアップ有無の文言を変更する * (CT障害番号:000048) * * 日付: 2004/09/17 * 版数: 1.04 * 担当: BSC)杉山 実 * 内容: Handle-Engine間のエラートレースを出力する機能改善 * (CT障害番号:000079) * * 日付: 2004/09/17 * 版数: 1.05 * 担当: BSC)杉山 実 * 内容: COPY_HISTORY_PATHに誤ったディレクトリ名指定された時に * ワーニングメッセージを出力しコマンドは正常終了する * (CT障害番号:000030) * * 日付: 2004/10/25 * 版数: 1.06 * 担当: BSC)杉山 実 * 内容: 1.05版の修正不備対応 * * 日付: 2004/11/02 * 版数: 1.07 * 担当: BSC)杉山 実 * 内容: コピー履歴用タイトル追加 * * 日付: 2004/12/01 * 版数: 1.50 * 担当: BSC)田近 聡 * 内容: 1.5版対応 * * 日付: 2005/03/04 * 版数: 1.51 * 担当: BSC)田近 聡 * 内容: CT0031 マイグレーション時にコピー先情報を設定しないように修正(障害番号:021) * * 日付: 2005/08/26 * 版数: 2.00 * 担当: BSC)樋口 健太 * 内容: ACM

回复 |  删除 |  举报
留言热议
请登录后留言。

登录 注册