diff --git a/lib/commons-logging-1.1.1.jar b/lib/commons-logging-1.1.1.jar deleted file mode 100644 index 1deef14..0000000 Binary files a/lib/commons-logging-1.1.1.jar and /dev/null differ diff --git a/lib/httpclient-4.2.1.jar b/lib/httpclient-4.2.1.jar deleted file mode 100644 index 1d52333..0000000 Binary files a/lib/httpclient-4.2.1.jar and /dev/null differ diff --git a/lib/httpcore-4.2.1.jar b/lib/httpcore-4.2.1.jar deleted file mode 100644 index 16d75e1..0000000 Binary files a/lib/httpcore-4.2.1.jar and /dev/null differ diff --git a/lib/httpmime-4.2.1.jar b/lib/httpmime-4.2.1.jar deleted file mode 100644 index f23d5be..0000000 Binary files a/lib/httpmime-4.2.1.jar and /dev/null differ diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..9694578 --- /dev/null +++ b/pom.xml @@ -0,0 +1,58 @@ + + 4.0.0 + + org.mediawiki + api + 1.0-SNAPSHOT + jar + + java-mwapi + http://maven.apache.org + + + UTF-8 + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 2.5.1 + + 1.5 + + + + + + + + + + junit + junit + 4.10 + test + jar + + + org.apache.httpcomponents + httpclient + 4.2 + + + org.apache.httpcomponents + httpmime + 4.1-beta1 + + + org.mediawiki + java-mwapi + 1.0-SNAPSHOT + test + jar + + + diff --git a/src/org/mediawiki/api/ApiResult.java b/src/main/java/org/mediawiki/api/ApiResult.java similarity index 90% rename from src/org/mediawiki/api/ApiResult.java rename to src/main/java/org/mediawiki/api/ApiResult.java index 38a3b35..32c240c 100644 --- a/src/org/mediawiki/api/ApiResult.java +++ b/src/main/java/org/mediawiki/api/ApiResult.java @@ -2,6 +2,7 @@ import java.io.IOError; import java.io.IOException; +import java.io.InputStream; import java.util.ArrayList; import javax.xml.parsers.*; @@ -13,7 +14,7 @@ import org.w3c.dom.NodeList; import org.xml.sax.SAXException; -import de.mastacode.http.Http.HttpRequestBuilder; +import org.mediawiki.api.de.mastacode.http.Http.HttpRequestBuilder; public class ApiResult { private Node doc; @@ -27,7 +28,8 @@ public class ApiResult { static ApiResult fromRequestBuilder(HttpRequestBuilder builder, HttpClient client) throws IOException { try { DocumentBuilder docBuilder = DocumentBuilderFactory.newInstance().newDocumentBuilder(); - Document doc = docBuilder.parse(builder.use(client).charset("utf-8").data("format", "xml").asResponse().getEntity().getContent()); + InputStream response = builder.use(client).charset("utf-8").data("format", "xml").asResponse().getEntity().getContent(); + Document doc = docBuilder.parse(response); return new ApiResult(doc); } catch (ParserConfigurationException e) { // I don't know wtf I can do about this on... diff --git a/src/org/mediawiki/api/MWApi.java b/src/main/java/org/mediawiki/api/MWApi.java similarity index 96% rename from src/org/mediawiki/api/MWApi.java rename to src/main/java/org/mediawiki/api/MWApi.java index 257c12c..10574c3 100644 --- a/src/org/mediawiki/api/MWApi.java +++ b/src/main/java/org/mediawiki/api/MWApi.java @@ -5,16 +5,12 @@ import java.net.MalformedURLException; import java.net.URL; import java.util.*; - -import de.mastacode.http.*; -import de.mastacode.http.Http.HttpRequestBuilder; - -import org.apache.http.HttpResponse; -import org.apache.http.client.HttpClient; import org.apache.http.cookie.Cookie; import org.apache.http.impl.client.AbstractHttpClient; -import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.impl.cookie.BasicClientCookie; +import org.mediawiki.api.de.mastacode.http.Http; +import org.mediawiki.api.de.mastacode.http.Http.HttpRequestBuilder; +import org.mediawiki.api.de.mastacode.http.ProgressListener; public class MWApi { public class RequestBuilder { diff --git a/src/de/mastacode/http/CountedInputStreamBody.java b/src/main/java/org/mediawiki/api/de/mastacode/http/CountedInputStreamBody.java similarity index 91% rename from src/de/mastacode/http/CountedInputStreamBody.java rename to src/main/java/org/mediawiki/api/de/mastacode/http/CountedInputStreamBody.java index 3f87ba0..39cfdd2 100644 --- a/src/de/mastacode/http/CountedInputStreamBody.java +++ b/src/main/java/org/mediawiki/api/de/mastacode/http/CountedInputStreamBody.java @@ -1,4 +1,4 @@ -package de.mastacode.http; +package org.mediawiki.api.de.mastacode.http; import java.io.IOException; import java.io.InputStream; diff --git a/src/de/mastacode/http/CountingRequestEntity.java b/src/main/java/org/mediawiki/api/de/mastacode/http/CountingRequestEntity.java similarity index 98% rename from src/de/mastacode/http/CountingRequestEntity.java rename to src/main/java/org/mediawiki/api/de/mastacode/http/CountingRequestEntity.java index 5d4aacc..c3d9b0d 100644 --- a/src/de/mastacode/http/CountingRequestEntity.java +++ b/src/main/java/org/mediawiki/api/de/mastacode/http/CountingRequestEntity.java @@ -1,4 +1,4 @@ -package de.mastacode.http; +package org.mediawiki.api.de.mastacode.http; import java.io.FilterOutputStream; import java.io.IOException; import java.io.InputStream; diff --git a/src/de/mastacode/http/Http.java b/src/main/java/org/mediawiki/api/de/mastacode/http/Http.java similarity index 99% rename from src/de/mastacode/http/Http.java rename to src/main/java/org/mediawiki/api/de/mastacode/http/Http.java index acc74ff..16111de 100644 --- a/src/de/mastacode/http/Http.java +++ b/src/main/java/org/mediawiki/api/de/mastacode/http/Http.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package de.mastacode.http; +package org.mediawiki.api.de.mastacode.http; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; @@ -58,7 +58,7 @@ import org.apache.http.util.ByteArrayBuffer; import org.apache.http.util.EntityUtils; -import de.mastacode.http.Http.HttpRequestBuilder; + /** * Fluent builder for the {@linkplain HttpClient} to simplify its usage. diff --git a/src/de/mastacode/http/ProgressListener.java b/src/main/java/org/mediawiki/api/de/mastacode/http/ProgressListener.java similarity index 66% rename from src/de/mastacode/http/ProgressListener.java rename to src/main/java/org/mediawiki/api/de/mastacode/http/ProgressListener.java index 621816e..18a9e56 100644 --- a/src/de/mastacode/http/ProgressListener.java +++ b/src/main/java/org/mediawiki/api/de/mastacode/http/ProgressListener.java @@ -1,4 +1,4 @@ -package de.mastacode.http; +package org.mediawiki.api.de.mastacode.http; public interface ProgressListener { void onProgress(long transferred, long total); diff --git a/tests/org/mediawiki/api/tests/test.png b/src/main/resources/test.png similarity index 100% rename from tests/org/mediawiki/api/tests/test.png rename to src/main/resources/test.png diff --git a/tests/org/mediawiki/api/tests/MWApiTest.java b/src/test/java/org/mediawiki/api/MWApiTest.java similarity index 87% rename from tests/org/mediawiki/api/tests/MWApiTest.java rename to src/test/java/org/mediawiki/api/MWApiTest.java index f4db1a4..0349444 100644 --- a/tests/org/mediawiki/api/tests/MWApiTest.java +++ b/src/test/java/org/mediawiki/api/MWApiTest.java @@ -1,45 +1,24 @@ -package org.mediawiki.api.tests; - -import static org.junit.Assert.*; +package org.mediawiki.api; import java.io.FileInputStream; -import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; -import java.io.OutputStream; -import java.io.PrintWriter; -import java.io.StringWriter; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; -import java.util.AbstractMap; import java.util.ArrayList; -import java.util.List; - -import javax.management.RuntimeErrorException; -import javax.xml.xpath.XPath; -import javax.xml.xpath.XPathFactory; - import org.apache.http.impl.client.DefaultHttpClient; +import static org.junit.Assert.*; import org.junit.Before; import org.junit.Test; -import org.mediawiki.api.ApiResult; -import org.mediawiki.api.MWApi; -import org.w3c.dom.Document; -import org.w3c.dom.Node; -import org.w3c.dom.ls.DOMImplementationLS; -import org.w3c.dom.ls.LSSerializer; - -import com.sun.jmx.snmp.SnmpString; - -import de.mastacode.http.ProgressListener; +import org.mediawiki.api.de.mastacode.http.ProgressListener; public class MWApiTest { - // Test accounts on local wiki. For write tests + // Test accounts on local wiki. For write tests // Setup your local wiki and create this account before running tests private final String USERNAME = "yuvipanda"; - private final String PASSWORD = "plasmafury"; - private final String WRITEAPIURL = "http://localhost/w/api.php"; + private final String PASSWORD = "testingtesting"; + private final String WRITEAPIURL = "http://test2.wikipedia.org/w/api.php"; // Use testwiki for read only tests private final String READAPIURL = "http://test.wikipedia.org/w/api.php"; @@ -111,7 +90,7 @@ private String sha1Of(String filepath) throws IOException { public void testUpload() throws IOException { setupWriteableAPI(); - String filepath = this.getClass().getResource("test.png").getFile(); + String filepath = Thread.currentThread().getContextClassLoader().getResource("test.png").getFile(); assertEquals("Success", api.login(USERNAME, PASSWORD)); FileInputStream stream = new FileInputStream(filepath); ApiResult result = api.upload("test", stream, "yo!", "Wassup?"); @@ -144,8 +123,8 @@ private long countBytes(InputStream source) throws IOException { @Test public void testUploadWithProgress() throws IOException { setupWriteableAPI(); - - String filepath = this.getClass().getResource("test.png").getFile(); + + String filepath = Thread.currentThread().getContextClassLoader().getResource("test.png").getFile(); assertEquals("Success", api.login(USERNAME, PASSWORD)); FileInputStream stream = new FileInputStream(filepath); FileInputStream streamForCounting = new FileInputStream(filepath); @@ -208,4 +187,4 @@ public void testAnonymousEditToken() throws IOException { assertEquals("+\\", api.getEditToken()); } -} +} \ No newline at end of file