社内SEの徒然なる日記

EclipseでJava総称型のワーニングの黄色を消したい(java1.4 → java1.6)

■ Javaのバージョンアップ

10年ほど前(2002年〜2006年辺り)に開発したシステムがあります。そのシステムのハード更新が必要になったのですが、使っているアプリケーションサーバがついにJava1.4(JDK1.4と言うべきか)に対応しなくなりました。

ってことで、やむなく1.6に上げることになりました。

■ Eclipseのワーニング

それはそれで良いのですが、Eclipseの設定を弄ってコンパイラー準拠レベルを1.6にしたところ、大量のワーニングが発生しました。
総称型のワーニング対応 - 1

ソースを見てみると、酷い状態になっています。
総称型のワーニング対応 - 2

エラーの内容は、「ArrayList は raw 型です。総称型 ArrayListへの参照は、パラメーター化する必要があります」です。

ちなみに、ほぼ同じエラーがHashMapでも発生しています。こっちは「HashMap は raw 型です。総称型 HashMapへの参照は、パラメーター化する必要があります」ですね。
総称型のワーニング対応 - 3

別に、こっちは必要としていないのですが、それは・・・

私がシステムのお守りを引き継いだ時には結構な数のワーニングが残っていて、それが目障りで頑張って削って綺麗にしてきたので、こうも警告がたくさん出ると心が折れそうです(--;)

理想は総称型とやらに対応するようにソースを書きなおせば良いのでしょうし、個人的にはそうしたいのですが、そんな余力はありません。それに、直さなくても動くのでコストを掛けてまで対応する理由がないのも痛い所です。

しかし、こんな大量のワーニングが出たままだと今後のメンテナンスが辛いです。ってことで、Eclipseの設定を弄って対応することにしました。

■ Eclipseの設定変更

Eclipseではコンパイル時のエラーや警告の表示を変更することが出来ます。その設定は、Eclipse全体に設定する方法と、プロジェクト個別に設定する方法の2通りがあります。

Eclipse自体の設定は、「ウィンドウ」-「設定」を選択。
総称型のワーニング対応 - 4

左側のリストから「Java」-「コンパイラー」-「エラー/警告」を選択して、画面右側で「総称型」を表示。表示されたリストを全て「無視」に変えて、「OK」を選択します。
総称型のワーニング対応 - 5

フル・ビルドの要求が出てきたので、ここで「はい」を選択。
総称型のワーニング対応 - 6

すると、警告件数がグッと少なくなりました!

思う所は色々とあるけど、とりあえずこれで良しとしましょう。

■ プロジェクト個別の設定

複数のプロジェクトを走らせている場合、プロジェクトごとに設定を変えることが出来るようです(まぁ、それが出来ないと複数のシステムを管理している人は困るので、出来て当然なのでしょうが)。

その場合は、プロジェクトを選択した状態で「プロジェクト」-「プロパティー」を選択。
総称型のワーニング対応 - 7

左側のリストから「Javaコンパイラー」-「エラー/警告」を選択して、画面右側で「総称型」を表示。表示されたリストを全て「無視」に変えて、「OK」を選択します。
総称型のワーニング対応 - 8

※ 上記の図では「警告」のままになっていますが、本当は「無視」に変えます。

■ 後書き

ちなみに、Javaのバージョンを1.7とか1.8じゃなくて1.6に留めたのは、移行を依頼したベンダーの希望でした。何でも、実績がないのでトラブル時に対応が厳しいと。

先の事を考えると一気に上げたいのですが、Javaの他にも結構色々と環境を弄るので冒険が出来なかった。それが、ちと心残りです。

さて、この判断が吉と出るか凶と出るか・・・

最新の記事:http://harikofu.blog.fc2.com/
投稿記事の一覧:http://harikofu.web.fc2.com/

--- blog end --- スポンサードリンク

PageTop

Oracle12cのEnterprise Managerに接続!(少し嵌った・・・)

■ Oracle12c

これまでOracle11gを使っていたのですが、Oracle12cに移行することになりました。

