SonarLintの解析実行時にPleiadesのライブラリが有効になっていて、
SonarLintが存在しないメソッドを呼び出してエラーになっていました。
Eclipse 4.3 Kepler Pleiades All in OneにSonarLint2.0.1をインストールするという組み合わせで発生しました。
どちらもApache Commons IOライブラリを利用していて、Pleiadesは1.4を使用していました。
そこで、Pleiadesのライブラリを1.4と互換性のある2.2に差し替えて、
解析ができるようになりました。
Commons IO – Upgrade from 2.1 to 2.2
2016年11月12日土曜日
2015年12月28日月曜日
Antで複数のmkdirタスクを実行する。
AntのScriptタスクを利用して、ディレクトリのパスをPathConvertで変換した後に、そのディレクトリを作成します。
build.xml
実行結果
build.xml
<?xml version="1.0" encoding="UTF-8"?>
<target name="pathConvertor" description="">
<pathconvert property="convertedDir">
<dirset dir=".">
<patternset id="convdir">
<include name="**/java/**"/>
<include name="**/resources/**"/>
</patternset>
</dirset>
<mapper>
<filtermapper>
<replacestring from="java" to="replaced"/>
<replacestring from="resources" to="replaced"/>
</filtermapper>
</mapper>
</pathconvert>
<script language="javascript"><![CDATA[
var toDir = project.getProperty("convertedDir");
var dirs = toDir.split(";");
var size = dirs.length;
var mkdir = project.createTask("mkdir");
for (var i = 0; i < size; i++) {
var targetDir = dirs[i];
mkdir.setDir(new java.io.File(targetDir));
mkdir.perform();
}
]]></script>
</target>
</project>
実行結果
e:\work\ant>ant pathConvertor
Buildfile: e:\work\ant\build.xml
pathConvertor:
[mkdir] Created dir: e:\work\ant\dir\replaced
[mkdir] Created dir: e:\work\ant\path\to\example\replaced
[mkdir] Created dir: e:\work\ant\src\main\replaced
[mkdir] Created dir: e:\work\ant\src\test\replaced
BUILD SUCCESSFUL
Total time: 2 seconds
e:\work\ant>tree
フォルダー パスの一覧
ボリューム シリアル番号は 00000200 A0FE:B066 です
E:.
├─dir
│ ├─java
│ ├─replaced
│ └─resources
├─path
│ └─to
│ └─example
│ ├─java
│ └─replaced
└─src
├─main
│ ├─java
│ ├─replaced
│ └─resources
└─test
├─java
├─replaced
└─resources
2015年12月27日日曜日
某ブラウザゲームの画面をスッキリさせる。
D/M/Mの右側に出るレコメンドを消します。
上記をブラウザのユーザースタイルシートとして設定します。
div#ntg-recommend { display: none; } span.slide-trg { display: none; } div.list-pickupgame { display: none; }
上記をブラウザのユーザースタイルシートとして設定します。
2015年6月28日日曜日
2015年7月(夏)開始アニメ新番組私的録画メモ
新しく始まるアニメの個人的な録画予約のメモ。
チェックしている放送局は在京キー局とBS、AT-X、TOKYO MX、チバテレビ。
WORKING3期、水島努監督の監獄学園に期待しています。
最後に、情報源は以下のサイトです。ありがとうごとうございます。
GIGZAZINE 2015年夏季開始の新作アニメ一覧
チェックしている放送局は在京キー局とBS、AT-X、TOKYO MX、チバテレビ。
曜日 | タイトル | 初回放送日時 | 放送局 |
---|---|---|---|
月 | 赤髪の白雪姫 | 7月6日(月) 24:00 | TOKYO MX |
To LOVEる-とらぶる-ダークネス 2nd | 7月6日(月) 24:30 | TOKYO MX | |
のんのんびより りぴーと | 7月6日(月) 26:05 | テレビ東京 | |
火 | それが声優! | 7月7日(火) 23:00 | TOKYO MX |
木 | がっこうぐらし | 7月9日(木) 23:30 | TOKYO MX |
金 | アイドルマスター シンデレラガールズ 2nd SEASON | 7月17日(金) 24:00 | TOKYO MX |
監獄学園 プリズンスクール | 7月10日(金) 25:05 | TOKYO MX | |
Fate/kaleid liner プリズマイリヤ ツヴァイ ヘルツ! | 7月24日(金) 25:40 | TOKYO MX | |
土 | WORKING!!! | 7月4日(土) 24:30 | TOKYO MX |
戦姫絶唱シンフォギアGX | 7月4日(土) 25:00 | TOKYO MX |
WORKING3期、水島努監督の監獄学園に期待しています。
最後に、情報源は以下のサイトです。ありがとうごとうございます。
GIGZAZINE 2015年夏季開始の新作アニメ一覧
ラベル:
アニメ
2015年4月26日日曜日
fluent-logger-javaについていくつかのこと。
GitHub fluent/fluent-logger-java
バージョンは、0.3.1です。
org.fluentd.logger.FluentLoggerFactory#getLogger(String, String, int, int, int, Reconnector)
そこで、org.fluentd.logger.sender.Senderインターフェースを実装したクラスを以下のように設定することで、
デフォルトのorg.fluentd.logger.sender.RawSocketSenderから変更できます。
諸事情でFluentdにログを送信できない場合、このクラスに切り替えるようなロジックを実装するといった利用が考えられます。
org.fluentd.logger.sender.ExponentialDelayReconnector
指数関数的に遅延しながら再接続を試みる物のようです。
これとは別に、org.fluentd.logger.sender.Reconnectorインターフェースを実装することで、
独自の動作を実装できます。
以下のメソッドを利用することで、独自の動作をさせることができます。
org.fluentd.loggerFluentLogger#getLogger(String, String, int, int, int, Reconnector)
バージョンは、0.3.1です。
Fluentdに送信する実装を変更できる。
ファクトリークラス内が下記のようになっています。org.fluentd.logger.FluentLoggerFactory#getLogger(String, String, int, int, int, Reconnector)
Properties props = System.getProperties();
if (!props.containsKey(Config.FLUENT_SENDER_CLASS)) {
// create default sender object
sender = new RawSocketSender(host, port, timeout, bufferCapacity, reconnector);
} else {
String senderClassName = props.getProperty(Config.FLUENT_SENDER_CLASS);
try {
sender = createSenderInstance(senderClassName, new Object[] { host, port, timeout, bufferCapacity });
} catch (Exception e) {
throw new RuntimeException(e);
}
}
そこで、org.fluentd.logger.sender.Senderインターフェースを実装したクラスを以下のように設定することで、
デフォルトのorg.fluentd.logger.sender.RawSocketSenderから変更できます。
System.setProperty(Config.FLUENT_SENDER_CLASS, "com.example.HogeSender")
他にも、org.fluentd.logger.sender.NullSenderというクラスは、空振りする動作をします。諸事情でFluentdにログを送信できない場合、このクラスに切り替えるようなロジックを実装するといった利用が考えられます。
再接続方法を変更できる。
デフォルトの実装は、org.fluentd.logger.sender.ExponentialDelayReconnector
指数関数的に遅延しながら再接続を試みる物のようです。
これとは別に、org.fluentd.logger.sender.Reconnectorインターフェースを実装することで、
独自の動作を実装できます。
以下のメソッドを利用することで、独自の動作をさせることができます。
org.fluentd.loggerFluentLogger#getLogger(String, String, int, int, int, Reconnector)
2015年4月25日土曜日
JUnit3を利用するDBUnitで、ExcelのXLSX形式に対応する。
諸般の事情で、JUnit4系にできないので、
主なライブラリ構成は以下の通りになりました。
下記に記載がある通り、対応します。
JUnit - ふなWiki - xlsx をデータとして利用する
DBUnitでXLSXを扱うように変更する場合、POIの公式に記載してある通りに対応すればOKです。
Apache POI - Upgrading to POI 3.5, including converting existing HSSF Usermodel code to SS Usermodel (for XSSF and HSSF)
自前で対応した後、DBUnitが正式に対応したので、以下をパッチすれば良いと思います。
試してはいないですが、パッと見た感じだと私が対応した内容と同じ感じでした。
dbUnit / Git / Commit [c6a6ba] Apache POI liblary version up from "3.2-FINAL" to "3.11".
ついでに、読み込んだExcelの日時がズレてしまう問題に対応します。
以下のブログに言及がありますが、独自でXLSX対応しちゃうついでに、こちらもコードを直しちゃいます。
山下寛人オフィシャルブログ - DBUnit Excelロード時の時刻データ
対応する箇所は、以下の通りです。
org.dbunit.dataset.excel.XlsTable
とりあえず、これで問題なくテストできています。
主なライブラリ構成は以下の通りになりました。
- JUnit3.8.2
- DBUnit2.4.9
- POI3.7
下記に記載がある通り、対応します。
JUnit - ふなWiki - xlsx をデータとして利用する
DBUnitでXLSXを扱うように変更する場合、POIの公式に記載してある通りに対応すればOKです。
Apache POI - Upgrading to POI 3.5, including converting existing HSSF Usermodel code to SS Usermodel (for XSSF and HSSF)
自前で対応した後、DBUnitが正式に対応したので、以下をパッチすれば良いと思います。
試してはいないですが、パッと見た感じだと私が対応した内容と同じ感じでした。
dbUnit / Git / Commit [c6a6ba] Apache POI liblary version up from "3.2-FINAL" to "3.11".
ついでに、読み込んだExcelの日時がズレてしまう問題に対応します。
以下のブログに言及がありますが、独自でXLSX対応しちゃうついでに、こちらもコードを直しちゃいます。
山下寛人オフィシャルブログ - DBUnit Excelロード時の時刻データ
対応する箇所は、以下の通りです。
org.dbunit.dataset.excel.XlsTable
protected Object getDateValue(Cell cell)
{
logger.debug("getDateValue(cell={}) - start", cell);
double numericValue = cell.getNumericCellValue();
Date date = DateUtil.getJavaDate(numericValue);
// Add the timezone offset again because it was subtracted automatically by Apache-POI (we need UTC)
long tzOffset = TimeZone.getDefault().getOffset(date.getTime());// この行をコメントアウトする。
date = new Date(date.getTime() + tzOffset); // この行をコメントアウトする。
return new Long(date.getTime());
//TODO use a calendar for XLS Date objects when it is supported better by POI
// HSSFCellStyle style = cell.getCellStyle();
// HSSFDataFormatter formatter = new HSSFDataFormatter();
// Format f = formatter.createFormat(cell);
// String formatted = fomatter.formatCellValue(cell);
//System.out.println("###"+formatted);
// Date dateValue = cell.getDateCellValue();
}
とりあえず、これで問題なくテストできています。
2015年3月22日日曜日
2015年4月(春)開始アニメ新番組私的録画メモ
新しく始まるアニメの個人的な録画予約のメモ。
チェックしている放送局は在京キー局とBS、AT-X、TOKYO MX、チバテレビ。
Fate/stay night 2期、響け!ユーフォニアムに期待しています。
最後に、情報源は以下のサイトです。ありがとうごとうございます。
GIGZAZINE 2015年春季開始の新作アニメ一覧
楽描喜堂
チェックしている放送局は在京キー局とBS、AT-X、TOKYO MX、チバテレビ。
曜日 | タイトル | 初回放送日時 | 放送局 |
---|---|---|---|
日 | SHOW BY ROCK!! | 4月5日(日) 22:00 | TOKYO MX |
山田くんと7人の魔女 | 4月12日(日) 23:30 | TOKYO MX | |
グリザイアの迷宮 | 4月12日(日) 26:35 | TOKYO MX | |
月 | ハロー!!きんいろモザイク | 4月6日(月) 24:00 | TOKYO MX |
高宮なすのです! | 4月6日(月) 25:08 | TOKYO MX | |
てーきゅう 4期 | 4月6日(月) 25:35 | TOKYO MX | |
火 | 響け!ユーフォニアム | 4月7日(火) 24:30 | TOKYO MX |
木 | えとたま | 4月9日(木) 23:00 | TOKYO MX |
放課後のプレアデス | 4月9日(木) 24:00 | TOKYO MX | |
やはり俺の青春ラブコメはまちがっている。続 | 4月2日(木) 25:46 | TBS | |
レーカン! | 4月2日(木) 26:16 | TBS | |
金 | ニセコイ: | 4月10日(金) 23:30 | TOKYO MX |
長門有希ちゃんの消失 | 4月3日(金) 25:40 | TOKYO MX | |
土 | Fate/stay night [Unlimited Blade Works] 2ndシーズン | 4月4日(土) 24:00 | TOKYO MX |
Fate/stay night 2期、響け!ユーフォニアムに期待しています。
最後に、情報源は以下のサイトです。ありがとうごとうございます。
GIGZAZINE 2015年春季開始の新作アニメ一覧
楽描喜堂
ラベル:
アニメ
登録:
投稿 (Atom)