mirror of
https://github.com/mirror/jdownloader.git
synced 2024-11-23 12:09:43 +00:00
build>full
fixes #6890 Reconnect test works better now UPNP Reconnect Scanner is Cling based now. git-svn-id: svn://svn.jdownloader.org/jdownloader/trunk@21511 ebf7c1c2-ba36-0410-9fe8-c592906822b4
This commit is contained in:
parent
9b1a90ab04
commit
f380c4fad7
223
.classpath
223
.classpath
@ -1,118 +1,105 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry excluding="jd/plugins/optional/neembuu/|jd/plugins/optional/remoteserv/|jd/plugins/optional/remoteserv/|org/jdownloader/extensions/langfileeditor/" kind="src" path="src"/>
|
||||
<classpathentry kind="src" path="translations"/>
|
||||
<classpathentry kind="src" path="themes"/>
|
||||
<classpathentry kind="src" path="tests"/>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER">
|
||||
<attributes>
|
||||
<attribute name="org.eclipse.jdt.launching.CLASSPATH_ATTR_LIBRARY_PATH_ENTRY" value="jd/ressourcen/libs/dbus"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/irclib.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/js.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/savemytube.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/cobra.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/swingworker.jar" sourcepath="ressourcen/code-ressourcen/swing-worker-src-1.2.zip">
|
||||
<attributes>
|
||||
<attribute name="javadoc_location" value="jar:platform:/resource/jd/ressourcen/code-ressourcen/swing-worker-doc-1.2.zip!/"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/clink170.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs_ext/mail.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs_ext/debug-1.0.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs_ext/jcip-annotations-1.0.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/Filters.jar" sourcepath="ressourcen/code-ressourcen/Filter_src.zip"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs_ext/looks.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/laf/synthetica.jar">
|
||||
<attributes>
|
||||
<attribute name="javadoc_location" value="jar:platform:/resource/jd/ressourcen/code-ressourcen/synthetica_docs.zip!/"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/laf/syntheticaBlackMoon.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/laf/syntheticaBlackStar.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/laf/syntheticaBlueIce.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/laf/syntheticaBlueMoon.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/laf/syntheticaBlueSteel.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/laf/syntheticaMauveMetallic.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/laf/syntheticaOrangeMetallic.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/laf/syntheticaSilverMoon.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/laf/syntheticaSimple2D.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/laf/syntheticaSkyMetallic.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/laf/syntheticaWhiteVision.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/jna.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/laf/syntheticaBlackEye.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/laf/syntheticaGreenDream.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/image4j.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/dbus/debug-disable.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/dbus/hexdump.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/dbus/libdbus-java.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/dbus/unix.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs_ext/fest-assert-1.2.jar" sourcepath="ressourcen/code-ressourcen/fest-assert-1.2-sources.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs_ext/fest-reflect-1.2.jar" sourcepath="ressourcen/code-ressourcen/fest-reflect-1.2-sources.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs_ext/fest-swing-1.2.jar" sourcepath="ressourcen/code-ressourcen/fest-swing-1.2-sources.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs_ext/fest-swing-junit-4.5-1.2.jar" sourcepath="ressourcen/code-ressourcen/fest-swing-junit-4.5-1.2-sources.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs_ext/fest-util-1.1.2.jar" sourcepath="ressourcen/code-ressourcen/fest-util-1.1.2-sources.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/svnkit.jar" sourcepath="ressourcen/code-ressourcen/svnkitsrc.zip"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs_ext/junit-4.8.2.jar" sourcepath="ressourcen/code-ressourcen/junit-4.8.2-src.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/sevenzipjbinding.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs_ext/jpathwatch-0-93-rc1.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs_ext/AppleJavaExtensions.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/asc.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/swfutils.jar"/>
|
||||
<classpathentry combineaccessrules="false" kind="src" path="/JDBrowser"/>
|
||||
<classpathentry combineaccessrules="false" kind="src" path="/AppWorkUtils"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/sevenzipjbindingWin.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/swingx.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs_ext/mqtt.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/neembuu/jpfm.jar" sourcepath="ressourcen/code-ressourcen/neembuu/jpfm.src.zip"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/neembuu/jpfm-fs.jar" sourcepath="ressourcen/code-ressourcen/neembuu/jpfm-fs.src.zip"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/neembuu/neembuu-config.jar" sourcepath="ressourcen/code-ressourcen/neembuu/neembuu-config.src.zip"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/neembuu/neembuu-diskmanager.jar" sourcepath="ressourcen/code-ressourcen/neembuu/neembuu-diskmanager.src.zip"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/neembuu/neembuu-swing.jar" sourcepath="ressourcen/code-ressourcen/neembuu/neembuu-swing.src.zip"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/neembuu/neembuu-util.jar" sourcepath="ressourcen/code-ressourcen/neembuu/neembuu-util.src.zip"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/neembuu/neembuu-util-logging.jar" sourcepath="ressourcen/code-ressourcen/neembuu/neembuu-util-logging.src.zip"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/neembuu/neembuu-util-weaklisteners.jar" sourcepath="ressourcen/code-ressourcen/neembuu/neembuu-util-weaklisteners.src.zip"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/neembuu/neembuu-vfs.jar" sourcepath="ressourcen/code-ressourcen/neembuu/neembuu-vfs.src.zip"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/neembuu/rangearray.jar" sourcepath="ressourcen/code-ressourcen/neembuu/rangearray.src.zip"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/neembuu/com-sun-tools-visualvm-charts.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/neembuu/com-sun-tools-visualvm-uisupport.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/neembuu/org-netbeans-lib-profiler-charts.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/neembuu/org-netbeans-lib-profiler-ui.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/neembuu/org-openide-util.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/neembuu/org-openide-util-lookup.jar"/>
|
||||
<classpathentry kind="lib" path="/AppWorkUtils/libs/jackson-core.jar"/>
|
||||
<classpathentry kind="lib" path="/AppWorkUtils/libs/jackson-mapper.jar"/>
|
||||
<classpathentry kind="lib" path="/AppWorkUtils/libs/miglayout.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/bcprov-jdk15on-147.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/sevenzipjbindingLinux.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/sevenzipjbindingMac.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/UPNP/cling-core-2.0-SNAPSHOT.jar" sourcepath="C:/Users/Thomas/Downloads/cling-distribution-2.0-SNAPSHOT/core/src/main/java">
|
||||
<attributes>
|
||||
<attribute name="javadoc_location" value="file:/C:/Users/Thomas/Downloads/cling-distribution-2.0-SNAPSHOT/core/apidocs/"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/UPNP/cling-support-2.0-SNAPSHOT.jar" sourcepath="C:/Users/Thomas/Downloads/cling-distribution-2.0-SNAPSHOT/support/src/main/java">
|
||||
<attributes>
|
||||
<attribute name="javadoc_location" value="file:/C:/Users/Thomas/Downloads/cling-distribution-2.0-SNAPSHOT/support/apidocs/"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/UPNP/seamless-http-1.0-SNAPSHOT.jar" sourcepath="C:/Users/Thomas/Downloads/cling-distribution-2.0-SNAPSHOT/core/src/main/java">
|
||||
<attributes>
|
||||
<attribute name="javadoc_location" value="file:/C:/Users/Thomas/Downloads/cling-distribution-2.0-SNAPSHOT/core/apidocs/"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/UPNP/seamless-util-1.0-20111017.170503-1.jar" sourcepath="C:/Users/Thomas/Downloads/cling-distribution-2.0-SNAPSHOT/core/src/main/java">
|
||||
<attributes>
|
||||
<attribute name="javadoc_location" value="file:/C:/Users/Thomas/Downloads/cling-distribution-2.0-SNAPSHOT/core/apidocs/"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/UPNP/seamless-xml-1.0-SNAPSHOT.jar" sourcepath="C:/Users/Thomas/Downloads/cling-distribution-2.0-SNAPSHOT/core/src/main/java">
|
||||
<attributes>
|
||||
<attribute name="javadoc_location" value="file:/C:/Users/Thomas/Downloads/cling-distribution-2.0-SNAPSHOT/core/apidocs/"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry combineaccessrules="false" kind="src" path="/MyJDownloaderClient"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/jna_platform.jar"/>
|
||||
<classpathentry kind="output" path="bin"/>
|
||||
</classpath>
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry excluding="jd/plugins/optional/neembuu/|jd/plugins/optional/remoteserv/|jd/plugins/optional/remoteserv/|org/jdownloader/extensions/langfileeditor/" kind="src" path="src"/>
|
||||
<classpathentry kind="src" path="translations"/>
|
||||
<classpathentry kind="src" path="themes"/>
|
||||
<classpathentry kind="src" path="tests"/>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER">
|
||||
<attributes>
|
||||
<attribute name="org.eclipse.jdt.launching.CLASSPATH_ATTR_LIBRARY_PATH_ENTRY" value="jd/ressourcen/libs/dbus"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/irclib.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/js.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/savemytube.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/cobra.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/swingworker.jar" sourcepath="ressourcen/code-ressourcen/swing-worker-src-1.2.zip">
|
||||
<attributes>
|
||||
<attribute name="javadoc_location" value="jar:platform:/resource/jd/ressourcen/code-ressourcen/swing-worker-doc-1.2.zip!/"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="lib" path="ressourcen/libs_ext/mail.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs_ext/debug-1.0.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs_ext/jcip-annotations-1.0.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/Filters.jar" sourcepath="ressourcen/code-ressourcen/Filter_src.zip"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs_ext/looks.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/laf/synthetica.jar">
|
||||
<attributes>
|
||||
<attribute name="javadoc_location" value="jar:platform:/resource/jd/ressourcen/code-ressourcen/synthetica_docs.zip!/"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/laf/syntheticaBlackMoon.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/laf/syntheticaBlackStar.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/laf/syntheticaBlueIce.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/laf/syntheticaBlueMoon.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/laf/syntheticaBlueSteel.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/laf/syntheticaMauveMetallic.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/laf/syntheticaOrangeMetallic.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/laf/syntheticaSilverMoon.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/laf/syntheticaSimple2D.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/laf/syntheticaSkyMetallic.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/laf/syntheticaWhiteVision.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/jna.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/laf/syntheticaBlackEye.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/laf/syntheticaGreenDream.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/image4j.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/dbus/debug-disable.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/dbus/hexdump.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/dbus/libdbus-java.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/dbus/unix.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs_ext/fest-assert-1.2.jar" sourcepath="ressourcen/code-ressourcen/fest-assert-1.2-sources.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs_ext/fest-reflect-1.2.jar" sourcepath="ressourcen/code-ressourcen/fest-reflect-1.2-sources.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs_ext/fest-swing-1.2.jar" sourcepath="ressourcen/code-ressourcen/fest-swing-1.2-sources.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs_ext/fest-swing-junit-4.5-1.2.jar" sourcepath="ressourcen/code-ressourcen/fest-swing-junit-4.5-1.2-sources.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs_ext/fest-util-1.1.2.jar" sourcepath="ressourcen/code-ressourcen/fest-util-1.1.2-sources.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/svnkit.jar" sourcepath="ressourcen/code-ressourcen/svnkitsrc.zip"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs_ext/junit-4.8.2.jar" sourcepath="ressourcen/code-ressourcen/junit-4.8.2-src.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/sevenzipjbinding.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs_ext/jpathwatch-0-93-rc1.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs_ext/AppleJavaExtensions.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/asc.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/swfutils.jar"/>
|
||||
<classpathentry combineaccessrules="false" kind="src" path="/JDBrowser"/>
|
||||
<classpathentry combineaccessrules="false" kind="src" path="/AppWorkUtils"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/sevenzipjbindingWin.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/swingx.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs_ext/mqtt.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/neembuu/jpfm.jar" sourcepath="ressourcen/code-ressourcen/neembuu/jpfm.src.zip"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/neembuu/jpfm-fs.jar" sourcepath="ressourcen/code-ressourcen/neembuu/jpfm-fs.src.zip"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/neembuu/neembuu-config.jar" sourcepath="ressourcen/code-ressourcen/neembuu/neembuu-config.src.zip"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/neembuu/neembuu-diskmanager.jar" sourcepath="ressourcen/code-ressourcen/neembuu/neembuu-diskmanager.src.zip"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/neembuu/neembuu-swing.jar" sourcepath="ressourcen/code-ressourcen/neembuu/neembuu-swing.src.zip"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/neembuu/neembuu-util.jar" sourcepath="ressourcen/code-ressourcen/neembuu/neembuu-util.src.zip"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/neembuu/neembuu-util-logging.jar" sourcepath="ressourcen/code-ressourcen/neembuu/neembuu-util-logging.src.zip"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/neembuu/neembuu-util-weaklisteners.jar" sourcepath="ressourcen/code-ressourcen/neembuu/neembuu-util-weaklisteners.src.zip"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/neembuu/neembuu-vfs.jar" sourcepath="ressourcen/code-ressourcen/neembuu/neembuu-vfs.src.zip"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/neembuu/rangearray.jar" sourcepath="ressourcen/code-ressourcen/neembuu/rangearray.src.zip"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/neembuu/com-sun-tools-visualvm-charts.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/neembuu/com-sun-tools-visualvm-uisupport.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/neembuu/org-netbeans-lib-profiler-charts.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/neembuu/org-netbeans-lib-profiler-ui.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/neembuu/org-openide-util.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/neembuu/org-openide-util-lookup.jar"/>
|
||||
<classpathentry kind="lib" path="/AppWorkUtils/libs/jackson-core.jar"/>
|
||||
<classpathentry kind="lib" path="/AppWorkUtils/libs/jackson-mapper.jar"/>
|
||||
<classpathentry kind="lib" path="/AppWorkUtils/libs/miglayout.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/bcprov-jdk15on-147.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/sevenzipjbindingLinux.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/sevenzipjbindingMac.jar"/>
|
||||
<classpathentry combineaccessrules="false" kind="src" path="/MyJDownloaderClient"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/jna_platform.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/UPNP/cling-core.jar" sourcepath="C:/Users/Thomas/Downloads/cling-distribution-2.0-alpha2/core/cling-core-2.0-alpha2-sources.jar">
|
||||
<attributes>
|
||||
<attribute name="source_encoding" value="UTF-8"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/UPNP/cling-support.jar" sourcepath="C:/Users/Thomas/Downloads/cling-distribution-2.0-alpha2/support/cling-support-2.0-alpha2-sources.jar">
|
||||
<attributes>
|
||||
<attribute name="source_encoding" value="UTF-8"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/UPNP/seamless-http.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/UPNP/seamless-util.jar"/>
|
||||
<classpathentry kind="lib" path="ressourcen/libs/UPNP/seamless-xml.jar"/>
|
||||
<classpathentry kind="output" path="bin"/>
|
||||
</classpath>
|
||||
|
Binary file not shown.
@ -1,5 +1,6 @@
|
||||
package jd.controlling.reconnect.ipcheck;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.regex.Matcher;
|
||||
@ -24,7 +25,7 @@ public class BalancedWebIPCheck implements IPCheckProvider {
|
||||
return BalancedWebIPCheck.INSTANCE;
|
||||
}
|
||||
|
||||
private static final java.util.List<String> SERVICES = new ArrayList<String>();
|
||||
private static final java.util.List<String> SERVICES = new ArrayList<String>();
|
||||
static {
|
||||
SERVICES.add("http://ipcheck3.jdownloader.org");
|
||||
SERVICES.add("http://ipcheck2.jdownloader.org");
|
||||
@ -34,16 +35,16 @@ public class BalancedWebIPCheck implements IPCheckProvider {
|
||||
/**
|
||||
* All registered ip check urls
|
||||
*/
|
||||
private final java.util.List<String> servicesInUse;
|
||||
private final java.util.List<String> servicesInUse;
|
||||
|
||||
private final Browser br;
|
||||
private final Browser br;
|
||||
|
||||
private final Pattern pattern;
|
||||
private final Pattern pattern;
|
||||
|
||||
private static final BalancedWebIPCheck INSTANCE = new BalancedWebIPCheck(false);
|
||||
private final Object LOCK = new Object();
|
||||
private static final BalancedWebIPCheck INSTANCE = new BalancedWebIPCheck(false);
|
||||
private final Object LOCK = new Object();
|
||||
|
||||
private boolean checkOnlyOnce;
|
||||
private boolean checkOnlyOnce;
|
||||
|
||||
public BalancedWebIPCheck(boolean useGlobalProxy) {
|
||||
this.servicesInUse = new ArrayList<String>();
|
||||
@ -81,6 +82,11 @@ public class BalancedWebIPCheck implements IPCheckProvider {
|
||||
return IP.getInstance(matcher.group(1));
|
||||
}
|
||||
}
|
||||
} catch (final IOException e2) {
|
||||
try {
|
||||
br.disconnect();
|
||||
} catch (final Throwable e) {
|
||||
}
|
||||
} catch (final Throwable e2) {
|
||||
try {
|
||||
br.disconnect();
|
||||
|
@ -28,7 +28,7 @@ import jd.controlling.reconnect.pluginsinc.liveheader.recoll.RecollController;
|
||||
import jd.controlling.reconnect.pluginsinc.liveheader.remotecall.RouterData;
|
||||
import jd.controlling.reconnect.pluginsinc.liveheader.translate.T;
|
||||
import jd.controlling.reconnect.pluginsinc.upnp.UPNPRouterPlugin;
|
||||
import jd.controlling.reconnect.pluginsinc.upnp.UpnpRouterDevice;
|
||||
import jd.controlling.reconnect.pluginsinc.upnp.cling.UpnpRouterDevice;
|
||||
import jd.http.Browser;
|
||||
import jd.http.URLConnectionAdapter;
|
||||
import jd.utils.JDUtilities;
|
||||
|
@ -21,6 +21,8 @@ import jd.controlling.reconnect.ipcheck.IPCheckException;
|
||||
import jd.controlling.reconnect.ipcheck.IPCheckProvider;
|
||||
import jd.controlling.reconnect.ipcheck.InvalidIPRangeException;
|
||||
import jd.controlling.reconnect.ipcheck.InvalidProviderException;
|
||||
import jd.controlling.reconnect.pluginsinc.upnp.cling.UPNPDeviceScanner;
|
||||
import jd.controlling.reconnect.pluginsinc.upnp.cling.UpnpRouterDevice;
|
||||
import jd.controlling.reconnect.pluginsinc.upnp.translate.T;
|
||||
import net.miginfocom.swing.MigLayout;
|
||||
|
||||
@ -79,7 +81,7 @@ public class UPNPRouterPlugin extends RouterPlugin implements IPCheckProvider {
|
||||
|
||||
ReconnectResult res;
|
||||
try {
|
||||
processCallBack.setStatusString(this, T._.try_reconnect(device.getFriendlyname() == null ? device.getModelname() : device.getFriendlyname()));
|
||||
processCallBack.setStatusString(this, T._.try_reconnect(device.getModelname()));
|
||||
logger.info("Try " + device);
|
||||
res = new UPNPReconnectInvoker(this, device.getServiceType(), device.getControlURL()).validate();
|
||||
logger.info("REsult " + res);
|
||||
@ -292,9 +294,8 @@ public class UPNPRouterPlugin extends RouterPlugin implements IPCheckProvider {
|
||||
|
||||
public synchronized java.util.List<UpnpRouterDevice> getDevices() throws InterruptedException {
|
||||
if (devices == null || devices.size() == 0) {
|
||||
// upnp somtimes works, sometimes not - no idea why. that's why we
|
||||
// do a scan if we have no responses
|
||||
devices = UPNPScanner.scanDevices();
|
||||
// This will create necessary network resources for UPnP right away
|
||||
devices = new UPNPDeviceScanner().scan();
|
||||
}
|
||||
return devices;
|
||||
}
|
||||
|
@ -1,261 +0,0 @@
|
||||
package jd.controlling.reconnect.pluginsinc.upnp;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStreamReader;
|
||||
import java.io.StringReader;
|
||||
import java.net.DatagramPacket;
|
||||
import java.net.InetAddress;
|
||||
import java.net.MulticastSocket;
|
||||
import java.net.URL;
|
||||
import java.util.ArrayList;
|
||||
import java.util.logging.Level;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
import javax.xml.parsers.DocumentBuilder;
|
||||
import javax.xml.parsers.DocumentBuilderFactory;
|
||||
import javax.xml.parsers.ParserConfigurationException;
|
||||
|
||||
import jd.controlling.reconnect.pluginsinc.upnp.translate.T;
|
||||
|
||||
import org.appwork.storage.JSonStorage;
|
||||
import org.appwork.utils.Regex;
|
||||
import org.appwork.utils.logging.Log;
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Element;
|
||||
import org.w3c.dom.Node;
|
||||
import org.w3c.dom.NodeList;
|
||||
import org.xml.sax.InputSource;
|
||||
import org.xml.sax.SAXException;
|
||||
|
||||
public class UPNPScanner implements Runnable {
|
||||
private java.util.List<UpnpRouterDevice> foundDevices;
|
||||
|
||||
private UPNPScanner() {
|
||||
// ThreadGroup grp = new
|
||||
// ThreadGroup(Thread.currentThread().getThreadGroup(), "UPNPScanner");
|
||||
|
||||
}
|
||||
|
||||
final static String MSG = "M-SEARCH * HTTP/1.1\r\nHOST: 239.255.255.250:1900\r\nST: urn:schemas-upnp-org:device:InternetGatewayDevice:1\r\nMAN: \"ssdp:discover\"\r\nMX: 3\r\n\r\n";
|
||||
|
||||
public synchronized java.util.List<UpnpRouterDevice> scan() throws InterruptedException {
|
||||
|
||||
foundDevices = new ArrayList<UpnpRouterDevice>();
|
||||
/*
|
||||
* TODO (NOT IMPORTANT) To simplify will not make a request for every network interface, let java decide the network interface.
|
||||
*/
|
||||
|
||||
Thread th = new Thread(this, "UPNPScanner");
|
||||
th.start();
|
||||
try {
|
||||
th.join();
|
||||
} catch (InterruptedException e) {
|
||||
close();
|
||||
throw e;
|
||||
}
|
||||
return foundDevices;
|
||||
|
||||
}
|
||||
|
||||
private void close() {
|
||||
try {
|
||||
socket.close();
|
||||
|
||||
} catch (Throwable e1) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private MulticastSocket socket;
|
||||
|
||||
public void run() {
|
||||
|
||||
try {
|
||||
socket = new MulticastSocket();
|
||||
socket.setSoTimeout(5000);
|
||||
DatagramPacket packet = new DatagramPacket(MSG.getBytes("UTF-8"), MSG.length(), InetAddress.getByName("239.255.255.250"), 1900);
|
||||
socket.send(packet);
|
||||
// we need a bigger receive buffer.
|
||||
final byte[] buffer = new byte[500 * 1024];
|
||||
|
||||
packet = new DatagramPacket(buffer, buffer.length);
|
||||
String response = null;
|
||||
while (true) {
|
||||
|
||||
socket.receive(packet);
|
||||
|
||||
response = new String(packet.getData(), "UTF-8");
|
||||
|
||||
Log.L.fine(response);
|
||||
URL url;
|
||||
for (final String location : new Regex(response, "LOCATION\\s*:\\s*([^\\s]+)").getColumn(0)) {
|
||||
if (Thread.currentThread().isInterrupted()) throw new InterruptedException();
|
||||
try {
|
||||
url = new URL(location);
|
||||
// put(UPNPRouterPlugin.LOCATION, location);
|
||||
final BufferedReader stream = new BufferedReader(new InputStreamReader(url.openStream()));
|
||||
String xmlStr = "";
|
||||
String ln;
|
||||
while ((ln = stream.readLine()) != null) {
|
||||
xmlStr += ln;
|
||||
}
|
||||
stream.close();
|
||||
final Matcher m = Pattern.compile("(<.*?>)").matcher(xmlStr);
|
||||
// lowercase all tags
|
||||
final StringBuilder sb = new StringBuilder();
|
||||
int last = 0;
|
||||
while (m.find()) {
|
||||
sb.append(xmlStr.substring(last, m.start()));
|
||||
sb.append(m.group(0).toLowerCase());
|
||||
last = m.end();
|
||||
}
|
||||
sb.append(xmlStr.substring(last));
|
||||
xmlStr = sb.toString();
|
||||
final DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
|
||||
DocumentBuilder builder;
|
||||
|
||||
builder = factory.newDocumentBuilder();
|
||||
|
||||
final Document document = builder.parse(new InputSource(new StringReader(xmlStr)));
|
||||
// ############## urlbase ##############
|
||||
final Node base = document.getElementsByTagName(UpnpRouterDevice.URLBASE).item(0);
|
||||
String urlbase = null;
|
||||
|
||||
if (base != null) {
|
||||
urlbase = base.getTextContent().trim();
|
||||
if (urlbase != null) {
|
||||
urlbase = urlbase.trim();
|
||||
}
|
||||
}
|
||||
if (urlbase == null) {
|
||||
urlbase = url.getProtocol() + "://" + url.getHost();
|
||||
if (url.getPort() != -1) {
|
||||
urlbase += ":" + url.getPort();
|
||||
}
|
||||
} else if (urlbase.endsWith("/")) {
|
||||
urlbase = urlbase.substring(0, urlbase.length() - 1);
|
||||
}
|
||||
|
||||
// .put(UPNPRouterPlugin.URLBASE, urlbase);
|
||||
// ############## Modelname ##############
|
||||
Element el = null;
|
||||
String friendname = null;
|
||||
String modelname = null;
|
||||
String manufactor = null;
|
||||
NodeList nodes = document.getElementsByTagName("devicetype");
|
||||
for (int i = 0; i < nodes.getLength(); i++) {
|
||||
if (Thread.currentThread().isInterrupted()) throw new InterruptedException();
|
||||
if (nodes.item(i).getTextContent().toLowerCase().matches("urn:schemas-upnp-org:device:internetgatewaydevice:1")) {
|
||||
el = (Element) nodes.item(i).getParentNode();
|
||||
final NodeList nodes2 = nodes.item(i).getParentNode().getChildNodes();
|
||||
for (int j = 0; j < nodes2.getLength(); j++) {
|
||||
if (nodes2.item(j).getNodeName().matches(UpnpRouterDevice.FRIENDLYNAME)) {
|
||||
friendname = nodes2.item(j).getTextContent();
|
||||
// no sure why we do not use
|
||||
// break here
|
||||
// device.put(UPNPRouterPlugin.ModelNAME,
|
||||
// Modelname);
|
||||
}
|
||||
if (nodes2.item(j).getNodeName().matches(UpnpRouterDevice.MODELNAME)) {
|
||||
modelname = nodes2.item(j).getTextContent();
|
||||
// no sure why we do not use
|
||||
// break here
|
||||
// device.put(UPNPRouterPlugin.ModelNAME,
|
||||
// Modelname);
|
||||
}
|
||||
if (nodes2.item(j).getNodeName().matches(UpnpRouterDevice.MANUFACTOR)) {
|
||||
manufactor = nodes2.item(j).getTextContent();
|
||||
// no sure why we do not use
|
||||
// break here
|
||||
// device.put(UPNPRouterPlugin.ModelNAME,
|
||||
// Modelname);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
// ############## controlurl ##############
|
||||
// ############## servicetype #############
|
||||
// ################# wanip ################
|
||||
nodes = el.getElementsByTagName(UpnpRouterDevice.SERVICETYPE);
|
||||
for (int i = 0; i < nodes.getLength(); i++) {
|
||||
if (nodes.item(i).getTextContent().toLowerCase().matches("urn:schemas-upnp-org:service:wan[i|p]pp?connection:1")) {
|
||||
/* add device to found list */
|
||||
final UpnpRouterDevice device = new UpnpRouterDevice();
|
||||
device.setUrlBase(urlbase);
|
||||
device.setModelname(friendname);
|
||||
device.setModelname(modelname);
|
||||
device.setManufactor(manufactor);
|
||||
device.setLocation(location);
|
||||
final String servicetype = nodes.item(i).getTextContent();
|
||||
device.setServiceType(servicetype);
|
||||
// .put(UPNPRouterPlugin.SERVICETYPE,
|
||||
// servicetype);
|
||||
final NodeList nodes2 = nodes.item(i).getParentNode().getChildNodes();
|
||||
for (int j = 0; j < nodes2.getLength(); j++) {
|
||||
if (nodes2.item(j).getNodeName().matches(UpnpRouterDevice.CONTROLURL)) {
|
||||
String controlurl = nodes2.item(j).getTextContent().trim();
|
||||
if (!controlurl.startsWith("/")) {
|
||||
controlurl = "/" + controlurl;
|
||||
}
|
||||
controlurl = urlbase + controlurl;
|
||||
device.setHost(url.getHost());
|
||||
// .put(UPNPRouterPlugin.HOST,
|
||||
// url.getHost());
|
||||
device.setControlURL(controlurl);
|
||||
// device.put(UPNPRouterPlugin.CONTROLURL,
|
||||
// controlurl);
|
||||
|
||||
final Matcher service = Pattern.compile("wan([i|p]pp?)connection", Pattern.CASE_INSENSITIVE).matcher(servicetype);
|
||||
if (service.find()) {
|
||||
if (service.group(1).toLowerCase().equals("ppp")) {
|
||||
device.setWanservice(T._.interaction_UpnpReconnect_wanservice_ppp());
|
||||
|
||||
} else {
|
||||
device.setWanservice(T._.interaction_UpnpReconnect_wanservice_ip());
|
||||
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
foundDevices.add(device);
|
||||
}
|
||||
}
|
||||
} catch (final ParserConfigurationException e) {
|
||||
Log.exception(e);
|
||||
} catch (final SAXException e) {
|
||||
Log.exception(e);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
} catch (IOException e) {
|
||||
Log.exception(e);
|
||||
} catch (InterruptedException e) {
|
||||
e.printStackTrace();
|
||||
} finally {
|
||||
close();
|
||||
}
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
try {
|
||||
Log.L.setLevel(Level.ALL);
|
||||
System.out.println(JSonStorage.toString(INSTANCE.scan()));
|
||||
} catch (InterruptedException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private static UPNPScanner INSTANCE = new UPNPScanner();
|
||||
|
||||
public static java.util.List<UpnpRouterDevice> scanDevices() throws InterruptedException {
|
||||
return INSTANCE.scan();
|
||||
}
|
||||
|
||||
}
|
@ -2,12 +2,13 @@ package jd.controlling.reconnect.pluginsinc.upnp;
|
||||
|
||||
import java.awt.Component;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.util.ArrayList;
|
||||
|
||||
import javax.swing.DefaultListCellRenderer;
|
||||
import javax.swing.JLabel;
|
||||
import javax.swing.JList;
|
||||
|
||||
import jd.controlling.reconnect.pluginsinc.upnp.cling.UPNPDeviceScanner;
|
||||
import jd.controlling.reconnect.pluginsinc.upnp.cling.UpnpRouterDevice;
|
||||
import jd.controlling.reconnect.pluginsinc.upnp.translate.T;
|
||||
|
||||
import org.appwork.swing.action.BasicAction;
|
||||
@ -45,7 +46,7 @@ public class UPNPScannerAction extends BasicAction {
|
||||
|
||||
public void run() throws Exception {
|
||||
|
||||
final java.util.List<UpnpRouterDevice> devices = UPNPScanner.scanDevices();
|
||||
final java.util.List<UpnpRouterDevice> devices = new UPNPDeviceScanner().scan();
|
||||
if (devices.size() == 0) {
|
||||
Dialog.getInstance().showErrorDialog(T._.UPNPRouterPlugin_run_error());
|
||||
|
||||
|
@ -1,97 +0,0 @@
|
||||
package jd.controlling.reconnect.pluginsinc.upnp;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
public class UpnpRouterDevice extends HashMap<String, String> {
|
||||
/**
|
||||
* These constancs are not only storage keys, but are used by the Parser in
|
||||
* UPNPRouterPlugin. So <b>DO NEVER CHANGE THEM WITHOUT KNOWING 100% what
|
||||
* you are doing</b>
|
||||
*/
|
||||
public static final String LOCATION = "location";
|
||||
public static final String URLBASE = "urlbase";
|
||||
public static final String FRIENDLYNAME = "friendlyname";
|
||||
public static final String HOST = "host";
|
||||
public static final String CONTROLURL = "controlurl";
|
||||
public static final String WANSERVICE = "wanservice";
|
||||
public static final String SERVICETYPE = "servicetype";
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private static final long serialVersionUID = 1L;
|
||||
public static final String MODELNAME = "modelname";
|
||||
public static final String MANUFACTOR = "manufacturer";
|
||||
|
||||
public String getControlURL() {
|
||||
return this.get(UpnpRouterDevice.CONTROLURL);
|
||||
}
|
||||
|
||||
public String getFriendlyname() {
|
||||
return this.get(UpnpRouterDevice.FRIENDLYNAME);
|
||||
}
|
||||
|
||||
public String getHost() {
|
||||
return this.get(UpnpRouterDevice.HOST);
|
||||
}
|
||||
|
||||
public String getLocation() {
|
||||
return this.get(UpnpRouterDevice.LOCATION);
|
||||
}
|
||||
|
||||
public String getManufactor() {
|
||||
return this.get(UpnpRouterDevice.MANUFACTOR);
|
||||
}
|
||||
|
||||
public String getModelname() {
|
||||
return this.get(UpnpRouterDevice.MODELNAME);
|
||||
}
|
||||
|
||||
public String getServiceType() {
|
||||
return this.get(UpnpRouterDevice.SERVICETYPE);
|
||||
}
|
||||
|
||||
public String getUrlBase() {
|
||||
return this.get(UpnpRouterDevice.URLBASE);
|
||||
}
|
||||
|
||||
public String getWanservice() {
|
||||
return this.get(UpnpRouterDevice.WANSERVICE);
|
||||
}
|
||||
|
||||
public void setControlURL(final String controlURL) {
|
||||
this.put(UpnpRouterDevice.CONTROLURL, controlURL);
|
||||
}
|
||||
|
||||
public void setFriendlyname(final String friendlyname) {
|
||||
this.put(UpnpRouterDevice.FRIENDLYNAME, friendlyname);
|
||||
}
|
||||
|
||||
public void setHost(final String host) {
|
||||
this.put(UpnpRouterDevice.HOST, host);
|
||||
}
|
||||
|
||||
public void setLocation(final String location) {
|
||||
this.put(UpnpRouterDevice.LOCATION, location);
|
||||
}
|
||||
|
||||
public void setManufactor(final String manufactor2) {
|
||||
this.put(UpnpRouterDevice.MANUFACTOR, manufactor2);
|
||||
}
|
||||
|
||||
public void setModelname(final String modelname2) {
|
||||
this.put(UpnpRouterDevice.MODELNAME, modelname2);
|
||||
}
|
||||
|
||||
public void setServiceType(final String servicyType) {
|
||||
this.put(UpnpRouterDevice.SERVICETYPE, servicyType);
|
||||
}
|
||||
|
||||
public void setUrlBase(final String urlBase) {
|
||||
this.put(UpnpRouterDevice.URLBASE, urlBase);
|
||||
}
|
||||
|
||||
public void setWanservice(final String wanservice) {
|
||||
this.put(UpnpRouterDevice.WANSERVICE, wanservice);
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,15 @@
|
||||
package jd.controlling.reconnect.pluginsinc.upnp.cling;
|
||||
|
||||
import org.fourthline.cling.controlpoint.ActionCallback;
|
||||
import org.fourthline.cling.model.action.ActionInvocation;
|
||||
import org.fourthline.cling.model.meta.Service;
|
||||
|
||||
public abstract class ForceTermination extends ActionCallback {
|
||||
|
||||
public static final String FORCE_TERMINATION = "ForceTermination";
|
||||
|
||||
public ForceTermination(Service service) {
|
||||
super(new ActionInvocation(service.getAction(FORCE_TERMINATION)));
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,23 @@
|
||||
package jd.controlling.reconnect.pluginsinc.upnp.cling;
|
||||
|
||||
import org.fourthline.cling.controlpoint.ActionCallback;
|
||||
import org.fourthline.cling.model.action.ActionInvocation;
|
||||
import org.fourthline.cling.model.message.UpnpResponse;
|
||||
import org.fourthline.cling.model.meta.Service;
|
||||
|
||||
public class RequestConnection extends ActionCallback {
|
||||
|
||||
protected RequestConnection(Service service) {
|
||||
super(new ActionInvocation(service.getAction("RequestConnection")));
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void success(ActionInvocation invocation) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void failure(ActionInvocation invocation, UpnpResponse operation, String defaultMsg) {
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,160 @@
|
||||
package jd.controlling.reconnect.pluginsinc.upnp.cling;
|
||||
|
||||
import java.net.URL;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
|
||||
import jd.controlling.reconnect.pluginsinc.upnp.translate.T;
|
||||
|
||||
import org.appwork.utils.logging2.LogSource;
|
||||
import org.fourthline.cling.UpnpServiceImpl;
|
||||
import org.fourthline.cling.model.meta.Action;
|
||||
import org.fourthline.cling.model.meta.Device;
|
||||
import org.fourthline.cling.model.meta.LocalDevice;
|
||||
import org.fourthline.cling.model.meta.RemoteDevice;
|
||||
import org.fourthline.cling.model.meta.RemoteService;
|
||||
import org.fourthline.cling.model.meta.Service;
|
||||
import org.fourthline.cling.model.types.UDAServiceType;
|
||||
import org.fourthline.cling.registry.Registry;
|
||||
import org.fourthline.cling.registry.RegistryListener;
|
||||
import org.jdownloader.logging.LogController;
|
||||
|
||||
public class UPNPDeviceScanner {
|
||||
|
||||
private LogSource logger;
|
||||
|
||||
public UPNPDeviceScanner() {
|
||||
logger = LogController.getInstance().getLogger(UPNPDeviceScanner.class.getName());
|
||||
}
|
||||
|
||||
public List<UpnpRouterDevice> scan() throws InterruptedException {
|
||||
System.out.println("Starting Cling...");
|
||||
// final HashSet<RemoteDevice> devices = new HashSet<UpnpRouterDevice>();
|
||||
final UpnpServiceImpl upnpService = new UpnpServiceImpl(new RegistryListener() {
|
||||
|
||||
public void remoteDeviceDiscoveryStarted(Registry registry, RemoteDevice device) {
|
||||
System.out.println("Discovery started: " + device.getDisplayString() + " - " + device.getType());
|
||||
|
||||
}
|
||||
|
||||
public void remoteDeviceDiscoveryFailed(Registry registry, RemoteDevice device, Exception ex) {
|
||||
System.out.println("Discovery failed: " + device.getDisplayString() + " => " + ex);
|
||||
}
|
||||
|
||||
public void remoteDeviceAdded(Registry registry, RemoteDevice device) {
|
||||
System.out.println("Remote device available: " + device.getDisplayString() + " - " + device.getType());
|
||||
// UpnpRouterDevice d = new UpnpRouterDevice();
|
||||
// DeviceDetails detail = device.getDetails();
|
||||
// // d.setControlURL(device.getDetails().g);
|
||||
// d.setFriendlyname(device.getDetails().getFriendlyName());
|
||||
// d.setHost(device.getIdentity().getDescriptorURL().getHost());
|
||||
// // d.setLocation(location);
|
||||
// d.setManufactor(detail.getManufacturerDetails().getManufacturer());
|
||||
// d.setModelname(detail.getModelDetails().getModelName());
|
||||
// // d.setServiceType(servicyType);
|
||||
// d.setUrlBase(detail.getBaseURL() + "");
|
||||
// // d.setWanservice(wanservice);
|
||||
// devices.add(d);
|
||||
|
||||
}
|
||||
|
||||
public void remoteDeviceUpdated(Registry registry, RemoteDevice device) {
|
||||
|
||||
System.out.println("Remote device updated: " + device.getDisplayString() + " - " + device.getType());
|
||||
|
||||
}
|
||||
|
||||
public void remoteDeviceRemoved(Registry registry, RemoteDevice device) {
|
||||
System.out.println("Remote device removed: " + device.getDisplayString());
|
||||
}
|
||||
|
||||
public void localDeviceAdded(Registry registry, LocalDevice device) {
|
||||
System.out.println("Local device added: " + device.getDisplayString());
|
||||
}
|
||||
|
||||
public void localDeviceRemoved(Registry registry, LocalDevice device) {
|
||||
System.out.println("Local device removed: " + device.getDisplayString());
|
||||
}
|
||||
|
||||
public void beforeShutdown(Registry registry) {
|
||||
System.out.println("Before shutdown, the registry has devices: " + registry.getDevices().size());
|
||||
}
|
||||
|
||||
public void afterShutdown() {
|
||||
System.out.println("Shutdown of registry complete!");
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
// Send a search message to all devices and services, they should respond soon
|
||||
upnpService.getControlPoint().search();
|
||||
try {
|
||||
// Let's wait 10 seconds for them to respond
|
||||
System.out.println("Waiting 10 seconds before shutting down...");
|
||||
Thread.sleep(5000);
|
||||
HashSet<UpnpRouterDevice> ret = new HashSet<UpnpRouterDevice>();
|
||||
UDAServiceType serviceType = new UDAServiceType("WANIPConnection", 1);
|
||||
for (Device device : upnpService.getRegistry().getDevices(serviceType)) {
|
||||
try {
|
||||
final Service service = device.findService(serviceType);
|
||||
if (service != null && service instanceof RemoteService) {
|
||||
Action action = service.getAction(ForceTermination.FORCE_TERMINATION);
|
||||
|
||||
if (action != null) {
|
||||
UpnpRouterDevice d = new UpnpRouterDevice();
|
||||
d.setModelname(device.getDisplayString());
|
||||
d.setWanservice(T._.interaction_UpnpReconnect_wanservice_ip());
|
||||
URL url = ((RemoteService) service).getDevice().normalizeURI(((RemoteService) service).getControlURI());
|
||||
d.setControlURL(url + "");
|
||||
d.setServiceType(((RemoteService) service).getServiceType() + "");
|
||||
d.setFriendlyname(device.getDetails().getFriendlyName());
|
||||
d.setManufactor(device.getDetails().getManufacturerDetails().getManufacturer());
|
||||
ret.add(d);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
} catch (Exception e) {
|
||||
logger.log(e);
|
||||
}
|
||||
|
||||
}
|
||||
serviceType = new UDAServiceType("WANPPPConnection", 1);
|
||||
for (Device device : upnpService.getRegistry().getDevices(serviceType)) {
|
||||
try {
|
||||
final Service service = device.findService(serviceType);
|
||||
if (service != null) {
|
||||
Action action = service.getAction(ForceTermination.FORCE_TERMINATION);
|
||||
if (action != null) {
|
||||
UpnpRouterDevice d = new UpnpRouterDevice();
|
||||
d.setModelname(device.getDisplayString());
|
||||
d.setWanservice(T._.interaction_UpnpReconnect_wanservice_ppp());
|
||||
URL url = ((RemoteService) service).getDevice().normalizeURI(((RemoteService) service).getControlURI());
|
||||
d.setControlURL(url + "");
|
||||
d.setFriendlyname(device.getDetails().getFriendlyName());
|
||||
d.setManufactor(device.getDetails().getManufacturerDetails().getManufacturer());
|
||||
ret.add(d);
|
||||
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
logger.log(e);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Release all resources and advertise BYEBYE to other UPnP devices
|
||||
|
||||
return new ArrayList<UpnpRouterDevice>(ret);
|
||||
} finally {
|
||||
System.out.println("Stopping Cling...");
|
||||
upnpService.shutdown();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public static void main(String[] args) throws InterruptedException {
|
||||
new UPNPDeviceScanner().scan();
|
||||
}
|
||||
}
|
@ -0,0 +1,76 @@
|
||||
package jd.controlling.reconnect.pluginsinc.upnp.cling;
|
||||
|
||||
import java.net.MalformedURLException;
|
||||
import java.net.URL;
|
||||
|
||||
import org.appwork.storage.Storable;
|
||||
|
||||
public class UpnpRouterDevice implements Storable {
|
||||
|
||||
private String wanservice;
|
||||
private String modelname;
|
||||
private String controlURL;
|
||||
private String serviceType;
|
||||
private String manufactor;
|
||||
private String friendlyname;
|
||||
|
||||
public void setWanservice(String wanservice) {
|
||||
this.wanservice = wanservice;
|
||||
}
|
||||
|
||||
public void setModelname(String modelname) {
|
||||
this.modelname = modelname;
|
||||
}
|
||||
|
||||
public UpnpRouterDevice(/* storable */) {
|
||||
|
||||
}
|
||||
|
||||
public String getWanservice() {
|
||||
return wanservice;
|
||||
}
|
||||
|
||||
public String getModelname() {
|
||||
return modelname;
|
||||
}
|
||||
|
||||
public void setControlURL(String string) {
|
||||
controlURL = string;
|
||||
}
|
||||
|
||||
public String getControlURL() {
|
||||
return controlURL;
|
||||
}
|
||||
|
||||
public void setServiceType(String string) {
|
||||
serviceType = string;
|
||||
}
|
||||
|
||||
public String getServiceType() {
|
||||
return serviceType;
|
||||
}
|
||||
|
||||
public String getHost() {
|
||||
try {
|
||||
return new URL(getControlURL()).getHost();
|
||||
} catch (MalformedURLException e) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public String getManufactor() {
|
||||
return manufactor;
|
||||
}
|
||||
|
||||
public String getFriendlyname() {
|
||||
return friendlyname;
|
||||
}
|
||||
|
||||
public void setManufactor(String manufactor) {
|
||||
this.manufactor = manufactor;
|
||||
}
|
||||
|
||||
public void setFriendlyname(String friendlyname) {
|
||||
this.friendlyname = friendlyname;
|
||||
}
|
||||
}
|
@ -2,10 +2,15 @@ package jd.gui.swing.jdgui.components.toolbar.actions;
|
||||
|
||||
import java.awt.event.ActionEvent;
|
||||
|
||||
import jd.gui.swing.jdgui.views.settings.panels.reconnect.ReconnectTestAction;
|
||||
import jd.controlling.reconnect.ReconnectException;
|
||||
import jd.controlling.reconnect.Reconnecter;
|
||||
import jd.gui.swing.jdgui.views.settings.panels.reconnect.ReconnectDialog;
|
||||
|
||||
import org.appwork.uio.UIOManager;
|
||||
import org.appwork.utils.logging2.LogSource;
|
||||
import org.appwork.utils.swing.dialog.Dialog;
|
||||
import org.appwork.utils.swing.dialog.DialogCanceledException;
|
||||
import org.appwork.utils.swing.dialog.DialogClosedException;
|
||||
import org.jdownloader.gui.toolbar.action.ToolBarAction;
|
||||
import org.jdownloader.gui.translate._GUI;
|
||||
import org.jdownloader.gui.views.SelectionInfo;
|
||||
@ -23,7 +28,23 @@ public class ReconnectAction extends ToolBarAction {
|
||||
|
||||
if (UIOManager.I().showConfirmDialog(Dialog.STYLE_SHOW_DO_NOT_DISPLAY_AGAIN, _GUI._.lit_are_you_sure(), _GUI._.gui_reconnect_confirm(), NewTheme.I().getIcon("reconnect", 32), _GUI._.lit_yes(), _GUI._.lit_no())) {
|
||||
|
||||
new ReconnectTestAction().actionPerformed(e);
|
||||
try {
|
||||
Dialog.getInstance().showDialog(new ReconnectDialog() {
|
||||
protected boolean startReconnectAndWait(LogSource logger) throws ReconnectException, InterruptedException {
|
||||
return Reconnecter.getInstance().forceReconnect();
|
||||
}
|
||||
});
|
||||
} catch (DialogClosedException e1) {
|
||||
e1.printStackTrace();
|
||||
} catch (DialogCanceledException e1) {
|
||||
e1.printStackTrace();
|
||||
}
|
||||
//
|
||||
// new Thread(new Runnable() {
|
||||
// public void run() {
|
||||
// Reconnecter.getInstance().forceReconnect();
|
||||
// }
|
||||
// }).start();
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -116,26 +116,8 @@ public class ReconnectDialog extends AbstractDialog<Object> implements IPControl
|
||||
LogSource logger = LogController.CL();
|
||||
try {
|
||||
logger.setAllowTimeoutFlush(false);
|
||||
ReconnectInvoker plg = ReconnectPluginController.getInstance().getActivePlugin().getReconnectInvoker();
|
||||
if (plg == null) throw new ReconnectException(_GUI._.ReconnectDialog_run_failed_not_setup_());
|
||||
plg.setLogger(logger);
|
||||
|
||||
// if (IPController.getInstance().getIpState().isOffline()) {
|
||||
// ((ImagePainter) progress.getNonvalueClipPainter()).setBackground(Color.GRAY);
|
||||
// ((ImagePainter) progress.getNonvalueClipPainter()).setForeground(Color.RED);
|
||||
// progress.setValue(0);
|
||||
// Dialog.getInstance().showMessageDialog(_GUI._.reconnect_test_offline());
|
||||
// new EDTRunner() {
|
||||
//
|
||||
// @Override
|
||||
// protected void runInEDT() {
|
||||
// dispose();
|
||||
// }
|
||||
// };
|
||||
// return;
|
||||
// }
|
||||
ReconnectResult result = plg.validate();
|
||||
if (result.isSuccess()) {
|
||||
if (startReconnectAndWait(logger)) {
|
||||
logger.clear();
|
||||
new EDTRunner() {
|
||||
|
||||
@ -153,6 +135,7 @@ public class ReconnectDialog extends AbstractDialog<Object> implements IPControl
|
||||
}
|
||||
};
|
||||
}
|
||||
update();
|
||||
progress.setIndeterminate(false);
|
||||
if (IPController.getInstance().isInvalidated()) {
|
||||
((ImagePainter) progress.getNonvalueClipPainter()).setBackground(Color.GRAY);
|
||||
@ -197,11 +180,7 @@ public class ReconnectDialog extends AbstractDialog<Object> implements IPControl
|
||||
updateTimer = new Timer(1000, new ActionListener() {
|
||||
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
duration.setText(TimeFormatter.formatMilliSeconds(System.currentTimeMillis() - startTime, 0));
|
||||
// if (!IPController.getInstance().isInvalidated()) {
|
||||
newIP.setText(IPController.getInstance().getIP().toString());
|
||||
// updateTimer.stop();
|
||||
// }
|
||||
update();
|
||||
|
||||
}
|
||||
});
|
||||
@ -277,4 +256,39 @@ public class ReconnectDialog extends AbstractDialog<Object> implements IPControl
|
||||
|
||||
public void onIPStateChanged(IPConnectionState parameter, IPConnectionState parameter2) {
|
||||
}
|
||||
|
||||
protected boolean startReconnectAndWait(LogSource logger) throws ReconnectException, InterruptedException {
|
||||
ReconnectInvoker plg = ReconnectPluginController.getInstance().getActivePlugin().getReconnectInvoker();
|
||||
if (plg == null) throw new ReconnectException(_GUI._.ReconnectDialog_run_failed_not_setup_());
|
||||
plg.setLogger(logger);
|
||||
|
||||
// if (IPController.getInstance().getIpState().isOffline()) {
|
||||
// ((ImagePainter) progress.getNonvalueClipPainter()).setBackground(Color.GRAY);
|
||||
// ((ImagePainter) progress.getNonvalueClipPainter()).setForeground(Color.RED);
|
||||
// progress.setValue(0);
|
||||
// Dialog.getInstance().showMessageDialog(_GUI._.reconnect_test_offline());
|
||||
// new EDTRunner() {
|
||||
//
|
||||
// @Override
|
||||
// protected void runInEDT() {
|
||||
// dispose();
|
||||
// }
|
||||
// };
|
||||
// return;
|
||||
// }
|
||||
ReconnectResult result = plg.validate();
|
||||
return result.isSuccess();
|
||||
}
|
||||
|
||||
protected void update() {
|
||||
duration.setText(TimeFormatter.formatMilliSeconds(System.currentTimeMillis() - startTime, 0));
|
||||
// if (!IPController.getInstance().isInvalidated()) {
|
||||
|
||||
IPConnectionState ip = IPController.getInstance().getIpState();
|
||||
|
||||
newIP.setText(ip.toString());
|
||||
|
||||
// updateTimer.stop();
|
||||
// }
|
||||
}
|
||||
}
|
||||
|
@ -77,7 +77,7 @@ public class AddLinksProgress extends AbstractDialog<Object> {
|
||||
header.setText(_GUI._.AddLinksProgress_layoutDialogContent_header_(stz.substring(0, Math.min(45, stz.length()))));
|
||||
p.add(label(_GUI._.AddLinksProgress_layoutDialogContent_duration()));
|
||||
|
||||
p.add(duration = new JLabel(), "width 50!");
|
||||
p.add(duration = new JLabel(), "width 50:n:n,growx");
|
||||
p.add(new JLabel(NewTheme.I().getIcon("go-next", 18)));
|
||||
p.add(label(_GUI._.AddLinksProgress_found()));
|
||||
p.add(old = new JLabel());
|
||||
|
Loading…
Reference in New Issue
Block a user