移行作業自体は別の方にお願いしていたのですが、終わったというのでテストでEnterpriseManagerを起動してみました。

これまでは、こんな感じでログインしていました。

https:// <サーバ名 or サーバIPアドレス> :1158/em/


IPアドレスだけ新しいDBサーバーの値に変えてみたのですが、ログインできません。

何だろうと思っていたのですが、ポート番号が違うようです。ってことで、Oracle12cではこうなるらしいです。

https:// <サーバ名 or サーバIPアドレス> :5500/em/


この5500ってポート番号は初期値で変更もできるらしいです。下記のSQLで確認できるようです。

/*
* Oracle12c のEM Express ポート番号の確認
*/

select dbms_xdb_config.gethttpsport() from dual;


■ Windows

実は、Oracleの環境が2つあって、OSはそれぞれおSolarisとWindows。Solarisの方は繋がったのですが、Windowsの方が接続できません。

前述のポート番号の確認コマンドで結果が戻ってきたので、環境自体はあると思うのですが・・・

と一瞬迷ったのですが、原因はWindowsファイアーウォールでした。

またお前か!

ってことで、受信ポート5500を許可したら接続できるようになりました。

■ 後書き

ところで、EnterpriseManagerって書いていましたが、どうやら EM Express って名前に変わったようです。

別に、今まで通りでいいでしょうに。困ったものです。

最新の記事:http://harikofu.blog.fc2.com/
投稿記事の一覧:http://harikofu.web.fc2.com/

--- blog end --- スポンサードリンク

PageTop

EmEditorのFree変更方法

■ EmEditor

随分と前からEmEditorを使っています。パソコンの再セットアップしたので、ホームページからインストールファイルをダウンロードしたのですが、Free版が見当たりません。

どうやら、インストールファイルとしては統合されたようです。

それはそれで良いのですが、インストールして使おうとすると、ライセンス購入の画面が表示されて実に邪魔です。
EmEditorのFree変更方法 - 1

使用期限が過ぎるまで放置すれば良いのでしょうが、設定で直せそうな気がします。

EmEditorのバージョンは、16.4.1です。
EmEditorのFree変更方法 - 2

■ EmEditorのフリー版変更

「ツール」-「クイック起動」を選択します。
EmEditorのFree変更方法 - 3

処理の一覧が表示されるので、分類「ヘルプ」、コマンド「ダウングレード」を探して選択して、「このコマンドを実行」をクリックします。
EmEditorのFree変更方法 - 4

確認画面が表示されるので「はい」を選択します。
EmEditorのFree変更方法 - 5

EmEditorの再起動要求に「OK」を選択します。
EmEditorのFree変更方法 - 6

これで終了です。

「ヘルプ」-「バージョン情報」を見ると、Freeに変わっていました。これでOKですね。
EmEditorのFree変更方法 - 7

■ 後書き

大容量のテキストファイルを扱うことが結構あります。それに対してちょっとした編集や内容の確認をしたいのですが、ウィンドウズ標準のメモ帳では力不足なので、EmEditorを使っています。

高機能テキストエディタって色々と種類があるのですが、GBクラスのテキストファイルを編集できるのは、私が知る限りだと秀丸とEmEditorくらい。

別に秀丸でも良いのですが、何となくEmEditorの方が好みです。

最新の記事:http://harikofu.blog.fc2.com/
投稿記事の一覧:http://harikofu.web.fc2.com/

--- blog end --- スポンサードリンク

PageTop

ASTERIAで変数を使ってみたNo3 外部変数セット(全フロー共通の変数・定数)

ASTERIAのパブリック変数

前回、前々回の実験で、ASTERIAの変数は定数とか、パラメータとか、広い意味があるというのは理解できました。

今回は、複数のフローで共有できる定数を作成してみます。

■ 外部変数セット

フローをまたぐ定数や変数を作る場合、「外部変数セット」なるものを使うようです。

画面左上のツリーから、外部変数セットのアイコンをクリックします(右クリックメニューでも選択できます)。
ASTERIAで変数を使ってみたNo3 - 1

