ラベル ApacheJackrabbit の投稿を表示しています。 すべての投稿を表示
ラベル ApacheJackrabbit の投稿を表示しています。 すべての投稿を表示

2011年11月4日金曜日

groovyとJackrabbitでWebDAVサーバ上のリソースをダウンロードする

groovyとJackrabbitでWebDAVサーバ上のリソースをダウンロードするには、以下のコードを実行します。
@Grab(group='org.apache.jackrabbit', module='jackrabbit-jcr2dav', version='2.2.9')

import org.apache.commons.httpclient.auth.*
import org.apache.commons.httpclient.*
import org.apache.commons.httpclient.methods.*
import org.apache.jackrabbit.webdav.*

// WebDAV URL
baseUrl = "http://localhost:8080/repository/default"
path = "/" + java.net.URLEncoder.encode("テスト", "UTF-8")
url = baseUrl + path
println url

try
{
  client = new HttpClient()
  client.getState().setCredentials(AuthScope.ANY, 
    new UsernamePasswordCredentials('username', 'password'))

  method = new GetMethod(url + "/SF.JPG")
  client.executeMethod(method)

  new FileOutputStream("SF.JPG").withStream {
    it.write(method.getResponseBodyAsStream().getBytes())
  }
  println(method.getStatusCode() + ":" + method.getStatusText())
}
catch(HttpException ex){
  println ex
}

動作環境
groovy 1.8.2, JDK6 Update27, Jackrabbit 2.2.9

2011年11月2日水曜日

groovyとJackrabbitでWebDAVサーバ上のリソースをコピーする

groovyとJackrabbitでWebDAVサーバ上のリソースをコピーするには、以下のコードを実行します。
@Grab(group='org.apache.jackrabbit', module='jackrabbit-jcr2dav', version='2.2.9')

import org.apache.commons.httpclient.auth.*
import org.apache.commons.httpclient.*
import org.apache.jackrabbit.webdav.client.methods.*
import org.apache.jackrabbit.webdav.*

// WebDAV URL
baseUrl = "http://localhost:8080/repository/default"
path = "/" + java.net.URLEncoder.encode("テスト", "UTF-8")
url = baseUrl + path
filename = "サンプルファイル.txt"
copiedFilename = "サンプルファイル2.txt"

try
{
  client = new HttpClient()
  client.getState().setCredentials(AuthScope.ANY, 
    new UsernamePasswordCredentials('username', 'password'))

  method = new CopyMethod(
    url + "/" + java.net.URLEncoder.encode(filename, "UTF-8"),
    url + "/" + java.net.URLEncoder.encode(copiedFilename, "UTF-8"),
    false /*= overwrite */
  )
  client.executeMethod(method)
  println(method.getStatusCode() + ":" + method.getStatusText())
}
catch(HttpException ex){
  println ex
}

動作環境
groovy 1.8.2, JDK6 Update27, Jackrabbit 2.2.9

2011年10月31日月曜日

groovyとJackrabbitでWebDAVサーバ上のリソースを移動する

groovyとJackrabbitでWebDAVサーバ上のリソースを移動するには、以下のコードを実行します。
@Grab(group='org.apache.jackrabbit', module='jackrabbit-jcr2dav', version='2.2.9')

import org.apache.commons.httpclient.auth.*
import org.apache.commons.httpclient.*
import org.apache.jackrabbit.webdav.client.methods.*
import org.apache.jackrabbit.webdav.*

// WebDAV URL
baseUrl = "http://localhost:8080/repository/default"
oldpath = "/" + java.net.URLEncoder.encode("テスト", "UTF-8")
newpath = ""
oldurl = baseUrl + oldpath
newurl = baseUrl + newpath
filename = "サンプルファイル.txt"

try
{
  client = new HttpClient()
  client.getState().setCredentials(AuthScope.ANY, 
    new UsernamePasswordCredentials('username', 'password'))

  method = new MoveMethod(
    oldurl + "/" + java.net.URLEncoder.encode(filename, "UTF-8"),
    newurl + "/" + java.net.URLEncoder.encode(filename, "UTF-8"),
    false /*= overwrite */
  )
  client.executeMethod(method)
  println(method.getStatusCode() + ":" + method.getStatusText())
}
catch(HttpException ex){
  println ex
}

動作環境
groovy 1.8.2, JDK6 Update27, Jackrabbit 2.2.9

2011年10月29日土曜日

groovyとJackrabbitでWebDAVサーバ上にコレクションを作成する

groovyとJackrabbitでWebDAVサーバ上にコレクションを作成するには、以下のコードを実行します。
@Grab(group='org.apache.jackrabbit', module='jackrabbit-jcr2dav', version='2.2.9')

import org.apache.commons.httpclient.auth.*
import org.apache.commons.httpclient.*
import org.apache.jackrabbit.webdav.client.methods.*
import org.apache.jackrabbit.webdav.*

