+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>\r
-<!-- You may freely edit this file. See commented blocks below for -->\r
-<!-- some examples of how to customize the build. -->\r
-<!-- (If you delete it and reopen the project it will be recreated.) -->\r
-<project name="NicoBrowser" default="default" basedir=".">\r
- <description>Builds, tests, and runs the project NicoBrowser.</description>\r
- <import file="nbproject/build-impl.xml"/>\r
- <!--\r
-\r
- There exist several targets which are by default empty and which can be \r
- used for execution of your tasks. These targets are usually executed \r
- before and after some main targets. They are: \r
-\r
- -pre-init: called before initialization of project properties\r
- -post-init: called after initialization of project properties\r
- -pre-compile: called before javac compilation\r
- -post-compile: called after javac compilation\r
- -pre-compile-single: called before javac compilation of single file\r
- -post-compile-single: called after javac compilation of single file\r
- -pre-compile-test: called before javac compilation of JUnit tests\r
- -post-compile-test: called after javac compilation of JUnit tests\r
- -pre-compile-test-single: called before javac compilation of single JUnit test\r
- -post-compile-test-single: called after javac compilation of single JUunit test\r
- -pre-jar: called before JAR building\r
- -post-jar: called after JAR building\r
- -post-clean: called after cleaning build products\r
-\r
- (Targets beginning with '-' are not intended to be called on their own.)\r
-\r
- Example of inserting an obfuscator after compilation could look like this:\r
-\r
- <target name="-post-compile">\r
- <obfuscate>\r
- <fileset dir="${build.classes.dir}"/>\r
- </obfuscate>\r
- </target>\r
-\r
- For list of available properties check the imported \r
- nbproject/build-impl.xml file. \r
-\r
-\r
- Another way to customize the build is by overriding existing main targets.\r
- The targets of interest are: \r
-\r
- -init-macrodef-javac: defines macro for javac compilation\r
- -init-macrodef-junit: defines macro for junit execution\r
- -init-macrodef-debug: defines macro for class debugging\r
- -init-macrodef-java: defines macro for class execution\r
- -do-jar-with-manifest: JAR building (if you are using a manifest)\r
- -do-jar-without-manifest: JAR building (if you are not using a manifest)\r
- run: execution of project \r
- -javadoc-build: Javadoc generation\r
- test-report: JUnit report generation\r
-\r
- An example of overriding the target for project execution could look like this:\r
-\r
- <target name="run" depends="NicoBrowser-impl.jar">\r
- <exec dir="bin" executable="launcher.exe">\r
- <arg file="${dist.jar}"/>\r
- </exec>\r
- </target>\r
-\r
- Notice that the overridden target depends on the jar target and not only on \r
- the compile target as the regular run target does. Again, for a list of available \r
- properties which you can use, check the target you are overriding in the\r
- nbproject/build-impl.xml file. \r
-\r
- -->\r
-</project>\r
+++ /dev/null
-Manifest-Version: 1.0\r
-X-COMMENT: Main-Class will be added automatically by build\r
-\r
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<jnlp spec="1.0+" codebase="${jnlp.codebase}" href="launch.jnlp">
- <information>
- <title>${APPLICATION.TITLE}</title>
- <vendor>${APPLICATION.VENDOR}</vendor>
- <description>${APPLICATION.DESC}</description>
- <description kind="short">${APPLICATION.DESC.SHORT}</description>
- <homepage href="${APPLICATION.HOMEPAGE}"/>
-<!--${JNLP.ICONS}-->
-<!--${JNLP.OFFLINE.ALLOWED}-->
- </information>
-<!--${JNLP.SECURITY}-->
- <resources>
-<!--${JNLP.RESOURCES.RUNTIME}-->
-<!--${JNLP.RESOURCES.MAIN.JAR}-->
-<!--${JNLP.RESOURCES.JARS}-->
- </resources>
- <application-desc main-class="${jnlp.main.class}">
-<!--${JNLP.APPLICATION.ARGS}-->
- </application-desc>
-</jnlp>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>\r
-<!--\r
-*** GENERATED FROM project.xml - DO NOT EDIT ***\r
-*** EDIT ../build.xml INSTEAD ***\r
-\r
-For the purpose of easier reading the script\r
-is divided into following sections:\r
-\r
- - initialization\r
- - compilation\r
- - jar\r
- - execution\r
- - debugging\r
- - javadoc\r
- - junit compilation\r
- - junit execution\r
- - junit debugging\r
- - applet\r
- - cleanup\r
-\r
- -->\r
-<project xmlns:j2seproject1="http://www.netbeans.org/ns/j2se-project/1" xmlns:j2seproject2="http://www.netbeans.org/ns/j2se-project/2" xmlns:j2seproject3="http://www.netbeans.org/ns/j2se-project/3" xmlns:jaxrpc="http://www.netbeans.org/ns/j2se-project/jax-rpc" basedir=".." default="default" name="NicoBrowser-impl">\r
- <import file="jnlp-impl.xml"/>\r
- <target depends="test,jar,javadoc" description="Build and test whole project." name="default"/>\r
- <!-- \r
- ======================\r
- INITIALIZATION SECTION \r
- ======================\r
- -->\r
- <target name="-pre-init">\r
- <!-- Empty placeholder for easier customization. -->\r
- <!-- You can override this target in the ../build.xml file. -->\r
- </target>\r
- <target depends="-pre-init" name="-init-private">\r
- <property file="nbproject/private/config.properties"/>\r
- <property file="nbproject/private/configs/${config}.properties"/>\r
- <property file="nbproject/private/private.properties"/>\r
- </target>\r
- <target depends="-pre-init,-init-private" name="-init-user">\r
- <property file="${user.properties.file}"/>\r
- <!-- The two properties below are usually overridden -->\r
- <!-- by the active platform. Just a fallback. -->\r
- <property name="default.javac.source" value="1.4"/>\r
- <property name="default.javac.target" value="1.4"/>\r
- </target>\r
- <target depends="-pre-init,-init-private,-init-user" name="-init-project">\r
- <property file="nbproject/configs/${config}.properties"/>\r
- <property file="nbproject/project.properties"/>\r
- </target>\r
- <target depends="-pre-init,-init-private,-init-user,-init-project,-init-macrodef-property" name="-do-init">\r
- <available file="${manifest.file}" property="manifest.available"/>\r
- <condition property="manifest.available+main.class">\r
- <and>\r
- <isset property="manifest.available"/>\r
- <isset property="main.class"/>\r
- <not>\r
- <equals arg1="${main.class}" arg2="" trim="true"/>\r
- </not>\r
- </and>\r
- </condition>\r
- <condition property="manifest.available+main.class+mkdist.available">\r
- <and>\r
- <istrue value="${manifest.available+main.class}"/>\r
- <isset property="libs.CopyLibs.classpath"/>\r
- </and>\r
- </condition>\r
- <condition property="have.tests">\r
- <or>\r
- <available file="${test.src.dir}"/>\r
- </or>\r
- </condition>\r
- <condition property="have.sources">\r
- <or>\r
- <available file="${src.dir}"/>\r
- </or>\r
- </condition>\r
- <condition property="netbeans.home+have.tests">\r
- <and>\r
- <isset property="netbeans.home"/>\r
- <isset property="have.tests"/>\r
- </and>\r
- </condition>\r
- <condition property="no.javadoc.preview">\r
- <and>\r
- <isset property="javadoc.preview"/>\r
- <isfalse value="${javadoc.preview}"/>\r
- </and>\r
- </condition>\r
- <property name="run.jvmargs" value=""/>\r
- <property name="javac.compilerargs" value=""/>\r
- <property name="work.dir" value="${basedir}"/>\r
- <condition property="no.deps">\r
- <and>\r
- <istrue value="${no.dependencies}"/>\r
- </and>\r
- </condition>\r
- <property name="javac.debug" value="true"/>\r
- <property name="javadoc.preview" value="true"/>\r
- <property name="application.args" value=""/>\r
- <property name="source.encoding" value="${file.encoding}"/>\r
- <condition property="javadoc.encoding.used" value="${javadoc.encoding}">\r
- <and>\r
- <isset property="javadoc.encoding"/>\r
- <not>\r
- <equals arg1="${javadoc.encoding}" arg2=""/>\r
- </not>\r
- </and>\r
- </condition>\r
- <property name="javadoc.encoding.used" value="${source.encoding}"/>\r
- <property name="includes" value="**"/>\r
- <property name="excludes" value=""/>\r
- <property name="do.depend" value="false"/>\r
- <condition property="do.depend.true">\r
- <istrue value="${do.depend}"/>\r
- </condition>\r
- <condition else="" property="javac.compilerargs.jaxws" value="-Djava.endorsed.dirs='${jaxws.endorsed.dir}'">\r
- <and>\r
- <isset property="jaxws.endorsed.dir"/>\r
- <available file="nbproject/jaxws-build.xml"/>\r
- </and>\r
- </condition>\r
- </target>\r
- <target name="-post-init">\r
- <!-- Empty placeholder for easier customization. -->\r
- <!-- You can override this target in the ../build.xml file. -->\r
- </target>\r
- <target depends="-pre-init,-init-private,-init-user,-init-project,-do-init" name="-init-check">\r
- <fail unless="src.dir">Must set src.dir</fail>\r
- <fail unless="test.src.dir">Must set test.src.dir</fail>\r
- <fail unless="build.dir">Must set build.dir</fail>\r
- <fail unless="dist.dir">Must set dist.dir</fail>\r
- <fail unless="build.classes.dir">Must set build.classes.dir</fail>\r
- <fail unless="dist.javadoc.dir">Must set dist.javadoc.dir</fail>\r
- <fail unless="build.test.classes.dir">Must set build.test.classes.dir</fail>\r
- <fail unless="build.test.results.dir">Must set build.test.results.dir</fail>\r
- <fail unless="build.classes.excludes">Must set build.classes.excludes</fail>\r
- <fail unless="dist.jar">Must set dist.jar</fail>\r
- </target>\r
- <target name="-init-macrodef-property">\r
- <macrodef name="property" uri="http://www.netbeans.org/ns/j2se-project/1">\r
- <attribute name="name"/>\r
- <attribute name="value"/>\r
- <sequential>\r
- <property name="@{name}" value="${@{value}}"/>\r
- </sequential>\r
- </macrodef>\r
- </target>\r
- <target name="-init-macrodef-javac">\r
- <macrodef name="javac" uri="http://www.netbeans.org/ns/j2se-project/3">\r
- <attribute default="${src.dir}" name="srcdir"/>\r
- <attribute default="${build.classes.dir}" name="destdir"/>\r
- <attribute default="${javac.classpath}" name="classpath"/>\r
- <attribute default="${includes}" name="includes"/>\r
- <attribute default="${excludes}" name="excludes"/>\r
- <attribute default="${javac.debug}" name="debug"/>\r
- <attribute default="" name="sourcepath"/>\r
- <element name="customize" optional="true"/>\r
- <sequential>\r
- <javac debug="@{debug}" deprecation="${javac.deprecation}" destdir="@{destdir}" encoding="${source.encoding}" excludes="@{excludes}" includeantruntime="false" includes="@{includes}" source="${javac.source}" sourcepath="@{sourcepath}" srcdir="@{srcdir}" target="${javac.target}">\r
- <classpath>\r
- <path path="@{classpath}"/>\r
- </classpath>\r
- <compilerarg line="${javac.compilerargs} ${javac.compilerargs.jaxws}"/>\r
- <customize/>\r
- </javac>\r
- </sequential>\r
- </macrodef>\r
- <macrodef name="depend" uri="http://www.netbeans.org/ns/j2se-project/3">\r
- <attribute default="${src.dir}" name="srcdir"/>\r
- <attribute default="${build.classes.dir}" name="destdir"/>\r
- <attribute default="${javac.classpath}" name="classpath"/>\r
- <sequential>\r
- <depend cache="${build.dir}/depcache" destdir="@{destdir}" excludes="${excludes}" includes="${includes}" srcdir="@{srcdir}">\r
- <classpath>\r
- <path path="@{classpath}"/>\r
- </classpath>\r
- </depend>\r
- </sequential>\r
- </macrodef>\r
- <macrodef name="force-recompile" uri="http://www.netbeans.org/ns/j2se-project/3">\r
- <attribute default="${build.classes.dir}" name="destdir"/>\r
- <sequential>\r
- <fail unless="javac.includes">Must set javac.includes</fail>\r
- <pathconvert pathsep="," property="javac.includes.binary">\r
- <path>\r
- <filelist dir="@{destdir}" files="${javac.includes}"/>\r
- </path>\r
- <globmapper from="*.java" to="*.class"/>\r
- </pathconvert>\r
- <delete>\r
- <files includes="${javac.includes.binary}"/>\r
- </delete>\r
- </sequential>\r
- </macrodef>\r
- </target>\r
- <target name="-init-macrodef-junit">\r
- <macrodef name="junit" uri="http://www.netbeans.org/ns/j2se-project/3">\r
- <attribute default="${includes}" name="includes"/>\r
- <attribute default="${excludes}" name="excludes"/>\r
- <attribute default="**" name="testincludes"/>\r
- <sequential>\r
- <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" showoutput="true">\r
- <batchtest todir="${build.test.results.dir}">\r
- <fileset dir="${test.src.dir}" excludes="@{excludes},${excludes}" includes="@{includes}">\r
- <filename name="@{testincludes}"/>\r
- </fileset>\r
- </batchtest>\r
- <classpath>\r
- <path path="${run.test.classpath}"/>\r
- </classpath>\r
- <syspropertyset>\r
- <propertyref prefix="test-sys-prop."/>\r
- <mapper from="test-sys-prop.*" to="*" type="glob"/>\r
- </syspropertyset>\r
- <formatter type="brief" usefile="false"/>\r
- <formatter type="xml"/>\r
- <jvmarg line="${run.jvmargs}"/>\r
- </junit>\r
- </sequential>\r
- </macrodef>\r
- </target>\r
- <target name="-init-macrodef-nbjpda">\r
- <macrodef name="nbjpdastart" uri="http://www.netbeans.org/ns/j2se-project/1">\r
- <attribute default="${main.class}" name="name"/>\r
- <attribute default="${debug.classpath}" name="classpath"/>\r
- <attribute default="" name="stopclassname"/>\r
- <sequential>\r
- <nbjpdastart addressproperty="jpda.address" name="@{name}" stopclassname="@{stopclassname}" transport="dt_socket">\r
- <classpath>\r
- <path path="@{classpath}"/>\r
- </classpath>\r
- </nbjpdastart>\r
- </sequential>\r
- </macrodef>\r
- <macrodef name="nbjpdareload" uri="http://www.netbeans.org/ns/j2se-project/1">\r
- <attribute default="${build.classes.dir}" name="dir"/>\r
- <sequential>\r
- <nbjpdareload>\r
- <fileset dir="@{dir}" includes="${fix.includes}*.class"/>\r
- </nbjpdareload>\r
- </sequential>\r
- </macrodef>\r
- </target>\r
- <target name="-init-debug-args">\r
- <property name="version-output" value="java version "${ant.java.version}"/>\r
- <condition property="have-jdk-older-than-1.4">\r
- <or>\r
- <contains string="${version-output}" substring="java version "1.0"/>\r
- <contains string="${version-output}" substring="java version "1.1"/>\r
- <contains string="${version-output}" substring="java version "1.2"/>\r
- <contains string="${version-output}" substring="java version "1.3"/>\r
- </or>\r
- </condition>\r
- <condition else="-Xdebug" property="debug-args-line" value="-Xdebug -Xnoagent -Djava.compiler=none">\r
- <istrue value="${have-jdk-older-than-1.4}"/>\r
- </condition>\r
- </target>\r
- <target depends="-init-debug-args" name="-init-macrodef-debug">\r
- <macrodef name="debug" uri="http://www.netbeans.org/ns/j2se-project/3">\r
- <attribute default="${main.class}" name="classname"/>\r
- <attribute default="${debug.classpath}" name="classpath"/>\r
- <element name="customize" optional="true"/>\r
- <sequential>\r
- <java classname="@{classname}" dir="${work.dir}" fork="true">\r
- <jvmarg line="${debug-args-line}"/>\r
- <jvmarg value="-Xrunjdwp:transport=dt_socket,address=${jpda.address}"/>\r
- <jvmarg line="${run.jvmargs}"/>\r
- <classpath>\r
- <path path="@{classpath}"/>\r
- </classpath>\r
- <syspropertyset>\r
- <propertyref prefix="run-sys-prop."/>\r
- <mapper from="run-sys-prop.*" to="*" type="glob"/>\r
- </syspropertyset>\r
- <customize/>\r
- </java>\r
- </sequential>\r
- </macrodef>\r
- </target>\r
- <target name="-init-macrodef-java">\r
- <macrodef name="java" uri="http://www.netbeans.org/ns/j2se-project/1">\r
- <attribute default="${main.class}" name="classname"/>\r
- <element name="customize" optional="true"/>\r
- <sequential>\r
- <java classname="@{classname}" dir="${work.dir}" fork="true">\r
- <jvmarg line="${run.jvmargs}"/>\r
- <classpath>\r
- <path path="${run.classpath}"/>\r
- </classpath>\r
- <syspropertyset>\r
- <propertyref prefix="run-sys-prop."/>\r
- <mapper from="run-sys-prop.*" to="*" type="glob"/>\r
- </syspropertyset>\r
- <customize/>\r
- </java>\r
- </sequential>\r
- </macrodef>\r
- </target>\r
- <target name="-init-presetdef-jar">\r
- <presetdef name="jar" uri="http://www.netbeans.org/ns/j2se-project/1">\r
- <jar compress="${jar.compress}" jarfile="${dist.jar}">\r
- <j2seproject1:fileset dir="${build.classes.dir}"/>\r
- </jar>\r
- </presetdef>\r
- </target>\r
- <target depends="-pre-init,-init-private,-init-user,-init-project,-do-init,-post-init,-init-check,-init-macrodef-property,-init-macrodef-javac,-init-macrodef-junit,-init-macrodef-nbjpda,-init-macrodef-debug,-init-macrodef-java,-init-presetdef-jar" name="init"/>\r
- <!--\r
- ===================\r
- COMPILATION SECTION\r
- ===================\r
- -->\r
- <target depends="init" name="deps-jar" unless="no.deps"/>\r
- <target depends="init,deps-jar" name="-pre-pre-compile">\r
- <mkdir dir="${build.classes.dir}"/>\r
- </target>\r
- <target name="-pre-compile">\r
- <!-- Empty placeholder for easier customization. -->\r
- <!-- You can override this target in the ../build.xml file. -->\r
- </target>\r
- <target if="do.depend.true" name="-compile-depend">\r
- <j2seproject3:depend/>\r
- </target>\r
- <target depends="init,deps-jar,-pre-pre-compile,-pre-compile,-compile-depend" if="have.sources" name="-do-compile">\r
- <j2seproject3:javac/>\r
- <copy todir="${build.classes.dir}">\r
- <fileset dir="${src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>\r
- </copy>\r
- </target>\r
- <target name="-post-compile">\r
- <!-- Empty placeholder for easier customization. -->\r
- <!-- You can override this target in the ../build.xml file. -->\r
- </target>\r
- <target depends="init,deps-jar,-pre-pre-compile,-pre-compile,-do-compile,-post-compile" description="Compile project." name="compile"/>\r
- <target name="-pre-compile-single">\r
- <!-- Empty placeholder for easier customization. -->\r
- <!-- You can override this target in the ../build.xml file. -->\r
- </target>\r
- <target depends="init,deps-jar,-pre-pre-compile" name="-do-compile-single">\r
- <fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail>\r
- <j2seproject3:force-recompile/>\r
- <j2seproject3:javac excludes="" includes="${javac.includes}" sourcepath="${src.dir}"/>\r
- </target>\r
- <target name="-post-compile-single">\r
- <!-- Empty placeholder for easier customization. -->\r
- <!-- You can override this target in the ../build.xml file. -->\r
- </target>\r
- <target depends="init,deps-jar,-pre-pre-compile,-pre-compile-single,-do-compile-single,-post-compile-single" name="compile-single"/>\r
- <!--\r
- ====================\r
- JAR BUILDING SECTION\r
- ====================\r
- -->\r
- <target depends="init" name="-pre-pre-jar">\r
- <dirname file="${dist.jar}" property="dist.jar.dir"/>\r
- <mkdir dir="${dist.jar.dir}"/>\r
- </target>\r
- <target name="-pre-jar">\r
- <!-- Empty placeholder for easier customization. -->\r
- <!-- You can override this target in the ../build.xml file. -->\r
- </target>\r
- <target depends="init,compile,-pre-pre-jar,-pre-jar" name="-do-jar-without-manifest" unless="manifest.available">\r
- <j2seproject1:jar/>\r
- </target>\r
- <target depends="init,compile,-pre-pre-jar,-pre-jar" if="manifest.available" name="-do-jar-with-manifest" unless="manifest.available+main.class">\r
- <j2seproject1:jar manifest="${manifest.file}"/>\r
- </target>\r
- <target depends="init,compile,-pre-pre-jar,-pre-jar" if="manifest.available+main.class" name="-do-jar-with-mainclass" unless="manifest.available+main.class+mkdist.available">\r
- <j2seproject1:jar manifest="${manifest.file}">\r
- <j2seproject1:manifest>\r
- <j2seproject1:attribute name="Main-Class" value="${main.class}"/>\r
- </j2seproject1:manifest>\r
- </j2seproject1:jar>\r
- <echo>To run this application from the command line without Ant, try:</echo>\r
- <property location="${build.classes.dir}" name="build.classes.dir.resolved"/>\r
- <property location="${dist.jar}" name="dist.jar.resolved"/>\r
- <pathconvert property="run.classpath.with.dist.jar">\r
- <path path="${run.classpath}"/>\r
- <map from="${build.classes.dir.resolved}" to="${dist.jar.resolved}"/>\r
- </pathconvert>\r
- <echo>java -cp "${run.classpath.with.dist.jar}" ${main.class}</echo>\r
- </target>\r
- <target depends="init,compile,-pre-pre-jar,-pre-jar" if="manifest.available+main.class+mkdist.available" name="-do-jar-with-libraries">\r
- <property location="${build.classes.dir}" name="build.classes.dir.resolved"/>\r
- <pathconvert property="run.classpath.without.build.classes.dir">\r
- <path path="${run.classpath}"/>\r
- <map from="${build.classes.dir.resolved}" to=""/>\r
- </pathconvert>\r
- <pathconvert pathsep=" " property="jar.classpath">\r
- <path path="${run.classpath.without.build.classes.dir}"/>\r
- <chainedmapper>\r
- <flattenmapper/>\r
- <globmapper from="*" to="lib/*"/>\r
- </chainedmapper>\r
- </pathconvert>\r
- <taskdef classname="org.netbeans.modules.java.j2seproject.copylibstask.CopyLibs" classpath="${libs.CopyLibs.classpath}" name="copylibs"/>\r
- <copylibs compress="${jar.compress}" jarfile="${dist.jar}" manifest="${manifest.file}" runtimeclasspath="${run.classpath.without.build.classes.dir}">\r
- <fileset dir="${build.classes.dir}"/>\r
- <manifest>\r
- <attribute name="Main-Class" value="${main.class}"/>\r
- <attribute name="Class-Path" value="${jar.classpath}"/>\r
- </manifest>\r
- </copylibs>\r
- <echo>To run this application from the command line without Ant, try:</echo>\r
- <property location="${dist.jar}" name="dist.jar.resolved"/>\r
- <echo>java -jar "${dist.jar.resolved}"</echo>\r
- </target>\r
- <target name="-post-jar">\r
- <!-- Empty placeholder for easier customization. -->\r
- <!-- You can override this target in the ../build.xml file. -->\r
- </target>\r
- <target depends="init,compile,-pre-jar,-do-jar-with-manifest,-do-jar-without-manifest,-do-jar-with-mainclass,-do-jar-with-libraries,-post-jar,jnlp" description="Build JAR." name="jar"/>\r
- <!--\r
- =================\r
- EXECUTION SECTION\r
- =================\r
- -->\r
- <target depends="init,compile" description="Run a main class." name="run">\r
- <j2seproject1:java>\r
- <customize>\r
- <arg line="${application.args}"/>\r
- </customize>\r
- </j2seproject1:java>\r
- </target>\r
- <target name="-do-not-recompile">\r
- <property name="javac.includes.binary" value=""/>\r
- </target>\r
- <target depends="init,-do-not-recompile,compile-single" name="run-single">\r
- <fail unless="run.class">Must select one file in the IDE or set run.class</fail>\r
- <j2seproject1:java classname="${run.class}"/>\r
- </target>\r
- <!--\r
- =================\r
- DEBUGGING SECTION\r
- =================\r
- -->\r
- <target depends="init" if="netbeans.home" name="-debug-start-debugger">\r
- <j2seproject1:nbjpdastart name="${debug.class}"/>\r
- </target>\r
- <target depends="init,compile" name="-debug-start-debuggee">\r
- <j2seproject3:debug>\r
- <customize>\r
- <arg line="${application.args}"/>\r
- </customize>\r
- </j2seproject3:debug>\r
- </target>\r
- <target depends="init,compile,-debug-start-debugger,-debug-start-debuggee" description="Debug project in IDE." if="netbeans.home" name="debug"/>\r
- <target depends="init" if="netbeans.home" name="-debug-start-debugger-stepinto">\r
- <j2seproject1:nbjpdastart stopclassname="${main.class}"/>\r
- </target>\r
- <target depends="init,compile,-debug-start-debugger-stepinto,-debug-start-debuggee" if="netbeans.home" name="debug-stepinto"/>\r
- <target depends="init,compile-single" if="netbeans.home" name="-debug-start-debuggee-single">\r
- <fail unless="debug.class">Must select one file in the IDE or set debug.class</fail>\r
- <j2seproject3:debug classname="${debug.class}"/>\r
- </target>\r
- <target depends="init,-do-not-recompile,compile-single,-debug-start-debugger,-debug-start-debuggee-single" if="netbeans.home" name="debug-single"/>\r
- <target depends="init" name="-pre-debug-fix">\r
- <fail unless="fix.includes">Must set fix.includes</fail>\r
- <property name="javac.includes" value="${fix.includes}.java"/>\r
- </target>\r
- <target depends="init,-pre-debug-fix,compile-single" if="netbeans.home" name="-do-debug-fix">\r
- <j2seproject1:nbjpdareload/>\r
- </target>\r
- <target depends="init,-pre-debug-fix,-do-debug-fix" if="netbeans.home" name="debug-fix"/>\r
- <!--\r
- ===============\r
- JAVADOC SECTION\r
- ===============\r
- -->\r
- <target depends="init" name="-javadoc-build">\r
- <mkdir dir="${dist.javadoc.dir}"/>\r
- <javadoc additionalparam="${javadoc.additionalparam}" author="${javadoc.author}" charset="UTF-8" destdir="${dist.javadoc.dir}" docencoding="UTF-8" encoding="${javadoc.encoding.used}" failonerror="true" noindex="${javadoc.noindex}" nonavbar="${javadoc.nonavbar}" notree="${javadoc.notree}" private="${javadoc.private}" source="${javac.source}" splitindex="${javadoc.splitindex}" use="${javadoc.use}" useexternalfile="true" version="${javadoc.version}" windowtitle="${javadoc.windowtitle}">\r
- <classpath>\r
- <path path="${javac.classpath}"/>\r
- </classpath>\r
- <fileset dir="${src.dir}" excludes="${excludes}" includes="${includes}">\r
- <filename name="**/*.java"/>\r
- </fileset>\r
- </javadoc>\r
- </target>\r
- <target depends="init,-javadoc-build" if="netbeans.home" name="-javadoc-browse" unless="no.javadoc.preview">\r
- <nbbrowse file="${dist.javadoc.dir}/index.html"/>\r
- </target>\r
- <target depends="init,-javadoc-build,-javadoc-browse" description="Build Javadoc." name="javadoc"/>\r
- <!--\r
- =========================\r
- JUNIT COMPILATION SECTION\r
- =========================\r
- -->\r
- <target depends="init,compile" if="have.tests" name="-pre-pre-compile-test">\r
- <mkdir dir="${build.test.classes.dir}"/>\r
- </target>\r
- <target name="-pre-compile-test">\r
- <!-- Empty placeholder for easier customization. -->\r
- <!-- You can override this target in the ../build.xml file. -->\r
- </target>\r
- <target if="do.depend.true" name="-compile-test-depend">\r
- <j2seproject3:depend classpath="${javac.test.classpath}" destdir="${build.test.classes.dir}" srcdir="${test.src.dir}"/>\r
- </target>\r
- <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test,-compile-test-depend" if="have.tests" name="-do-compile-test">\r
- <j2seproject3:javac classpath="${javac.test.classpath}" debug="true" destdir="${build.test.classes.dir}" srcdir="${test.src.dir}"/>\r
- <copy todir="${build.test.classes.dir}">\r
- <fileset dir="${test.src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>\r
- </copy>\r
- </target>\r
- <target name="-post-compile-test">\r
- <!-- Empty placeholder for easier customization. -->\r
- <!-- You can override this target in the ../build.xml file. -->\r
- </target>\r
- <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test,-do-compile-test,-post-compile-test" name="compile-test"/>\r
- <target name="-pre-compile-test-single">\r
- <!-- Empty placeholder for easier customization. -->\r
- <!-- You can override this target in the ../build.xml file. -->\r
- </target>\r
- <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test-single" if="have.tests" name="-do-compile-test-single">\r
- <fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail>\r
- <j2seproject3:force-recompile destdir="${build.test.classes.dir}"/>\r
- <j2seproject3:javac classpath="${javac.test.classpath}" debug="true" destdir="${build.test.classes.dir}" excludes="" includes="${javac.includes}" sourcepath="${test.src.dir}" srcdir="${test.src.dir}"/>\r
- <copy todir="${build.test.classes.dir}">\r
- <fileset dir="${test.src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>\r
- </copy>\r
- </target>\r
- <target name="-post-compile-test-single">\r
- <!-- Empty placeholder for easier customization. -->\r
- <!-- You can override this target in the ../build.xml file. -->\r
- </target>\r
- <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test-single,-do-compile-test-single,-post-compile-test-single" name="compile-test-single"/>\r
- <!--\r
- =======================\r
- JUNIT EXECUTION SECTION\r
- =======================\r
- -->\r
- <target depends="init" if="have.tests" name="-pre-test-run">\r
- <mkdir dir="${build.test.results.dir}"/>\r
- </target>\r
- <target depends="init,compile-test,-pre-test-run" if="have.tests" name="-do-test-run">\r
- <j2seproject3:junit testincludes="**/*Test.java"/>\r
- </target>\r
- <target depends="init,compile-test,-pre-test-run,-do-test-run" if="have.tests" name="-post-test-run">\r
- <fail if="tests.failed">Some tests failed; see details above.</fail>\r
- </target>\r
- <target depends="init" if="have.tests" name="test-report"/>\r
- <target depends="init" if="netbeans.home+have.tests" name="-test-browse"/>\r
- <target depends="init,compile-test,-pre-test-run,-do-test-run,test-report,-post-test-run,-test-browse" description="Run unit tests." name="test"/>\r
- <target depends="init" if="have.tests" name="-pre-test-run-single">\r
- <mkdir dir="${build.test.results.dir}"/>\r
- </target>\r
- <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-do-test-run-single">\r
- <fail unless="test.includes">Must select some files in the IDE or set test.includes</fail>\r
- <j2seproject3:junit excludes="" includes="${test.includes}"/>\r
- </target>\r
- <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single" if="have.tests" name="-post-test-run-single">\r
- <fail if="tests.failed">Some tests failed; see details above.</fail>\r
- </target>\r
- <target depends="init,-do-not-recompile,compile-test-single,-pre-test-run-single,-do-test-run-single,-post-test-run-single" description="Run single unit test." name="test-single"/>\r
- <!--\r
- =======================\r
- JUNIT DEBUGGING SECTION\r
- =======================\r
- -->\r
- <target depends="init,compile-test" if="have.tests" name="-debug-start-debuggee-test">\r
- <fail unless="test.class">Must select one file in the IDE or set test.class</fail>\r
- <property location="${build.test.results.dir}/TEST-${test.class}.xml" name="test.report.file"/>\r
- <delete file="${test.report.file}"/>\r
- <mkdir dir="${build.test.results.dir}"/>\r
- <j2seproject3:debug classname="org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner" classpath="${ant.home}/lib/ant.jar:${ant.home}/lib/ant-junit.jar:${debug.test.classpath}">\r
- <customize>\r
- <syspropertyset>\r
- <propertyref prefix="test-sys-prop."/>\r
- <mapper from="test-sys-prop.*" to="*" type="glob"/>\r
- </syspropertyset>\r
- <arg value="${test.class}"/>\r
- <arg value="showoutput=true"/>\r
- <arg value="formatter=org.apache.tools.ant.taskdefs.optional.junit.BriefJUnitResultFormatter"/>\r
- <arg value="formatter=org.apache.tools.ant.taskdefs.optional.junit.XMLJUnitResultFormatter,${test.report.file}"/>\r
- </customize>\r
- </j2seproject3:debug>\r
- </target>\r
- <target depends="init,compile-test" if="netbeans.home+have.tests" name="-debug-start-debugger-test">\r
- <j2seproject1:nbjpdastart classpath="${debug.test.classpath}" name="${test.class}"/>\r
- </target>\r
- <target depends="init,-do-not-recompile,compile-test-single,-debug-start-debugger-test,-debug-start-debuggee-test" name="debug-test"/>\r
- <target depends="init,-pre-debug-fix,compile-test-single" if="netbeans.home" name="-do-debug-fix-test">\r
- <j2seproject1:nbjpdareload dir="${build.test.classes.dir}"/>\r
- </target>\r
- <target depends="init,-pre-debug-fix,-do-debug-fix-test" if="netbeans.home" name="debug-fix-test"/>\r
- <!--\r
- =========================\r
- APPLET EXECUTION SECTION\r
- =========================\r
- -->\r
- <target depends="init,compile-single" name="run-applet">\r
- <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail>\r
- <j2seproject1:java classname="sun.applet.AppletViewer">\r
- <customize>\r
- <arg value="${applet.url}"/>\r
- </customize>\r
- </j2seproject1:java>\r
- </target>\r
- <!--\r
- =========================\r
- APPLET DEBUGGING SECTION\r
- =========================\r
- -->\r
- <target depends="init,compile-single" if="netbeans.home" name="-debug-start-debuggee-applet">\r
- <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail>\r
- <j2seproject3:debug classname="sun.applet.AppletViewer">\r
- <customize>\r
- <arg value="${applet.url}"/>\r
- </customize>\r
- </j2seproject3:debug>\r
- </target>\r
- <target depends="init,compile-single,-debug-start-debugger,-debug-start-debuggee-applet" if="netbeans.home" name="debug-applet"/>\r
- <!--\r
- ===============\r
- CLEANUP SECTION\r
- ===============\r
- -->\r
- <target depends="init" name="deps-clean" unless="no.deps"/>\r
- <target depends="init" name="-do-clean">\r
- <delete dir="${build.dir}"/>\r
- <delete dir="${dist.dir}"/>\r
- </target>\r
- <target name="-post-clean">\r
- <!-- Empty placeholder for easier customization. -->\r
- <!-- You can override this target in the ../build.xml file. -->\r
- </target>\r
- <target depends="init,deps-clean,-do-clean,-post-clean" description="Clean build products." name="clean"/>\r
-</project>\r
+++ /dev/null
-#Mon Jan 07 02:20:53 JST 2008\r
-$label=Web Start\r
-$target.debug=jws-debug\r
-$target.run=jws-run\r
+++ /dev/null
-build.xml.data.CRC32=c5fd47ab\r
-build.xml.script.CRC32=c46c5d81\r
-build.xml.stylesheet.CRC32=be360661\r
-# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.\r
-# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.\r
-nbproject/build-impl.xml.data.CRC32=c5fd47ab\r
-nbproject/build-impl.xml.script.CRC32=9b6e51de\r
-nbproject/build-impl.xml.stylesheet.CRC32=f1d9da08\r
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
-
-Copyright 1997-2007 Sun Microsystems, Inc. All rights reserved.
-
-
-The contents of this file are subject to the terms of either the GNU
-General Public License Version 2 only ("GPL") or the Common
-Development and Distribution License("CDDL") (collectively, the
-"License"). You may not use this file except in compliance with the
-License. You can obtain a copy of the License at
-http://www.netbeans.org/cddl-gplv2.html
-or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
-specific language governing permissions and limitations under the
-License. When distributing the software, include this License Header
-Notice in each file and include the License file at
-nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
-particular file as subject to the "Classpath" exception as provided
-by Sun in the GPL Version 2 section of the License file that
-accompanied this code. If applicable, add the following below the
-License Header, with the fields enclosed by brackets [] replaced by
-your own identifying information:
-"Portions Copyrighted [year] [name of copyright owner]"
-
-Contributor(s):
-
-The Original Software is NetBeans. The Initial Developer of the Original
-Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
-Microsystems, Inc. All Rights Reserved.
-
-If you wish your version of this file to be governed by only the CDDL
-or only the GPL Version 2, indicate your decision by adding
-"[Contributor] elects to include this software in this distribution
-under the [CDDL or GPL Version 2] license." If you do not indicate a
-single choice of license, a recipient has the option to distribute
-your version of this file under either the CDDL, the GPL Version 2 or
-to extend the choice of license to its licensees as provided above.
-However, if you add GPL Version 2 code and therefore, elected the GPL
-Version 2 license, then the option applies only if the new code is
-made subject to such option by the copyright holder.
--->
-
-<project name="jnlp-impl" default="default" basedir="..">
-
- <property name="master.jnlp.file" location="master.jnlp"/>
- <property name="launch.jnlp.file" value="launch.jnlp"/>
- <property name="jnlp.dest.dir" location="dist"/>
-
- <!-- helper file to create list of arguments, etc. -->
- <property name="helper.file" location="helper.txt"/>
-
- <target name="default">
- <echo message="Default target is not set."/>
- </target>
-
- <!-- Main target -->
-
- <target name="jnlp" depends="-init-check,-test-jnlp-enabled" if="is.jnlp.enabled">
- <delete file="dist/lib/javaws.jar" failonerror="false"/>
- <antcall target="generate-jnlp"/>
- </target>
-
- <!-- Generate master -->
-
- <target name="-check-for-master.jnlp">
- <available file="${master.jnlp.file}" property="master.jnlp.exists"/>
- </target>
- <target name="jnlp-init-generate-master" depends="-check-for-master.jnlp" unless="master.jnlp.exists">
- <echo file="${master.jnlp.file}" encoding="UTF-8"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
-<jnlp spec="1.0+" codebase="$${jnlp.codebase}" href="launch.jnlp">
- <information>
- <title>$${APPLICATION.TITLE}</title>
- <vendor>$${APPLICATION.VENDOR}</vendor>
- <description>$${APPLICATION.DESC}</description>
- <description kind="short">$${APPLICATION.DESC.SHORT}</description>
- <homepage href="$${APPLICATION.HOMEPAGE}"/>
-<!--$${JNLP.ICONS}-->
-<!--$${JNLP.OFFLINE.ALLOWED}-->
- </information>
-<!--$${JNLP.SECURITY}-->
- <resources>
-<!--$${JNLP.RESOURCES.RUNTIME}-->
-<!--$${JNLP.RESOURCES.MAIN.JAR}-->
-<!--$${JNLP.RESOURCES.JARS}-->
- </resources>
- <application-desc main-class="$${jnlp.main.class}">
-<!--$${JNLP.APPLICATION.ARGS}-->
- </application-desc>
-</jnlp>
-]]></echo>
- </target>
-
- <!-- Initial check -->
-
- <target name="-init-check">
- <fail unless="application.title" message="Must set application title."/>
- <fail unless="application.vendor" message="Must set application vendor."/>
- </target>
-
- <!-- Icons -->
-
- <target name="-init-icons" depends="-preinit-icons,-set-icon-elem,-set-splash-elem">
- <property name="jnlp.icon.elem" value=""/>
- <property name="application.splash.elem" value=""/>
- <property name="icon.separator" value=""/>
- <property name="jnlp.icons.value" value="${jnlp.icon.elem}${icon.separator}${application.splash.elem}"/>
- </target>
- <target name="-preinit-icons" depends="-copy-app-icon,-copy-app-splash"/>
- <target name="-copy-app-icon" if="jnlp.icon" depends="-get-app-icon-name">
- <copy file="${jnlp.icon}" todir="${jnlp.dest.dir}" failonerror="false"/>
- <available file="${jnlp.dest.dir}${file.separator}${jnlp.icon.name}" property="jnlp.icon.copied"/>
- </target>
- <target name="-copy-app-splash" if="application.splash" depends="-get-app-splash-name">
- <copy file="${application.splash}" todir="${jnlp.dest.dir}" failonerror="false"/>
- <available file="${jnlp.dest.dir}${file.separator}${application.splash.name}" property="application.splash.copied"/>
- </target>
- <target name="-get-app-icon-name" if="jnlp.icon">
- <dirname file="${jnlp.icon}" property="jnlp.icon.basedir"/>
- <pathconvert property="jnlp.icon.name" setonempty="false">
- <path location="${jnlp.icon}"/>
- <map from="${jnlp.icon.basedir}${file.separator}" to=""/>
- </pathconvert>
- </target>
- <target name="-get-app-splash-name" if="application.splash">
- <dirname file="${application.splash}" property="application.splash.basedir"/>
- <pathconvert property="application.splash.name" setonempty="false">
- <path location="${application.splash}"/>
- <map from="${application.splash.basedir}${file.separator}" to=""/>
- </pathconvert>
- </target>
- <target name="-set-icon-elem" if="jnlp.icon.copied">
- <property name="jnlp.icon.elem" value=' <icon href="${jnlp.icon.name}" kind="default"/>'/>
- </target>
- <target name="-set-splash-elem" if="application.splash.copied" depends="-set-icon-elem">
- <property name="application.splash.elem" value=' <icon href="${application.splash.name}" kind="splash"/>'/>
- <condition property="icon.separator" value="${line.separator}">
- <isset property="jnlp.icon.elem"/>
- </condition>
- </target>
-
- <!-- Offline-Allowed -->
-
- <target name="-init-offline" if="offline.allowed.set" depends="-preinit-offline">
- <property name="jnlp.offline.allowed.value" value=" <offline-allowed/>"/>
- </target>
- <target name="-preinit-offline">
- <condition property="offline.allowed.set">
- <equals arg1="${jnlp.offline-allowed}" arg2="true" trim="true"/>
- </condition>
- </target>
-
- <!-- Descriptions -->
-
- <target name="-init-descriptions" depends="-descriptions-props-check,-init-desc-value,-init-desc-value-short">
- <property name="application.desc.value" value="${application.title}"/>
- <property name="application.desc.short.value" value="${application.title}"/>
- </target>
- <target name="-descriptions-props-check">
- <condition property="application.desc.set">
- <and>
- <isset property="application.desc"/>
- <not>
- <equals arg1="${application.desc}" arg2="" trim="true"/>
- </not>
- </and>
- </condition>
- <condition property="application.desc.short.set">
- <and>
- <isset property="application.desc.short"/>
- <not>
- <equals arg1="${application.desc.short}" arg2="" trim="true"/>
- </not>
- </and>
- </condition>
- </target>
- <target name="-init-desc-value" if="application.desc.set">
- <property name="application.desc.value" value="${application.desc}"/>
- </target>
- <target name="-init-desc-value-short" if="application.desc.short.set">
- <property name="application.desc.short.value" value="${application.desc.short}"/>
- </target>
-
- <!-- Security -->
-
- <target name="-init-security" depends="-check-signing-possible" if="jnlp.signed.true+signjarstask.available">
- <property name="jnlp.security" value=" <security>${line.separator} <all-permissions/>${line.separator} </security>"/>
- </target>
- <target name="-security-props-check">
- <condition property="jnlp.signed.true">
- <istrue value="${jnlp.signed}"/>
- </condition>
- </target>
- <target name="-jnlp-init-keystore" depends="-jnlp-init-keystore-props,-check-keystore-exists" unless="jnlp.signjar.keystore.exists">
- <echo message="${application.vendor}" file="${helper.file}"/>
- <loadfile property="application.vendor.filtered" srcfile="${helper.file}">
- <filterchain>
- <deletecharacters chars=","/>
- </filterchain>
- </loadfile>
- <delete file="${helper.file}"/>
- <property name="jnlp.signjar.vendor" value="CN=${application.vendor.filtered}"/>
- <echo message="Going to create default keystore in ${jnlp.signjar.keystore}"/>
- <genkey dname="${jnlp.signjar.vendor}" alias="${jnlp.signjar.alias}" keystore="${jnlp.signjar.keystore}"
- storepass="${jnlp.signjar.storepass}" keypass="${jnlp.signjar.keypass}"/>
- </target>
- <target name="-check-keystore-exists">
- <available property="jnlp.signjar.keystore.exists" file="${jnlp.signjar.keystore}"/>
- </target>
- <target name="-jnlp-init-keystore-props">
- <property name="jnlp.signjar.keystore" value="${basedir}/build/nb-jws.ks"/>
- <property name="jnlp.signjar.storepass" value="storepass"/>
- <property name="jnlp.signjar.keypass" value="keypass"/>
- <property name="jnlp.signjar.alias" value="nb-jws"/>
- </target>
-
- <!-- Generating JNLP file -->
-
- <target name="generate-jnlp" depends="jnlp-init-generate-master,-init-codebase,-init-resources-runtime,-init-security,-init-resources-jars,-init-application-args,-init-icons,-init-offline,-init-descriptions,jnlp-init-notinited">
- <copy file="${master.jnlp.file}" tofile="${jnlp.dest.dir}/${launch.jnlp.file}__" overwrite="true" encoding="UTF-8">
- <filterchain>
- <replacestring from="$${jnlp.codebase}" to="${jnlp.codebase.value}"/>
- <replacestring from="<!--$${JNLP.ICONS}-->" to="${jnlp.icons.value}"/>
- <replacestring from="<!--$${JNLP.SECURITY}-->" to="${jnlp.security}"/>
- <replacestring from="<!--$${JNLP.OFFLINE.ALLOWED}-->" to="${jnlp.offline.allowed.value}"/>
- <replacestring from="<!--$${JNLP.RESOURCES.RUNTIME}-->" to="${jnlp.resources.runtime.value}"/>
- <replacestring from="<!--$${JNLP.RESOURCES.MAIN.JAR}-->" to="${jnlp.resources.main.jar.value}"/>
- <replacestring from="<!--$${JNLP.RESOURCES.JARS}-->" to="${jnlp.resources.jars.value}"/>
- <replacestring from="<!--$${JNLP.APPLICATION.ARGS}-->" to="${jnlp.application.args.value}"/>
- <replacestring from="$${APPLICATION.TITLE}" to="${application.title}"/>
- <replacestring from="$${APPLICATION.VENDOR}" to="${application.vendor}"/>
- <replacestring from="$${APPLICATION.DESC}" to="${application.desc.value}"/>
- <replacestring from="$${APPLICATION.DESC.SHORT}" to="${application.desc.short.value}"/>
- <replacestring from="$${APPLICATION.HOMEPAGE}" to="${application.homepage}"/>
- <replacestring from="$${jnlp.main.class}" to="${main.class}"/>
- </filterchain>
- </copy>
- <antcall target="-strip-empty-lines"/>
- <antcall target="-generate-html-page"/>
- </target>
- <target name="jnlp-init-notinited">
- <property name="jnlp.security" value=""/>
- <property name="jnlp.offline.allowed.value" value=""/>
- <property name="application.homepage" value=""/>
- <property name="jnlp.application.args.value" value=""/>
- </target>
- <target name="-strip-empty-lines">
- <move file="${jnlp.dest.dir}/${launch.jnlp.file}__" tofile="${jnlp.dest.dir}/${launch.jnlp.file}" overwrite="true" encoding="UTF-8">
- <filterchain>
- <linecontainsregexp>
- <regexp pattern=".+"/>
- </linecontainsregexp>
- </filterchain>
- </move>
- </target>
-
- <!-- Codebase processing -->
-
- <target name="-init-codebase" depends="-codebase-props-check,-init-non-user-codebase,-init-user-codebase"/>
- <target name="-codebase-props-check">
- <condition property="local.codebase">
- <or>
- <not>
- <isset property="jnlp.codebase.type"/>
- </not>
- <equals arg1="${jnlp.codebase.type}" arg2="local" trim="true"/>
- </or>
- </condition>
- <condition property="non.user.codebase">
- <or>
- <not>
- <isset property="jnlp.codebase.type"/>
- </not>
- <equals arg1="${jnlp.codebase.type}" arg2="local" trim="true"/>
- <equals arg1="${jnlp.codebase.type}" arg2="web" trim="true"/>
- </or>
- </condition>
- <condition property="user.codebase">
- <equals arg1="${jnlp.codebase.type}" arg2="user" trim="true"/>
- </condition>
- </target>
- <target name="-init-non-user-codebase" if="non.user.codebase">
- <property name="jnlp.codebase.value" value="${jnlp.codebase.url}"/>
- </target>
- <target name="-init-user-codebase" if="user.codebase">
- <property name="jnlp.codebase.value" value="${jnlp.codebase.user}"/>
- </target>
-
- <!-- j2se resources -->
-
- <target name="-init-resources-runtime" depends="-init-runtime-props">
- <property name="run.jvmargs.value" value=""/>
- <property name="initial-heap-size.value" value=""/>
- <property name="max-heap-size.value" value=""/>
- <property name="jnlp.resources.runtime.value"
- value=' <j2se version="${javac.target}+"${initial-heap-size.value}${max-heap-size.value}${run.jvmargs.value}/>'/>
- </target>
- <target name="-init-runtime-props" depends="-runtime-props-check,-init-run-jvmargs-value,-init-initial-heap-size-value,-init-max-heap-size-value"/>
- <target name="-runtime-props-check">
- <condition property="run.jvmargs.set">
- <and>
- <isset property="run.jvmargs"/>
- <not>
- <equals arg1="${run.jvmargs}" arg2="" trim="true"/>
- </not>
- </and>
- </condition>
- <condition property="jnlp.initial-heap-size.set">
- <and>
- <isset property="jnlp.initial-heap-size"/>
- <not>
- <equals arg1="${jnlp.initial-heap-size}" arg2="" trim="true"/>
- </not>
- </and>
- </condition>
- <condition property="jnlp.max-heap-size.set">
- <and>
- <isset property="jnlp.max-heap-size"/>
- <not>
- <equals arg1="${jnlp.max-heap-size}" arg2="" trim="true"/>
- </not>
- </and>
- </condition>
- </target>
- <target name="-init-run-jvmargs-value" if="run.jvmargs.set">
- <property name="run.jvmargs.value" value=' java-vm-args="${run.jvmargs}"'/>
- </target>
- <target name="-init-initial-heap-size-value" if="jnlp.initial-heap-size.set">
- <property name="initial-heap-size.value" value=' initial-heap-size="${jnlp.initial-heap-size}"'/>
- </target>
- <target name="-init-max-heap-size-value" if="jnlp.max-heap-size.set">
- <property name="max-heap-size.value" value=' max-heap-size="${jnlp.max-heap-size}"'/>
- </target>
-
- <!-- JAR resources -->
-
- <target name="-init-resources-jars" depends="-preinit-resources-unsigned-jars,-preinit-resources-signed-jars,-preinit-resources-main-jar"/>
- <target name="-preinit-resources-unsigned-jars" depends="-exclude-javaws-from-cp,-check-signing-possible" unless="jnlp.signed.true+signjarstask.available">
- <pathconvert pathsep="${line.separator}" property="jnlp.resources.jars.value">
- <path path="${run.classpath.without.javaws.jar}"/>
- <mapper type="regexp" from="^.*[/\\]([^/\\]+\.jar)"
- to=' <jar href="lib/\1" download="eager"/>'/>
- </pathconvert>
- </target>
- <target name="-preinit-resources-main-jar">
- <pathconvert pathsep="${line.separator}" property="jnlp.resources.main.jar.value">
- <path location="${dist.jar}"/>
- <mapper type="regexp" from="^.*[/\\]([^/\\]+\.jar)"
- to=' <jar href="\1" main="true" download="eager"/>'/>
- </pathconvert>
- </target>
- <target name="-exclude-javaws-from-cp">
- <pathconvert property="path.element.to.be.removed">
- <path path="${run.classpath}"/>
- <mapper type="regexp" from="(^.*[/\\]javaws.jar)" to="\1"/>
- </pathconvert>
- <pathconvert property="run.classpath.without.javaws.jar">
- <path path="${run.classpath}"/>
- <map from="${path.element.to.be.removed}" to=""/>
- </pathconvert>
- </target>
- <target name="-check-task-available">
- <condition property="signjarstask.available">
- <isset property="netbeans.home"/>
- </condition>
- </target>
- <target name="-check-signing-possible" depends="-security-props-check,-check-task-available">
- <condition property="jnlp.signed.true+signjarstask.available">
- <and>
- <isset property="jnlp.signed.true"/>
- <isset property="signjarstask.available"/>
- </and>
- </condition>
- </target>
- <target name="-unavailable-task-warning" depends="-check-task-available" unless="signjarstask.available">
- <echo message="Signtask is not available, jar files will not be signed. Task is available only when running inside NetBeans IDE."/>
- </target>
- <target name="-preinit-resources-signed-jars" depends="-unavailable-task-warning,-sign-jars" if="jnlp.signed.true+signjarstask.available">
- <property name="jnlp.resources.jars.value" value="${jnlp.signed.jars}${jnlp.components}"/>
- </target>
- <target name="-sign-jars" depends="-jnlp-init-keystore,-check-signing-possible" if="jnlp.signed.true+signjarstask.available">
- <jnlpsignjars keystore="${jnlp.signjar.keystore}" storepass="${jnlp.signjar.storepass}"
- keypass="${jnlp.signjar.keypass}" alias="${jnlp.signjar.alias}" mainjar="${dist.jar}" destdir="dist"
- codebase="${jnlp.codebase.value}" signedjarsprop="jnlp.signed.jars"
- componentsprop="jnlp.components">
- <fileset dir="dist/lib">
- <include name="*.jar"/>
- </fileset>
- </jnlpsignjars>
- </target>
-
- <!-- Application arguments -->
-
- <target name="-init-application-args" if="application.args">
- <echo message="${application.args}" file="${helper.file}"/>
- <loadfile srcfile="${helper.file}" property="jnlp.application.args.value">
- <filterchain>
- <tokenfilter delimoutput="\n">
- <stringtokenizer/>
- <replaceregex pattern="(.+)" replace=" <argument>\1</argument>"/>
- </tokenfilter>
- </filterchain>
- </loadfile>
- <delete file="${helper.file}"/>
- </target>
-
- <!-- Running/Debugging -->
-
- <target name="jws-run" depends="jar,-verify-jnlp-enabled,-verify-codebase" description="Start javaws execution">
- <exec executable="${java.home}/bin/javaws">
- <arg file="${jnlp.dest.dir}/${launch.jnlp.file}"/>
- </exec>
- </target>
- <target name="jws-debug" if="netbeans.home" depends="jar,-verify-jnlp-enabled,-verify-codebase,-debug-start-debugger,-debug-javaws-debuggee"
- description="Debug javaws project in IDE"/>
- <target name="-debug-javaws-debuggee">
- <exec executable="${java.home}/bin/javaws">
- <env key="JAVAWS_VM_ARGS" value="-Xdebug -Xnoagent -Djava.compiler=none -Xrunjdwp:transport=dt_socket,address=${jpda.address}"/>
- <arg file="${jnlp.dest.dir}/${launch.jnlp.file}"/>
- </exec>
- </target>
- <target name="-verify-codebase" depends="-codebase-props-check" unless="local.codebase">
- <fail message="Project cannot be run with non-local codebase. Open project properties dialog and set Web Start Codebase to Local Execution."/>
- </target>
- <target name="-verify-jnlp-enabled" depends="-test-jnlp-enabled" unless="is.jnlp.enabled">
- <fail message="Project cannot be run with selected Run Configuration when Java Web Start is disabled."/>
- </target>
-
- <!-- Test JNLP enabled-->
-
- <target name="-test-jnlp-enabled">
- <condition property="is.jnlp.enabled">
- <equals arg1="${jnlp.enabled}" arg2="true" casesensitive="false" trim="true"/>
- </condition>
- </target>
-
- <!-- Generate simple HTML test page -->
-
- <target name="-generate-html-page">
- <echo file="${jnlp.dest.dir}/launch.html"><![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
- <head>
- <title>Test page for launching the application via JNLP</title>
- </head>
- <body>
- <h3>Test page for launching the application via JNLP</h3>
- <a href="launch.jnlp">Launch the application</a>
- </body>
-</html>
-]]></echo>
- </target>
-
-</project>
+++ /dev/null
-application.homepage=http://feather.cocolog-nifty.com/\r
-application.title=DEMO:\u30cb\u30b3\u30cb\u30b3\u52d5\u753b\u30b3\u30f3\u30c6\u30f3\u30c4\u60c5\u5831\u30d6\u30e9\u30a6\u30b6\r
-application.vendor=yukihane\r
-build.classes.dir=${build.dir}/classes\r
-build.classes.excludes=\r
-# This directory is removed when the project is cleaned:\r
-build.dir=build\r
-build.generated.dir=${build.dir}/generated\r
-# Only compile against the classpath explicitly listed here:\r
-build.sysclasspath=ignore\r
-build.test.classes.dir=${build.dir}/test/classes\r
-build.test.results.dir=${build.dir}/test/results\r
-debug.classpath=\\r
- ${run.classpath}\r
-debug.test.classpath=\\r
- ${run.test.classpath}\r
-# This directory is removed when the project is cleaned:\r
-dist.dir=dist\r
-dist.jar=${dist.dir}/NicoBrowser.jar\r
-dist.javadoc.dir=${dist.dir}/javadoc\r
-excludes=\r
-includes=**\r
-jar.compress=false\r
-javac.classpath=\\r
- ${libs.HttpClient3.classpath}:\\r
- ${libs.Log4J.classpath}:\\r
- ${libs.Codec.classpath}:\\r
- ${libs.Rome.classpath}\r
-# Space-separated list of extra javac options\r
-javac.compilerargs=\r
-javac.deprecation=false\r
-javac.source=1.5\r
-javac.target=1.6\r
-javac.test.classpath=\\r
- ${javac.classpath}:\\r
- ${build.classes.dir}:\\r
- ${libs.junit_4.classpath}\r
-javadoc.additionalparam=\r
-javadoc.author=false\r
-javadoc.encoding=${source.encoding}\r
-javadoc.noindex=false\r
-javadoc.nonavbar=false\r
-javadoc.notree=false\r
-javadoc.private=false\r
-javadoc.splitindex=true\r
-javadoc.use=true\r
-javadoc.version=false\r
-javadoc.windowtitle=\r
-jnlp.codebase.type=user\r
-jnlp.codebase.user=http://feather.cocolog-nifty.com/weblog/program/NicoBrowser\r
-jnlp.enabled=true\r
-jnlp.offline-allowed=true\r
-jnlp.signed=true\r
-# Property libs.Codec.classpath is set here just to make sharing of project simpler.\r
-# The library definition has always preference over this property.\r
-libs.Codec.classpath=../../../java/commons/commons-codec-1.3/commons-codec-1.3.jar\r
-# Property libs.HttpClient3.classpath is set here just to make sharing of project simpler.\r
-# The library definition has always preference over this property.\r
-libs.HttpClient3.classpath=../../../java/commons/commons-httpclient-3.1/commons-httpclient-3.1.jar\r
-# Property libs.Log4J.classpath is set here just to make sharing of project simpler.\r
-# The library definition has always preference over this property.\r
-libs.Log4J.classpath=../../../java/commons/commons-logging-1.1/commons-logging-adapters-1.1.jar;../../../java/commons/commons-logging-1.1/commons-logging-api-1.1.jar\r
-# Property libs.Rome.classpath is set here just to make sharing of project simpler.\r
-# The library definition has always preference over this property.\r
-libs.Rome.classpath=../../../java/commons/rome-0.9/rome-0.9.jar;../../../java/commons/jdom-1.1/build/jdom.jar\r
-main.class=nicobrowser.MainWindow\r
-manifest.file=manifest.mf\r
-meta.inf.dir=${src.dir}/META-INF\r
-platform.active=default_platform\r
-run.classpath=\\r
- ${javac.classpath}:\\r
- ${build.classes.dir}\r
-# Space-separated list of JVM arguments used when running the project\r
-# (you may also define separate properties like run-sys-prop.name=value instead of -Dname=value\r
-# or test-sys-prop.name=value to set system properties for unit tests):\r
-run.jvmargs=\r
-run.test.classpath=\\r
- ${javac.test.classpath}:\\r
- ${build.test.classes.dir}\r
-source.encoding=UTF-8\r
-src.dir=src\r
-test.src.dir=test\r
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>\r
-<project xmlns="http://www.netbeans.org/ns/project/1">\r
- <type>org.netbeans.modules.java.j2seproject</type>\r
- <configuration>\r
- <buildExtensions xmlns="http://www.netbeans.org/ns/ant-build-extender/1">\r
- <extension file="jnlp-impl.xml" id="jws">\r
- <dependency dependsOn="jnlp" target="jar"/>\r
- </extension>\r
- </buildExtensions>\r
- <data xmlns="http://www.netbeans.org/ns/j2se-project/3">\r
- <name>NicoBrowser</name>\r
- <minimum-ant-version>1.6.5</minimum-ant-version>\r
- <source-roots>\r
- <root id="src.dir"/>\r
- </source-roots>\r
- <test-roots>\r
- <root id="test.src.dir"/>\r
- </test-roots>\r
- </data>\r
- </configuration>\r
-</project>\r
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<Form version="1.5" maxVersion="1.5" type="org.netbeans.modules.form.forminfo.JFrameFormInfo">
- <Properties>
- <Property name="defaultCloseOperation" type="int" value="3"/>
- </Properties>
- <SyntheticProperties>
- <SyntheticProperty name="formSizePolicy" type="int" value="1"/>
- </SyntheticProperties>
- <AuxValues>
- <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/>
- <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
- <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
- <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="false"/>
- <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
- <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
- <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
- <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
- </AuxValues>
-
- <Layout>
- <DimensionLayout dim="0">
- <Group type="103" groupAlignment="0" attributes="0">
- <Group type="102" alignment="0" attributes="0">
- <EmptySpace min="-2" max="-2" attributes="0"/>
- <Group type="103" groupAlignment="0" attributes="0">
- <Component id="jScrollPane1" alignment="1" pref="755" max="32767" attributes="0"/>
- <Component id="jPanel1" min="-2" max="-2" attributes="1"/>
- <Group type="102" attributes="0">
- <Component id="jPanel2" min="-2" max="-2" attributes="2"/>
- <EmptySpace max="-2" attributes="0"/>
- <Component id="jPanel3" min="-2" max="-2" attributes="0"/>
- </Group>
- </Group>
- <EmptySpace min="-2" max="-2" attributes="0"/>
- </Group>
- </Group>
- </DimensionLayout>
- <DimensionLayout dim="1">
- <Group type="103" groupAlignment="0" attributes="0">
- <Group type="102" alignment="1" attributes="0">
- <EmptySpace min="-2" max="-2" attributes="0"/>
- <Component id="jScrollPane1" pref="271" max="32767" attributes="0"/>
- <EmptySpace min="-2" max="-2" attributes="0"/>
- <Component id="jPanel1" min="-2" max="-2" attributes="0"/>
- <EmptySpace min="-2" max="-2" attributes="0"/>
- <Group type="103" groupAlignment="0" attributes="0">
- <Component id="jPanel2" min="-2" max="-2" attributes="3"/>
- <Component id="jPanel3" min="-2" max="-2" attributes="1"/>
- </Group>
- <EmptySpace max="-2" attributes="0"/>
- </Group>
- </Group>
- </DimensionLayout>
- </Layout>
- <SubComponents>
- <Container class="javax.swing.JScrollPane" name="jScrollPane1">
- <AuxValues>
- <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/>
- </AuxValues>
-
- <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
- <SubComponents>
- <Component class="javax.swing.JTable" name="jTable1">
- <Properties>
- <Property name="model" type="javax.swing.table.TableModel" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
- <Connection code="tableModel" type="code"/>
- </Property>
- <Property name="autoResizeMode" type="int" value="0"/>
- <Property name="columnModel" type="javax.swing.table.TableColumnModel" editor="org.netbeans.modules.form.editors2.TableColumnModelEditor">
- <TableColumnModel selectionModel="0"/>
- </Property>
- <Property name="enabled" type="boolean" value="false"/>
- <Property name="tableHeader" type="javax.swing.table.JTableHeader" editor="org.netbeans.modules.form.editors2.JTableHeaderEditor">
- <TableHeader reorderingAllowed="true" resizingAllowed="true"/>
- </Property>
- </Properties>
- </Component>
- </SubComponents>
- </Container>
- <Container class="javax.swing.JPanel" name="jPanel2">
- <Properties>
- <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
- <Border info="org.netbeans.modules.form.compat2.border.EtchedBorderInfo">
- <EtchetBorder/>
- </Border>
- </Property>
- </Properties>
-
- <Layout>
- <DimensionLayout dim="0">
- <Group type="103" groupAlignment="0" attributes="0">
- <Group type="102" alignment="0" attributes="0">
- <EmptySpace max="-2" attributes="0"/>
- <Group type="103" groupAlignment="1" max="-2" attributes="0">
- <Component id="unitLoadButton" alignment="0" min="0" pref="0" max="32767" attributes="1"/>
- <Component id="listLoadButton" alignment="0" max="32767" attributes="1"/>
- </Group>
- <EmptySpace max="-2" attributes="0"/>
- <Group type="103" groupAlignment="0" attributes="0">
- <Component id="jLabel3" alignment="0" min="-2" max="-2" attributes="0"/>
- <Component id="jLabel4" alignment="0" min="-2" max="-2" attributes="0"/>
- </Group>
- <EmptySpace max="-2" attributes="0"/>
- <Group type="103" groupAlignment="0" max="-2" attributes="0">
- <Component id="unitNoField" max="32767" attributes="1"/>
- <Component id="listNoField" alignment="0" pref="70" max="32767" attributes="1"/>
- </Group>
- <EmptySpace type="separate" max="-2" attributes="0"/>
- <Component id="loadDailyListButton" min="-2" max="-2" attributes="1"/>
- <EmptySpace pref="20" max="32767" attributes="0"/>
- </Group>
- </Group>
- </DimensionLayout>
- <DimensionLayout dim="1">
- <Group type="103" groupAlignment="0" attributes="0">
- <Group type="102" alignment="0" attributes="0">
- <EmptySpace max="-2" attributes="0"/>
- <Group type="103" groupAlignment="3" attributes="0">
- <Component id="listLoadButton" alignment="3" min="-2" max="-2" attributes="0"/>
- <Component id="jLabel3" alignment="3" min="-2" max="-2" attributes="0"/>
- <Component id="listNoField" alignment="3" min="-2" max="-2" attributes="0"/>
- <Component id="loadDailyListButton" alignment="3" min="-2" max="-2" attributes="0"/>
- </Group>
- <EmptySpace max="-2" attributes="0"/>
- <Group type="103" groupAlignment="2" attributes="0">
- <Component id="jLabel4" alignment="2" min="-2" max="-2" attributes="0"/>
- <Component id="unitLoadButton" alignment="2" min="-2" max="-2" attributes="0"/>
- <Component id="unitNoField" alignment="2" min="-2" max="-2" attributes="0"/>
- </Group>
- <EmptySpace max="32767" attributes="0"/>
- </Group>
- </Group>
- </DimensionLayout>
- </Layout>
- <SubComponents>
- <Component class="javax.swing.JButton" name="listLoadButton">
- <Properties>
- <Property name="text" type="java.lang.String" value="Load"/>
- </Properties>
- <Events>
- <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="listLoadButtonActionPerformed"/>
- </Events>
- </Component>
- <Component class="javax.swing.JLabel" name="jLabel3">
- <Properties>
- <Property name="text" type="java.lang.String" value="ListNo"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JTextField" name="listNoField">
- <Properties>
- <Property name="text" type="java.lang.String" value="1923688"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JButton" name="unitLoadButton">
- <Properties>
- <Property name="text" type="java.lang.String" value="Load"/>
- </Properties>
- <Events>
- <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="unitLoadButtonActionPerformed"/>
- </Events>
- </Component>
- <Component class="javax.swing.JLabel" name="jLabel4">
- <Properties>
- <Property name="text" type="java.lang.String" value="No"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JTextField" name="unitNoField">
- <Properties>
- <Property name="text" type="java.lang.String" value="sm9"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JButton" name="loadDailyListButton">
- <Properties>
- <Property name="text" type="java.lang.String" value="Daily"/>
- </Properties>
- <Events>
- <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="loadDailyListButtonActionPerformed"/>
- </Events>
- </Component>
- </SubComponents>
- </Container>
- <Container class="javax.swing.JPanel" name="jPanel1">
- <Properties>
- <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
- <Border info="org.netbeans.modules.form.compat2.border.EtchedBorderInfo">
- <EtchetBorder/>
- </Border>
- </Property>
- </Properties>
-
- <Layout>
- <DimensionLayout dim="0">
- <Group type="103" groupAlignment="0" attributes="0">
- <Group type="102" alignment="0" attributes="0">
- <EmptySpace max="-2" attributes="0"/>
- <Component id="loginButton" min="-2" max="-2" attributes="0"/>
- <EmptySpace type="unrelated" max="-2" attributes="0"/>
- <Component id="jLabel1" min="-2" max="-2" attributes="0"/>
- <EmptySpace max="-2" attributes="0"/>
- <Component id="mailField" linkSize="1" min="-2" max="-2" attributes="0"/>
- <EmptySpace max="-2" attributes="0"/>
- <Component id="jLabel2" min="-2" max="-2" attributes="0"/>
- <EmptySpace max="-2" attributes="0"/>
- <Component id="passwordField" linkSize="1" min="-2" pref="151" max="-2" attributes="0"/>
- <EmptySpace pref="31" max="32767" attributes="0"/>
- </Group>
- </Group>
- </DimensionLayout>
- <DimensionLayout dim="1">
- <Group type="103" groupAlignment="0" attributes="0">
- <Group type="102" attributes="0">
- <EmptySpace max="-2" attributes="0"/>
- <Group type="103" groupAlignment="3" attributes="0">
- <Component id="loginButton" alignment="3" min="-2" max="-2" attributes="0"/>
- <Component id="jLabel1" alignment="3" min="-2" max="-2" attributes="0"/>
- <Component id="mailField" alignment="3" min="-2" max="-2" attributes="0"/>
- <Component id="jLabel2" alignment="3" min="-2" max="-2" attributes="0"/>
- <Component id="passwordField" alignment="3" min="-2" max="-2" attributes="0"/>
- </Group>
- <EmptySpace max="32767" attributes="0"/>
- </Group>
- </Group>
- </DimensionLayout>
- </Layout>
- <SubComponents>
- <Component class="javax.swing.JLabel" name="jLabel1">
- <Properties>
- <Property name="text" type="java.lang.String" value="mail"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JLabel" name="jLabel2">
- <Properties>
- <Property name="text" type="java.lang.String" value="password"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JTextField" name="mailField">
- <Properties>
- <Property name="editable" type="boolean" value="false"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JTextField" name="passwordField">
- <Properties>
- <Property name="editable" type="boolean" value="false"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JButton" name="loginButton">
- <Properties>
- <Property name="text" type="java.lang.String" value="LogIn"/>
- <Property name="enabled" type="boolean" value="false"/>
- </Properties>
- <Events>
- <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="loginButtonActionPerformed"/>
- </Events>
- </Component>
- </SubComponents>
- </Container>
- <Container class="javax.swing.JPanel" name="jPanel3">
- <Properties>
- <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
- <Border info="org.netbeans.modules.form.compat2.border.EtchedBorderInfo">
- <EtchetBorder/>
- </Border>
- </Property>
- </Properties>
-
- <Layout>
- <DimensionLayout dim="0">
- <Group type="103" groupAlignment="0" attributes="0">
- <Group type="102" alignment="0" attributes="0">
- <EmptySpace max="-2" attributes="0"/>
- <Component id="clearButton" max="32767" attributes="1"/>
- <EmptySpace min="-2" max="-2" attributes="0"/>
- </Group>
- </Group>
- </DimensionLayout>
- <DimensionLayout dim="1">
- <Group type="103" groupAlignment="0" attributes="0">
- <Group type="102" alignment="0" attributes="0">
- <EmptySpace max="-2" attributes="0"/>
- <Component id="clearButton" min="-2" max="-2" attributes="0"/>
- <EmptySpace max="32767" attributes="0"/>
- </Group>
- </Group>
- </DimensionLayout>
- </Layout>
- <SubComponents>
- <Component class="javax.swing.JButton" name="clearButton">
- <Properties>
- <Property name="text" type="java.lang.String" value="Clear"/>
- </Properties>
- <Events>
- <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="clearButtonActionPerformed"/>
- </Events>
- </Component>
- </SubComponents>
- </Container>
- </SubComponents>
-</Form>
+++ /dev/null
-/*$Id$*/
-/*
- * MainWindow.java
- *
- * Created on 2008/01/05, 15:28
- */
-package nicobrowser;
-
-import java.awt.Component;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Vector;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-import javax.swing.ImageIcon;
-import javax.swing.JButton;
-import javax.swing.JTable;
-import javax.swing.JTextArea;
-import javax.swing.table.DefaultTableCellRenderer;
-import javax.swing.table.DefaultTableColumnModel;
-import javax.swing.table.DefaultTableModel;
-import javax.swing.table.TableCellRenderer;
-import javax.swing.table.TableColumn;
-
-/**
- *
- * @author yuki
- */
-public class MainWindow extends javax.swing.JFrame {
-
- private void setContents(List<NicoContent> contList) {
- int rowHeight = -1;
- for (NicoContent cont : contList) {
- Vector<Object> v = new Vector<Object>();
- ImageIcon icon = new ImageIcon();
- try {
- icon = new ImageIcon(new URL(cont.getImageLink()));
- if (rowHeight < 0) {
- rowHeight = icon.getIconHeight();
- jTable1.setRowHeight(rowHeight);
- }
- } catch (MalformedURLException ex) {
- Logger.getLogger(MainWindow.class.getName()).log(Level.SEVERE, null, "画像未取得" + cont.getTitle());
- }
- v.add(icon);
- v.add(cont.getTitle());
- v.add(cont.getDescription());
- v.add(cont.getPageLink());
- tableModel.addRow(v);
- }
- }
-
- private class MyTableModel extends DefaultTableModel {
-
- private MyTableModel(String[] COLUMN_NAMES, int i) {
- super(COLUMN_NAMES, i);
- }
-
- @Override
- public Class getColumnClass(int columnIndex) {
- return getValueAt(0, columnIndex).getClass();
- }
- }
- private static final String COLUMN_NAMES[] = {"サムネイル", "タイトル", "説明", "ページリンク"};
- private DefaultTableModel tableModel = new MyTableModel(COLUMN_NAMES, 0);
- // private DefaultTableModel tableModel = new NicoTableModel;
- /** Creates new form MainWindow */
- public MainWindow() {
- initComponents();
- TableCellRenderer textAriaRenderer = new DefaultTableCellRenderer() {
-
- @Override
- public Component getTableCellRendererComponent(JTable table,
- Object value,
- boolean isSelected,
- boolean hasFocus,
- int row,
- int column) {
- JTextArea comp = new JTextArea(value.toString());
- comp.setLineWrap(true);
- return comp;
- }
- };
- TableCellRenderer buttonRenderer = new DefaultTableCellRenderer() {
-
- @Override
- public Component getTableCellRendererComponent(JTable table,
- Object value,
- boolean isSelected,
- boolean hasFocus,
- int row,
- int column) {
- String[] splitted = value.toString().split("/");
- String text = "";
- if (splitted.length > 0) {
- text = splitted[splitted.length - 1];
- }
- JButton comp = new JButton(text);
- return comp;
- }
- };
-
- DefaultTableColumnModel cMoldel = (DefaultTableColumnModel) jTable1.getColumnModel();
- TableColumn c;
- c = cMoldel.getColumn(1);
- c.setCellRenderer(textAriaRenderer);
- c = cMoldel.getColumn(2);
- c.setCellRenderer(textAriaRenderer);
- c = cMoldel.getColumn(3);
- c.setCellRenderer(buttonRenderer);
-
- c = cMoldel.getColumn(0);
- c.setPreferredWidth(130);
- c = cMoldel.getColumn(1);
- c.setPreferredWidth(100);
- c = cMoldel.getColumn(2);
- c.setPreferredWidth(400);
- c = cMoldel.getColumn(3);
- c.setPreferredWidth(110);
-
- }
-
- /** This method is called from within the constructor to
- * initialize the form.
- * WARNING: Do NOT modify this code. The content of this method is
- * always regenerated by the Form Editor.
- */
- // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
- private void initComponents() {
-
- jScrollPane1 = new javax.swing.JScrollPane();
- jTable1 = new javax.swing.JTable();
- jPanel2 = new javax.swing.JPanel();
- listLoadButton = new javax.swing.JButton();
- jLabel3 = new javax.swing.JLabel();
- listNoField = new javax.swing.JTextField();
- unitLoadButton = new javax.swing.JButton();
- jLabel4 = new javax.swing.JLabel();
- unitNoField = new javax.swing.JTextField();
- loadDailyListButton = new javax.swing.JButton();
- jPanel1 = new javax.swing.JPanel();
- jLabel1 = new javax.swing.JLabel();
- jLabel2 = new javax.swing.JLabel();
- mailField = new javax.swing.JTextField();
- passwordField = new javax.swing.JTextField();
- loginButton = new javax.swing.JButton();
- jPanel3 = new javax.swing.JPanel();
- clearButton = new javax.swing.JButton();
-
- setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
-
- jTable1.setModel(tableModel);
- jTable1.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_OFF);
- jTable1.setEnabled(false);
- jScrollPane1.setViewportView(jTable1);
-
- jPanel2.setBorder(javax.swing.BorderFactory.createEtchedBorder());
-
- listLoadButton.setText("Load");
- listLoadButton.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- listLoadButtonActionPerformed(evt);
- }
- });
-
- jLabel3.setText("ListNo");
-
- listNoField.setText("1923688");
-
- unitLoadButton.setText("Load");
- unitLoadButton.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- unitLoadButtonActionPerformed(evt);
- }
- });
-
- jLabel4.setText("No");
-
- unitNoField.setText("sm9");
-
- loadDailyListButton.setText("Daily");
- loadDailyListButton.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- loadDailyListButtonActionPerformed(evt);
- }
- });
-
- javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
- jPanel2.setLayout(jPanel2Layout);
- jPanel2Layout.setHorizontalGroup(
- jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(jPanel2Layout.createSequentialGroup()
- .addContainerGap()
- .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
- .addComponent(unitLoadButton, javax.swing.GroupLayout.Alignment.LEADING, 0, 0, Short.MAX_VALUE)
- .addComponent(listLoadButton, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(jLabel3)
- .addComponent(jLabel4))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
- .addComponent(unitNoField)
- .addComponent(listNoField, javax.swing.GroupLayout.DEFAULT_SIZE, 70, Short.MAX_VALUE))
- .addGap(18, 18, 18)
- .addComponent(loadDailyListButton)
- .addContainerGap(20, Short.MAX_VALUE))
- );
- jPanel2Layout.setVerticalGroup(
- jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(jPanel2Layout.createSequentialGroup()
- .addContainerGap()
- .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(listLoadButton)
- .addComponent(jLabel3)
- .addComponent(listNoField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(loadDailyListButton))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
- .addComponent(jLabel4)
- .addComponent(unitLoadButton)
- .addComponent(unitNoField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
- );
-
- jPanel1.setBorder(javax.swing.BorderFactory.createEtchedBorder());
-
- jLabel1.setText("mail");
-
- jLabel2.setText("password");
-
- mailField.setEditable(false);
-
- passwordField.setEditable(false);
-
- loginButton.setText("LogIn");
- loginButton.setEnabled(false);
- loginButton.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- loginButtonActionPerformed(evt);
- }
- });
-
- javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
- jPanel1.setLayout(jPanel1Layout);
- jPanel1Layout.setHorizontalGroup(
- jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(jPanel1Layout.createSequentialGroup()
- .addContainerGap()
- .addComponent(loginButton)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
- .addComponent(jLabel1)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(mailField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(jLabel2)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(passwordField, javax.swing.GroupLayout.PREFERRED_SIZE, 151, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addContainerGap(31, Short.MAX_VALUE))
- );
-
- jPanel1Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {mailField, passwordField});
-
- jPanel1Layout.setVerticalGroup(
- jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(jPanel1Layout.createSequentialGroup()
- .addContainerGap()
- .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(loginButton)
- .addComponent(jLabel1)
- .addComponent(mailField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(jLabel2)
- .addComponent(passwordField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
- );
-
- jPanel3.setBorder(javax.swing.BorderFactory.createEtchedBorder());
-
- clearButton.setText("Clear");
- clearButton.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- clearButtonActionPerformed(evt);
- }
- });
-
- javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
- jPanel3.setLayout(jPanel3Layout);
- jPanel3Layout.setHorizontalGroup(
- jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(jPanel3Layout.createSequentialGroup()
- .addContainerGap()
- .addComponent(clearButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addContainerGap())
- );
- jPanel3Layout.setVerticalGroup(
- jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(jPanel3Layout.createSequentialGroup()
- .addContainerGap()
- .addComponent(clearButton)
- .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
- );
-
- javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
- getContentPane().setLayout(layout);
- layout.setHorizontalGroup(
- layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(layout.createSequentialGroup()
- .addContainerGap()
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(jScrollPane1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 755, Short.MAX_VALUE)
- .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addGroup(layout.createSequentialGroup()
- .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
- .addContainerGap())
- );
- layout.setVerticalGroup(
- layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
- .addContainerGap()
- .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 271, Short.MAX_VALUE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addContainerGap())
- );
-
- pack();
- }// </editor-fold>//GEN-END:initComponents
- private void listLoadButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_listLoadButtonActionPerformed
- String no = listNoField.getText();
- if (no.length() < 1) {
- return;
- }
- List<NicoContent> contList = NicoHttpClient.getInstance().loadMyList(no);
- setContents(contList);
-}//GEN-LAST:event_listLoadButtonActionPerformed
-
- private void loginButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_loginButtonActionPerformed
- String mail = mailField.getText();
- String password = passwordField.getText();
- if (mail.length() < 1 || password.length() < 1) {
- //TODO エラー通知.
- return;
- }
- NicoHttpClient.getInstance().login(mail, password);
-}//GEN-LAST:event_loginButtonActionPerformed
-
- private void clearButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_clearButtonActionPerformed
- int num = tableModel.getRowCount();
- for (int i = num - 1; i >= 0; i--) {
- tableModel.removeRow(i);
- }
-}//GEN-LAST:event_clearButtonActionPerformed
-
- private void unitLoadButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_unitLoadButtonActionPerformed
- String no = unitNoField.getText();
- if (no.length() < 1) {
- return;
- }
- NicoContent cont = NicoHttpClient.getInstance().loadMyMovie(no);
- List<NicoContent> list = new ArrayList<NicoContent>();
- list.add(cont);
- setContents(list);
-}//GEN-LAST:event_unitLoadButtonActionPerformed
-
- private void loadDailyListButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_loadDailyListButtonActionPerformed
- List<NicoContent> contList = NicoHttpClient.getInstance().loadMyListDaily();
- setContents(contList);
-
-}//GEN-LAST:event_loadDailyListButtonActionPerformed
-
- /**
- * @param args the command line arguments
- */
- public static void main(String args[]) {
- java.awt.EventQueue.invokeLater(new Runnable() {
-
- public void run() {
- new MainWindow().setVisible(true);
- }
- });
- }
- // Variables declaration - do not modify//GEN-BEGIN:variables
- private javax.swing.JButton clearButton;
- private javax.swing.JLabel jLabel1;
- private javax.swing.JLabel jLabel2;
- private javax.swing.JLabel jLabel3;
- private javax.swing.JLabel jLabel4;
- private javax.swing.JPanel jPanel1;
- private javax.swing.JPanel jPanel2;
- private javax.swing.JPanel jPanel3;
- private javax.swing.JScrollPane jScrollPane1;
- private javax.swing.JTable jTable1;
- private javax.swing.JButton listLoadButton;
- private javax.swing.JTextField listNoField;
- private javax.swing.JButton loadDailyListButton;
- private javax.swing.JButton loginButton;
- private javax.swing.JTextField mailField;
- private javax.swing.JTextField passwordField;
- private javax.swing.JButton unitLoadButton;
- private javax.swing.JTextField unitNoField;
- // End of variables declaration//GEN-END:variables
-}
+++ /dev/null
-/*$Id$*/
-package nicobrowser;
-
-import java.util.Date;
-
-/**
- * ニコニコ動画コンテンツ情報.
- */
-public class NicoContent {
-
- private String pageLink;
- private String imageLink;
- private String title;
- private String description;
- private Date publishedDate;
-
- public String getPageLink() {
- return pageLink;
- }
-
- public void setPageLink(String pageLink) {
- this.pageLink = pageLink;
- }
-
- public String getImageLink() {
- return imageLink;
- }
-
- public void setImageLink(String imageLink) {
- this.imageLink = imageLink;
- }
-
- public String getTitle() {
- return title;
- }
-
- public void setTitle(String title) {
- this.title = title;
- }
-
- void setDescription(String description) {
- this.description = description;
- }
-
- void setPublishedDate(Date publishedDate) {
- this.publishedDate = publishedDate;
- }
-
- public Date getPublishedDate() {
- return publishedDate;
- }
-
- public String getDescription() {
- return description;
- }
-
- @Override
- public String toString() {
- return new String(getTitle() + ": " + getPageLink());
- }
-}
+++ /dev/null
-/*$Id$*/
-package nicobrowser;
-
-import com.sun.syndication.feed.synd.SyndContentImpl;
-import com.sun.syndication.feed.synd.SyndEntryImpl;
-import com.sun.syndication.feed.synd.SyndFeed;
-import com.sun.syndication.io.FeedException;
-import com.sun.syndication.io.ParsingFeedException;
-import com.sun.syndication.io.SyndFeedInput;
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.io.StringReader;
-import java.util.ArrayList;
-import java.util.Enumeration;
-import java.util.List;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-import javax.swing.text.MutableAttributeSet;
-import javax.swing.text.html.HTML;
-import javax.swing.text.html.HTMLEditorKit;
-import javax.swing.text.html.parser.ParserDelegator;
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-import org.apache.commons.httpclient.HttpClient;
-import org.apache.commons.httpclient.HttpException;
-import org.apache.commons.httpclient.HttpStatus;
-import org.apache.commons.httpclient.cookie.CookiePolicy;
-import org.apache.commons.httpclient.methods.GetMethod;
-import org.apache.commons.httpclient.methods.PostMethod;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
-import org.xml.sax.SAXException;
-
-/**
- *
- * @author yuki
- */
-public class NicoHttpClient extends HttpClient {
-
- static NicoHttpClient instance;
- private static final String LOGIN_PAGE =
- "https://secure.nicovideo.jp/secure/login?site=niconico";
- private static final String LOGOUT_PAGE =
- "https://secure.nicovideo.jp/secure/logout";
- private static final String MY_LIST_PAGE_HEADER =
- "http://www.nicovideo.jp/mylist/";
- private static final String MOVIE_THUMBNAIL_PAGE_HEADER =
- "http://www.nicovideo.jp/api/getthumbinfo/";
-
- private NicoHttpClient() {
- super();
- instance = this;
- }
-
- public static NicoHttpClient getInstance() {
- if (instance == null) {
- return new NicoHttpClient();
- }
- return instance;
- }
-
- /**
- * ニコニコ動画へログインする.
- * @param mail ログイン識別子(登録メールアドレス).
- * @param password パスワード.
- * @return 認証がOKであればtrue.
- */
- public boolean login(String mail, String password) {
- boolean auth = false;
- PostMethod post = new PostMethod(LOGIN_PAGE);
-
- try {
- post.addParameter("mail", mail);
- post.addParameter("password", password);
- post.addParameter("next_url", "");
- post.getParams().setCookiePolicy(CookiePolicy.BROWSER_COMPATIBILITY);
- int statusCode = executeMethod(post);
- Logger.getLogger(NicoHttpClient.class.getName()).
- log(Level.INFO, "ログインステータスコード: " + statusCode);
-
- // ログイン可否の判定.
- // x-niconico-authflagで判定できそうだったが必ず0になる...
- // Set-Cookieがあればログインできたとみなしているが,あまりよろしくないかも.
- auth = (null != post.getResponseHeader("Set-Cookie")) ? true : false;
- } catch (IOException ex) {
- Logger.getLogger(NicoHttpClient.class.getName()).log(Level.SEVERE, null, ex);
- } finally {
- post.releaseConnection();
- }
- return auth;
- }
-
- public boolean logout() {
- boolean result = false;
- GetMethod method = new GetMethod(LOGOUT_PAGE);
- try {
- int statusCode = executeMethod(method);
- Logger.getLogger(NicoHttpClient.class.getName()).
- log(Level.INFO, "ログアウトステータスコード: " + statusCode);
-
- if (statusCode == HttpStatus.SC_OK) {
- result = true;
- }
- } catch (IOException ex) {
- Logger.getLogger(NicoHttpClient.class.getName()).log(Level.SEVERE, null, ex);
- } finally {
- method.releaseConnection();
- }
- return result;
- }
-
- /**
- * 「マイリスト登録数ランキング(本日)」の動画一覧を取得する。
- * @return 動画一覧.
- */
- List<NicoContent> loadMyListDaily() {
- List<NicoContent> list = new ArrayList<NicoContent>();
- String url = new String("http://zio3.net/nicoRss/Handler.ashx");
- Logger.getLogger(NicoHttpClient.class.getName()).log(Level.INFO, "全動画サイトのマイリスト登録数ランキング(本日)[全体] : " + url);
-
- GetMethod get = new GetMethod(url);
-
- try {
- int statusCode = executeMethod(get);
- BufferedReader reader = new BufferedReader(new InputStreamReader(get.getResponseBodyAsStream(), "UTF-8"));
- // BOMを読み捨て
- reader.skip(1);
- list = getNicoContents(reader);
- } catch (FeedException ex) {
- Logger.getLogger(NicoHttpClient.class.getName()).log(Level.SEVERE, null, ex);
- } catch (IOException ex) {
- Logger.getLogger(NicoHttpClient.class.getName()).log(Level.SEVERE, null, ex);
- } finally {
- get.releaseConnection();
- }
-
- return list;
- }
-
- /**
- * マイリストに登録した動画一覧の取得.
- * 「公開」設定にしていないリストからは取得できない.
- * ログインしていなくても取得可能.
- * @param listNo マイリストNo.
- * @return 動画一覧.
- */
- public List<NicoContent> loadMyList(String listNo) {
- List<NicoContent> contList = new ArrayList<NicoContent>();
- String url = new String(MY_LIST_PAGE_HEADER + listNo + "?rss=atom");
- Logger.getLogger(NicoHttpClient.class.getName()).log(Level.INFO, "マイリストURL: " + url);
-
- GetMethod get = new GetMethod(url);
-
- try {
- int statusCode = executeMethod(get);
- Reader reader = new BufferedReader(new InputStreamReader(get.getResponseBodyAsStream(), "UTF-8"));
- contList = getNicoContents(reader);
- } catch (FeedException ex) {
- Logger.getLogger(NicoHttpClient.class.getName()).log(Level.SEVERE, null, ex);
- } catch (IOException ex) {
- Logger.getLogger(NicoHttpClient.class.getName()).log(Level.SEVERE, null, ex);
- } finally {
- get.releaseConnection();
- }
- return contList;
- }
-
- /**
- * 動画番号を指定したコンテンツ情報の取得.
- * @param movieNo 動画番号.
- * @return コンテンツ情報.
- */
- public NicoContent loadMyMovie(String movieNo) {
- NicoContent cont = null;
- InputStream re = null;
- List<SyndEntryImpl> list = null;
- String url = new String(MOVIE_THUMBNAIL_PAGE_HEADER + movieNo);
- Logger.getLogger(NicoHttpClient.class.getName()).log(Level.INFO, "動画サムネイルURL: " + url);
-
- GetMethod get = new GetMethod(url);
-
- try {
- int statusCode = executeMethod(get);
- re = get.getResponseBodyAsStream();
- // ドキュメントビルダーファクトリを生成
- DocumentBuilderFactory dbfactory = DocumentBuilderFactory.newInstance();
- // ドキュメントビルダーを生成
- DocumentBuilder builder = dbfactory.newDocumentBuilder();
- // パースを実行してDocumentオブジェクトを取得
- Document doc = builder.parse(re);
- // ルート要素を取得(タグ名:site)
- Element root = doc.getDocumentElement();
- System.out.println("ルート要素のタグ名:" + root.getTagName());
-
- NodeList list2 = root.getElementsByTagName("thumb");
- cont = new NicoContent();
- Element element = (Element) list2.item(0);
-
- String watch_url = ((Element) element.getElementsByTagName("watch_url").item(0)).getFirstChild().getNodeValue();
- cont.setPageLink(watch_url);
-
- String thumbnail_url = ((Element) element.getElementsByTagName("thumbnail_url").item(0)).getFirstChild().getNodeValue();
- cont.setImageLink(thumbnail_url);
-
- String title = ((Element) element.getElementsByTagName("title").item(0)).getFirstChild().getNodeValue();
- cont.setTitle(title);
-
- String description = ((Element) element.getElementsByTagName("description").item(0)).getFirstChild().getNodeValue();
- cont.setDescription(description);
-
- // TODO 投稿日の設定
-// String first_retrieve = ((Element) element.getElementsByTagName("first_retrieve").item(0)).getFirstChild().getNodeValue();
-// cont.setPublishedDate(DateFormat.getInstance().parse(first_retrieve));
-//
-// } catch (ParseException ex) {
-// Logger.getLogger(NicoHttpClient.class.getName()).log(Level.SEVERE, null, ex);
- } catch (SAXException ex) {
- Logger.getLogger(NicoHttpClient.class.getName()).log(Level.SEVERE, null, ex);
- } catch (IOException ex) {
- Logger.getLogger(NicoHttpClient.class.getName()).log(Level.SEVERE, null, ex);
- } catch (ParserConfigurationException ex) {
- Logger.getLogger(NicoHttpClient.class.getName()).log(Level.SEVERE, null, ex);
- } finally {
- try {
- re.close();
- } catch (IOException ex) {
- Logger.getLogger(NicoHttpClient.class.getName()).log(Level.SEVERE, null, ex);
- }
- }
- return cont;
-
- }
-
- private List<NicoContent> getNicoContents(Reader reader) throws FeedException {
- List<SyndEntryImpl> list = null;
- SyndFeedInput input = new SyndFeedInput();
- SyndFeed feed = input.build(reader);
-
- list = (List<SyndEntryImpl>) feed.getEntries();
-
- List<NicoContent> contList;
- if (list == null) {
- contList = new ArrayList<NicoContent>();
- } else {
- contList = createContentsList(list);
- }
- return contList;
- }
-
- private List<NicoContent> createContentsList(List<SyndEntryImpl> list) {
- class CallBack extends HTMLEditorKit.ParserCallback {
-
- private boolean descFlag;
- private String imageLink = new String();
- private StringBuilder description = new StringBuilder();
-
- @Override
- public void handleSimpleTag(HTML.Tag t, MutableAttributeSet a, int pos) {
-// System.out.println("--------<" + t.toString() + ">--------");
-// printAttributes(a);
- if (HTML.Tag.IMG.equals(t)) {
- imageLink = a.getAttribute(HTML.Attribute.SRC).toString();
- }
- }
-
- @Override
- public void handleStartTag(HTML.Tag t, MutableAttributeSet a, int pos) {
- if (HTML.Tag.P.equals(t)) {
- if ("nico-description".equals(
- a.getAttribute(HTML.Attribute.CLASS).toString())) {
- descFlag = true;
- }
- }
-// System.out.println("--------<" + t.toString() + ">--------");
-// printAttributes(a);
- }
-
- @Override
- public void handleEndTag(HTML.Tag t, int pos) {
- if (HTML.Tag.P.equals(t)) {
- descFlag = false;
- }
-// System.out.println("--------</" + t.toString() + ">--------");
- }
-
- @Override
- public void handleText(char[] data, int pos) {
- if (descFlag) {
- description.append(data);
- }
-
-// System.out.println("--------TEXT--------");
-// System.out.println(data);
- }
-
- private void printAttributes(MutableAttributeSet a) {
- Enumeration e = a.getAttributeNames();
- while (e.hasMoreElements()) {
- Object key = e.nextElement();
- System.out.println("---- " + key.toString() + " : " + a.getAttribute(key));
- }
- }
-
- public String getImageLink() {
- return imageLink;
- }
-
- public String getDescription() {
- return description.toString();
- }
- }
-
- List<NicoContent> contList = new ArrayList<NicoContent>();
-
- for (SyndEntryImpl entry : list) {
- NicoContent content = new NicoContent();
-
- content.setTitle(entry.getTitle());
- content.setPageLink(entry.getLink());
- content.setPublishedDate(entry.getPublishedDate());
-
- // サムネイル画像リンクと説明文の取得
- CallBack callBack = new CallBack();
- for (SyndContentImpl sc : (List<SyndContentImpl>) entry.getContents()) {
- try {
- Reader reader = new StringReader(sc.getValue());
- new ParserDelegator().parse(reader, callBack, true);
- } catch (IOException ex) {
- Logger.getLogger(NicoHttpClient.class.getName()).log(Level.SEVERE, null, ex);
- }
- }
- content.setImageLink(callBack.getImageLink());
- content.setDescription(callBack.getDescription());
-
- // リストへ追加.
- contList.add(content);
- }
- return contList;
- }
-}
+++ /dev/null
-/*$Id$*/
-package nicobrowser;
-
-import java.awt.Component;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-import javax.swing.ImageIcon;
-import javax.swing.JButton;
-import javax.swing.JTable;
-import javax.swing.JTextArea;
-import javax.swing.table.DefaultTableCellRenderer;
-import javax.swing.table.DefaultTableModel;
-import javax.swing.table.TableColumn;
-
-/**
- *
- * @author yuki
- */
-public class NicoTableModel extends DefaultTableModel {
-
- private static final ColumnContext[] COLUMN_CONTEXT = {
- new ColumnContext("サムネイル", ImageIcon.class),
- new ColumnContext("タイトル", String.class),
- new ColumnContext("説明", JTextArea.class),
- new ColumnContext("リンク", JButton.class)
- };
-
- private static class ColumnContext {
-
- private String columnName;
- private Class renderer;
-
- private ColumnContext(String columnName, Class renderer) {
- this.columnName = columnName;
- this.renderer = renderer;
- }
- }
-
- static class MyCellRender extends DefaultTableCellRenderer {
-
- @Override
- public Component getTableCellRendererComponent(
- JTable table, Object value,
- boolean isSelected, boolean hasFocus, int row, int column) {
- if (isSelected) {
- table.setForeground(table.getSelectionForeground());
- table.setBackground(table.getSelectionBackground());
- } else {
- table.setForeground(table.getForeground());
- table.setBackground(table.getBackground());
- }
-
- //setFont(table.getFont());
-
- try {
- Object obj = COLUMN_CONTEXT[column].renderer.newInstance();
-
-
- return (Component) obj;
- } catch (InstantiationException ex) {
- Logger.getLogger(NicoTableModel.class.getName()).log(Level.SEVERE, null, ex);
- } catch (IllegalAccessException ex) {
- Logger.getLogger(NicoTableModel.class.getName()).log(Level.SEVERE, null, ex);
- }
- return null;
-
-
- }
- }
-
- public NicoTableModel() {
- super();
- for (ColumnContext c : COLUMN_CONTEXT) {
- addColumn(c.columnName);
- }
- TableColumn column;
-
-
- }
-
- @Override
- public Class<?> getColumnClass(int columnIndex) {
- return COLUMN_CONTEXT[columnIndex].renderer;
-
- }
-
- @Override
- public boolean isCellEditable(int rowIndex, int columnIndex) {
- return false;
- }
-}
+++ /dev/null
-/*$Id$*/
-package nicobrowser;
-
-import java.util.List;
-import org.junit.After;
-import org.junit.AfterClass;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import static org.junit.Assert.*;
-
-/**
- *
- * @author yuki
- */
-public class NicoHttpClientTest {
-
- static final String OK_MAIL = "niconico.senyou@live.jp";
- static final String OK_PASS = "piyopiyo";
- static final String OK_LIST_NO = "4315046";
-
- public NicoHttpClientTest() {
- }
-
- @BeforeClass
- public static void setUpClass() throws Exception {
- }
-
- @AfterClass
- public static void tearDownClass() throws Exception {
- }
-
- @Before
- public void setUp() {
- }
-
- @After
- public void tearDown() {
- }
-
- /**
- * Test of getInstance method, of class NicoHttpClient.
- */
- @Test
- public void getInstance() {
- System.out.println("getInstance");
- NicoHttpClient result = NicoHttpClient.getInstance();
- assertNotNull(result);
-
- // 2回目でも同じインスタンスが返る.
- NicoHttpClient instance = NicoHttpClient.getInstance();
- assertEquals(result, instance);
- }
-
- /**
- * Test of login method, of class NicoHttpClient.
- */
- @Test
- public void login() {
- System.out.println("login");
- NicoHttpClient instance = NicoHttpClient.getInstance();
-
- // ログイン失敗ケース
- String mail = "test@example.com";
- String password = "xxxx";
- boolean result = instance.login(mail, password);
- assertEquals(false, result);
-
- // ログイン成功ケース
- mail = OK_MAIL;
- password = OK_PASS;
- result = instance.login(mail, password);
- assertEquals(true, result);
- }
-
- @Test
- public void logout() {
- System.out.println("logout");
-
- boolean result;
- result = NicoHttpClient.getInstance().logout();
- assertEquals(true, result);
-
- result = NicoHttpClient.getInstance().logout();
- assertEquals(true, result);
- }
-
- @Test
- public void loadMyList() {
- System.out.println("loadMyList");
-
- NicoHttpClient instance = NicoHttpClient.getInstance();
- List list;
-
- list = instance.loadMyList(OK_LIST_NO);
- assertNotNull(list);
- assertNotSame(0, list.size());
-// for (Object o : list) {
-// System.out.println(o.toString());
-// }
-
- list = instance.loadMyList("XXXX");
- assertNotNull(list);
- assertSame(0, list.size());
- }
-
- @Test
- public void loadMyListDaily() {
- System.out.println("loadMyListDaily");
- NicoHttpClient instance = NicoHttpClient.getInstance();
- instance.login(OK_MAIL, OK_PASS);
- List<NicoContent> list = instance.loadMyListDaily();
- assertNotNull(list);
- assertNotSame(0, list.size());
-// System.out.println(list.size());
-// for (Object o : list) {
-// System.out.println(o.toString());
-// }
- }
-}