C:\eclipse\eclipse.exe -data "C:\workspace\"
C:\eclipse\eclipse.exe -data "C:\workspace"
data引数の最後の\を取ったら、ちゃんと起動した。
C:\eclipse\eclipse.exe -data "C:\workspace\"
C:\eclipse\eclipse.exe -data "C:\workspace"
曜日 | タイトル | 初回放送日時 | 放送局 |
---|---|---|---|
日 | 人生相談テレビアニメーション「人生」 | 7月6日(日) 22:00 | TOKYO MX |
さばげぶっ! | 7月6日(日) 22:30 | TOKYO MX | |
スペース☆ダンディ シーズン2 | 7月6日(日) 23:00 | TOKYO MX | |
月 | ハナヤマタ | 7月7日(月) 25:35 | テレビ東京 |
水 | ヤマノススメ セカンドシーズン | 7月9日(水) 22:00 | TOKYO MX |
まじもじるるも | 7月9日(水) 24:00 | TOKYO MX | |
Fate/kaleid liner プリズマ☆イリヤ 2wei(ツヴァイ)! | 7月9日(水) 25:35 | TOKYO MX | |
木 | グラスリップ | 7月3日(木) 22:30 | TOKYO MX |
RAIL WARS! | 7月3日(木) 25:46 | TBS | |
普通の女子校生が【ろこどる】やってみた。 | 7月3日(木) 26:16 | TBS | |
金 | 六畳間の侵略者!? | 7月11日(金) 25:05 | TOKYO MX |
土 | ばらかもん | 7月5日(土) 26:20 | 日本テレビ |
package util; /** * jQueryユーティリティー * @author @michigawi */ public final class JQueryUtil { /** エスケープ対象文字 */ private static final char[] META_CHARACTERS = new char[]{' ', '!', '"', '#', '$', '%', '&', '\'', '(', ')', '*', '+', ',', '.', '/', ':', ';', '<', '=', '>', '?', '@', '[', '\\', ']', '^', '`', '{', '|', '}', '~'}; /** jQueryのエスケープ文字 */ private static final String ESCAPE_META = "\\\\"; /** * エスケープします。 * http://api.jquery.com/category/selectors/ * @param target ターゲットの文字 * @return エスケープ後の文字列 */ public static final String escape(String target) { if (target == null) { return null; } StringBuilder escaped = new StringBuilder(target.length() * 2); for (char character : target.toCharArray()) { if (findEscapeTarget(character)) { escaped.append(ESCAPE_META); } escaped.append(character); } return escaped.toString(); } /** * 文字列がエスケープ対象か判別します。 * @param target ターゲットの文字 * @return エスケープ対象の場合、true */ private static boolean findEscapeTarget(char target) { for (char meta : META_CHARACTERS) { if (target == meta) { return true; } } return false; } }
package util; import static org.hamcrest.CoreMatchers.*; import static org.junit.Assert.*; import org.junit.Test; /** * {@link util.JQueryUtilTest}のテスト * @author @michigawi */ public class JQueryUtilTest { @Test public void 半角スペースをエスケープする() { assertThat(JQueryUtil.escape("jQuery selector"), is("jQuery\\\\ selector")); } @Test public void 半角エクスクラメーションマークをエスケープする() { assertThat(JQueryUtil.escape("jQuery!selector"), is("jQuery\\\\!selector")); } @Test public void ダブルクウォートをエスケープする() { assertThat(JQueryUtil.escape("jQuery\"selector"), is("jQuery\\\\\"selector")); } @Test public void シャープをエスケープする() { assertThat(JQueryUtil.escape("jQuery#selector"), is("jQuery\\\\#selector")); } @Test public void ダラーをエスケープする() { assertThat(JQueryUtil.escape("jQuery$selector"), is("jQuery\\\\$selector")); } @Test public void パーセントをエスケープする() { assertThat(JQueryUtil.escape("jQuery%selector"), is("jQuery\\\\%selector")); } @Test public void アンドをエスケープする() { assertThat(JQueryUtil.escape("jQuery&selector"), is("jQuery\\\\&selector")); } @Test public void シングルクォートをエスケープする() { assertThat(JQueryUtil.escape("jQuery'selector"), is("jQuery\\\\'selector")); } @Test public void 左丸カッコをエスケープする() { assertThat(JQueryUtil.escape("jQuery(selector"), is("jQuery\\\\(selector")); } @Test public void 右丸カッコをエスケープする() { assertThat(JQueryUtil.escape("jQuery)selector"), is("jQuery\\\\)selector")); } @Test public void アスタリスクをエスケープする() { assertThat(JQueryUtil.escape("jQuery*selector"), is("jQuery\\\\*selector")); } @Test public void プラスをエスケープする() { assertThat(JQueryUtil.escape("jQuery+selector"), is("jQuery\\\\+selector")); } @Test public void カンマをエスケープする() { assertThat(JQueryUtil.escape("jQuery,selector"), is("jQuery\\\\,selector")); } @Test public void ピリオドをエスケープする() { assertThat(JQueryUtil.escape("jQuery.selector"), is("jQuery\\\\.selector")); } @Test public void スラッシュをエスケープする() { assertThat(JQueryUtil.escape("jQuery/selector"), is("jQuery\\\\/selector")); } @Test public void コロンをエスケープする() { assertThat(JQueryUtil.escape("jQuery:selector"), is("jQuery\\\\:selector")); } @Test public void セミコロンをエスケープする() { assertThat(JQueryUtil.escape("jQuery;selector"), is("jQuery\\\\;selector")); } @Test public void 小なり記号をエスケープする() { assertThat(JQueryUtil.escape("jQueryselector"), is("jQuery\\\\>;selector")); } @Test public void クエッションをエスケープする() { assertThat(JQueryUtil.escape("jQuery?selector"), is("jQuery\\\\?selector")); } @Test public void アットマークをエスケープする() { assertThat(JQueryUtil.escape("jQuery@selector"), is("jQuery\\\\@selector")); } @Test public void 左大カッコをエスケープする() { assertThat(JQueryUtil.escape("jQuery[selector"), is("jQuery\\\\[selector")); } @Test public void バックスラッシュをエスケープする() { assertThat(JQueryUtil.escape("jQuery\\selector"), is("jQuery\\\\\\selector")); } @Test public void 右大カッコをエスケープする() { assertThat(JQueryUtil.escape("jQuery]selector"), is("jQuery\\\\]selector")); } @Test public void キャレットをエスケープする() { assertThat(JQueryUtil.escape("jQuery^selector"), is("jQuery\\\\^selector")); } @Test public void グレイヴアクセントをエスケープする() { assertThat(JQueryUtil.escape("jQuery`selector"), is("jQuery\\\\`selector")); } @Test public void 左中カッコをエスケープする() { assertThat(JQueryUtil.escape("jQuery{selector"), is("jQuery\\\\{selector")); } @Test public void 縦線をエスケープする() { assertThat(JQueryUtil.escape("jQuery|selector"), is("jQuery\\\\|selector")); } @Test public void 右中カッコをエスケープする() { assertThat(JQueryUtil.escape("jQuery}selector"), is("jQuery\\\\}selector")); } @Test public void チルダをエスケープする() { assertThat(JQueryUtil.escape("jQuery~selector"), is("jQuery\\\\~selector")); } }
曜日 | タイトル | 初回放送日時 | 放送局 |
---|---|---|---|
日 | 極黒のブリュンヒルデ | 4月6日(日) 22:00 | TOKYO MX |
ラブライブ! School idol project 2期 | 4月6日(日) 22:30 | TOKYO MX | |
彼女がフラグをおられたら | 4月6日(日) 24:30 | TOKYO MX | |
月 | マンガ家さんとアシスタントさんと | 4月7日(月) 25:05 | TOKYO MX |
火 | ソウルイーターノット! | 4月8日(火) 26:00(25:40) | テレビ東京 |
水 | 棺姫のチャイカ | 4月9日(水) 25:05 | TOKYO MX |
木 | エスカ&ロジーのアトリエ~黄昏の空の錬金術士~ | 4月10日(木) 22:00 | TOKYO MX |
ご注文はうさぎですか? | 4月10日(木) 22:30 | TOKYO MX | |
ピンポン THE ANIMATION | 4月10日(木) 24:50(24:20) | フジテレビ | |
龍ヶ嬢七々々の埋蔵金 | 4月10日(木) 25:30(25:20) | フジテレビ | |
僕らはみんな河合荘 | 4月3日(木) 26:16 | TBS | |
金 | 監督不行届 | 4月(金) 22:25 | AT-X |
蟲師 続章 | 4月4日(金) 24:00 | TOKYO MX | |
ジョジョの奇妙な冒険 スターダストクルセイダース | 4月4日(金) 24:30 | TOKYO MX | |
selector infected WIXOSS | 4月4日(金) 25:05 | TOKYO MX | |
デート・ア・ライブⅡ | 4月11日(金) 25:35 | TOKYO MX | |
土 | レディ ジュエルペット | 4月5日(土) 9:30 | テレビ東京 |
魔法科高校の劣等生 | 4月5日(土) 24:30 | TOKYO MX |
/
/pmd-bin-5.1.0/
/commons-net-3.3-src/
/apache-ant-1.8.4/
build.xml
cpdExec.bat
<?xml version="1.0" encoding="UTF-8"?>
<project name="CPD" default="analysis" basedir=".">
<path id="cpd.lib">
<fileset dir="./pmd-bin-5.1.0/lib">
<include name="*.jar"/>
</fileset>
</path>
<taskdef name="cpd" classpathref="cpd.lib" classname="net.sourceforge.pmd.cpd.CPDTask"/>
<target name="analysis">
<antcall target="cpd" />
<antcall target="xslt" />
</target>
<target name="cpd">
<cpd encoding="UTF-8" minimumTokenCount="100" format="xml" language="java" outputFile="cpd.xml">
<fileset dir="./commons-net-3.3-src/src/main/java">
<include name="**/*.java"/>
</fileset>
</cpd>
</target>
<target name="xslt">
<xslt in="cpd.xml" style="./pmd-bin-5.1.0/etc/xslt/cpdhtml.xslt" out="cpd.html" />
</target>
</project>
setlocal
set JAVA_HOME=%ProgramFiles%\Java\jdk1.7.0_51
set ANT_HOME=./apache-ant-1.8.4
"%ANT_HOME%\bin\ant.bat"
pause
/
/pmd-bin-5.1.0/
/commons-net-3.3-src/
cpdExec.bat
setlocal
set JAVA_HOME=%ProgramFiles%\Java\jdk1.7.0_51
set CLASSPATH=./pmd-bin-5.1.0/lib/ant-1.8.1.jar;./pmd-bin-5.1.0/lib/ant-launcher-1.8.1.jar;./pmd-bin-5.1.0/lib/ant-testutil-1.7.1.jar;./pmd-bin-5.1.0/lib/asm-5.0_BETA.jar;./pmd-bin-5.1.0/lib/commons-io-2.2.jar;./pmd-bin-5.1.0/lib/commons-lang3-3.1.jar;./pmd-bin-5.1.0/lib/dom4j-1.6.1.jar;./pmd-bin-5.1.0/lib/javacc-5.0.jar;./pmd-bin-5.1.0/lib/jaxen-1.1.1.jar;./pmd-bin-5.1.0/lib/jcommander-1.27.jar;./pmd-bin-5.1.0/lib/jdom-1.0.jar;./pmd-bin-5.1.0/lib/junit-4.4.jar;./pmd-bin-5.1.0/lib/pmd-5.1.0.jar;./pmd-bin-5.1.0/lib/rhino-1.7R3.jar;./pmd-bin-5.1.0/lib/saxon-9.1.0.8-dom.jar;./pmd-bin-5.1.0/lib/saxon-9.1.0.8.jar;./pmd-bin-5.1.0/lib/xercesImpl-2.9.1.jar;./pmd-bin-5.1.0/lib/xml-apis-1.3.02.jar;./pmd-bin-5.1.0/lib/xmlParserAPIs-2.6.2.jar;./pmd-bin-5.1.0/lib/xom-1.0.jar
"%JAVA_HOME%\bin\java.exe" -Xmx512m net.sourceforge.pmd.cpd.CPD --minimum-tokens 100 --files ./commons-net-3.3-src/src/main/java --encoding utf-8 --format xml
pause
cpdExec.bat > cpd.xml
package tdd; import java.util.Calendar; import java.util.Date; /** * 挨拶をするクラスです。 * @author michigawi */ public class Greeter { /** * 挨拶します。 * @param date 日時 * @return 挨拶 */ public String greet(Date date) { Calendar cal = Calendar.getInstance(); cal.setTime(date); int hour = cal.get(Calendar.HOUR_OF_DAY); int minute = cal.get(Calendar.MINUTE); int second = cal.get(Calendar.SECOND); for (Greeting greeting : Greeting.values()) { if (greeting.valid(hour, minute, second)) { return greeting.getGreeting(); } } return null; } /** * 挨拶です。 * @author michigawi */ private enum Greeting { /** 朝 */ MORNING("おはようございます") { @Override public boolean valid(int hour, int minute, int second) { if (hour >= 5 && (hour <= 11 && minute <= 59 && second <= 59)) { return true; } return false; } } /** 日中 */ , AFTERNOON("こんにちは") { @Override public boolean valid(int hour, int minute, int second) { if (hour >= 12 && (hour <= 17 && minute <= 59 && second <= 59)) { return true; } return false; } } /** 夜 */ , NIGHT("こんばんは") { @Override public boolean valid(int hour, int minute, int second) { if (hour >= 18 && (hour <= 23 && minute <= 59 && second <= 59)) { return true; } if (hour >= 0 && (hour <= 4 && minute <= 59 && second <= 59)) { return true; } return false; } }; /** 挨拶するか */ public abstract boolean valid(int hour, int minute, int second); /** 挨拶 */ private String greeting; /** * コンストラクタです。 * @param greeting */ Greeting(String greeting) { this.greeting = greeting; } /** * 挨拶を返します。 * @return 挨拶 */ public String getGreeting() { return greeting; } } }最後にテストです。
package tdd; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; import java.util.Calendar; import org.junit.Before; import org.junit.Test; /** * {@link tdd.Greeter}のテストです。 * @author michigawi */ public class GreeterTest { /** テスト対象のクラス */ private Greeter greeter; /** カレンダー */ private Calendar calendar; /** * setup. */ @Before public void setUp() { greeter = new Greeter(); calendar = Calendar.getInstance(); calendar.clear(); calendar.set(2014, Calendar.JANUARY, 3); } /** * Test method for {@link tdd.Greeter#greet(java.util.Date)}. */ @Test public void 午前0時ジャストはこんばんは() { calendar.set(Calendar.HOUR_OF_DAY, 0); calendar.set(Calendar.MINUTE, 0); calendar.set(Calendar.SECOND, 0); assertThat("", greeter.greet(calendar.getTime()), is("こんばんは")); } /** * Test method for {@link tdd.Greeter#greet(java.util.Date)}. */ @Test public void 午前5時より前はこんばんは() { calendar.set(Calendar.HOUR_OF_DAY, 4); calendar.set(Calendar.MINUTE, 59); calendar.set(Calendar.SECOND, 59); assertThat("", greeter.greet(calendar.getTime()), is("こんばんは")); } /** * Test method for {@link tdd.Greeter#greet(java.util.Date)}. */ @Test public void 午前5時ジャストはおはようございます() { calendar.set(Calendar.HOUR_OF_DAY, 5); calendar.set(Calendar.MINUTE, 0); calendar.set(Calendar.SECOND, 0); assertThat("", greeter.greet(calendar.getTime()), is("おはようございます")); } /** * Test method for {@link tdd.Greeter#greet(java.util.Date)}. */ @Test public void 正午の前はおはようございます() { calendar.set(Calendar.HOUR_OF_DAY, 11); calendar.set(Calendar.MINUTE, 59); calendar.set(Calendar.SECOND, 59); assertThat("", greeter.greet(calendar.getTime()), is("おはようございます")); } /** * Test method for {@link tdd.Greeter#greet(java.util.Date)}. */ @Test public void 正午はこんにちは() { calendar.set(Calendar.HOUR_OF_DAY, 12); calendar.set(Calendar.MINUTE, 0); calendar.set(Calendar.SECOND, 0); assertThat("", greeter.greet(calendar.getTime()), is("こんにちは")); } /** * Test method for {@link tdd.Greeter#greet(java.util.Date)}. */ @Test public void 午後6時より前はこんにちは() { calendar.set(Calendar.HOUR_OF_DAY, 17); calendar.set(Calendar.MINUTE, 59); calendar.set(Calendar.SECOND, 59); assertThat("", greeter.greet(calendar.getTime()), is("こんにちは")); } /** * Test method for {@link tdd.Greeter#greet(java.util.Date)}. */ @Test public void 午後6時ジャストはこんばんは() { calendar.set(Calendar.HOUR_OF_DAY, 18); calendar.set(Calendar.MINUTE, 0); calendar.set(Calendar.SECOND, 0); assertThat("", greeter.greet(calendar.getTime()), is("こんばんは")); } /** * Test method for {@link tdd.Greeter#greet(java.util.Date)}. */ @Test public void _24時はこんばんは() { calendar.set(Calendar.HOUR_OF_DAY, 24); calendar.set(Calendar.MINUTE, 0); calendar.set(Calendar.SECOND, 0); assertThat("", greeter.greet(calendar.getTime()), is("こんばんは")); } }