作成画面が表示されたので、定数に「testTeisu」という変数を作って、初期値を「base」にします。
ASTERIAで変数を使ってみたNo3 - 2

すると、こんな感じで表示されました。
ASTERIAで変数を使ってみたNo3 - 3

■ 外部変数セットの使い方

これで使えるかと思いました。フローを作って、いつものMapperから値を引っ張ろうと思ったのですが、外部変数セットというものは出てくるのですが、肝心の値が見つかりません。
ASTERIAで変数を使ってみたNo3 - 4

しばらく迷ったのですが、どうやらフローで使用する外部変数セットを設定しないとダメらしいです。具体的には、フロー画面上に外部変数セットをドラッグ&ドロップします。
ASTERIAで変数を使ってみたNo3 - 5

改めて、Mapperを見ると外部変数セットの値を選択できるようになっていました。定数「testTeisu」を出力ストリームに設定します。
ASTERIAで変数を使ってみたNo3 - 6

これを実行すると、出力ストリームに定数「testTeisu」に設定していた初期値「base」が出力されました。
ASTERIAで変数を使ってみたNo3 - 7

■ 後書き

外部変数セットは「定数」として明示されていますが、これまでの経緯を考えると思うところがあります。

まぁ、リクエスト変数、セッション変数、アプリケーション変数と色々とあるので、チェックボックスで制御するのもどうかってことなんでしょうが。

なお、この辺りについては触れません。どうも、私が利用する用途では使いそうにないし、ヘルプを見ても今一つ理解できませんでした。

前回:ASTERIAで変数を使ってみたNo2 フロー変数公開(パラメータ)

最新の記事:http://harikofu.blog.fc2.com/
投稿記事の一覧:http://harikofu.web.fc2.com/

--- blog end --- スポンサードリンク

PageTop

ASTERIAで変数を使ってみたNo2 フロー変数公開(パラメータ)

■ ASTERIAで変数の公開

前回、ASTERIAで変数を作ってみたのですが、その中の「公開」というチェックボックスについて触ってみようと思います。

これ、何でしょうね?

どうやら、「公開」をONにすることでサブフローのパラメータとして使用できるようなのですが、今一つ使い方が・・・

■ サブフロー

色々とやっていて分かったのですが、この「公開」という設定は、呼び出される側のフロー(つまり、サブフロー)で定義する必要があるようです。

実際に作ってみます。変数「testHensu」を作って「公開」をONにします。さらにMapperで変数「testHensu」と文字列「b」結合して、ストリームとして返却するようにします。
ASTERIAで変数を使ってみたNo2 - 1

新しくフローを作って、上記のフローをSubFlowコンポーネントで呼び出します。すると、パラメータに上記で公開をONとした変数が表示されました。
ASTERIAで変数を使ってみたNo2 - 2

サブフローの呼び出しで直接値も設定できそうでしたが、それもどうかと思ってサブフローの直前にMapperを挟みました。まさにパラメータという項目が表示されていたので、文字列「a」を「testHensu」に渡します。
ASTERIAで変数を使ってみたNo2 - 3

これでフローを実行すると、こうなりました。パラメータとして渡した「a」と、サブフローで結合した「b」が合わさって「ab」というストリームが作成されました。
ASTERIAで変数を使ってみたNo2 - 4

■ 後書き

フローを、プログラムのメソッドとして考えるとして、「公開」をONとした変数はメソッドの引数(パラメータ)となる。こういう考え方なんでしょうか。

確かに、メソッドの引数も変数の一種といえなくもないのでしょうが、この概念が理解できなくてしばらく悩みました。

ASTERIAから入った人はスムーズに理解できそうですが、長年にわたるプログラマーとしての経験が理解の足をひっぱている気がしてなりません。

前回:ASTERIAで変数を使ってみたNo1 変数の定義と定数
次回:ASTERIAで変数を使ってみたNo3 外部変数セット(全フロー共通の変数・定数)

最新の記事:http://harikofu.blog.fc2.com/
投稿記事の一覧:http://harikofu.web.fc2.com/

--- blog end --- スポンサードリンク

PageTop