// WebDAV URL
baseUrl = "http://localhost:8080/repository/default"
path = "/" + java.net.URLEncoder.encode("テスト", "UTF-8")
url = baseUrl + path
println url
colname = "テスト用フォルダ"

try
{
  client = new HttpClient()
  client.getState().setCredentials(AuthScope.ANY, 
    new UsernamePasswordCredentials('username', 'password'))

  method = new MkColMethod(url + "/" + java.net.URLEncoder.encode(colname, "UTF-8"))
  client.executeMethod(method)
  println(method.getStatusCode() + ":" + method.getStatusText())
}
catch(HttpException ex){
  println ex
}

動作環境
groovy 1.8.2, JDK6 Update27, Jackrabbit 2.2.9

2011年10月27日木曜日

groovyとJackrabbitでWebDAVサーバ上のリソースを削除する

groovyとJackrabbitでWebDAVサーバ上のリソースを削除するには、以下のコードを実行します。
@Grab(group='org.apache.jackrabbit', module='jackrabbit-jcr2dav', version='2.2.9')

import org.apache.commons.httpclient.auth.*
import org.apache.commons.httpclient.*
import org.apache.jackrabbit.webdav.client.methods.*
import org.apache.jackrabbit.webdav.*

// WebDAV URL
baseUrl = "http://localhost:8080/repository/default"
path = "/" + java.net.URLEncoder.encode("テスト", "UTF-8")
url = baseUrl + path
println url
filename = "サンプルファイル.txt"

try
{
  client = new HttpClient()
  client.getState().setCredentials(AuthScope.ANY, 
    new UsernamePasswordCredentials('username', 'password'))

  method = new DeleteMethod(url + "/" + java.net.URLEncoder.encode(filename, "UTF-8"))
  client.executeMethod(method)
  println(method.getStatusCode() + ":" + method.getStatusText())
}
catch(HttpException ex){
  println ex
}

動作環境
groovy 1.8.2, JDK6 Update27, Jackrabbit 2.2.9

2011年10月25日火曜日

groovyとJackrabbitでWebDAVサーバにファイルをアップロードする

groovyとJackrabbitでWebDAVサーバにファイルをアップロードするには、以下のコードを実行します。
@Grab(group='org.apache.jackrabbit', module='jackrabbit-jcr2dav', version='2.2.9')

import org.apache.commons.httpclient.auth.*
import org.apache.commons.httpclient.*
import org.apache.commons.httpclient.methods.*
import org.apache.jackrabbit.webdav.*

// WebDAV URL
baseUrl = "http://localhost:8080/repository/default"
path = "/" + java.net.URLEncoder.encode("テスト", "UTF-8")
url = baseUrl + path
println url
filename = "サンプルファイル.txt"

try
{
  client = new HttpClient()
  client.getState().setCredentials(AuthScope.ANY, 
    new UsernamePasswordCredentials('username', 'password'))

  method = new PutMethod(url + "/" + java.net.URLEncoder.encode(filename, "UTF-8"))
  method.setRequestEntity(
    new InputStreamRequestEntity(new FileInputStream(filename))
  )
  client.executeMethod(method)
  println(method.getStatusCode() + ":" + method.getStatusText())
}
catch(HttpException ex){
  println ex
}

動作環境
groovy 1.8.2, JDK6 Update27, Jackrabbit 2.2.9

2011年10月24日月曜日

groovyとJackrabbitでWebDAVサーバ上のフォルダを列挙する

groovyとJackrabbitでWebDAVサーバ上のフォルダを列挙するには、以下のコードを実行します。
@Grab(group='org.apache.jackrabbit', module='jackrabbit-jcr2dav', version='2.2.9')

import org.apache.commons.httpclient.auth.*
import org.apache.commons.httpclient.*
import org.apache.jackrabbit.webdav.client.methods.*
import org.apache.jackrabbit.webdav.*

// WebDAV URL
baseUrl = "http://localhost:8080/repository/default"
path = "/" + java.net.URLEncoder.encode("テスト", "UTF-8")
url = baseUrl + path
println url

try
{
  client = new HttpClient()
  client.getState().setCredentials(AuthScope.ANY, 
    new UsernamePasswordCredentials('username', 'password'))

  method = new PropFindMethod(url, DavConstants.PROPFIND_ALL_PROP, DavConstants.DEPTH_1)
  client.executeMethod(method)
  multistatus = method.getResponseBodyAsMultiStatus()
  responses = multistatus.getResponses()
  for( response in responses ){
    // display nameを表示
    println response.getProperties(HttpStatus.SC_OK).get(DavConstants.PROPERTY_DISPLAYNAME).value
    // hrefを表示
    println response.getHref()
  }
  println(method.getStatusCode() + ":" + method.getStatusText())
}
catch(HttpException ex){
  println ex
}

動作環境
groovy 1.8.2, JDK6 Update27, Jackrabbit 2.2.9