<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5522309965180778185</id><updated>2012-02-10T11:54:00.268+09:00</updated><category term='ApacheWicket'/><category term='quartz'/><category term='ApacheCamel'/><category term='ApacheCommonsNet'/><category term='JRegistry'/><category term='HTTP_Builder'/><category term='SQLServer'/><category term='Windows'/><category term='Oracle'/><category term='gmongo'/><category term='ApacheHttpClient'/><category term='ApacheJackrabbit'/><category term='OpenOffice_Calc'/><category term='jar'/><category term='gomoku'/><category term='hadoop'/><category term='geotools'/><category term='googlechartwrapper'/><category term='ApachePOI'/><category term='SimpleODS'/><category term='grails'/><category term='Scriptom-Excel'/><category term='ApacheCommonsVFS'/><category term='JNDI'/><category term='Scriptom-PowerPoint'/><category term='ApacheDerby'/><category term='VI_Java_API'/><category term='JExcelAPI'/><category term='rabbitmq'/><category term='Scriptom-WMI'/><category term='ROME'/><category term='H2Database'/><category term='sardine'/><category term='prudence'/><category term='ApacheClick'/><category term='JFreeChart'/><category term='mysql'/><category term='JCIFS'/><category term='まとめ'/><category term='iCal4j'/><category term='ApacheCommonsEmail'/><category term='smack'/><category term='wordpress'/><category term='ApacheCommonsCompress'/><category term='ApacheCommonsMath'/><category term='Json-lib'/><category term='JRedis'/><category term='Jenkins'/><category term='PostgreSQL'/><category term='GanymedSSH2_OrionSSH2'/><category term='twitter'/><category term='drupal'/><category term='easygsp'/><category term='SpiderDB'/><category term='JavaMail'/><category term='redmine'/><category term='saxon'/><category term='eXist'/><category term='java-memcached-client'/><category term='gdata-java-client'/><category term='json'/><category term='jsoup'/><category term='groovelets'/><title type='text'>groovyあれこれ</title><subtitle type='html'>groovyのTipsを書いていきます。</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://groovyarekore.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://groovyarekore.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default?start-index=101&amp;max-results=100'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>1025</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5522309965180778185.post-5751363885813370547</id><published>2012-02-10T11:54:00.000+09:00</published><updated>2012-02-10T11:54:00.307+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='drupal'/><category scheme='http://www.blogger.com/atom/ns#' term='ApacheHttpClient'/><title type='text'>groovyでdrupalのユーザを削除する</title><content type='html'>groovyでdrupalのユーザを削除するには、以下のコードを実行します。&lt;pre style="color:#000000; background-color:#eeeeee; font-size:8pt; font-family:'Courier New';"&gt;&amp;#64;&lt;span style="color:#004466"&gt;Grab&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;group&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'org.apache.httpcomponents'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; module&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'httpclient'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; version&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'4.1.2'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;entity&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;methods&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;impl&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;message&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;protocol&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; groovy&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;json&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// ログイン&lt;/span&gt;&lt;br /&gt;httpclient &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;DefaultHttpClient&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;method &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;HttpPost&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;http://localhost/drupal/rest/user/login&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;values &lt;span style="color:#ff0080; font-weight:bold"&gt;= [&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;BasicNameValuePair&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;username&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; &lt;span style="color:#a68500"&gt;&amp;quot;drupal&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;),&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;BasicNameValuePair&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;password&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; &lt;span style="color:#a68500"&gt;&amp;quot;drupal&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;]&lt;/span&gt;&lt;br /&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;setEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;UrlEncodedFormEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;values&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; HTTP&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;UTF_8&lt;span style="color:#ff0080; font-weight:bold"&gt;))&lt;/span&gt;&lt;br /&gt;response &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; httpclient&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;execute&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;println response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusLine&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusCode&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;println response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getContent&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;text&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// ユーザを削除する&lt;/span&gt;&lt;br /&gt;uid&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;9&amp;quot;&lt;/span&gt;&lt;br /&gt;method &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;HttpDelete&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;http://localhost/drupal/rest/user/${uid}&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;response &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; httpclient&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;execute&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;println response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusLine&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusCode&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;println response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getContent&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;text&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// ログアウト&lt;/span&gt;&lt;br /&gt;method &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;HttpGet&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;http://localhost/drupal/user/logout&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;response &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; httpclient&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;execute&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;println response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusLine&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusCode&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;動作環境&lt;br /&gt;groovy 1.8.4, JDK7 Update1, drupal 7.1.0, services-7.x-3.1, ctools-7.x-1.0-rc1, spyc-0.5&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5522309965180778185-5751363885813370547?l=groovyarekore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://groovyarekore.blogspot.com/feeds/5751363885813370547/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://groovyarekore.blogspot.com/2012/02/groovydrupal_10.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/5751363885813370547'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/5751363885813370547'/><link rel='alternate' type='text/html' href='http://groovyarekore.blogspot.com/2012/02/groovydrupal_10.html' title='groovyでdrupalのユーザを削除する'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5522309965180778185.post-3796661568007575343</id><published>2012-02-09T13:23:00.000+09:00</published><updated>2012-02-09T13:23:00.925+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ApacheCamel'/><title type='text'>groovyとApache CamelでStringTemplate Componentを使用してメッセージをフォーマットする</title><content type='html'>groovyとApache CamelでStringTemplate Componentを使用してメッセージをフォーマットするには、以下のコードを実行します。&lt;pre style="color:#000000; background-color:#eeeeee; font-size:8pt; font-family:'Courier New';"&gt;&amp;#64;&lt;span style="color:#004466"&gt;Grab&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;group&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'postgresql'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; module&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'postgresql'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; version&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'9.1-901.jdbc4'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&amp;#64;&lt;span style="color:#004466"&gt;Grab&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;group&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;org.apache.camel&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; module&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;camel-core&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; version&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;2.9.0&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&amp;#64;&lt;span style="color:#004466"&gt;Grab&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;group&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;org.apache.camel&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; module&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;camel-stringtemplate&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; version&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;2.9.0&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&amp;#64;&lt;span style="color:#004466"&gt;Grab&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;group&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;org.slf4j&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; module&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;slf4j-simple&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; version&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;1.6.4&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;//&amp;#64;Grab(group=&amp;quot;org.slf4j&amp;quot;, module=&amp;quot;slf4j-nop&amp;quot;, version=&amp;quot;1.6.4&amp;quot;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;camel&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;camel&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;builder&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;camel&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;impl&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;ctx &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;DefaultCamelContext&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;ctx&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;addRoutes&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;RouteBuilder&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(){&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#8080c0; font-weight:bold"&gt;void&lt;/span&gt; &lt;span style="color:#004466"&gt;configure&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#ff0080; font-weight:bold"&gt;{&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#004466"&gt;from&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;direct:issue&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;      &lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;to&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;string-template:issue.tm&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#ff0080; font-weight:bold"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;})&lt;/span&gt;&lt;br /&gt;ctx&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;start&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// exchangeを作成して、endpointに送信&lt;/span&gt;&lt;br /&gt;endpoint &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; ctx&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getEndpoint&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;direct:issue&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;exc &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; endpoint&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;createExchange&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;exc&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getIn&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;setHeader&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;subject&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; &lt;span style="color:#a68500"&gt;&amp;quot;題名&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;exc&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getIn&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;setHeader&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;priority&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; &lt;span style="color:#a68500"&gt;&amp;quot;High&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;exc&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getIn&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;setBody&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;本文部分&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;template &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; ctx&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;createProducerTemplate&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;out &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; template&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;send&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;endpoint&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; exc&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;println out&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getOut&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getBody&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;ctx&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;stop&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;○テンプレート例(issue.tm, UTF-8で保存する)&lt;pre style="color:#000000; background-color:#eeeeee; font-size:8pt; font-family:'Courier New';"&gt;障害タイトル:$headers.subject$&lt;br /&gt;プライオリティ:$headers.priority$&lt;br /&gt;&lt;br /&gt;詳細&lt;br /&gt;$body$&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;動作環境&lt;br /&gt;groovy 1.8.5, JDK7 Update2, Apache Camel 2.9.0&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5522309965180778185-3796661568007575343?l=groovyarekore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://groovyarekore.blogspot.com/feeds/3796661568007575343/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://groovyarekore.blogspot.com/2012/02/groovyapache-camelstringtemplate.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/3796661568007575343'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/3796661568007575343'/><link rel='alternate' type='text/html' href='http://groovyarekore.blogspot.com/2012/02/groovyapache-camelstringtemplate.html' title='groovyとApache CamelでStringTemplate Componentを使用してメッセージをフォーマットする'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5522309965180778185.post-7200738894272258993</id><published>2012-02-08T11:52:00.000+09:00</published><updated>2012-02-08T11:52:00.725+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='drupal'/><category scheme='http://www.blogger.com/atom/ns#' term='ApacheHttpClient'/><title type='text'>groovyでdrupalのユーザを登録する</title><content type='html'>groovyでdrupalのユーザを登録するには、以下のコードを実行します。&lt;pre style="color:#000000; background-color:#eeeeee; font-size:8pt; font-family:'Courier New';"&gt;&amp;#64;&lt;span style="color:#004466"&gt;Grab&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;group&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'org.apache.httpcomponents'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; module&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'httpclient'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; version&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'4.1.2'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;entity&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;methods&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;impl&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;message&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;protocol&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; groovy&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;json&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// ログイン&lt;/span&gt;&lt;br /&gt;httpclient &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;DefaultHttpClient&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;method &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;HttpPost&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;http://localhost/drupal/rest/user/login&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;values &lt;span style="color:#ff0080; font-weight:bold"&gt;= [&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;BasicNameValuePair&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;username&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; &lt;span style="color:#a68500"&gt;&amp;quot;drupal&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;),&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;BasicNameValuePair&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;password&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; &lt;span style="color:#a68500"&gt;&amp;quot;drupal&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;]&lt;/span&gt;&lt;br /&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;setEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;UrlEncodedFormEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;values&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; HTTP&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;UTF_8&lt;span style="color:#ff0080; font-weight:bold"&gt;))&lt;/span&gt;&lt;br /&gt;response &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; httpclient&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;execute&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;println response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusLine&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusCode&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;println response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getContent&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;text&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// ユーザを登録する&lt;/span&gt;&lt;br /&gt;method &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;HttpPost&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;http://localhost/drupal/rest/user.json&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;values &lt;span style="color:#ff0080; font-weight:bold"&gt;= [&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;BasicNameValuePair&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;'name'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; &lt;span style="color:#a68500"&gt;'newuser'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;),&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;BasicNameValuePair&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;'mail'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; &lt;span style="color:#a68500"&gt;'youraccount&amp;#64;gmail.com'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;),&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;BasicNameValuePair&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;'pass'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; &lt;span style="color:#a68500"&gt;'drupal'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;]&lt;/span&gt;&lt;br /&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;setEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;UrlEncodedFormEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;values&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; HTTP&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;UTF_8&lt;span style="color:#ff0080; font-weight:bold"&gt;))&lt;/span&gt;&lt;br /&gt;response &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; httpclient&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;execute&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;json &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;JsonSlurper&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;parseText&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getContent&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;text&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;println json&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// ログアウト&lt;/span&gt;&lt;br /&gt;method &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;HttpGet&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;http://localhost/drupal/user/logout&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;response &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; httpclient&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;execute&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;println response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusLine&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusCode&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;動作環境&lt;br /&gt;groovy 1.8.4, JDK7 Update1, drupal 7.1.0, services-7.x-3.1, ctools-7.x-1.0-rc1, spyc-0.5&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5522309965180778185-7200738894272258993?l=groovyarekore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://groovyarekore.blogspot.com/feeds/7200738894272258993/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://groovyarekore.blogspot.com/2012/02/groovydrupal_08.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/7200738894272258993'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/7200738894272258993'/><link rel='alternate' type='text/html' href='http://groovyarekore.blogspot.com/2012/02/groovydrupal_08.html' title='groovyでdrupalのユーザを登録する'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5522309965180778185.post-6901731793013505643</id><published>2012-02-07T22:42:00.000+09:00</published><updated>2012-02-07T22:42:00.543+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ApacheClick'/><title type='text'>groovyとApache CamelでJDBC Componentを使用して表に行を挿入する</title><content type='html'>groovyとApache CamelでJDBC Componentを使用して表に行を挿入するには、以下のコードを実行します。&lt;pre style="color:#000000; background-color:#eeeeee; font-size:8pt; font-family:'Courier New';"&gt;&amp;#64;&lt;span style="color:#004466"&gt;Grab&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;group&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'postgresql'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; module&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'postgresql'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; version&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'9.1-901.jdbc4'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&amp;#64;&lt;span style="color:#004466"&gt;Grab&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;group&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;org.apache.camel&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; module&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;camel-core&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; version&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;2.9.0&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&amp;#64;&lt;span style="color:#004466"&gt;Grab&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;group&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;org.apache.camel&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; module&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;camel-jdbc&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; version&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;2.9.0&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&amp;#64;&lt;span style="color:#004466"&gt;Grab&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;group&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;org.slf4j&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; module&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;slf4j-simple&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; version&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;1.6.4&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;//&amp;#64;Grab(group=&amp;quot;org.slf4j&amp;quot;, module=&amp;quot;slf4j-nop&amp;quot;, version=&amp;quot;1.6.4&amp;quot;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;camel&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;camel&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;builder&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;camel&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;impl&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// 接続先DataSource&lt;/span&gt;&lt;br /&gt;ds &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;postgresql&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;ds&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;PGPoolingDataSource&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;ds&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;setDataSourceName&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;userdb_ds&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;ds&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;setServerName&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;localhost&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;ds&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;setDatabaseName&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;userdb&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;ds&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;setUser&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;postgres&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;ds&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;setPassword&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;postgres&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// DataSourceをレジストリに設定&lt;/span&gt;&lt;br /&gt;registry &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;SimpleRegistry&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;registry&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;put&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;userdb_ds&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; ds&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;ctx &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;DefaultCamelContext&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;registry&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;ctx&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;addRoutes&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;RouteBuilder&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(){&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#8080c0; font-weight:bold"&gt;void&lt;/span&gt; &lt;span style="color:#004466"&gt;configure&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#ff0080; font-weight:bold"&gt;{&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#004466"&gt;from&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;direct:customer&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;      &lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;to&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;jdbc:userdb_ds&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#ff0080; font-weight:bold"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;})&lt;/span&gt;&lt;br /&gt;ctx&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;start&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// exchangeを作成して、endpointに送信&lt;/span&gt;&lt;br /&gt;endpoint &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; ctx&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getEndpoint&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;direct:customer&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;exc &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; endpoint&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;createExchange&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;exc&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getIn&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;setBody&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;insert into customer values (1011, 'michael')&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;template &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; ctx&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;createProducerTemplate&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;out &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; template&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;send&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;endpoint&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; exc&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;if&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;( !&lt;/span&gt;out&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;isFailed&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;() ){&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#f27900"&gt;// 件数を出力&lt;/span&gt;&lt;br /&gt;  println &lt;span style="color:#a68500"&gt;&amp;quot;inserted:&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0080; font-weight:bold"&gt;+&lt;/span&gt; out&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getOut&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getHeader&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;br /&gt;    org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;camel&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;component&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;jdbc&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;JdbcConstants&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;JDBC_UPDATE_COUNT&lt;br /&gt;  &lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;}&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;else&lt;/span&gt; &lt;span style="color:#ff0080; font-weight:bold"&gt;{&lt;/span&gt;&lt;br /&gt;  println &lt;span style="color:#a68500"&gt;&amp;quot;Failed:&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0080; font-weight:bold"&gt;+&lt;/span&gt; out&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getException&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getMessage&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;}&lt;/span&gt;&lt;br /&gt;ctx&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;stop&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;動作環境&lt;br /&gt;groovy 1.8.5, JDK7 Update2, Apache Camel 2.9.0&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5522309965180778185-6901731793013505643?l=groovyarekore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://groovyarekore.blogspot.com/feeds/6901731793013505643/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://groovyarekore.blogspot.com/2012/02/groovyapache-cameljdbc-component.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/6901731793013505643'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/6901731793013505643'/><link rel='alternate' type='text/html' href='http://groovyarekore.blogspot.com/2012/02/groovyapache-cameljdbc-component.html' title='groovyとApache CamelでJDBC Componentを使用して表に行を挿入する'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5522309965180778185.post-4402323013942378807</id><published>2012-02-06T11:50:00.000+09:00</published><updated>2012-02-06T11:50:00.170+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='drupal'/><category scheme='http://www.blogger.com/atom/ns#' term='ApacheHttpClient'/><title type='text'>groovyでdrupalのユーザの一覧を取得する</title><content type='html'>groovyでdrupalのユーザの一覧を取得するには、以下のコードを実行します。&lt;pre style="color:#000000; background-color:#eeeeee; font-size:8pt; font-family:'Courier New';"&gt;&amp;#64;&lt;span style="color:#004466"&gt;Grab&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;group&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'org.apache.httpcomponents'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; module&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'httpclient'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; version&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'4.1.2'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;entity&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;methods&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;impl&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;message&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;protocol&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; groovy&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;json&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// ログイン&lt;/span&gt;&lt;br /&gt;httpclient &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;DefaultHttpClient&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;method &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;HttpPost&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;http://localhost/drupal/rest/user/login&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;values &lt;span style="color:#ff0080; font-weight:bold"&gt;= [&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;BasicNameValuePair&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;username&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; &lt;span style="color:#a68500"&gt;&amp;quot;drupal&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;),&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;BasicNameValuePair&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;password&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; &lt;span style="color:#a68500"&gt;&amp;quot;drupal&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;]&lt;/span&gt;&lt;br /&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;setEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;UrlEncodedFormEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;values&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; HTTP&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;UTF_8&lt;span style="color:#ff0080; font-weight:bold"&gt;))&lt;/span&gt;&lt;br /&gt;response &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; httpclient&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;execute&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;println response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusLine&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusCode&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;println response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getContent&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;text&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// ユーザの一覧を取得する&lt;/span&gt;&lt;br /&gt;method &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;HttpGet&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;http://localhost/drupal/rest/user.json&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;response &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; httpclient&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;execute&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;json &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;JsonSlurper&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;parseText&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getContent&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;text&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;println json&lt;br /&gt;json&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;each &lt;span style="color:#ff0080; font-weight:bold"&gt;{&lt;/span&gt;&lt;br /&gt;  println &lt;span style="color:#a68500"&gt;&amp;quot;uid:${it.uid}&amp;quot;&lt;/span&gt;&lt;br /&gt;  println &lt;span style="color:#a68500"&gt;&amp;quot;名前:${it.name}&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// ログアウト&lt;/span&gt;&lt;br /&gt;method &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;HttpGet&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;http://localhost/drupal/user/logout&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;response &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; httpclient&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;execute&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;println response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusLine&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusCode&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;動作環境&lt;br /&gt;groovy 1.8.4, JDK7 Update1, drupal 7.1.0, services-7.x-3.1, ctools-7.x-1.0-rc1, spyc-0.5&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5522309965180778185-4402323013942378807?l=groovyarekore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://groovyarekore.blogspot.com/feeds/4402323013942378807/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://groovyarekore.blogspot.com/2012/02/groovydrupal_06.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/4402323013942378807'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/4402323013942378807'/><link rel='alternate' type='text/html' href='http://groovyarekore.blogspot.com/2012/02/groovydrupal_06.html' title='groovyでdrupalのユーザの一覧を取得する'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5522309965180778185.post-1741351123945704265</id><published>2012-02-05T22:28:00.000+09:00</published><updated>2012-02-05T22:28:00.222+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ApacheHttpClient'/><title type='text'>groovyでmongodbのREST interfaceを使用してコレクション内のオブジェクトを取得する</title><content type='html'>groovyでmongodbのREST interfaceを使用してコレクション内のオブジェクトを取得するには、以下のコードを実行します。&lt;pre style="color:#000000; background-color:#eeeeee; font-size:8pt; font-family:'Courier New';"&gt;&amp;#64;&lt;span style="color:#004466"&gt;Grab&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;group&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'org.apache.httpcomponents'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; module&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'httpclient'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; version&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'4.1.2'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;methods&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;impl&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; groovy&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;json&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;httpclient &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;DefaultHttpClient&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// REST interfaceからコレクション内のオブジェクトを取得する&lt;/span&gt;&lt;br /&gt;dbname &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a68500"&gt;&amp;quot;local&amp;quot;&lt;/span&gt;&lt;br /&gt;collection &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a68500"&gt;&amp;quot;entries&amp;quot;&lt;/span&gt;&lt;br /&gt;skip&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#800080; font-weight:bold"&gt;0&lt;/span&gt;&lt;br /&gt;limit&lt;span style="color:#ff0080; font-weight:bold"&gt;=-&lt;/span&gt;&lt;span style="color:#800080; font-weight:bold"&gt;10&lt;/span&gt;&lt;br /&gt;method &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;HttpGet&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;http://localhost:28017/${dbname}/&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0080; font-weight:bold"&gt;+&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#a68500"&gt;&amp;quot;${collection}/?skip=${skip}&amp;amp;limit=${limit}&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;response &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; httpclient&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;execute&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;json &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;JsonSlurper&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;parseText&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getContent&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;text&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;println &lt;span style="color:#a68500"&gt;&amp;quot;total rows:${json.total_rows}&amp;quot;&lt;/span&gt;&lt;br /&gt;json&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;rows&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;each &lt;span style="color:#ff0080; font-weight:bold"&gt;{&lt;/span&gt;&lt;br /&gt;  println it&lt;br /&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;REST interfaceを使用するにはmongodb.confにrest = trueを追加する&lt;br /&gt;&lt;br /&gt;動作環境&lt;br /&gt;Groovy 1.8.2, JDK6 Update23, MongoDB 2.0.2&lt;br /&gt;&lt;br /&gt;関連情報&lt;br /&gt;&lt;br /&gt;&lt;a href="http://groovyarekore.blogspot.com/2011/07/groovymongodb.html"&gt;groovyとMongoDBのまとめ&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5522309965180778185-1741351123945704265?l=groovyarekore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://groovyarekore.blogspot.com/feeds/1741351123945704265/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://groovyarekore.blogspot.com/2012/02/groovymongodbrest-interface_05.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/1741351123945704265'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/1741351123945704265'/><link rel='alternate' type='text/html' href='http://groovyarekore.blogspot.com/2012/02/groovymongodbrest-interface_05.html' title='groovyでmongodbのREST interfaceを使用してコレクション内のオブジェクトを取得する'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5522309965180778185.post-6779415111103038823</id><published>2012-02-04T11:48:00.000+09:00</published><updated>2012-02-04T11:48:00.513+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='drupal'/><category scheme='http://www.blogger.com/atom/ns#' term='ApacheHttpClient'/><title type='text'>groovyでdrupalのタクソノミーのタームを削除する</title><content type='html'>groovyでdrupalのタクソノミーのタームを削除するには、以下のコードを実行します。&lt;pre style="color:#000000; background-color:#eeeeee; font-size:8pt; font-family:'Courier New';"&gt;&amp;#64;&lt;span style="color:#004466"&gt;Grab&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;group&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'org.apache.httpcomponents'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; module&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'httpclient'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; version&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'4.1.2'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;entity&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;methods&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;impl&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;message&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;protocol&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// ログイン&lt;/span&gt;&lt;br /&gt;httpclient &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;DefaultHttpClient&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;method &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;HttpPost&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;http://localhost/drupal/rest/user/login&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;values &lt;span style="color:#ff0080; font-weight:bold"&gt;= [&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;BasicNameValuePair&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;username&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; &lt;span style="color:#a68500"&gt;&amp;quot;drupal&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;),&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;BasicNameValuePair&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;password&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; &lt;span style="color:#a68500"&gt;&amp;quot;drupal&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;]&lt;/span&gt;&lt;br /&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;setEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;UrlEncodedFormEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;values&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; HTTP&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;UTF_8&lt;span style="color:#ff0080; font-weight:bold"&gt;))&lt;/span&gt;&lt;br /&gt;response &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; httpclient&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;execute&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;println response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusLine&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusCode&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;println response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getContent&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;text&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// タクソノミーのタームを削除&lt;/span&gt;&lt;br /&gt;tid&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;7&amp;quot;&lt;/span&gt;&lt;br /&gt;method &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;HttpDelete&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;http://localhost/drupal/rest/taxonomy_term/${tid}&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;response &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; httpclient&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;execute&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;println response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusLine&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusCode&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;println response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getContent&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;text&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// ログアウト&lt;/span&gt;&lt;br /&gt;method &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;HttpGet&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;http://localhost/drupal/user/logout&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;response &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; httpclient&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;execute&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;println response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusLine&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusCode&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;動作環境&lt;br /&gt;groovy 1.8.4, JDK7 Update1, drupal 7.1.0, services-7.x-3.1, ctools-7.x-1.0-rc1, spyc-0.5&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5522309965180778185-6779415111103038823?l=groovyarekore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://groovyarekore.blogspot.com/feeds/6779415111103038823/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://groovyarekore.blogspot.com/2012/02/groovydrupal_04.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/6779415111103038823'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/6779415111103038823'/><link rel='alternate' type='text/html' href='http://groovyarekore.blogspot.com/2012/02/groovydrupal_04.html' title='groovyでdrupalのタクソノミーのタームを削除する'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5522309965180778185.post-7486968014343178264</id><published>2012-02-03T22:25:00.000+09:00</published><updated>2012-02-03T22:25:00.205+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ApacheHttpClient'/><title type='text'>groovyでmongodbのREST interfaceを使用してデータベースを列挙する</title><content type='html'>groovyでmongodbのREST interfaceを使用してデータベースを列挙するには、以下のコードを実行します。&lt;pre style="color:#000000; background-color:#eeeeee; font-size:8pt; font-family:'Courier New';"&gt;&amp;#64;&lt;span style="color:#004466"&gt;Grab&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;group&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'org.apache.httpcomponents'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; module&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'httpclient'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; version&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'4.1.2'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;methods&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;impl&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; groovy&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;json&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;httpclient &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;DefaultHttpClient&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// REST interfaceからデータベースを列挙する&lt;/span&gt;&lt;br /&gt;method &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;HttpGet&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;http://localhost:28017/listDatabases&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;response &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; httpclient&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;execute&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;json &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;JsonSlurper&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;parseText&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getContent&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;text&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;println &lt;span style="color:#a68500"&gt;&amp;quot;total size:${json.totalSize/1024/1024}M&amp;quot;&lt;/span&gt;&lt;br /&gt;json&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;databases&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;each &lt;span style="color:#ff0080; font-weight:bold"&gt;{&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#f27900"&gt;// データベース名&lt;/span&gt;&lt;br /&gt;  println &lt;span style="color:#a68500"&gt;&amp;quot;name:${it.name}&amp;quot;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#f27900"&gt;// ディスクサイズ&lt;/span&gt;&lt;br /&gt;  println &lt;span style="color:#a68500"&gt;&amp;quot;sizeOnDisk:${it.sizeOnDisk/1024/1024}M&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;REST interfaceを使用するにはmongodb.confにrest = trueを追加する&lt;br /&gt;&lt;br /&gt;動作環境&lt;br /&gt;Groovy 1.8.2, JDK6 Update23, MongoDB 2.0.2&lt;br /&gt;&lt;br /&gt;関連情報&lt;br /&gt;&lt;br /&gt;&lt;a href="http://groovyarekore.blogspot.com/2011/07/groovymongodb.html"&gt;groovyとMongoDBのまとめ&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5522309965180778185-7486968014343178264?l=groovyarekore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://groovyarekore.blogspot.com/feeds/7486968014343178264/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://groovyarekore.blogspot.com/2012/02/groovymongodbrest-interface_03.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/7486968014343178264'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/7486968014343178264'/><link rel='alternate' type='text/html' href='http://groovyarekore.blogspot.com/2012/02/groovymongodbrest-interface_03.html' title='groovyでmongodbのREST interfaceを使用してデータベースを列挙する'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5522309965180778185.post-7181527586153383856</id><published>2012-02-02T11:46:00.000+09:00</published><updated>2012-02-02T11:46:00.390+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='drupal'/><category scheme='http://www.blogger.com/atom/ns#' term='ApacheHttpClient'/><title type='text'>groovyでdrupalのタクソノミーのタームを更新する</title><content type='html'>groovyでdrupalのタクソノミーのタームを更新するには、以下のコードを実行します。&lt;pre style="color:#000000; background-color:#eeeeee; font-size:8pt; font-family:'Courier New';"&gt;&amp;#64;&lt;span style="color:#004466"&gt;Grab&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;group&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'org.apache.httpcomponents'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; module&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'httpclient'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; version&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'4.1.2'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;entity&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;methods&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;impl&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;message&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;protocol&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// ログイン&lt;/span&gt;&lt;br /&gt;httpclient &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;DefaultHttpClient&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;method &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;HttpPost&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;http://localhost/drupal/rest/user/login&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;values &lt;span style="color:#ff0080; font-weight:bold"&gt;= [&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;BasicNameValuePair&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;username&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; &lt;span style="color:#a68500"&gt;&amp;quot;drupal&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;),&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;BasicNameValuePair&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;password&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; &lt;span style="color:#a68500"&gt;&amp;quot;drupal&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;]&lt;/span&gt;&lt;br /&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;setEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;UrlEncodedFormEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;values&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; HTTP&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;UTF_8&lt;span style="color:#ff0080; font-weight:bold"&gt;))&lt;/span&gt;&lt;br /&gt;response &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; httpclient&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;execute&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;println response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusLine&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusCode&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;println response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getContent&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;text&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// タクソノミーのタームを更新&lt;/span&gt;&lt;br /&gt;method &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;HttpPost&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;http://localhost/drupal/rest/taxonomy_term&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;values &lt;span style="color:#ff0080; font-weight:bold"&gt;= [&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;BasicNameValuePair&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;'name'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; &lt;span style="color:#a68500"&gt;'Drupal'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;),&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;BasicNameValuePair&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;'description'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#a68500"&gt;'PHPで書かれたContent Management System'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;),&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;BasicNameValuePair&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;'tid'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; &lt;span style="color:#a68500"&gt;'7'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;),&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;BasicNameValuePair&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;'vid'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; &lt;span style="color:#a68500"&gt;'1'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;]&lt;/span&gt;&lt;br /&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;setEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;UrlEncodedFormEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;values&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; HTTP&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;UTF_8&lt;span style="color:#ff0080; font-weight:bold"&gt;))&lt;/span&gt;&lt;br /&gt;response &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; httpclient&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;execute&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;println response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusLine&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusCode&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;println response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getContent&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;text&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// ログアウト&lt;/span&gt;&lt;br /&gt;method &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;HttpGet&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;http://localhost/drupal/user/logout&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;response &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; httpclient&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;execute&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;println response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusLine&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusCode&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;動作環境&lt;br /&gt;groovy 1.8.4, JDK7 Update1, drupal 7.1.0, services-7.x-3.1, ctools-7.x-1.0-rc1, spyc-0.5&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5522309965180778185-7181527586153383856?l=groovyarekore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://groovyarekore.blogspot.com/feeds/7181527586153383856/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://groovyarekore.blogspot.com/2012/02/groovydrupal.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/7181527586153383856'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/7181527586153383856'/><link rel='alternate' type='text/html' href='http://groovyarekore.blogspot.com/2012/02/groovydrupal.html' title='groovyでdrupalのタクソノミーのタームを更新する'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5522309965180778185.post-6881749188016902954</id><published>2012-02-01T22:21:00.000+09:00</published><updated>2012-02-01T22:21:00.299+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ApacheHttpClient'/><title type='text'>groovyでmongodbのREST interfaceを使用してビルド情報を取得する</title><content type='html'>groovyでmongodbのREST interfaceを使用してビルド情報を取得するには、以下のコードを実行します。&lt;pre style="color:#000000; background-color:#eeeeee; font-size:8pt; font-family:'Courier New';"&gt;&amp;#64;&lt;span style="color:#004466"&gt;Grab&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;group&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'org.apache.httpcomponents'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; module&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'httpclient'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; version&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'4.1.2'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;methods&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;impl&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; groovy&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;json&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;httpclient &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;DefaultHttpClient&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// REST interfaceからビルド情報を取得する&lt;/span&gt;&lt;br /&gt;method &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;HttpGet&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;http://localhost:28017/buildInfo&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;response &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; httpclient&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;execute&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;json &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;JsonSlurper&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;parseText&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getContent&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;text&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// バージョン&lt;/span&gt;&lt;br /&gt;println &lt;span style="color:#a68500"&gt;&amp;quot;version:${json.version}&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// システム情報&lt;/span&gt;&lt;br /&gt;println &lt;span style="color:#a68500"&gt;&amp;quot;sysinfo:${json.sysInfo}&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// 32bits/64bits&lt;/span&gt;&lt;br /&gt;println &lt;span style="color:#a68500"&gt;&amp;quot;bits:${json.bits}&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// debug version?&lt;/span&gt;&lt;br /&gt;println &lt;span style="color:#a68500"&gt;&amp;quot;debug:${json.debug}&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;REST interfaceを使用するにはmongodb.confにrest = trueを追加する&lt;br /&gt;&lt;br /&gt;動作環境&lt;br /&gt;Groovy 1.8.2, JDK6 Update23, MongoDB 2.0.2&lt;br /&gt;&lt;br /&gt;関連情報&lt;br /&gt;&lt;br /&gt;&lt;a href="http://groovyarekore.blogspot.com/2011/07/groovymongodb.html"&gt;groovyとMongoDBのまとめ&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5522309965180778185-6881749188016902954?l=groovyarekore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://groovyarekore.blogspot.com/feeds/6881749188016902954/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://groovyarekore.blogspot.com/2012/02/groovymongodbrest-interface.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/6881749188016902954'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/6881749188016902954'/><link rel='alternate' type='text/html' href='http://groovyarekore.blogspot.com/2012/02/groovymongodbrest-interface.html' title='groovyでmongodbのREST interfaceを使用してビルド情報を取得する'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5522309965180778185.post-525264337564820843</id><published>2012-01-31T11:43:00.000+09:00</published><updated>2012-01-31T11:43:00.691+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='drupal'/><category scheme='http://www.blogger.com/atom/ns#' term='ApacheHttpClient'/><title type='text'>groovyでdrupalのタクソノミーの新しいタームを作成する</title><content type='html'>groovyでdrupalのタクソノミーの新しいタームを作成するには、以下のコードを実行します。&lt;pre style="color:#000000; background-color:#eeeeee; font-size:8pt; font-family:'Courier New';"&gt;&amp;#64;&lt;span style="color:#004466"&gt;Grab&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;group&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'org.apache.httpcomponents'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; module&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'httpclient'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; version&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'4.1.2'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;entity&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;methods&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;impl&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;message&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;protocol&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// ログイン&lt;/span&gt;&lt;br /&gt;httpclient &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;DefaultHttpClient&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;method &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;HttpPost&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;http://localhost/drupal/rest/user/login&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;values &lt;span style="color:#ff0080; font-weight:bold"&gt;= [&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;BasicNameValuePair&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;username&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; &lt;span style="color:#a68500"&gt;&amp;quot;drupal&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;),&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;BasicNameValuePair&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;password&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; &lt;span style="color:#a68500"&gt;&amp;quot;drupal&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;]&lt;/span&gt;&lt;br /&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;setEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;UrlEncodedFormEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;values&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; HTTP&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;UTF_8&lt;span style="color:#ff0080; font-weight:bold"&gt;))&lt;/span&gt;&lt;br /&gt;response &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; httpclient&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;execute&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;println response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusLine&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusCode&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;println response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getContent&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;text&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// タクソノミーの新しいタームを作成&lt;/span&gt;&lt;br /&gt;method &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;HttpPost&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;http://localhost/drupal/rest/taxonomy_term&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;values &lt;span style="color:#ff0080; font-weight:bold"&gt;= [&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;BasicNameValuePair&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;'name'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; &lt;span style="color:#a68500"&gt;'Drupal'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;),&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;BasicNameValuePair&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;'description'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; &lt;span style="color:#a68500"&gt;'Content Management System'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;),&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;BasicNameValuePair&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;'vid'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; &lt;span style="color:#a68500"&gt;'1'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;]&lt;/span&gt;&lt;br /&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;setEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;UrlEncodedFormEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;values&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; HTTP&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;UTF_8&lt;span style="color:#ff0080; font-weight:bold"&gt;))&lt;/span&gt;&lt;br /&gt;response &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; httpclient&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;execute&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;println response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusLine&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusCode&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;println response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getContent&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;text&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// ログアウト&lt;/span&gt;&lt;br /&gt;method &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;HttpGet&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;http://localhost/drupal/user/logout&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;response &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; httpclient&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;execute&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;println response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusLine&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusCode&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;動作環境&lt;br /&gt;groovy 1.8.4, JDK7 Update1, drupal 7.1.0, services-7.x-3.1, ctools-7.x-1.0-rc1, spyc-0.5&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5522309965180778185-525264337564820843?l=groovyarekore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://groovyarekore.blogspot.com/feeds/525264337564820843/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://groovyarekore.blogspot.com/2012/01/groovydrupal_31.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/525264337564820843'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/525264337564820843'/><link rel='alternate' type='text/html' href='http://groovyarekore.blogspot.com/2012/01/groovydrupal_31.html' title='groovyでdrupalのタクソノミーの新しいタームを作成する'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5522309965180778185.post-2015027047847850793</id><published>2012-01-30T12:17:00.000+09:00</published><updated>2012-01-30T12:17:00.170+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='redmine'/><category scheme='http://www.blogger.com/atom/ns#' term='ApacheHttpClient'/><title type='text'>groovyでredmineのチケットを更新する</title><content type='html'>groovyでredmineのチケットを更新するには、以下のコードを実行します。&lt;pre style="color:#000000; background-color:#eeeeee; font-size:8pt; font-family:'Courier New';"&gt;&amp;#64;&lt;span style="color:#004466"&gt;Grab&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;group&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'org.apache.httpcomponents'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; module&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'httpclient'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; version&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'4.1.2'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;methods&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;impl&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;entity&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;message&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;protocol&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; groovy&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;json&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;httpclient &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;DefaultHttpClient&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// チケットを更新する&lt;/span&gt;&lt;br /&gt;issueId &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#800080; font-weight:bold"&gt;8&lt;/span&gt;&lt;br /&gt;method &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;HttpPut&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;http://redmine-server/redmine/issues/${issueId}.json&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// アカウントページで作成したAPIアクセスキーを設定する&lt;/span&gt;&lt;br /&gt;apiKey &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a68500"&gt;&amp;quot;your-api-key&amp;quot;&lt;/span&gt;&lt;br /&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;addHeader&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;BasicHeader&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;X-Redmine-API-Key&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; apiKey&lt;span style="color:#ff0080; font-weight:bold"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// パラメータを設定&lt;/span&gt;&lt;br /&gt;builder &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;JsonBuilder&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;builder&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;issue &lt;span style="color:#ff0080; font-weight:bold"&gt;{&lt;/span&gt;&lt;br /&gt;  project_id &lt;span style="color:#a68500"&gt;&amp;quot;testproject1&amp;quot;&lt;/span&gt;&lt;br /&gt;  notes &lt;span style="color:#a68500"&gt;&amp;quot;例外発生&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;}&lt;/span&gt;&lt;br /&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;setEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;StringEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;builder&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;toString&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(),&lt;/span&gt; &lt;span style="color:#a68500"&gt;&amp;quot;application/json&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; &lt;span style="color:#a68500"&gt;&amp;quot;UTF-8&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;))&lt;/span&gt;&lt;br /&gt;response &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; httpclient&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;execute&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;println response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusLine&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusCode&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;println response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getContent&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;text&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;動作環境&lt;br /&gt;groovy 1.8.4, JDK6 Update29, redmine 1.3.0&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5522309965180778185-2015027047847850793?l=groovyarekore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://groovyarekore.blogspot.com/feeds/2015027047847850793/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://groovyarekore.blogspot.com/2012/01/groovyredmine_30.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/2015027047847850793'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/2015027047847850793'/><link rel='alternate' type='text/html' href='http://groovyarekore.blogspot.com/2012/01/groovyredmine_30.html' title='groovyでredmineのチケットを更新する'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5522309965180778185.post-3252933885992766089</id><published>2012-01-29T11:38:00.000+09:00</published><updated>2012-01-29T11:38:00.204+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='drupal'/><category scheme='http://www.blogger.com/atom/ns#' term='ApacheHttpClient'/><title type='text'>groovyでdrupalのタクソノミーのタームの一覧を取得する</title><content type='html'>groovyでdrupalのタクソノミーのタームの一覧を取得するには、以下のコードを実行します。&lt;pre style="color:#000000; background-color:#eeeeee; font-size:8pt; font-family:'Courier New';"&gt;&amp;#64;&lt;span style="color:#004466"&gt;Grab&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;group&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'org.apache.httpcomponents'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; module&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'httpclient'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; version&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'4.1.2'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;methods&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;impl&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; groovy&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;json&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;httpclient &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;DefaultHttpClient&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// タクソノミーのタームの一覧を取得する&lt;/span&gt;&lt;br /&gt;method &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;HttpGet&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;http://localhost/drupal/rest/taxonomy_term.json&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;response &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; httpclient&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;execute&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;json &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;JsonSlurper&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;parseText&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getContent&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;text&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;json&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;each &lt;span style="color:#ff0080; font-weight:bold"&gt;{&lt;/span&gt;&lt;br /&gt;  println &lt;span style="color:#a68500"&gt;&amp;quot;名前:${it.name}&amp;quot;&lt;/span&gt;&lt;br /&gt;  println &lt;span style="color:#a68500"&gt;&amp;quot;説明:${it.description}&amp;quot;&lt;/span&gt;&lt;br /&gt;  println &lt;span style="color:#a68500"&gt;&amp;quot;tid:${it.tid}&amp;quot;&lt;/span&gt;&lt;br /&gt;  println &lt;span style="color:#a68500"&gt;&amp;quot;vid:${it.vid}&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;動作環境&lt;br /&gt;groovy 1.8.4, JDK7 Update1, drupal 7.1.0, services-7.x-3.1, ctools-7.x-1.0-rc1, spyc-0.5&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5522309965180778185-3252933885992766089?l=groovyarekore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://groovyarekore.blogspot.com/feeds/3252933885992766089/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://groovyarekore.blogspot.com/2012/01/groovydrupal_29.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/3252933885992766089'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/3252933885992766089'/><link rel='alternate' type='text/html' href='http://groovyarekore.blogspot.com/2012/01/groovydrupal_29.html' title='groovyでdrupalのタクソノミーのタームの一覧を取得する'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5522309965180778185.post-702163916633762052</id><published>2012-01-28T23:46:00.000+09:00</published><updated>2012-01-28T23:46:00.754+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wordpress'/><category scheme='http://www.blogger.com/atom/ns#' term='ApacheHttpClient'/><title type='text'>groovyとWordpress + JSON API pluginで指定のユーザの投稿を取得する</title><content type='html'>groovyとWordpress + JSON API pluginで指定のユーザの投稿を取得するには、以下のコードを実行します。&lt;pre style="color:#000000; background-color:#eeeeee; font-size:8pt; font-family:'Courier New';"&gt;&amp;#64;&lt;span style="color:#004466"&gt;Grab&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;group&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'org.apache.httpcomponents'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; module&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'httpclient'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; version&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'4.1.2'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;methods&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;impl&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; groovy&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;json&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;httpclient &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;DefaultHttpClient&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// 指定のユーザの投稿を取得する&lt;/span&gt;&lt;br /&gt;user &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a68500"&gt;&amp;quot;user1&amp;quot;&lt;/span&gt;&lt;br /&gt;method &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;HttpGet&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;http://localhost/?json=get_author_posts&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0080; font-weight:bold"&gt;+&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#a68500"&gt;&amp;quot;&amp;amp;count=10&amp;amp;slug=${user}&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;response &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; httpclient&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;execute&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;json &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;JsonSlurper&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;parseText&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getContent&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;text&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;json&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;posts&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;each &lt;span style="color:#ff0080; font-weight:bold"&gt;{&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#f27900"&gt;// ID&lt;/span&gt;&lt;br /&gt;  println &lt;span style="color:#a68500"&gt;&amp;quot;id:${it.id}&amp;quot;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#f27900"&gt;// タイトル&lt;/span&gt;&lt;br /&gt;  println &lt;span style="color:#a68500"&gt;&amp;quot;title:${it.title}&amp;quot;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#f27900"&gt;// 日時&lt;/span&gt;&lt;br /&gt;  println &lt;span style="color:#a68500"&gt;&amp;quot;date:${it.date}&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;動作環境&lt;br /&gt;groovy 1.8.4, JDK6 Update29, Wordpress 3.2.1, JSON API plugin 1.0.7&lt;br /&gt;&lt;br /&gt;JSON APIのページ&lt;br /&gt;http://wordpress.org/extend/plugins/json-api/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5522309965180778185-702163916633762052?l=groovyarekore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://groovyarekore.blogspot.com/feeds/702163916633762052/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://groovyarekore.blogspot.com/2012/01/groovywordpress-json-api-plugin_28.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/702163916633762052'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/702163916633762052'/><link rel='alternate' type='text/html' href='http://groovyarekore.blogspot.com/2012/01/groovywordpress-json-api-plugin_28.html' title='groovyとWordpress + JSON API pluginで指定のユーザの投稿を取得する'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5522309965180778185.post-6167651593480855556</id><published>2012-01-27T11:35:00.000+09:00</published><updated>2012-01-27T11:35:00.032+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='drupal'/><category scheme='http://www.blogger.com/atom/ns#' term='ApacheHttpClient'/><title type='text'>groovyでdrupalのタクソノミーのボキャブラリーを削除する</title><content type='html'>groovyでdrupalのタクソノミーのボキャブラリーを削除するには、以下のコードを実行します。&lt;pre style="color:#000000; background-color:#eeeeee; font-size:8pt; font-family:'Courier New';"&gt;&amp;#64;&lt;span style="color:#004466"&gt;Grab&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;group&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'org.apache.httpcomponents'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; module&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'httpclient'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; version&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'4.1.2'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;entity&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;methods&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;impl&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;message&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;protocol&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// ログイン&lt;/span&gt;&lt;br /&gt;httpclient &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;DefaultHttpClient&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;method &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;HttpPost&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;http://localhost/drupal/rest/user/login&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;values &lt;span style="color:#ff0080; font-weight:bold"&gt;= [&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;BasicNameValuePair&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;username&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; &lt;span style="color:#a68500"&gt;&amp;quot;drupal&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;),&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;BasicNameValuePair&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;password&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; &lt;span style="color:#a68500"&gt;&amp;quot;drupal&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;]&lt;/span&gt;&lt;br /&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;setEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;UrlEncodedFormEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;values&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; HTTP&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;UTF_8&lt;span style="color:#ff0080; font-weight:bold"&gt;))&lt;/span&gt;&lt;br /&gt;response &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; httpclient&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;execute&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;println response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusLine&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusCode&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;println response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getContent&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;text&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// タクソノミーのボキャブラリーの削除&lt;/span&gt;&lt;br /&gt;vid&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;3&amp;quot;&lt;/span&gt;&lt;br /&gt;method &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;HttpDelete&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#a68500"&gt;&amp;quot;http://localhost/drupal/rest/taxonomy_vocabulary/${vid}&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;response &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; httpclient&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;execute&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;println response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusLine&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusCode&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;println response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getContent&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;text&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// ログアウト&lt;/span&gt;&lt;br /&gt;method &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;HttpGet&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;http://localhost/drupal/user/logout&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;response &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; httpclient&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;execute&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;println response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusLine&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusCode&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;動作環境&lt;br /&gt;groovy 1.8.4, JDK7 Update1, drupal 7.1.0, services-7.x-3.1, ctools-7.x-1.0-rc1, spyc-0.5&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5522309965180778185-6167651593480855556?l=groovyarekore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://groovyarekore.blogspot.com/feeds/6167651593480855556/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://groovyarekore.blogspot.com/2012/01/groovydrupal_27.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/6167651593480855556'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/6167651593480855556'/><link rel='alternate' type='text/html' href='http://groovyarekore.blogspot.com/2012/01/groovydrupal_27.html' title='groovyでdrupalのタクソノミーのボキャブラリーを削除する'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5522309965180778185.post-8337538833766963001</id><published>2012-01-26T12:14:00.000+09:00</published><updated>2012-01-26T12:14:00.523+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='redmine'/><category scheme='http://www.blogger.com/atom/ns#' term='ApacheHttpClient'/><title type='text'>groovyでredmineのチケットを作成する</title><content type='html'>groovyでredmineのチケットを作成するには、以下のコードを実行します。&lt;pre style="color:#000000; background-color:#eeeeee; font-size:8pt; font-family:'Courier New';"&gt;&amp;#64;&lt;span style="color:#004466"&gt;Grab&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;group&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'org.apache.httpcomponents'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; module&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'httpclient'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; version&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'4.1.2'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;methods&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;impl&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;entity&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;message&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;protocol&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; groovy&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;json&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;httpclient &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;DefaultHttpClient&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// チケットを作成する&lt;/span&gt;&lt;br /&gt;method &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;HttpPost&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;http://redmine-server/redmine/issues.json&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// アカウントページで作成したAPIアクセスキーを設定する&lt;/span&gt;&lt;br /&gt;apiKey &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a68500"&gt;&amp;quot;your-api-key&amp;quot;&lt;/span&gt;&lt;br /&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;addHeader&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;BasicHeader&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;X-Redmine-API-Key&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; apiKey&lt;span style="color:#ff0080; font-weight:bold"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// パラメータを設定&lt;/span&gt;&lt;br /&gt;builder &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;JsonBuilder&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;builder&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;issue &lt;span style="color:#ff0080; font-weight:bold"&gt;{&lt;/span&gt;&lt;br /&gt;  project_id &lt;span style="color:#a68500"&gt;&amp;quot;testproject1&amp;quot;&lt;/span&gt;&lt;br /&gt;  subject &lt;span style="color:#a68500"&gt;&amp;quot;UIバグ&amp;quot;&lt;/span&gt;&lt;br /&gt;  description &lt;span style="color:#a68500"&gt;&amp;quot;Windowがクローズできない。&amp;quot;&lt;/span&gt;&lt;br /&gt;  tracker_id &lt;span style="color:#a68500"&gt;&amp;quot;1&amp;quot;&lt;/span&gt;  &lt;span style="color:#f27900"&gt;// 1=Bug&lt;/span&gt;&lt;br /&gt;  priority_id &lt;span style="color:#a68500"&gt;&amp;quot;5&amp;quot;&lt;/span&gt;  &lt;span style="color:#f27900"&gt;// 5=High&lt;/span&gt;&lt;br /&gt;  status_id &lt;span style="color:#a68500"&gt;&amp;quot;1&amp;quot;&lt;/span&gt; &lt;span style="color:#f27900"&gt;// 1=New&lt;/span&gt;&lt;br /&gt;  start_date &lt;span style="color:#a68500"&gt;&amp;quot;2012-01-05&amp;quot;&lt;/span&gt;&lt;br /&gt;  due_date &lt;span style="color:#a68500"&gt;&amp;quot;2012-02-02&amp;quot;&lt;/span&gt;&lt;br /&gt;  done_ratio &lt;span style="color:#a68500"&gt;&amp;quot;0&amp;quot;&lt;/span&gt;&lt;br /&gt;  estimated_hours &lt;span style="color:#a68500"&gt;&amp;quot;10&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;}&lt;/span&gt;&lt;br /&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;setEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;StringEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;builder&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;toString&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(),&lt;/span&gt; &lt;span style="color:#a68500"&gt;&amp;quot;application/json&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; &lt;span style="color:#a68500"&gt;&amp;quot;UTF-8&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;))&lt;/span&gt;&lt;br /&gt;response &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; httpclient&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;execute&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;println response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusLine&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusCode&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;json &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;JsonSlurper&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;parseText&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getContent&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;text&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// 作成したチケットのID&lt;/span&gt;&lt;br /&gt;println &lt;span style="color:#a68500"&gt;&amp;quot;id:${json.issue.id}&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;動作環境&lt;br /&gt;groovy 1.8.4, JDK6 Update29, redmine 1.3.0&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5522309965180778185-8337538833766963001?l=groovyarekore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://groovyarekore.blogspot.com/feeds/8337538833766963001/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://groovyarekore.blogspot.com/2012/01/groovyredmine_26.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/8337538833766963001'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/8337538833766963001'/><link rel='alternate' type='text/html' href='http://groovyarekore.blogspot.com/2012/01/groovyredmine_26.html' title='groovyでredmineのチケットを作成する'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5522309965180778185.post-699703541273724232</id><published>2012-01-25T11:19:00.000+09:00</published><updated>2012-01-25T11:19:00.207+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='drupal'/><category scheme='http://www.blogger.com/atom/ns#' term='ApacheHttpClient'/><title type='text'>groovyでdrupalの指定のタクソノミーのボキャブラリー情報を取得する</title><content type='html'>groovyでdrupalの指定のタクソノミーのボキャブラリー情報を取得するには、以下のコードを実行します。&lt;pre style="color:#000000; background-color:#eeeeee; font-size:8pt; font-family:'Courier New';"&gt;&amp;#64;&lt;span style="color:#004466"&gt;Grab&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;group&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'org.apache.httpcomponents'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; module&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'httpclient'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; version&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'4.1.2'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;methods&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;impl&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; groovy&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;json&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;httpclient &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;DefaultHttpClient&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// 指定のタクソノミーのボキャブラリー情報を取得&lt;/span&gt;&lt;br /&gt;vid&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;3&amp;quot;&lt;/span&gt;&lt;br /&gt;method &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;HttpGet&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;http://localhost/drupal/rest/taxonomy_vocabulary/${vid}&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;response &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; httpclient&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;execute&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;println response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusLine&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusCode&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;json &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;JsonSlurper&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;parseText&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getContent&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;text&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;println &lt;span style="color:#a68500"&gt;&amp;quot;名前:${json.name}&amp;quot;&lt;/span&gt;&lt;br /&gt;println &lt;span style="color:#a68500"&gt;&amp;quot;説明:${json.description}&amp;quot;&lt;/span&gt;&lt;br /&gt;println &lt;span style="color:#a68500"&gt;&amp;quot;machine_name:${json.machine_name}&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;動作環境&lt;br /&gt;groovy 1.8.4, JDK7 Update1, drupal 7.1.0, services-7.x-3.1, ctools-7.x-1.0-rc1, spyc-0.5&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5522309965180778185-699703541273724232?l=groovyarekore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://groovyarekore.blogspot.com/feeds/699703541273724232/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://groovyarekore.blogspot.com/2012/01/groovydrupal_25.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/699703541273724232'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/699703541273724232'/><link rel='alternate' type='text/html' href='http://groovyarekore.blogspot.com/2012/01/groovydrupal_25.html' title='groovyでdrupalの指定のタクソノミーのボキャブラリー情報を取得する'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5522309965180778185.post-5296779428221347903</id><published>2012-01-24T23:43:00.000+09:00</published><updated>2012-01-24T23:43:00.068+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wordpress'/><category scheme='http://www.blogger.com/atom/ns#' term='ApacheHttpClient'/><title type='text'>groovyとWordpress + JSON API pluginで検索結果を取得する</title><content type='html'>groovyとWordpress + JSON API pluginで検索結果を取得するには、以下のコードを実行します。&lt;pre style="color:#000000; background-color:#eeeeee; font-size:8pt; font-family:'Courier New';"&gt;&amp;#64;&lt;span style="color:#004466"&gt;Grab&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;group&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'org.apache.httpcomponents'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; module&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'httpclient'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; version&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'4.1.2'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;methods&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;impl&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; groovy&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;json&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;httpclient &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;DefaultHttpClient&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// 検索結果を取得する&lt;/span&gt;&lt;br /&gt;search &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a68500"&gt;&amp;quot;groovy&amp;quot;&lt;/span&gt;&lt;br /&gt;method &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;HttpGet&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;http://localhost/?json=get_search_results&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0080; font-weight:bold"&gt;+&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#a68500"&gt;&amp;quot;&amp;amp;count=10&amp;amp;search=${search}&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;response &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; httpclient&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;execute&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;json &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;JsonSlurper&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;parseText&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getContent&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;text&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;json&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;posts&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;each &lt;span style="color:#ff0080; font-weight:bold"&gt;{&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#f27900"&gt;// ID&lt;/span&gt;&lt;br /&gt;  println &lt;span style="color:#a68500"&gt;&amp;quot;id:${it.id}&amp;quot;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#f27900"&gt;// タイトル&lt;/span&gt;&lt;br /&gt;  println &lt;span style="color:#a68500"&gt;&amp;quot;title:${it.title}&amp;quot;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#f27900"&gt;// 日時&lt;/span&gt;&lt;br /&gt;  println &lt;span style="color:#a68500"&gt;&amp;quot;date:${it.date}&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;動作環境&lt;br /&gt;groovy 1.8.4, JDK6 Update29, Wordpress 3.2.1, JSON API plugin 1.0.7&lt;br /&gt;&lt;br /&gt;JSON APIのページ&lt;br /&gt;http://wordpress.org/extend/plugins/json-api/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5522309965180778185-5296779428221347903?l=groovyarekore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://groovyarekore.blogspot.com/feeds/5296779428221347903/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://groovyarekore.blogspot.com/2012/01/groovywordpress-json-api-plugin_24.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/5296779428221347903'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/5296779428221347903'/><link rel='alternate' type='text/html' href='http://groovyarekore.blogspot.com/2012/01/groovywordpress-json-api-plugin_24.html' title='groovyとWordpress + JSON API pluginで検索結果を取得する'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5522309965180778185.post-9180525448475183115</id><published>2012-01-23T12:09:00.000+09:00</published><updated>2012-01-23T12:09:00.386+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='redmine'/><category scheme='http://www.blogger.com/atom/ns#' term='ApacheHttpClient'/><title type='text'>groovyでredmineから優先順位がUrgentのチケットの一覧を取得する</title><content type='html'>groovyでredmineから優先順位がUrgentのチケットの一覧を取得するには、以下のコードを実行します。&lt;pre style="color:#000000; background-color:#eeeeee; font-size:8pt; font-family:'Courier New';"&gt;&amp;#64;&lt;span style="color:#004466"&gt;Grab&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;group&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'org.apache.httpcomponents'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; module&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'httpclient'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; version&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'4.1.2'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;methods&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;impl&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;message&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; groovy&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;json&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;httpclient &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;DefaultHttpClient&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// 優先順位がUrgent(priority_id=6)のチケットの一覧を取得する&lt;/span&gt;&lt;br /&gt;project_id &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a68500"&gt;&amp;quot;testproject1&amp;quot;&lt;/span&gt;&lt;br /&gt;method &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;HttpGet&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;http://redmine-server/redmine/issues.json&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0080; font-weight:bold"&gt;+&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#a68500"&gt;&amp;quot;?limit=100&amp;amp;offset=0&amp;amp;priority_id=6&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// アカウントページで作成したAPIアクセスキーを設定する&lt;/span&gt;&lt;br /&gt;apiKey &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a68500"&gt;&amp;quot;your-api-key&amp;quot;&lt;/span&gt;&lt;br /&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;addHeader&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;BasicHeader&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;X-Redmine-API-Key&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; apiKey&lt;span style="color:#ff0080; font-weight:bold"&gt;))&lt;/span&gt;&lt;br /&gt;response &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; httpclient&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;execute&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;json &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;JsonSlurper&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;parseText&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getContent&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;text&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;println json&lt;br /&gt;println &lt;span style="color:#a68500"&gt;&amp;quot;number of closed issue:${json.total_count}&amp;quot;&lt;/span&gt;&lt;br /&gt;json&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;issues&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;each &lt;span style="color:#ff0080; font-weight:bold"&gt;{&lt;/span&gt;&lt;br /&gt;  println &lt;span style="color:#a68500"&gt;&amp;quot;----&amp;quot;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#f27900"&gt;// 題名&lt;/span&gt;&lt;br /&gt;  println &lt;span style="color:#a68500"&gt;&amp;quot;name:${it.subject}&amp;quot;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#f27900"&gt;// ステータス&lt;/span&gt;&lt;br /&gt;  println &lt;span style="color:#a68500"&gt;&amp;quot;status:${it.status.name}&amp;quot;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#f27900"&gt;// 説明&lt;/span&gt;&lt;br /&gt;  println &lt;span style="color:#a68500"&gt;&amp;quot;description:${it.description}&amp;quot;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#f27900"&gt;// プライオリティ&lt;/span&gt;&lt;br /&gt;  println &lt;span style="color:#a68500"&gt;&amp;quot;priority:${it.priority.name}&amp;quot;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#f27900"&gt;// 登録日時&lt;/span&gt;&lt;br /&gt;  println &lt;span style="color:#a68500"&gt;&amp;quot;created_on:${it.created_on}&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;動作環境&lt;br /&gt;groovy 1.8.4, JDK6 Update29, redmine 1.3.0&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5522309965180778185-9180525448475183115?l=groovyarekore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://groovyarekore.blogspot.com/feeds/9180525448475183115/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://groovyarekore.blogspot.com/2012/01/groovyredmineurgent.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/9180525448475183115'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/9180525448475183115'/><link rel='alternate' type='text/html' href='http://groovyarekore.blogspot.com/2012/01/groovyredmineurgent.html' title='groovyでredmineから優先順位がUrgentのチケットの一覧を取得する'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5522309965180778185.post-9106258335274555342</id><published>2012-01-22T11:16:00.000+09:00</published><updated>2012-01-22T11:16:00.983+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='drupal'/><category scheme='http://www.blogger.com/atom/ns#' term='ApacheHttpClient'/><title type='text'>groovyでdrupalのタクソノミーのボキャブラリを更新する</title><content type='html'>groovyでdrupalのタクソノミーのボキャブラリを更新するには、以下のコードを実行します。&lt;pre style="color:#000000; background-color:#eeeeee; font-size:8pt; font-family:'Courier New';"&gt;&amp;#64;&lt;span style="color:#004466"&gt;Grab&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;group&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'org.apache.httpcomponents'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; module&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'httpclient'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; version&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'4.1.2'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;entity&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;methods&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;impl&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;message&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;protocol&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// ログイン&lt;/span&gt;&lt;br /&gt;httpclient &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;DefaultHttpClient&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;method &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;HttpPost&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;http://localhost/drupal/rest/user/login&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;values &lt;span style="color:#ff0080; font-weight:bold"&gt;= [&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;BasicNameValuePair&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;username&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; &lt;span style="color:#a68500"&gt;&amp;quot;drupal&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;),&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;BasicNameValuePair&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;password&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; &lt;span style="color:#a68500"&gt;&amp;quot;drupal&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;]&lt;/span&gt;&lt;br /&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;setEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;UrlEncodedFormEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;values&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; HTTP&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;UTF_8&lt;span style="color:#ff0080; font-weight:bold"&gt;))&lt;/span&gt;&lt;br /&gt;response &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; httpclient&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;execute&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;println response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusLine&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusCode&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;println response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getContent&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;text&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// タクソノミーのボキャブラリーの更新&lt;/span&gt;&lt;br /&gt;vid&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;3&amp;quot;&lt;/span&gt;&lt;br /&gt;method &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;HttpPut&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;http://localhost/drupal/rest/taxonomy_vocabulary/${vid}&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;values &lt;span style="color:#ff0080; font-weight:bold"&gt;= [&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;BasicNameValuePair&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;'name'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; &lt;span style="color:#a68500"&gt;'お知らせ'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;),&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;BasicNameValuePair&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;'description'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; &lt;span style="color:#a68500"&gt;'会社からのお知らせです。'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;),&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;BasicNameValuePair&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;'machine_name'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; &lt;span style="color:#a68500"&gt;'announcement'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;]&lt;/span&gt;&lt;br /&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;setEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;UrlEncodedFormEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;values&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; HTTP&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;UTF_8&lt;span style="color:#ff0080; font-weight:bold"&gt;))&lt;/span&gt;&lt;br /&gt;response &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; httpclient&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;execute&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;println response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusLine&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusCode&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;println response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getContent&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;text&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// ログアウト&lt;/span&gt;&lt;br /&gt;method &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;HttpGet&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;http://localhost/drupal/user/logout&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;response &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; httpclient&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;execute&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;println response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusLine&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusCode&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;動作環境&lt;br /&gt;groovy 1.8.4, JDK7 Update1, drupal 7.1.0, services-7.x-3.1, ctools-7.x-1.0-rc1, spyc-0.5&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5522309965180778185-9106258335274555342?l=groovyarekore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://groovyarekore.blogspot.com/feeds/9106258335274555342/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://groovyarekore.blogspot.com/2012/01/groovydrupal_22.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/9106258335274555342'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/9106258335274555342'/><link rel='alternate' type='text/html' href='http://groovyarekore.blogspot.com/2012/01/groovydrupal_22.html' title='groovyでdrupalのタクソノミーのボキャブラリを更新する'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5522309965180778185.post-8450224870153226107</id><published>2012-01-21T23:53:00.000+09:00</published><updated>2012-01-21T23:53:00.098+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='redmine'/><category scheme='http://www.blogger.com/atom/ns#' term='ApacheHttpClient'/><title type='text'>groovyでredmineのプロジェクトを作成する</title><content type='html'>groovyでredmineのプロジェクトを作成するには、以下のコードを実行します。&lt;pre style="color:#000000; background-color:#eeeeee; font-size:8pt; font-family:'Courier New';"&gt;&amp;#64;&lt;span style="color:#004466"&gt;Grab&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;group&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'org.apache.httpcomponents'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; module&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'httpclient'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; version&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'4.1.2'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;methods&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;impl&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;entity&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;message&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;protocol&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; groovy&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;json&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;httpclient &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;DefaultHttpClient&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// プロジェクトを作成する&lt;/span&gt;&lt;br /&gt;method &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;HttpPost&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;http://redmine-server/redmine/projects.json&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// アカウントページで作成したAPIアクセスキーを設定する&lt;/span&gt;&lt;br /&gt;apiKey &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a68500"&gt;&amp;quot;your-api-key&amp;quot;&lt;/span&gt;&lt;br /&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;addHeader&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;BasicHeader&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;X-Redmine-API-Key&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; apiKey&lt;span style="color:#ff0080; font-weight:bold"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;//&lt;/span&gt;&lt;br /&gt;builder &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;JsonBuilder&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;builder&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;project &lt;span style="color:#ff0080; font-weight:bold"&gt;{&lt;/span&gt;&lt;br /&gt;  name &lt;span style="color:#a68500"&gt;&amp;quot;プロジェクト名称&amp;quot;&lt;/span&gt;&lt;br /&gt;  identifier &lt;span style="color:#a68500"&gt;&amp;quot;project1&amp;quot;&lt;/span&gt;&lt;br /&gt;  description &lt;span style="color:#a68500"&gt;&amp;quot;groovyで作成したプロジェクト&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;}&lt;/span&gt;&lt;br /&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;setEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;StringEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;builder&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;toString&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(),&lt;/span&gt; &lt;span style="color:#a68500"&gt;&amp;quot;application/json&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; &lt;span style="color:#a68500"&gt;&amp;quot;UTF-8&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;))&lt;/span&gt;&lt;br /&gt;response &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; httpclient&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;execute&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;println response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusLine&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusCode&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;json &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;JsonSlurper&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;parseText&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getContent&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;text&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// 作成したプロジェクトのID&lt;/span&gt;&lt;br /&gt;println &lt;span style="color:#a68500"&gt;&amp;quot;id:${json.project.id}&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;動作環境&lt;br /&gt;groovy 1.8.4, JDK6 Update29, redmine 1.3.0&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5522309965180778185-8450224870153226107?l=groovyarekore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://groovyarekore.blogspot.com/feeds/8450224870153226107/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://groovyarekore.blogspot.com/2012/01/groovyredmine_21.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/8450224870153226107'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/8450224870153226107'/><link rel='alternate' type='text/html' href='http://groovyarekore.blogspot.com/2012/01/groovyredmine_21.html' title='groovyでredmineのプロジェクトを作成する'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5522309965180778185.post-4359030605822848638</id><published>2012-01-20T23:39:00.000+09:00</published><updated>2012-01-20T23:39:00.633+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wordpress'/><category scheme='http://www.blogger.com/atom/ns#' term='ApacheHttpClient'/><title type='text'>groovyとWordpress + JSON API pluginでコメントを投稿する</title><content type='html'>groovyとWordpress + JSON API pluginでコメントを投稿するには、以下のコードを実行します。&lt;pre style="color:#000000; background-color:#eeeeee; font-size:8pt; font-family:'Courier New';"&gt;&amp;#64;&lt;span style="color:#004466"&gt;Grab&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;group&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'org.apache.httpcomponents'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; module&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'httpclient'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; version&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'4.1.2'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;methods&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;impl&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; groovy&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;json&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;httpclient &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;DefaultHttpClient&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// コメントの作成&lt;/span&gt;&lt;br /&gt;post_id &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#800080; font-weight:bold"&gt;33&lt;/span&gt;&lt;br /&gt;name &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a68500"&gt;&amp;quot;通りすがり&amp;quot;&lt;/span&gt;&lt;br /&gt;email &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a68500"&gt;&amp;quot;sample&amp;#64;sample.com&amp;quot;&lt;/span&gt;&lt;br /&gt;content &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a68500"&gt;&amp;quot;コメントしました。&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;method &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;HttpGet&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;http://localhost/?json=submit_comment&amp;amp;&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0080; font-weight:bold"&gt;+&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#a68500"&gt;&amp;quot;post_id=${post_id}&amp;amp;name=${name}&amp;amp;email=${email}&amp;amp;&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0080; font-weight:bold"&gt;+&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#a68500"&gt;&amp;quot;content=${content}&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;response &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; httpclient&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;execute&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;println response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusLine&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusCode&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;json &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;JsonSlurper&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;parseText&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getContent&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;text&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;println json&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;動作環境&lt;br /&gt;groovy 1.8.4, JDK6 Update29, Wordpress 3.2.1, JSON API plugin 1.0.7&lt;br /&gt;&lt;br /&gt;JSON APIのページ&lt;br /&gt;http://wordpress.org/extend/plugins/json-api/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5522309965180778185-4359030605822848638?l=groovyarekore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://groovyarekore.blogspot.com/feeds/4359030605822848638/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://groovyarekore.blogspot.com/2012/01/groovywordpress-json-api-plugin_20.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/4359030605822848638'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/4359030605822848638'/><link rel='alternate' type='text/html' href='http://groovyarekore.blogspot.com/2012/01/groovywordpress-json-api-plugin_20.html' title='groovyとWordpress + JSON API pluginでコメントを投稿する'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5522309965180778185.post-7976065554696011361</id><published>2012-01-19T22:22:00.000+09:00</published><updated>2012-01-19T22:22:25.607+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ApacheCamel'/><title type='text'>groovyとApache CamelでJDBC Componentを使用してデータベースの結果を出力する</title><content type='html'>groovyとApache CamelでJDBC Componentを使用してデータベースの結果を出力するには、以下のコードを実行します。&lt;pre style="color:#000000; background-color:#eeeeee; font-size:8pt; font-family:'Courier New';"&gt;&amp;#64;&lt;span style="color:#004466"&gt;Grab&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;group&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'postgresql'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; module&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'postgresql'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; version&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'9.1-901.jdbc4'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&amp;#64;&lt;span style="color:#004466"&gt;Grab&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;group&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;org.apache.camel&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; module&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;camel-core&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; version&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;2.9.0&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&amp;#64;&lt;span style="color:#004466"&gt;Grab&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;group&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;org.apache.camel&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; module&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;camel-jdbc&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; version&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;2.9.0&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&amp;#64;&lt;span style="color:#004466"&gt;Grab&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;group&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;org.slf4j&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; module&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;slf4j-simple&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; version&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;1.6.4&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;//&amp;#64;Grab(group=&amp;quot;org.slf4j&amp;quot;, module=&amp;quot;slf4j-nop&amp;quot;, version=&amp;quot;1.6.4&amp;quot;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;camel&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;camel&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;builder&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;camel&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;impl&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// 接続先DataSource&lt;/span&gt;&lt;br /&gt;ds &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;postgresql&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;ds&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;PGPoolingDataSource&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;ds&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;setDataSourceName&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;userdb_ds&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;ds&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;setServerName&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;localhost&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;ds&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;setDatabaseName&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;userdb&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;ds&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;setUser&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;postgres&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;ds&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;setPassword&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;postgres&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// DataSourceをレジストリに設定&lt;/span&gt;&lt;br /&gt;registry &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;SimpleRegistry&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;registry&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;put&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;userdb_ds&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; ds&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;ctx &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;DefaultCamelContext&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;registry&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;ctx&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;addRoutes&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;RouteBuilder&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(){&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#8080c0; font-weight:bold"&gt;void&lt;/span&gt; &lt;span style="color:#004466"&gt;configure&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#ff0080; font-weight:bold"&gt;{&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#004466"&gt;from&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;direct:customer&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;      &lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;to&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;jdbc:userdb_ds?readSize=100&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;      &lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;process&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#ff0080; font-weight:bold"&gt;{&lt;/span&gt; exc &lt;span style="color:#ff0080; font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;&lt;br /&gt;          &lt;span style="color:#bb7977; font-weight:bold"&gt;for&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt; row &lt;span style="color:#bb7977; font-weight:bold"&gt;in&lt;/span&gt; exc&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getIn&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getBody&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;() ){&lt;/span&gt;&lt;br /&gt;            &lt;span style="color:#f27900"&gt;// 各列を出力&lt;/span&gt;&lt;br /&gt;            println row&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;get&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;customer_id&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;            println row&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;get&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;customer_name&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;          &lt;span style="color:#ff0080; font-weight:bold"&gt;}&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#ff0080; font-weight:bold"&gt;}&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;as&lt;/span&gt; Processor&lt;br /&gt;      &lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#ff0080; font-weight:bold"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;})&lt;/span&gt;&lt;br /&gt;ctx&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;start&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// exchangeを作成して、endpointに送信&lt;/span&gt;&lt;br /&gt;endpoint &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; ctx&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getEndpoint&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;direct:customer&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;exc &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; endpoint&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;createExchange&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;exc&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getIn&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;setBody&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;select * from customer&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;template &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; ctx&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;createProducerTemplate&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;template&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;send&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;endpoint&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; exc&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;ctx&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;stop&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;動作環境&lt;br /&gt;groovy 1.8.5, JDK7 Update1, Apache Camel 2.9.0&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5522309965180778185-7976065554696011361?l=groovyarekore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://groovyarekore.blogspot.com/feeds/7976065554696011361/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://groovyarekore.blogspot.com/2012/01/groovyapache-cameljdbc-component.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/7976065554696011361'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/7976065554696011361'/><link rel='alternate' type='text/html' href='http://groovyarekore.blogspot.com/2012/01/groovyapache-cameljdbc-component.html' title='groovyとApache CamelでJDBC Componentを使用してデータベースの結果を出力する'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5522309965180778185.post-4518185972826588454</id><published>2012-01-19T11:14:00.000+09:00</published><updated>2012-01-19T11:14:00.425+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='drupal'/><category scheme='http://www.blogger.com/atom/ns#' term='ApacheHttpClient'/><title type='text'>groovyでdrupalのタクソノミーの新しいボキャブラリを作成する</title><content type='html'>groovyでdrupalのタクソノミーの新しいボキャブラリを作成するには、以下のコードを実行します。&lt;pre style="color:#000000; background-color:#eeeeee; font-size:8pt; font-family:'Courier New';"&gt;&amp;#64;&lt;span style="color:#004466"&gt;Grab&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;group&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'org.apache.httpcomponents'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; module&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'httpclient'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; version&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'4.1.2'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;entity&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;methods&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;impl&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;message&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;protocol&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// ログイン&lt;/span&gt;&lt;br /&gt;httpclient &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;DefaultHttpClient&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;method &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;HttpPost&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;http://localhost/drupal/rest/user/login&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;values &lt;span style="color:#ff0080; font-weight:bold"&gt;= [&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;BasicNameValuePair&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;username&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; &lt;span style="color:#a68500"&gt;&amp;quot;drupal&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;),&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;BasicNameValuePair&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;password&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; &lt;span style="color:#a68500"&gt;&amp;quot;drupal&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;]&lt;/span&gt;&lt;br /&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;setEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;UrlEncodedFormEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;values&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; HTTP&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;UTF_8&lt;span style="color:#ff0080; font-weight:bold"&gt;))&lt;/span&gt;&lt;br /&gt;response &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; httpclient&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;execute&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;println response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusLine&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusCode&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;println response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getContent&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;text&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// 新しいタクソノミーのボキャブラリを作成&lt;/span&gt;&lt;br /&gt;method &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;HttpPost&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;http://localhost/drupal/rest/taxonomy_vocabulary&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;values &lt;span style="color:#ff0080; font-weight:bold"&gt;= [&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;BasicNameValuePair&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;'name'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; &lt;span style="color:#a68500"&gt;'お知らせ'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;),&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;BasicNameValuePair&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;'description'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; &lt;span style="color:#a68500"&gt;'お知らせです。'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;),&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;BasicNameValuePair&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;'machine_name'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; &lt;span style="color:#a68500"&gt;'announcement'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;]&lt;/span&gt;&lt;br /&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;setEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;UrlEncodedFormEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;values&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; HTTP&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;UTF_8&lt;span style="color:#ff0080; font-weight:bold"&gt;))&lt;/span&gt;&lt;br /&gt;response &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; httpclient&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;execute&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;println response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusLine&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusCode&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;println response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getContent&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;text&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// ログアウト&lt;/span&gt;&lt;br /&gt;method &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;HttpGet&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;http://localhost/drupal/user/logout&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;response &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; httpclient&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;execute&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;println response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusLine&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusCode&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;動作環境&lt;br /&gt;groovy 1.8.4, JDK7 Update1, drupal 7.1.0, services-7.x-3.1, ctools-7.x-1.0-rc1, spyc-0.5&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5522309965180778185-4518185972826588454?l=groovyarekore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://groovyarekore.blogspot.com/feeds/4518185972826588454/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://groovyarekore.blogspot.com/2012/01/groovydrupal_19.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/4518185972826588454'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/4518185972826588454'/><link rel='alternate' type='text/html' href='http://groovyarekore.blogspot.com/2012/01/groovydrupal_19.html' title='groovyでdrupalのタクソノミーの新しいボキャブラリを作成する'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5522309965180778185.post-1952390655703677422</id><published>2012-01-18T12:05:00.000+09:00</published><updated>2012-01-18T12:05:00.952+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='redmine'/><category scheme='http://www.blogger.com/atom/ns#' term='ApacheHttpClient'/><title type='text'>groovyでredmineからクローズしたチケットの一覧を取得する</title><content type='html'>groovyでredmineからクローズしたチケットの一覧を取得するには、以下のコードを実行します。&lt;pre style="color:#000000; background-color:#eeeeee; font-size:8pt; font-family:'Courier New';"&gt;&amp;#64;&lt;span style="color:#004466"&gt;Grab&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;group&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'org.apache.httpcomponents'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; module&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'httpclient'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; version&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'4.1.2'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;methods&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;impl&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;message&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; groovy&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;json&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;httpclient &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;DefaultHttpClient&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// クローズしたチケットの一覧を取得する&lt;/span&gt;&lt;br /&gt;project_id &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a68500"&gt;&amp;quot;testproject1&amp;quot;&lt;/span&gt;&lt;br /&gt;method &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;HttpGet&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;http://redmine-server/redmine/issues.json&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0080; font-weight:bold"&gt;+&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#a68500"&gt;&amp;quot;?limit=100&amp;amp;offset=0&amp;amp;status_id=closed&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// アカウントページで作成したAPIアクセスキーを設定する&lt;/span&gt;&lt;br /&gt;apiKey &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a68500"&gt;&amp;quot;your-api-key&amp;quot;&lt;/span&gt;&lt;br /&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;addHeader&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;BasicHeader&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;X-Redmine-API-Key&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; apiKey&lt;span style="color:#ff0080; font-weight:bold"&gt;))&lt;/span&gt;&lt;br /&gt;response &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; httpclient&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;execute&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;json &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;JsonSlurper&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;parseText&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getContent&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;text&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;println &lt;span style="color:#a68500"&gt;&amp;quot;number of closed issue:${json.total_count}&amp;quot;&lt;/span&gt;&lt;br /&gt;json&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;issues&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;each &lt;span style="color:#ff0080; font-weight:bold"&gt;{&lt;/span&gt;&lt;br /&gt;  println &lt;span style="color:#a68500"&gt;&amp;quot;----&amp;quot;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#f27900"&gt;// 題名&lt;/span&gt;&lt;br /&gt;  println &lt;span style="color:#a68500"&gt;&amp;quot;name:${it.subject}&amp;quot;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#f27900"&gt;// ステータス&lt;/span&gt;&lt;br /&gt;  println &lt;span style="color:#a68500"&gt;&amp;quot;status:${it.status.name}&amp;quot;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#f27900"&gt;// 説明&lt;/span&gt;&lt;br /&gt;  println &lt;span style="color:#a68500"&gt;&amp;quot;description:${it.description}&amp;quot;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#f27900"&gt;// プライオリティ&lt;/span&gt;&lt;br /&gt;  println &lt;span style="color:#a68500"&gt;&amp;quot;priority:${it.priority.name}&amp;quot;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#f27900"&gt;// 登録日時&lt;/span&gt;&lt;br /&gt;  println &lt;span style="color:#a68500"&gt;&amp;quot;created_on:${it.created_on}&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;動作環境&lt;br /&gt;groovy 1.8.4, JDK6 Update29, redmine 1.3.0&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5522309965180778185-1952390655703677422?l=groovyarekore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://groovyarekore.blogspot.com/feeds/1952390655703677422/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://groovyarekore.blogspot.com/2012/01/groovyredmine_18.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/1952390655703677422'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/1952390655703677422'/><link rel='alternate' type='text/html' href='http://groovyarekore.blogspot.com/2012/01/groovyredmine_18.html' title='groovyでredmineからクローズしたチケットの一覧を取得する'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5522309965180778185.post-3513524166732631166</id><published>2012-01-17T11:10:00.000+09:00</published><updated>2012-01-17T11:10:00.036+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='drupal'/><category scheme='http://www.blogger.com/atom/ns#' term='ApacheHttpClient'/><title type='text'>groovyでdrupalのタクソノミーのボキャブラリ一覧を取得する</title><content type='html'>groovyでdrupalのタクソノミーのボキャブラリ一覧を取得するには、以下のコードを実行します。&lt;pre style="color:#000000; background-color:#eeeeee; font-size:8pt; font-family:'Courier New';"&gt;&amp;#64;&lt;span style="color:#004466"&gt;Grab&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;group&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'org.apache.httpcomponents'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; module&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'httpclient'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; version&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'4.1.2'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;methods&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;impl&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; groovy&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;json&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;httpclient &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;DefaultHttpClient&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// タクソノミーのボキャブラリの一覧を取得する&lt;/span&gt;&lt;br /&gt;method &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;HttpGet&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;http://localhost/drupal/rest/taxonomy_vocabulary.json&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;response &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; httpclient&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;execute&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;json &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;JsonSlurper&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;parseText&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getContent&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;text&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;println json&lt;br /&gt;json&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;each &lt;span style="color:#ff0080; font-weight:bold"&gt;{&lt;/span&gt;&lt;br /&gt;  println &lt;span style="color:#a68500"&gt;&amp;quot;名前:${it.name}&amp;quot;&lt;/span&gt;&lt;br /&gt;  println &lt;span style="color:#a68500"&gt;&amp;quot;説明:${it.description}&amp;quot;&lt;/span&gt;&lt;br /&gt;  println &lt;span style="color:#a68500"&gt;&amp;quot;machine_name:${it.machine_name}&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;動作環境&lt;br /&gt;groovy 1.8.4, JDK7 Update1, drupal 7.1.0, services-7.x-3.1, ctools-7.x-1.0-rc1, spyc-0.5&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5522309965180778185-3513524166732631166?l=groovyarekore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://groovyarekore.blogspot.com/feeds/3513524166732631166/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://groovyarekore.blogspot.com/2012/01/groovydrupal_17.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/3513524166732631166'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/3513524166732631166'/><link rel='alternate' type='text/html' href='http://groovyarekore.blogspot.com/2012/01/groovydrupal_17.html' title='groovyでdrupalのタクソノミーのボキャブラリ一覧を取得する'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5522309965180778185.post-907746467273214086</id><published>2012-01-16T23:54:00.000+09:00</published><updated>2012-01-16T23:54:15.719+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ApacheCamel'/><title type='text'>groovyとApache CamelでCSVの列値が条件に一致する行を別ファイルに出力する</title><content type='html'>groovyとApache CamelでCSVの列値が条件に一致する行を別ファイルに出力するには、以下のコードを実行します。&lt;pre style="color:#000000; background-color:#eeeeee; font-size:8pt; font-family:'Courier New';"&gt;&amp;#64;&lt;span style="color:#004466"&gt;Grab&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;group&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;org.apache.camel&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; module&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;camel-core&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; version&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;2.9.0&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&amp;#64;&lt;span style="color:#004466"&gt;Grab&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;group&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;org.apache.camel&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; module&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;camel-csv&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; version&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;2.9.0&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&amp;#64;&lt;span style="color:#004466"&gt;Grab&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;group&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;org.slf4j&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; module&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;slf4j-simple&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; version&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;1.6.4&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;//&amp;#64;Grab(group=&amp;quot;org.slf4j&amp;quot;, module=&amp;quot;slf4j-nop&amp;quot;, version=&amp;quot;1.6.4&amp;quot;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;camel&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;camel&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;builder&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;camel&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;impl&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;ctx &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;DefaultCamelContext&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;ctx&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getShutdownStrategy&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;setTimeout&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#800080; font-weight:bold"&gt;5&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;ctx&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;addRoutes&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;RouteBuilder&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(){&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#8080c0; font-weight:bold"&gt;void&lt;/span&gt; &lt;span style="color:#004466"&gt;configure&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#ff0080; font-weight:bold"&gt;{&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#f27900"&gt;// CSVファイルを読み込む&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#004466"&gt;from&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;file://c:/share/camel?fileName=in.csv&amp;amp;noop=true&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;      &lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;routeId&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;myroute&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;      &lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;unmarshal&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;csv&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;      &lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;process&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#ff0080; font-weight:bold"&gt;{&lt;/span&gt; exc &lt;span style="color:#ff0080; font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;&lt;br /&gt;          &lt;span style="color:#bb7977; font-weight:bold"&gt;def&lt;/span&gt; sb &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#0080c0"&gt;StringBuffer&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;          &lt;span style="color:#bb7977; font-weight:bold"&gt;for&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt; line &lt;span style="color:#bb7977; font-weight:bold"&gt;in&lt;/span&gt; exc&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getIn&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getBody&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;() ){&lt;/span&gt;&lt;br /&gt;            &lt;span style="color:#f27900"&gt;// 2列目の文字列がgroovyなら出力&lt;/span&gt;&lt;br /&gt;            &lt;span style="color:#bb7977; font-weight:bold"&gt;if&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt; line&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;get&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#800080; font-weight:bold"&gt;1&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;) ==&lt;/span&gt; &lt;span style="color:#a68500"&gt;'groovy'&lt;/span&gt; &lt;span style="color:#ff0080; font-weight:bold"&gt;){&lt;/span&gt;&lt;br /&gt;              sb&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;append&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;line&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;join&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;','&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;))&lt;/span&gt;&lt;br /&gt;              sb&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;append&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;'&lt;/span&gt;&lt;span style="color:#ff00ff; font-weight:bold"&gt;\n&lt;/span&gt;&lt;span style="color:#a68500"&gt;'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;            &lt;span style="color:#ff0080; font-weight:bold"&gt;}&lt;/span&gt;&lt;br /&gt;          &lt;span style="color:#ff0080; font-weight:bold"&gt;}&lt;/span&gt;&lt;br /&gt;          exc&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getOut&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;setBody&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;sb&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#ff0080; font-weight:bold"&gt;}&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;as&lt;/span&gt; Processor&lt;br /&gt;      &lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;      &lt;span style="color:#f27900"&gt;// 別のファイルに出力&lt;/span&gt;&lt;br /&gt;      &lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;to&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;file://c:/share/camel?fileName=out.csv&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;      &lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;process&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#ff0080; font-weight:bold"&gt;{&lt;/span&gt; exc &lt;span style="color:#ff0080; font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;&lt;br /&gt;          exc&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getContext&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getInflightRepository&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;remove&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;exc&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;          exc&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getContext&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;stopRoute&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;myroute&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#ff0080; font-weight:bold"&gt;}&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;as&lt;/span&gt; Processor&lt;br /&gt;      &lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#ff0080; font-weight:bold"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;})&lt;/span&gt;&lt;br /&gt;ctx&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;start&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;while&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(!&lt;/span&gt;ctx&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getRouteStatus&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;myroute&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;).&lt;/span&gt;&lt;span style="color:#004466"&gt;isStopped&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()){&lt;/span&gt;&lt;br /&gt;  println &lt;span style="color:#a68500"&gt;&amp;quot;waiting...&amp;quot;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#0080c0"&gt;Thread&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;sleep&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#800080; font-weight:bold"&gt;1000&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;動作環境&lt;br /&gt;groovy 1.8.5, JDK7 Update1, Apache Camel 2.9.0&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5522309965180778185-907746467273214086?l=groovyarekore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://groovyarekore.blogspot.com/feeds/907746467273214086/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://groovyarekore.blogspot.com/2012/01/groovyapache-camelcsv.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/907746467273214086'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/907746467273214086'/><link rel='alternate' type='text/html' href='http://groovyarekore.blogspot.com/2012/01/groovyapache-camelcsv.html' title='groovyとApache CamelでCSVの列値が条件に一致する行を別ファイルに出力する'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5522309965180778185.post-5229705440527539138</id><published>2012-01-16T23:35:00.000+09:00</published><updated>2012-01-16T23:35:00.393+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wordpress'/><category scheme='http://www.blogger.com/atom/ns#' term='ApacheHttpClient'/><title type='text'>groovyとWordpress + JSON API pluginで固定ページの一覧を取得する</title><content type='html'>groovyとWordpress + JSON API pluginで固定ページの一覧を取得するには、以下のコードを実行します。&lt;pre style="color:#000000; background-color:#eeeeee; font-size:8pt; font-family:'Courier New';"&gt;&amp;#64;&lt;span style="color:#004466"&gt;Grab&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;group&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'org.apache.httpcomponents'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; module&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'httpclient'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; version&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'4.1.2'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;methods&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;impl&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; groovy&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;json&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;httpclient &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;DefaultHttpClient&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// 固定ページ一覧を取得する&lt;/span&gt;&lt;br /&gt;method &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;HttpGet&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;http://localhost/?json=get_page_index&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;response &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; httpclient&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;execute&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;json &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;JsonSlurper&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;parseText&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getContent&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;text&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;output &lt;span style="color:#ff0080; font-weight:bold"&gt;= {&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#f27900"&gt;// タイトル&lt;/span&gt;&lt;br /&gt;  println &lt;span style="color:#a68500"&gt;&amp;quot;title:${it.title}&amp;quot;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#f27900"&gt;// url&lt;/span&gt;&lt;br /&gt;  println &lt;span style="color:#a68500"&gt;&amp;quot;url:${it.url}&amp;quot;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#f27900"&gt;// 子ページ&lt;/span&gt;&lt;br /&gt;  it&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;children&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;each &lt;span style="color:#ff0080; font-weight:bold"&gt;{&lt;/span&gt; child &lt;span style="color:#ff0080; font-weight:bold"&gt;-&amp;gt;&lt;/span&gt; output&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;call&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;child&lt;span style="color:#ff0080; font-weight:bold"&gt;) }&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;}&lt;/span&gt;&lt;br /&gt;json&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;pages&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;each output&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;動作環境&lt;br /&gt;groovy 1.8.4, JDK6 Update29, Wordpress 3.2.1, JSON API plugin 1.0.7&lt;br /&gt;&lt;br /&gt;JSON APIのページ&lt;br /&gt;http://wordpress.org/extend/plugins/json-api/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5522309965180778185-5229705440527539138?l=groovyarekore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://groovyarekore.blogspot.com/feeds/5229705440527539138/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://groovyarekore.blogspot.com/2012/01/groovywordpress-json-api-plugin_16.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/5229705440527539138'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/5229705440527539138'/><link rel='alternate' type='text/html' href='http://groovyarekore.blogspot.com/2012/01/groovywordpress-json-api-plugin_16.html' title='groovyとWordpress + JSON API pluginで固定ページの一覧を取得する'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5522309965180778185.post-6528186053971254855</id><published>2012-01-15T13:56:00.000+09:00</published><updated>2012-01-15T13:56:09.078+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ApacheCamel'/><title type='text'>groovyとApache CamelでCSVファイルの2列目を出力する</title><content type='html'>groovyとApache CamelでCSVファイルの2列目を出力するには、以下のコードを実行します。&lt;pre style="color:#000000; background-color:#eeeeee; font-size:8pt; font-family:'Courier New';"&gt;&amp;#64;&lt;span style="color:#004466"&gt;Grab&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;group&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;org.apache.camel&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; module&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;camel-core&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; version&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;2.9.0&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&amp;#64;&lt;span style="color:#004466"&gt;Grab&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;group&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;org.apache.camel&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; module&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;camel-csv&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; version&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;2.9.0&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&amp;#64;&lt;span style="color:#004466"&gt;Grab&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;group&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;org.slf4j&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; module&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;slf4j-simple&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; version&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;1.6.4&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;//&amp;#64;Grab(group=&amp;quot;org.slf4j&amp;quot;, module=&amp;quot;slf4j-nop&amp;quot;, version=&amp;quot;1.6.4&amp;quot;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;camel&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;camel&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;builder&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;camel&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;impl&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;ctx &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;DefaultCamelContext&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;ctx&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getShutdownStrategy&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;setTimeout&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#800080; font-weight:bold"&gt;5&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;ctx&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;addRoutes&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;RouteBuilder&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(){&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#8080c0; font-weight:bold"&gt;void&lt;/span&gt; &lt;span style="color:#004466"&gt;configure&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#ff0080; font-weight:bold"&gt;{&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#f27900"&gt;// CSVファイルを読み込む&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#004466"&gt;from&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;file://c:/share/camel?fileName=test.csv&amp;amp;noop=true&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;      &lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;routeId&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;myroute&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;      &lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;unmarshal&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;csv&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;      &lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;process&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#ff0080; font-weight:bold"&gt;{&lt;/span&gt; exc &lt;span style="color:#ff0080; font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;&lt;br /&gt;          &lt;span style="color:#bb7977; font-weight:bold"&gt;for&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt; line &lt;span style="color:#bb7977; font-weight:bold"&gt;in&lt;/span&gt; exc&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getIn&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getBody&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;() ){&lt;/span&gt;&lt;br /&gt;            &lt;span style="color:#f27900"&gt;// 2列目を出力&lt;/span&gt;&lt;br /&gt;            println line&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;get&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#800080; font-weight:bold"&gt;1&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;          &lt;span style="color:#ff0080; font-weight:bold"&gt;}&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#ff0080; font-weight:bold"&gt;}&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;as&lt;/span&gt; Processor&lt;br /&gt;      &lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;      &lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;process&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#ff0080; font-weight:bold"&gt;{&lt;/span&gt; exc &lt;span style="color:#ff0080; font-weight:bold"&gt;-&amp;gt;&lt;/span&gt;&lt;br /&gt;          exc&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getContext&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getInflightRepository&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;remove&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;exc&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;          exc&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getContext&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;stopRoute&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;myroute&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#ff0080; font-weight:bold"&gt;}&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;as&lt;/span&gt; Processor&lt;br /&gt;      &lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#ff0080; font-weight:bold"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;})&lt;/span&gt;&lt;br /&gt;ctx&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;start&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;while&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(!&lt;/span&gt;ctx&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getRouteStatus&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;myroute&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;).&lt;/span&gt;&lt;span style="color:#004466"&gt;isStopped&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()){&lt;/span&gt;&lt;br /&gt;  println &lt;span style="color:#a68500"&gt;&amp;quot;waiting...&amp;quot;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#0080c0"&gt;Thread&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;sleep&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#800080; font-weight:bold"&gt;1000&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;動作環境&lt;br /&gt;groovy 1.8.5, JDK7 Update1, Apache Camel 2.9.0&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5522309965180778185-6528186053971254855?l=groovyarekore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://groovyarekore.blogspot.com/feeds/6528186053971254855/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://groovyarekore.blogspot.com/2012/01/groovyapache-camelcsv2.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/6528186053971254855'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/6528186053971254855'/><link rel='alternate' type='text/html' href='http://groovyarekore.blogspot.com/2012/01/groovyapache-camelcsv2.html' title='groovyとApache CamelでCSVファイルの2列目を出力する'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5522309965180778185.post-1878712339620075991</id><published>2012-01-15T11:08:00.000+09:00</published><updated>2012-01-15T11:08:00.669+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='drupal'/><category scheme='http://www.blogger.com/atom/ns#' term='ApacheHttpClient'/><title type='text'>groovyでdrupalの特定の投稿の情報を取得する</title><content type='html'>groovyでdrupalの特定の投稿の情報を取得するには、以下のコードを実行します。&lt;pre style="color:#000000; background-color:#eeeeee; font-size:8pt; font-family:'Courier New';"&gt;&amp;#64;&lt;span style="color:#004466"&gt;Grab&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;group&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'org.apache.httpcomponents'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; module&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'httpclient'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; version&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'4.1.2'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;methods&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;impl&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; groovy&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;json&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;httpclient &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;DefaultHttpClient&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// 特定の投稿の情報を取得する&lt;/span&gt;&lt;br /&gt;nodeid &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#800080; font-weight:bold"&gt;2&lt;/span&gt;&lt;br /&gt;method &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;HttpGet&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;http://localhost/drupal/rest/node/${nodeid}.json&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;response &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; httpclient&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;execute&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;json &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;JsonSlurper&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;parseText&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getContent&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;text&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;println json&lt;br /&gt;println &lt;span style="color:#a68500"&gt;&amp;quot;題名:${json.title}&amp;quot;&lt;/span&gt;&lt;br /&gt;println &lt;span style="color:#a68500"&gt;&amp;quot;本文:${json.body.und[0].value}&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;動作環境&lt;br /&gt;groovy 1.8.4, JDK7 Update1, drupal 7.1.0, services-7.x-3.1, ctools-7.x-1.0-rc1, spyc-0.5&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5522309965180778185-1878712339620075991?l=groovyarekore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://groovyarekore.blogspot.com/feeds/1878712339620075991/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://groovyarekore.blogspot.com/2012/01/groovydrupal_15.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/1878712339620075991'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/1878712339620075991'/><link rel='alternate' type='text/html' href='http://groovyarekore.blogspot.com/2012/01/groovydrupal_15.html' title='groovyでdrupalの特定の投稿の情報を取得する'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5522309965180778185.post-784907210630661374</id><published>2012-01-14T12:00:00.000+09:00</published><updated>2012-01-14T12:00:00.911+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='redmine'/><category scheme='http://www.blogger.com/atom/ns#' term='ApacheHttpClient'/><title type='text'>groovyでredmineからオープンチケットの一覧を取得する</title><content type='html'>groovyでredmineからオープンチケットの一覧を取得するには、以下のコードを実行します。&lt;pre style="color:#000000; background-color:#eeeeee; font-size:8pt; font-family:'Courier New';"&gt;&amp;#64;&lt;span style="color:#004466"&gt;Grab&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;group&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'org.apache.httpcomponents'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; module&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'httpclient'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; version&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'4.1.2'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;methods&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;impl&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;message&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; groovy&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;json&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;httpclient &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;DefaultHttpClient&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// オープンチケットの一覧を取得する&lt;/span&gt;&lt;br /&gt;project_id &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a68500"&gt;&amp;quot;testproject1&amp;quot;&lt;/span&gt;&lt;br /&gt;method &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;HttpGet&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;http://redmine-server/redmine/issues.json&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0080; font-weight:bold"&gt;+&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#a68500"&gt;&amp;quot;?limit=100&amp;amp;offset=0&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// アカウントページで作成したAPIアクセスキーを設定する&lt;/span&gt;&lt;br /&gt;apiKey &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a68500"&gt;&amp;quot;your-api-key&amp;quot;&lt;/span&gt;&lt;br /&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;addHeader&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;BasicHeader&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;X-Redmine-API-Key&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; apiKey&lt;span style="color:#ff0080; font-weight:bold"&gt;))&lt;/span&gt;&lt;br /&gt;response &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; httpclient&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;execute&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;json &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;JsonSlurper&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;parseText&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getContent&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;text&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;println &lt;span style="color:#a68500"&gt;&amp;quot;number of open issue:${json.total_count}&amp;quot;&lt;/span&gt;&lt;br /&gt;json&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;issues&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;each &lt;span style="color:#ff0080; font-weight:bold"&gt;{&lt;/span&gt;&lt;br /&gt;  println &lt;span style="color:#a68500"&gt;&amp;quot;----&amp;quot;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#f27900"&gt;// 題名&lt;/span&gt;&lt;br /&gt;  println &lt;span style="color:#a68500"&gt;&amp;quot;name:${it.subject}&amp;quot;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#f27900"&gt;// ステータス&lt;/span&gt;&lt;br /&gt;  println &lt;span style="color:#a68500"&gt;&amp;quot;status:${it.status.name}&amp;quot;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#f27900"&gt;// 説明&lt;/span&gt;&lt;br /&gt;  println &lt;span style="color:#a68500"&gt;&amp;quot;description:${it.description}&amp;quot;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#f27900"&gt;// プライオリティ&lt;/span&gt;&lt;br /&gt;  println &lt;span style="color:#a68500"&gt;&amp;quot;priority:${it.priority.name}&amp;quot;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#f27900"&gt;// 登録日時&lt;/span&gt;&lt;br /&gt;  println &lt;span style="color:#a68500"&gt;&amp;quot;created_on:${it.created_on}&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;動作環境&lt;br /&gt;groovy 1.8.4, JDK6 Update29, redmine 1.3.0&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5522309965180778185-784907210630661374?l=groovyarekore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://groovyarekore.blogspot.com/feeds/784907210630661374/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://groovyarekore.blogspot.com/2012/01/groovyredmine_14.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/784907210630661374'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/784907210630661374'/><link rel='alternate' type='text/html' href='http://groovyarekore.blogspot.com/2012/01/groovyredmine_14.html' title='groovyでredmineからオープンチケットの一覧を取得する'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5522309965180778185.post-2405107363608728374</id><published>2012-01-13T11:05:00.000+09:00</published><updated>2012-01-13T11:05:01.183+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='drupal'/><category scheme='http://www.blogger.com/atom/ns#' term='ApacheHttpClient'/><title type='text'>groovyでdrupalの投稿を削除する</title><content type='html'>groovyでdrupalの投稿を削除するには、以下のコードを実行します。&lt;pre style="color:#000000; background-color:#eeeeee; font-size:8pt; font-family:'Courier New';"&gt;&amp;#64;&lt;span style="color:#004466"&gt;Grab&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;group&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'org.apache.httpcomponents'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; module&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'httpclient'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; version&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'4.1.2'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;entity&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;methods&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;impl&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;message&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;protocol&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// ログイン&lt;/span&gt;&lt;br /&gt;httpclient &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;DefaultHttpClient&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;method &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;HttpPost&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;http://localhost/drupal/rest/user/login&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;values &lt;span style="color:#ff0080; font-weight:bold"&gt;= [&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;BasicNameValuePair&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;username&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; &lt;span style="color:#a68500"&gt;&amp;quot;drupal&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;),&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;BasicNameValuePair&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;password&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; &lt;span style="color:#a68500"&gt;&amp;quot;drupal&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;]&lt;/span&gt;&lt;br /&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;setEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;UrlEncodedFormEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;values&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; HTTP&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;UTF_8&lt;span style="color:#ff0080; font-weight:bold"&gt;))&lt;/span&gt;&lt;br /&gt;response &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; httpclient&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;execute&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;println response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusLine&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusCode&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;println response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getContent&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;text&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// 投稿の削除&lt;/span&gt;&lt;br /&gt;nodeid&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#800080; font-weight:bold"&gt;16&lt;/span&gt;&lt;br /&gt;method &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;HttpDelete&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;http://localhost/drupal/rest/node/${nodeid}&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;response &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; httpclient&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;execute&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;println response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusLine&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusCode&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;println response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getContent&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;text&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// ログアウト&lt;/span&gt;&lt;br /&gt;method &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;HttpGet&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;http://localhost/drupal/user/logout&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;response &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; httpclient&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;execute&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;println response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusLine&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusCode&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;動作環境&lt;br /&gt;groovy 1.8.4, JDK7 Update1, drupal 7.1.0, services-7.x-3.1, ctools-7.x-1.0-rc1, spyc-0.5&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5522309965180778185-2405107363608728374?l=groovyarekore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://groovyarekore.blogspot.com/feeds/2405107363608728374/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://groovyarekore.blogspot.com/2012/01/groovydrupal_13.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/2405107363608728374'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/2405107363608728374'/><link rel='alternate' type='text/html' href='http://groovyarekore.blogspot.com/2012/01/groovydrupal_13.html' title='groovyでdrupalの投稿を削除する'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5522309965180778185.post-1746437116145828926</id><published>2012-01-12T23:31:00.000+09:00</published><updated>2012-01-12T23:31:00.481+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wordpress'/><category scheme='http://www.blogger.com/atom/ns#' term='ApacheHttpClient'/><title type='text'>groovyとWordpress + JSON API pluginでアクティブな著者の一覧を取得する</title><content type='html'>groovyとWordpress + JSON API pluginでアクティブな著者の一覧を取得するには、以下のコードを実行します。&lt;pre style="color:#000000; background-color:#eeeeee; font-size:8pt; font-family:'Courier New';"&gt;&amp;#64;&lt;span style="color:#004466"&gt;Grab&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;group&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'org.apache.httpcomponents'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; module&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'httpclient'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; version&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'4.1.2'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;methods&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;impl&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; groovy&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;json&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;httpclient &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;DefaultHttpClient&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// アクティブな著者の一覧を取得する&lt;/span&gt;&lt;br /&gt;method &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;HttpGet&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;http://localhost/?json=get_author_index&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;response &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; httpclient&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;execute&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;json &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;JsonSlurper&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;parseText&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getContent&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;text&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;json&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;authors&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;each &lt;span style="color:#ff0080; font-weight:bold"&gt;{&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#f27900"&gt;// slug&lt;/span&gt;&lt;br /&gt;  println &lt;span style="color:#a68500"&gt;&amp;quot;slug:${it.slug}&amp;quot;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#f27900"&gt;// 姓&lt;/span&gt;&lt;br /&gt;  println &lt;span style="color:#a68500"&gt;&amp;quot;first_name:${it.first_name}&amp;quot;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#f27900"&gt;// 名&lt;/span&gt;&lt;br /&gt;  println &lt;span style="color:#a68500"&gt;&amp;quot;last_name:${it.last_name}&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;動作環境&lt;br /&gt;groovy 1.8.4, JDK6 Update29, Wordpress 3.2.1, JSON API plugin 1.0.7&lt;br /&gt;&lt;br /&gt;JSON APIのページ&lt;br /&gt;http://wordpress.org/extend/plugins/json-api/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5522309965180778185-1746437116145828926?l=groovyarekore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://groovyarekore.blogspot.com/feeds/1746437116145828926/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://groovyarekore.blogspot.com/2012/01/groovywordpress-json-api-plugin_12.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/1746437116145828926'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/1746437116145828926'/><link rel='alternate' type='text/html' href='http://groovyarekore.blogspot.com/2012/01/groovywordpress-json-api-plugin_12.html' title='groovyとWordpress + JSON API pluginでアクティブな著者の一覧を取得する'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5522309965180778185.post-529949239096416668</id><published>2012-01-11T11:54:00.000+09:00</published><updated>2012-01-11T11:54:00.393+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='redmine'/><category scheme='http://www.blogger.com/atom/ns#' term='ApacheHttpClient'/><title type='text'>groovyでredmineのプロジェクトを削除する</title><content type='html'>groovyでredmineのプロジェクトを削除するには、以下のコードを実行します。&lt;pre style="color:#000000; background-color:#eeeeee; font-size:8pt; font-family:'Courier New';"&gt;&amp;#64;&lt;span style="color:#004466"&gt;Grab&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;group&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'org.apache.httpcomponents'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; module&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'httpclient'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; version&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'4.1.2'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;methods&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;impl&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;entity&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;message&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;protocol&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; groovy&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;json&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;httpclient &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;DefaultHttpClient&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// プロジェクトを削除する&lt;/span&gt;&lt;br /&gt;id &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a68500"&gt;&amp;quot;project1&amp;quot;&lt;/span&gt;&lt;br /&gt;method &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;HttpDelete&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;http://redmine-server/redmine/projects/${id}.json&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// アカウントページで作成したAPIアクセスキーを設定する&lt;/span&gt;&lt;br /&gt;apiKey &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a68500"&gt;&amp;quot;your-api-key&amp;quot;&lt;/span&gt;&lt;br /&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;addHeader&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;BasicHeader&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;X-Redmine-API-Key&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; apiKey&lt;span style="color:#ff0080; font-weight:bold"&gt;))&lt;/span&gt;&lt;br /&gt;response &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; httpclient&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;execute&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;println response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusLine&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusCode&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;println response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getContent&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;text&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;動作環境&lt;br /&gt;groovy 1.8.4, JDK6 Update29, redmine 1.3.0&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5522309965180778185-529949239096416668?l=groovyarekore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://groovyarekore.blogspot.com/feeds/529949239096416668/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://groovyarekore.blogspot.com/2012/01/groovyredmine_11.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/529949239096416668'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/529949239096416668'/><link rel='alternate' type='text/html' href='http://groovyarekore.blogspot.com/2012/01/groovyredmine_11.html' title='groovyでredmineのプロジェクトを削除する'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5522309965180778185.post-192103949577511458</id><published>2012-01-10T11:02:00.000+09:00</published><updated>2012-01-10T11:02:01.053+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='drupal'/><category scheme='http://www.blogger.com/atom/ns#' term='ApacheHttpClient'/><title type='text'>groovyでdrupalの投稿を更新する</title><content type='html'>groovyでdrupalの投稿を更新するには、以下のコードを実行します。&lt;pre style="color:#000000; background-color:#eeeeee; font-size:8pt; font-family:'Courier New';"&gt;&amp;#64;&lt;span style="color:#004466"&gt;Grab&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;group&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'org.apache.httpcomponents'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; module&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'httpclient'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; version&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'4.1.2'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;entity&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;methods&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;impl&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;message&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;protocol&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// ログイン&lt;/span&gt;&lt;br /&gt;httpclient &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;DefaultHttpClient&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;method &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;HttpPost&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;http://localhost/drupal/rest/user/login&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;values &lt;span style="color:#ff0080; font-weight:bold"&gt;= [&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;BasicNameValuePair&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;username&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; &lt;span style="color:#a68500"&gt;&amp;quot;drupal&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;),&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;BasicNameValuePair&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;password&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; &lt;span style="color:#a68500"&gt;&amp;quot;drupal&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;]&lt;/span&gt;&lt;br /&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;setEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;UrlEncodedFormEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;values&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; HTTP&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;UTF_8&lt;span style="color:#ff0080; font-weight:bold"&gt;))&lt;/span&gt;&lt;br /&gt;response &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; httpclient&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;execute&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;println response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusLine&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusCode&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;println response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getContent&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;text&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// 投稿の更新&lt;/span&gt;&lt;br /&gt;nodeid&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#800080; font-weight:bold"&gt;16&lt;/span&gt;&lt;br /&gt;method &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;HttpPut&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;http://localhost/drupal/rest/node/${nodeid}&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;values &lt;span style="color:#ff0080; font-weight:bold"&gt;= [&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;BasicNameValuePair&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;'title'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; &lt;span style="color:#a68500"&gt;'groovyからの投稿'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;),&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;BasicNameValuePair&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;'type'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; &lt;span style="color:#a68500"&gt;'page'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;),&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;BasicNameValuePair&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;'promote'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; &lt;span style="color:#a68500"&gt;'1'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;),&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;BasicNameValuePair&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;'body[und][0][value]'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#a68500"&gt;'投稿テストです。&lt;/span&gt;&lt;span style="color:#ff00ff; font-weight:bold"&gt;\n&lt;/span&gt;&lt;span style="color:#a68500"&gt;更新しました。'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;]&lt;/span&gt;&lt;br /&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;setEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;UrlEncodedFormEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;values&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; HTTP&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;UTF_8&lt;span style="color:#ff0080; font-weight:bold"&gt;))&lt;/span&gt;&lt;br /&gt;response &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; httpclient&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;execute&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;println response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusLine&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusCode&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;println response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getContent&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;text&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// ログアウト&lt;/span&gt;&lt;br /&gt;method &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;HttpGet&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;http://localhost/drupal/user/logout&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;response &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; httpclient&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;execute&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;println response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusLine&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusCode&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;動作環境&lt;br /&gt;groovy 1.8.4, JDK7 Update1, drupal 7.1.0, services-7.x-3.1, ctools-7.x-1.0-rc1, spyc-0.5&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5522309965180778185-192103949577511458?l=groovyarekore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://groovyarekore.blogspot.com/feeds/192103949577511458/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://groovyarekore.blogspot.com/2012/01/groovydrupal_10.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/192103949577511458'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/192103949577511458'/><link rel='alternate' type='text/html' href='http://groovyarekore.blogspot.com/2012/01/groovydrupal_10.html' title='groovyでdrupalの投稿を更新する'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5522309965180778185.post-6706405412417080733</id><published>2012-01-09T22:12:00.000+09:00</published><updated>2012-01-09T22:12:55.369+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ApacheCommonsEmail'/><title type='text'>groovyとApache Commons Emailでgmailを使用してメールを送信する</title><content type='html'>groovyとApache Commons Emailでgmailを使用してメールを送信するには、以下のコードを実行します。&lt;pre style="color:#000000; background-color:#eeeeee; font-size:8pt; font-family:'Courier New';"&gt;&amp;#64;&lt;span style="color:#004466"&gt;Grab&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;group&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'org.apache.commons'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; module&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'commons-email'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; version&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'1.2'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;commons&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;mail&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;email &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;SimpleEmail&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;email&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;setSmtpPort&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#800080; font-weight:bold"&gt;587&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;email&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;setTLS&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;true&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;email&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;setAuthenticator&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;DefaultAuthenticator&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;your-account&amp;#64;gmail.com&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; &lt;span style="color:#a68500"&gt;&amp;quot;your-password&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;email&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;setDebug&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;false&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;email&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;setHostName&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;smtp.gmail.com&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;email&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;setFrom&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;your-account&amp;#64;gmail.com&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;email&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;setSubject&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;Apache Commons Emailのテスト&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;email&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;setCharset&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;ISO-2022-JP&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;email&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;setContent&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;テストメールです。&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;text/plain; charset=ISO-2022-JP&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;email&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;addTo&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;recipient&amp;#64;gmail.com&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;email&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;send&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;動作環境&lt;br /&gt;groovy 1.8.4, JDK7 Update1, Apache Commons Email 1.2&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5522309965180778185-6706405412417080733?l=groovyarekore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://groovyarekore.blogspot.com/feeds/6706405412417080733/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://groovyarekore.blogspot.com/2012/01/groovyapache-commons-emailgmail.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/6706405412417080733'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/6706405412417080733'/><link rel='alternate' type='text/html' href='http://groovyarekore.blogspot.com/2012/01/groovyapache-commons-emailgmail.html' title='groovyとApache Commons Emailでgmailを使用してメールを送信する'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5522309965180778185.post-706768137332648710</id><published>2012-01-09T14:04:00.000+09:00</published><updated>2012-01-09T14:04:01.191+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mysql'/><title type='text'>groovyとmysqlでテーブルのカラムを一覧表示する</title><content type='html'>groovyとmysqlでテーブルのカラムを一覧表示するには、以下のコードを実行します。&lt;pre style="color:#000000; background-color:#eeeeee; font-size:8pt; font-family:'Courier New';"&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; groovy&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;sql&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;Sql&lt;br /&gt;&lt;br /&gt;sql &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; Sql&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;newInstance&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;br /&gt; &lt;span style="color:#a68500"&gt;&amp;quot;jdbc:mysql://localhost/test?characterEncodint=utf8&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#a68500"&gt;&amp;quot;root&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#a68500"&gt;&amp;quot;root&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#a68500"&gt;&amp;quot;com.mysql.jdbc.Driver&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// カラムを一覧表示する&lt;/span&gt;&lt;br /&gt;table &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a68500"&gt;&amp;quot;test1&amp;quot;&lt;/span&gt;&lt;br /&gt;query &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a68500"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a68500"&gt;select * from information_schema.columns&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a68500"&gt;where table_name = ${table}&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a68500"&gt;order by ordinal_position&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a68500"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;br /&gt;println &lt;span style="color:#a68500"&gt;&amp;quot;table_schema, table_name, column_name, &amp;quot;&lt;/span&gt; &lt;span style="color:#ff0080; font-weight:bold"&gt;+&lt;/span&gt;&lt;br /&gt; &lt;span style="color:#a68500"&gt;&amp;quot;column_type, is_nullable&amp;quot;&lt;/span&gt;&lt;br /&gt;sql&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;eachRow&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;query&lt;span style="color:#ff0080; font-weight:bold"&gt;){&lt;/span&gt;&lt;br /&gt; &lt;span style="color:#004466"&gt;println&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;${it.table_schema}, ${it.table_name}, &amp;quot;&lt;/span&gt; &lt;span style="color:#ff0080; font-weight:bold"&gt;+&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:#a68500"&gt;&amp;quot;${it.column_name},&lt;/span&gt; &lt;span style="color:#ff00ff; font-weight:bold"&gt;\&amp;quot;&lt;/span&gt;&lt;span style="color:#a68500"&gt;${it.column_type}&lt;/span&gt;&lt;span style="color:#ff00ff; font-weight:bold"&gt;\&amp;quot;&lt;/span&gt;&lt;span style="color:#a68500"&gt;, &amp;quot;&lt;/span&gt; &lt;span style="color:#ff0080; font-weight:bold"&gt;+&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:#a68500"&gt;&amp;quot;${it.is_nullable}&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;動作環境&lt;br /&gt;groovy 1.8.3, JDK6 Update23, mysql 5.1&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5522309965180778185-706768137332648710?l=groovyarekore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://groovyarekore.blogspot.com/feeds/706768137332648710/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://groovyarekore.blogspot.com/2012/01/groovymysql_09.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/706768137332648710'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/706768137332648710'/><link rel='alternate' type='text/html' href='http://groovyarekore.blogspot.com/2012/01/groovymysql_09.html' title='groovyとmysqlでテーブルのカラムを一覧表示する'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5522309965180778185.post-6835908894036132453</id><published>2012-01-09T12:28:00.000+09:00</published><updated>2012-01-09T12:28:04.344+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='smack'/><title type='text'>groovyとsmackでXMPP/Jabberサーバにメッセージを書き込む</title><content type='html'>groovyとsmackでXMPP/Jabberサーバにメッセージを書き込むには、以下のコードを実行します。&lt;pre style="color:#000000; background-color:#eeeeee; font-size:8pt; font-family:'Courier New';"&gt;&amp;#64;&lt;span style="color:#004466"&gt;Grab&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;group&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'jivesoftware'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; module&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'smack'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; version&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'3.1.0'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&amp;#64;&lt;span style="color:#004466"&gt;Grab&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;group&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'jivesoftware'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; module&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'smackx'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; version&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'3.1.0'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;jivesoftware&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;smack&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;jivesoftware&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;smack&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;packet&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;connection &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;XMPPConnection&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;openfire1&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;connection&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;connect&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;connection&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;login&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;test1&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; &lt;span style="color:#a68500"&gt;&amp;quot;test1&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;);&lt;/span&gt;&lt;br /&gt;chat &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; connection&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getChatManager&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;createChat&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;test2&amp;#64;openfire1&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; &lt;br /&gt;  &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;MessageListener&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#ff0080; font-weight:bold"&gt;{&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#bb7977; font-weight:bold"&gt;public&lt;/span&gt; &lt;span style="color:#8080c0; font-weight:bold"&gt;void&lt;/span&gt; &lt;span style="color:#004466"&gt;processMessage&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;Chat chat&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; Message message&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#ff0080; font-weight:bold"&gt;{&lt;/span&gt;&lt;br /&gt;      &lt;span style="color:#004466"&gt;println&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;受信メッセージ:&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0080; font-weight:bold"&gt;+&lt;/span&gt; message&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getBody&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;())&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#ff0080; font-weight:bold"&gt;}&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#ff0080; font-weight:bold"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;println &lt;span style="color:#a68500"&gt;&amp;quot;参加者:&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;+&lt;/span&gt;chat&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getParticipant&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;chat&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;sendMessage&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;メッセージの書き込み&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;動作環境&lt;br /&gt;groovy 1.8.4, Java7 Update1, smack 3.1.0, openfire 3.7.1&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5522309965180778185-6835908894036132453?l=groovyarekore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://groovyarekore.blogspot.com/feeds/6835908894036132453/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://groovyarekore.blogspot.com/2012/01/groovysmackxmppjabber.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/6835908894036132453'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/6835908894036132453'/><link rel='alternate' type='text/html' href='http://groovyarekore.blogspot.com/2012/01/groovysmackxmppjabber.html' title='groovyとsmackでXMPP/Jabberサーバにメッセージを書き込む'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5522309965180778185.post-6363042682689675398</id><published>2012-01-08T23:27:00.000+09:00</published><updated>2012-01-08T23:27:03.133+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wordpress'/><category scheme='http://www.blogger.com/atom/ns#' term='ApacheHttpClient'/><title type='text'>groovyとWordpress + JSON API pluginでタグの一覧を取得する</title><content type='html'>groovyとWordpress + JSON API pluginでタグの一覧を取得するには、以下のコードを実行します。&lt;pre style="color:#000000; background-color:#eeeeee; font-size:8pt; font-family:'Courier New';"&gt;&amp;#64;&lt;span style="color:#004466"&gt;Grab&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;group&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'org.apache.httpcomponents'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; module&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'httpclient'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; version&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'4.1.2'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;methods&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;impl&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; groovy&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;json&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;httpclient &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;DefaultHttpClient&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// タグの一覧を取得する&lt;/span&gt;&lt;br /&gt;method &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;HttpGet&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;http://localhost/?json=get_tag_index&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;response &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; httpclient&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;execute&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;json &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;JsonSlurper&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;parseText&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getContent&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;text&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;json&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;tags&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;each &lt;span style="color:#ff0080; font-weight:bold"&gt;{&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#f27900"&gt;// slug&lt;/span&gt;&lt;br /&gt;  println &lt;span style="color:#a68500"&gt;&amp;quot;slug:${it.slug}&amp;quot;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#f27900"&gt;// タイトル&lt;/span&gt;&lt;br /&gt;  println &lt;span style="color:#a68500"&gt;&amp;quot;title:${it.title}&amp;quot;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#f27900"&gt;// 投稿数&lt;/span&gt;&lt;br /&gt;  println &lt;span style="color:#a68500"&gt;&amp;quot;post_count:${it.post_count}&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;動作環境&lt;br /&gt;groovy 1.8.4, JDK6 Update29, Wordpress 3.2.1, JSON API plugin 1.0.7&lt;br /&gt;&lt;br /&gt;JSON APIのページ&lt;br /&gt;http://wordpress.org/extend/plugins/json-api/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5522309965180778185-6363042682689675398?l=groovyarekore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://groovyarekore.blogspot.com/feeds/6363042682689675398/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://groovyarekore.blogspot.com/2012/01/groovywordpress-json-api-plugin_08.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/6363042682689675398'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/6363042682689675398'/><link rel='alternate' type='text/html' href='http://groovyarekore.blogspot.com/2012/01/groovywordpress-json-api-plugin_08.html' title='groovyとWordpress + JSON API pluginでタグの一覧を取得する'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5522309965180778185.post-1335285705927014146</id><published>2012-01-07T13:18:00.000+09:00</published><updated>2012-01-07T13:18:01.420+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><title type='text'>groovyとoracleで指定された表領域のデータファイルを一覧表示する</title><content type='html'>groovyとoracleで指定された表領域のデータファイルを一覧表示するには、以下のコードを実行します。&lt;pre style="color:#000000; background-color:#eeeeee; font-size:8pt; font-family:'Courier New';"&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; groovy&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;sql&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;Sql&lt;br /&gt;&lt;br /&gt;sql &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; Sql&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;newInstance&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;br /&gt; &lt;span style="color:#a68500"&gt;&amp;quot;jdbc:oracle:thin:&amp;#64;localhost:1521:orcl&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#a68500"&gt;&amp;quot;system&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#a68500"&gt;&amp;quot;manager&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#a68500"&gt;&amp;quot;oracle.jdbc.driver.OracleDriver&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;tablespace &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a68500"&gt;'TEST'&lt;/span&gt;&lt;br /&gt;query &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a68500"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a68500"&gt;select&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a68500"&gt; file_id,&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a68500"&gt; file_name,&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a68500"&gt; bytes,  -- ファイルの最大サイズ（バイト）&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a68500"&gt; user_bytes,  -- ユーザーのデータに利用できるファイル・サイズ&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a68500"&gt; maxbytes  -- ファイルの最大サイズ。0ならAUTOEXTEND OFF&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a68500"&gt;from&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a68500"&gt; dba_data_files&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a68500"&gt;where&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a68500"&gt; tablespace_name = ${tablespace}&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a68500"&gt;order by file_id&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a68500"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// 指定された表領域のデータファイルを一覧表示&lt;/span&gt;&lt;br /&gt;println &lt;span style="color:#a68500"&gt;&amp;quot;file_id, file_name, bytes(Mbytes), &amp;quot;&lt;/span&gt; &lt;span style="color:#ff0080; font-weight:bold"&gt;+&lt;/span&gt;&lt;br /&gt; &lt;span style="color:#a68500"&gt;&amp;quot;user_bytes(MBytes), maxbytes(MBytes)&amp;quot;&lt;/span&gt;&lt;br /&gt;sql&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;eachRow&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;query&lt;span style="color:#ff0080; font-weight:bold"&gt;){&lt;/span&gt;&lt;br /&gt; println &lt;span style="color:#a68500"&gt;&amp;quot;${it.file_id}, ${it.file_name}, &amp;quot;&lt;/span&gt; &lt;span style="color:#ff0080; font-weight:bold"&gt;+&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:#a68500"&gt;&amp;quot;${it.bytes/1024/1024}, ${it.user_bytes/1024/1024}, &amp;quot;&lt;/span&gt; &lt;span style="color:#ff0080; font-weight:bold"&gt;+&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:#a68500"&gt;&amp;quot;${it.maxbytes/1024/1024}&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;動作環境&lt;br /&gt;groovy 1.8.4, JDK6 Update29, Oracle11g R2&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5522309965180778185-1335285705927014146?l=groovyarekore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://groovyarekore.blogspot.com/feeds/1335285705927014146/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://groovyarekore.blogspot.com/2012/01/groovyoracle.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/1335285705927014146'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/1335285705927014146'/><link rel='alternate' type='text/html' href='http://groovyarekore.blogspot.com/2012/01/groovyoracle.html' title='groovyとoracleで指定された表領域のデータファイルを一覧表示する'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5522309965180778185.post-8086210142217556447</id><published>2012-01-06T11:50:00.000+09:00</published><updated>2012-01-06T11:50:00.426+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='redmine'/><category scheme='http://www.blogger.com/atom/ns#' term='ApacheHttpClient'/><title type='text'>groovyでredmineのプロジェクトを更新する</title><content type='html'>groovyでredmineのプロジェクトを更新するには、以下のコードを実行します。&lt;pre style="color:#000000; background-color:#eeeeee; font-size:8pt; font-family:'Courier New';"&gt;&amp;#64;&lt;span style="color:#004466"&gt;Grab&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;group&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'org.apache.httpcomponents'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; module&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'httpclient'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; version&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'4.1.2'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;methods&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;impl&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;entity&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;message&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;protocol&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; groovy&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;json&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;httpclient &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;DefaultHttpClient&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// プロジェクトを更新する&lt;/span&gt;&lt;br /&gt;id &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a68500"&gt;&amp;quot;project1&amp;quot;&lt;/span&gt;&lt;br /&gt;method &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;HttpPut&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;http://redmine-server/redmine/projects/${id}.json&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// アカウントページで作成したAPIアクセスキーを設定する&lt;/span&gt;&lt;br /&gt;apiKey &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a68500"&gt;&amp;quot;your-api-key&amp;quot;&lt;/span&gt;&lt;br /&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;addHeader&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;BasicHeader&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;X-Redmine-API-Key&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; apiKey&lt;span style="color:#ff0080; font-weight:bold"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;//&lt;/span&gt;&lt;br /&gt;builder &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;JsonBuilder&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;builder&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;project &lt;span style="color:#ff0080; font-weight:bold"&gt;{&lt;/span&gt;&lt;br /&gt;  name &lt;span style="color:#a68500"&gt;&amp;quot;プロジェクト名称&amp;quot;&lt;/span&gt;&lt;br /&gt;  identifier &lt;span style="color:#a68500"&gt;&amp;quot;project1&amp;quot;&lt;/span&gt;&lt;br /&gt;  description &lt;span style="color:#a68500"&gt;&amp;quot;ホームページを追加&amp;quot;&lt;/span&gt;&lt;br /&gt;  homepage &lt;span style="color:#a68500"&gt;&amp;quot;http://groovyarekore.blogspot.com&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;}&lt;/span&gt;&lt;br /&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;setEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;StringEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;builder&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;toString&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(),&lt;/span&gt; &lt;span style="color:#a68500"&gt;&amp;quot;application/json&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; &lt;span style="color:#a68500"&gt;&amp;quot;UTF-8&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;))&lt;/span&gt;&lt;br /&gt;response &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; httpclient&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;execute&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;println response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusLine&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusCode&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;println response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getContent&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;text&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;動作環境&lt;br /&gt;groovy 1.8.4, JDK6 Update29, redmine 1.3.0&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5522309965180778185-8086210142217556447?l=groovyarekore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://groovyarekore.blogspot.com/feeds/8086210142217556447/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://groovyarekore.blogspot.com/2012/01/groovyredmine.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/8086210142217556447'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/8086210142217556447'/><link rel='alternate' type='text/html' href='http://groovyarekore.blogspot.com/2012/01/groovyredmine.html' title='groovyでredmineのプロジェクトを更新する'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5522309965180778185.post-4289926081602749486</id><published>2012-01-05T09:41:00.000+09:00</published><updated>2012-01-05T09:41:00.626+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mysql'/><title type='text'>groovyとmysqlで現在の接続のユーザ名を取得する</title><content type='html'>groovyとmysqlで現在の接続のユーザ名を取得するには、以下のコードを実行します。&lt;pre style="color:#000000; background-color:#eeeeee; font-size:8pt; font-family:'Courier New';"&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; groovy&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;sql&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;Sql&lt;br /&gt;&lt;br /&gt;sql &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; Sql&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;newInstance&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;br /&gt; &lt;span style="color:#a68500"&gt;&amp;quot;jdbc:mysql://localhost/test?characterEncoding=utf8&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#a68500"&gt;&amp;quot;root&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#a68500"&gt;&amp;quot;root&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#a68500"&gt;&amp;quot;com.mysql.jdbc.Driver&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// 現在のユーザを表示する&lt;/span&gt;&lt;br /&gt;query &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a68500"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a68500"&gt;select current_user() as cu&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a68500"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;br /&gt;println &lt;span style="color:#a68500"&gt;&amp;quot;current user:&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0080; font-weight:bold"&gt;+&lt;/span&gt; sql&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;firstRow&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;query&lt;span style="color:#ff0080; font-weight:bold"&gt;).&lt;/span&gt;cu&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;動作環境&lt;br /&gt;groovy 1.8.3, JDK6 Update23, mysql 5.1&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5522309965180778185-4289926081602749486?l=groovyarekore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://groovyarekore.blogspot.com/feeds/4289926081602749486/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://groovyarekore.blogspot.com/2012/01/groovymysql.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/4289926081602749486'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/4289926081602749486'/><link rel='alternate' type='text/html' href='http://groovyarekore.blogspot.com/2012/01/groovymysql.html' title='groovyとmysqlで現在の接続のユーザ名を取得する'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5522309965180778185.post-6602681444221684328</id><published>2012-01-04T23:23:00.000+09:00</published><updated>2012-01-04T23:23:00.538+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wordpress'/><category scheme='http://www.blogger.com/atom/ns#' term='ApacheHttpClient'/><title type='text'>groovyとWordpress + JSON API pluginでカテゴリの一覧を取得する</title><content type='html'>groovyとWordpress + JSON API pluginでカテゴリの一覧を取得するには、以下のコードを実行します。&lt;pre style="color:#000000; background-color:#eeeeee; font-size:8pt; font-family:'Courier New';"&gt;&amp;#64;&lt;span style="color:#004466"&gt;Grab&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;group&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'org.apache.httpcomponents'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; module&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'httpclient'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; version&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'4.1.2'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;methods&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;impl&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; groovy&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;json&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;httpclient &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;DefaultHttpClient&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// カテゴリーの一覧を取得する&lt;/span&gt;&lt;br /&gt;method &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;HttpGet&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;http://localhost/?json=get_category_index&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;response &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; httpclient&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;execute&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;json &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;JsonSlurper&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;parseText&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getContent&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;text&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;json&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;categories&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;each &lt;span style="color:#ff0080; font-weight:bold"&gt;{&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#f27900"&gt;// slug&lt;/span&gt;&lt;br /&gt;  println &lt;span style="color:#a68500"&gt;&amp;quot;slug:${it.slug}&amp;quot;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#f27900"&gt;// タイトル&lt;/span&gt;&lt;br /&gt;  println &lt;span style="color:#a68500"&gt;&amp;quot;title:${it.title}&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;動作環境&lt;br /&gt;groovy 1.8.4, JDK6 Update29, Wordpress 3.2.1, JSON API plugin 1.0.7&lt;br /&gt;&lt;br /&gt;JSON APIのページ&lt;br /&gt;http://wordpress.org/extend/plugins/json-api/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5522309965180778185-6602681444221684328?l=groovyarekore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://groovyarekore.blogspot.com/feeds/6602681444221684328/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://groovyarekore.blogspot.com/2012/01/groovywordpress-json-api-plugin.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/6602681444221684328'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/6602681444221684328'/><link rel='alternate' type='text/html' href='http://groovyarekore.blogspot.com/2012/01/groovywordpress-json-api-plugin.html' title='groovyとWordpress + JSON API pluginでカテゴリの一覧を取得する'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5522309965180778185.post-5963475844570595012</id><published>2012-01-03T00:47:00.000+09:00</published><updated>2012-01-03T00:47:00.213+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mysql'/><title type='text'>groovyとmysqlでBASE TABLE/VIEWを一覧表示する</title><content type='html'>groovyとmysqlでBASE TABLE/VIEWを一覧表示するには、以下のコードを実行します。&lt;pre style="color:#000000; background-color:#eeeeee; font-size:8pt; font-family:'Courier New';"&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; groovy&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;sql&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;Sql&lt;br /&gt;&lt;br /&gt;sql &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; Sql&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;newInstance&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;br /&gt; &lt;span style="color:#a68500"&gt;&amp;quot;jdbc:mysql://localhost/test?characterEncoding=utf8&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#a68500"&gt;&amp;quot;root&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#a68500"&gt;&amp;quot;root&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#a68500"&gt;&amp;quot;com.mysql.jdbc.Driver&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// BASE TABLE/VIEWを一覧表示する&lt;/span&gt;&lt;br /&gt;query &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a68500"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a68500"&gt;select * from information_schema.tables&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a68500"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;br /&gt;sql&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;eachRow&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;query&lt;span style="color:#ff0080; font-weight:bold"&gt;){&lt;/span&gt;&lt;br /&gt; &lt;span style="color:#004466"&gt;println&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;${it.table_schema},${it.table_name},${it.table_type}&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;動作環境&lt;br /&gt;groovy 1.8.3, JDK6 Update23, mysql 5.1&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5522309965180778185-5963475844570595012?l=groovyarekore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://groovyarekore.blogspot.com/feeds/5963475844570595012/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://groovyarekore.blogspot.com/2012/01/groovymysqlbase-tableview.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/5963475844570595012'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/5963475844570595012'/><link rel='alternate' type='text/html' href='http://groovyarekore.blogspot.com/2012/01/groovymysqlbase-tableview.html' title='groovyとmysqlでBASE TABLE/VIEWを一覧表示する'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5522309965180778185.post-4049023261960793459</id><published>2012-01-02T10:59:00.000+09:00</published><updated>2012-01-02T10:59:00.046+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='drupal'/><category scheme='http://www.blogger.com/atom/ns#' term='ApacheHttpClient'/><title type='text'>groovyでdrupalに投稿を作成する</title><content type='html'>groovyでdrupalに投稿を作成するには、以下のコードを実行します。&lt;pre style="color:#000000; background-color:#eeeeee; font-size:8pt; font-family:'Courier New';"&gt;&amp;#64;&lt;span style="color:#004466"&gt;Grab&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;group&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'org.apache.httpcomponents'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; module&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'httpclient'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; version&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'4.1.2'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;entity&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;methods&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;impl&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;message&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;protocol&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// ログイン&lt;/span&gt;&lt;br /&gt;httpclient &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;DefaultHttpClient&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;method &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;HttpPost&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;http://localhost/drupal/rest/user/login&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;values &lt;span style="color:#ff0080; font-weight:bold"&gt;= [&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;BasicNameValuePair&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;username&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; &lt;span style="color:#a68500"&gt;&amp;quot;drupal&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;),&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;BasicNameValuePair&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;password&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; &lt;span style="color:#a68500"&gt;&amp;quot;drupal&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;]&lt;/span&gt;&lt;br /&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;setEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;UrlEncodedFormEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;values&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; HTTP&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;UTF_8&lt;span style="color:#ff0080; font-weight:bold"&gt;))&lt;/span&gt;&lt;br /&gt;response &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; httpclient&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;execute&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;println response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusLine&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusCode&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;println response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getContent&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;text&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// 投稿を作成する。&lt;/span&gt;&lt;br /&gt;method &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;HttpPost&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;http://localhost/drupal/rest/node&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;values &lt;span style="color:#ff0080; font-weight:bold"&gt;= [&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;BasicNameValuePair&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;'title'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; &lt;span style="color:#a68500"&gt;'groovyからの投稿'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;),&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;BasicNameValuePair&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;'type'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; &lt;span style="color:#a68500"&gt;'page'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;),&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;BasicNameValuePair&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;'promote'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; &lt;span style="color:#a68500"&gt;'1'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;),&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;BasicNameValuePair&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;'body[und][0][value]'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; &lt;span style="color:#a68500"&gt;'投稿テストです。'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;]&lt;/span&gt;&lt;br /&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;setEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;UrlEncodedFormEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;values&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; HTTP&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;UTF_8&lt;span style="color:#ff0080; font-weight:bold"&gt;))&lt;/span&gt;&lt;br /&gt;response &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; httpclient&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;execute&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;println response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusLine&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusCode&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;println response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getContent&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;text&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// ログアウト&lt;/span&gt;&lt;br /&gt;method &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;HttpGet&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;http://localhost/drupal/user/logout&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;response &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; httpclient&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;execute&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;println response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusLine&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusCode&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;動作環境&lt;br /&gt;groovy 1.8.4, JDK7 Update1, drupal 7.1.0, services-7.x-3.1, ctools-7.x-1.0-rc1, spyc-0.5&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5522309965180778185-4049023261960793459?l=groovyarekore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://groovyarekore.blogspot.com/feeds/4049023261960793459/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://groovyarekore.blogspot.com/2012/01/groovydrupal.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/4049023261960793459'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/4049023261960793459'/><link rel='alternate' type='text/html' href='http://groovyarekore.blogspot.com/2012/01/groovydrupal.html' title='groovyでdrupalに投稿を作成する'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5522309965180778185.post-5080677446759148699</id><published>2012-01-02T01:40:00.000+09:00</published><updated>2012-01-02T01:40:02.843+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Jenkins'/><category scheme='http://www.blogger.com/atom/ns#' term='ApacheHttpClient'/><title type='text'>groovyでJenkinsのジョブを実行する</title><content type='html'>groovyでJenkinsのジョブを実行するには、以下のコードを実行します。&lt;pre style="color:#000000; background-color:#eeeeee; font-size:8pt; font-family:'Courier New';"&gt;&amp;#64;&lt;span style="color:#004466"&gt;Grab&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;group&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'org.apache.httpcomponents'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; module&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'httpclient'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; version&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'4.1.2'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;methods&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;impl&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; groovy&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;json&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;httpclient &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;DefaultHttpClient&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// Jenkinsのジョブを実行する&lt;/span&gt;&lt;br /&gt;jobname &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a68500"&gt;&amp;quot;test1&amp;quot;&lt;/span&gt;&lt;br /&gt;token &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a68500"&gt;&amp;quot;MY_TOKEN&amp;quot;&lt;/span&gt;&lt;br /&gt;method &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;HttpGet&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;http://localhost:8080/job/${jobname}/build?token=${token}&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;response &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; httpclient&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;execute&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;println response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusLine&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusCode&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getContent&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;text&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;動作環境&lt;br /&gt;groovy 1.8.4, JDK7 Update1, Jenkins 1.445&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5522309965180778185-5080677446759148699?l=groovyarekore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://groovyarekore.blogspot.com/feeds/5080677446759148699/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://groovyarekore.blogspot.com/2012/01/groovyjenkins.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/5080677446759148699'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/5080677446759148699'/><link rel='alternate' type='text/html' href='http://groovyarekore.blogspot.com/2012/01/groovyjenkins.html' title='groovyでJenkinsのジョブを実行する'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5522309965180778185.post-7215962483191231669</id><published>2012-01-01T23:19:00.000+09:00</published><updated>2012-01-01T23:19:00.241+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wordpress'/><category scheme='http://www.blogger.com/atom/ns#' term='ApacheHttpClient'/><title type='text'>Wordpress + JSON API pluginで投稿を作成する</title><content type='html'>Wordpress + JSON API pluginで投稿を作成するには、以下のコードを実行します。&lt;pre style="color:#000000; background-color:#eeeeee; font-size:8pt; font-family:'Courier New';"&gt;&amp;#64;&lt;span style="color:#004466"&gt;Grab&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;group&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'org.apache.httpcomponents'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; module&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'httpclient'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; version&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'4.1.2'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;entity&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;methods&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;impl&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;message&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;protocol&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; groovy&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;json&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;httpclient &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;DefaultHttpClient&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// ログイン&lt;/span&gt;&lt;br /&gt;method &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;HttpPost&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;http://localhost/wp-login.php&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;values &lt;span style="color:#ff0080; font-weight:bold"&gt;= [&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;BasicNameValuePair&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;log&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; &lt;span style="color:#a68500"&gt;&amp;quot;admin&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;),&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;BasicNameValuePair&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;pwd&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; &lt;span style="color:#a68500"&gt;&amp;quot;admin&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;),&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;BasicNameValuePair&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;redirect_to&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; &lt;span style="color:#a68500"&gt;&amp;quot;http://localhost/&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;),&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;BasicNameValuePair&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;testcookie&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; &lt;span style="color:#a68500"&gt;&amp;quot;1&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;]&lt;/span&gt;&lt;br /&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;setEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;UrlEncodedFormEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;values&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; HTTP&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;UTF_8&lt;span style="color:#ff0080; font-weight:bold"&gt;))&lt;/span&gt;&lt;br /&gt;response &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; httpclient&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;execute&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;println response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusLine&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getStatusCode&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;println response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getContent&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;text&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// nonceを取得&lt;/span&gt;&lt;br /&gt;method &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;HttpGet&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;http://localhost/?json=get_nonce&amp;amp;&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0080; font-weight:bold"&gt;+&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#a68500"&gt;&amp;quot;method=create_post&amp;amp;controller=posts&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;response &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; httpclient&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;execute&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;json &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;JsonSlurper&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;parseText&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getContent&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;text&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;println json&lt;br /&gt;nonce &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; json&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;nonce&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// 投稿の作成&lt;/span&gt;&lt;br /&gt;title&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;groovyによる投稿&amp;quot;&lt;/span&gt;&lt;br /&gt;content&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;groovyによる投稿です。&amp;quot;&lt;/span&gt;&lt;br /&gt;author&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;admin&amp;quot;&lt;/span&gt;&lt;br /&gt;categories&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;groovy,wordpress&amp;quot;&lt;/span&gt;&lt;br /&gt;tags&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;howto&amp;quot;&lt;/span&gt;&lt;br /&gt;method &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;HttpGet&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;http://localhost/?json=create_post&amp;amp;nonce=${nonce}&amp;amp;&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0080; font-weight:bold"&gt;+&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#a68500"&gt;&amp;quot;status=publish&amp;amp;title=${title}&amp;amp;content=${content}&amp;amp;&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0080; font-weight:bold"&gt;+&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#a68500"&gt;&amp;quot;author=${author}&amp;amp;categories=${categories}&amp;amp;tags=${tags}&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;response &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; httpclient&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;execute&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;json &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;JsonSlurper&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;parseText&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getContent&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;text&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;println json&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;動作環境&lt;br /&gt;groovy 1.8.4, JDK6 Update29, Wordpress 3.2.1, JSON API plugin 1.0.7&lt;br /&gt;&lt;br /&gt;JSON APIのページ&lt;br /&gt;http://wordpress.org/extend/plugins/json-api/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5522309965180778185-7215962483191231669?l=groovyarekore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://groovyarekore.blogspot.com/feeds/7215962483191231669/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://groovyarekore.blogspot.com/2012/01/wordpress-json-api-plugin.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/7215962483191231669'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/7215962483191231669'/><link rel='alternate' type='text/html' href='http://groovyarekore.blogspot.com/2012/01/wordpress-json-api-plugin.html' title='Wordpress + JSON API pluginで投稿を作成する'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5522309965180778185.post-2543989457495797429</id><published>2011-12-31T11:34:00.000+09:00</published><updated>2011-12-31T11:34:00.273+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='redmine'/><category scheme='http://www.blogger.com/atom/ns#' term='ApacheHttpClient'/><title type='text'>groovyでredmineの指定プロジェクトの情報を取得する</title><content type='html'>groovyでredmineの指定プロジェクトの情報を取得するには、以下のコードを実行します。&lt;pre style="color:#000000; background-color:#eeeeee; font-size:8pt; font-family:'Courier New';"&gt;&amp;#64;&lt;span style="color:#004466"&gt;Grab&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;group&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'org.apache.httpcomponents'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; module&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'httpclient'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; version&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'4.1.2'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;methods&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;impl&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;message&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; groovy&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;json&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;httpclient &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;DefaultHttpClient&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// 指定のプロジェクトの情報を取得する&lt;/span&gt;&lt;br /&gt;id &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a68500"&gt;&amp;quot;project1&amp;quot;&lt;/span&gt;&lt;br /&gt;method &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;HttpGet&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;http://redmine-server/redmine/projects/${id}.json&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// アカウントページで作成したAPIアクセスキーを設定する&lt;/span&gt;&lt;br /&gt;apiKey &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a68500"&gt;&amp;quot;your-api-key&amp;quot;&lt;/span&gt;&lt;br /&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;addHeader&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;BasicHeader&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;X-Redmine-API-Key&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; apiKey&lt;span style="color:#ff0080; font-weight:bold"&gt;))&lt;/span&gt;&lt;br /&gt;response &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; httpclient&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;execute&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;json &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;JsonSlurper&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;parseText&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getContent&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;text&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// 名前&lt;/span&gt;&lt;br /&gt;println &lt;span style="color:#a68500"&gt;&amp;quot;name:${json.project.name}&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// 説明&lt;/span&gt;&lt;br /&gt;println &lt;span style="color:#a68500"&gt;&amp;quot;description:${json.project.description}&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// 作成日時&lt;/span&gt;&lt;br /&gt;println &lt;span style="color:#a68500"&gt;&amp;quot;created_on:${json.project.created_on}&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// 更新日時&lt;/span&gt;&lt;br /&gt;println &lt;span style="color:#a68500"&gt;&amp;quot;updated_on:${json.project.updated_on}&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;動作環境&lt;br /&gt;groovy 1.8.4, JDK6 Update29, redmine 1.3.0&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5522309965180778185-2543989457495797429?l=groovyarekore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://groovyarekore.blogspot.com/feeds/2543989457495797429/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://groovyarekore.blogspot.com/2011/12/groovyredmine_31.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/2543989457495797429'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/2543989457495797429'/><link rel='alternate' type='text/html' href='http://groovyarekore.blogspot.com/2011/12/groovyredmine_31.html' title='groovyでredmineの指定プロジェクトの情報を取得する'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5522309965180778185.post-1088307238262199747</id><published>2011-12-31T10:57:00.000+09:00</published><updated>2011-12-31T11:41:33.688+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='drupal'/><category scheme='http://www.blogger.com/atom/ns#' term='ApacheHttpClient'/><title type='text'>groovyでdrupalの投稿の一覧を取得する</title><content type='html'>groovyでdrupalの投稿の一覧を取得するには、以下のコードを実行します。&lt;pre style="color:#000000; background-color:#eeeeee; font-size:8pt; font-family:'Courier New';"&gt;&amp;#64;&lt;span style="color:#004466"&gt;Grab&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;group&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'org.apache.httpcomponents'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; module&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'httpclient'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; version&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'4.1.2'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;methods&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;impl&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; groovy&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;json&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;httpclient &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;DefaultHttpClient&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// 投稿の一覧を取得する&lt;/span&gt;&lt;br /&gt;method &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;HttpGet&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;http://localhost/drupal/rest/node.json&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;response &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; httpclient&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;execute&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;json &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;JsonSlurper&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;parseText&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getContent&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;text&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;json&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;each &lt;span style="color:#ff0080; font-weight:bold"&gt;{&lt;/span&gt;&lt;br /&gt;  println &lt;span style="color:#a68500"&gt;&amp;quot;題名:${it.title}&amp;quot;&lt;/span&gt;&lt;br /&gt;  println &lt;span style="color:#a68500"&gt;&amp;quot;url:${it.uri}&amp;quot;&lt;/span&gt;&lt;br /&gt;  println &lt;span style="color:#a68500"&gt;&amp;quot;created:${new Date(Long.parseLong(it.created)*1000)}&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;動作環境&lt;br /&gt;groovy 1.8.4, JDK7 Update1, drupal 7.1.0, services-7.x-3.1, ctools-7.x-1.0-rc1, spyc-0.5&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5522309965180778185-1088307238262199747?l=groovyarekore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://groovyarekore.blogspot.com/feeds/1088307238262199747/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://groovyarekore.blogspot.com/2011/12/groovydrupal.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/1088307238262199747'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/1088307238262199747'/><link rel='alternate' type='text/html' href='http://groovyarekore.blogspot.com/2011/12/groovydrupal.html' title='groovyでdrupalの投稿の一覧を取得する'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5522309965180778185.post-1064935362410361626</id><published>2011-12-30T21:32:00.000+09:00</published><updated>2011-12-30T21:32:00.465+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><title type='text'>groovyとoracleでライブラリキャッシュヒット率を取得する</title><content type='html'>groovyとoracleでライブラリキャッシュヒット率を取得するには、以下のコードを実行します。&lt;pre style="color:#000000; background-color:#eeeeee; font-size:8pt; font-family:'Courier New';"&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; groovy&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;sql&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;Sql&lt;br /&gt;&lt;br /&gt;sql &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; Sql&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;newInstance&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#a68500"&gt;&amp;quot;jdbc:oracle:thin:&amp;#64;localhost:1521:orcl&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; &lt;br /&gt;   &lt;span style="color:#a68500"&gt;&amp;quot;system&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:#a68500"&gt;&amp;quot;manager&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; &lt;br /&gt;   &lt;span style="color:#a68500"&gt;&amp;quot;oracle.jdbc.driver.OracleDriver&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;query &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#a68500"&gt;''&lt;/span&gt;&lt;span style="color:#a68500"&gt;'&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a68500"&gt;select&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a68500"&gt;  sum(pins) as total_pins,&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a68500"&gt;  sum(reloads) as total_reloads,&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a68500"&gt;  (1 - sum(reloads) / sum(pins)) * 100 as hitratio&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a68500"&gt;from&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a68500"&gt;  v$librarycache&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#a68500"&gt;'&lt;/span&gt;&lt;span style="color:#a68500"&gt;''&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// ライブラリキャッシュヒット率を表示&lt;/span&gt;&lt;br /&gt;println &lt;span style="color:#a68500"&gt;&amp;quot;total_pins, total_reloads, hitratio&amp;quot;&lt;/span&gt;&lt;br /&gt;sql&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;eachRow&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;query&lt;span style="color:#ff0080; font-weight:bold"&gt;){&lt;/span&gt;&lt;br /&gt;  println &lt;span style="color:#a68500"&gt;&amp;quot;${it.total_pins}, ${it.total_reloads}, ${it.hitratio}&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;動作環境&lt;br /&gt;groovy 1.8.4, JDK6 Update29, Oracle11g R2&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5522309965180778185-1064935362410361626?l=groovyarekore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://groovyarekore.blogspot.com/feeds/1064935362410361626/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://groovyarekore.blogspot.com/2011/12/groovyoracle_30.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/1064935362410361626'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/1064935362410361626'/><link rel='alternate' type='text/html' href='http://groovyarekore.blogspot.com/2011/12/groovyoracle_30.html' title='groovyとoracleでライブラリキャッシュヒット率を取得する'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5522309965180778185.post-7722175950694615983</id><published>2011-12-29T23:15:00.000+09:00</published><updated>2011-12-29T23:15:01.412+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wordpress'/><category scheme='http://www.blogger.com/atom/ns#' term='ApacheHttpClient'/><title type='text'>groovyとWordpress + JSON API pluginで指定カテゴリの投稿を取得する</title><content type='html'>groovyとWordpress + JSON API pluginで指定カテゴリの投稿を取得するには、以下のコードを実行します。&lt;pre style="color:#000000; background-color:#eeeeee; font-size:8pt; font-family:'Courier New';"&gt;&amp;#64;&lt;span style="color:#004466"&gt;Grab&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;group&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'org.apache.httpcomponents'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; module&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'httpclient'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; version&lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a68500"&gt;'4.1.2'&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;methods&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;apache&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;http&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;impl&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;client&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; groovy&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;json&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;httpclient &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;DefaultHttpClient&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// 指定カテゴリーの投稿を取得する&lt;/span&gt;&lt;br /&gt;method &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;HttpGet&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;http://localhost/?json=get_category_posts&amp;amp;slug=groovy&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;response &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; httpclient&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;execute&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;method&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;json &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;JsonSlurper&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;parseText&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;response&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getEntity&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getContent&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;text&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;json&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;posts&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;each &lt;span style="color:#ff0080; font-weight:bold"&gt;{&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#f27900"&gt;// ID&lt;/span&gt;&lt;br /&gt;  println &lt;span style="color:#a68500"&gt;&amp;quot;id:${it.id}&amp;quot;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#f27900"&gt;// タイトル&lt;/span&gt;&lt;br /&gt;  println &lt;span style="color:#a68500"&gt;&amp;quot;title:${it.title}&amp;quot;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#f27900"&gt;// 日時&lt;/span&gt;&lt;br /&gt;  println &lt;span style="color:#a68500"&gt;&amp;quot;date:${it.date}&amp;quot;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#f27900"&gt;// 内容&lt;/span&gt;&lt;br /&gt;  println &lt;span style="color:#a68500"&gt;&amp;quot;content:${it.content}&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;動作環境&lt;br /&gt;groovy 1.8.4, JDK6 Update29, Wordpress 3.2.1, JSON API plugin 1.0.7&lt;br /&gt;&lt;br /&gt;JSON APIのページ&lt;br /&gt;http://wordpress.org/extend/plugins/json-api/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5522309965180778185-7722175950694615983?l=groovyarekore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://groovyarekore.blogspot.com/feeds/7722175950694615983/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://groovyarekore.blogspot.com/2011/12/groovywordpress-json-api-plugin_29.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/7722175950694615983'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5522309965180778185/posts/default/7722175950694615983'/><link rel='alternate' type='text/html' href='http://groovyarekore.blogspot.com/2011/12/groovywordpress-json-api-plugin_29.html' title='groovyとWordpress + JSON API pluginで指定カテゴリの投稿を取得する'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5522309965180778185.post-7643834486605237292</id><published>2011-12-28T11:37:00.000+09:00</published><updated>2011-12-28T11:37:00.221+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='geotools'/><title type='text'>groovyとgeotoolsで指定した地点にXマークを描画する</title><content type='html'>groovyとgeotoolsで指定した地点にXマークを描画するには、以下のコードを実行します。&lt;pre style="color:#000000; background-color:#eeeeee; font-size:8pt; font-family:'Courier New';"&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; java&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;awt&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; java&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;awt&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;image&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; javax&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;imageio&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;geotools&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;data&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;shapefile&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;geotools&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;factory&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;geotools&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;feature&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;geotools&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;feature&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;simple&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;geotools&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;filter&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;geotools&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;map&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;geotools&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;renderer&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;lite&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;geotools&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;styling&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;geotools&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;geometry&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;jts&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; com&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;vividsolutions&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;jts&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;geom&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;geotools&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;data&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;import&lt;/span&gt; org&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;opengis&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;feature&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;type&lt;span style="color:#ff0080; font-weight:bold"&gt;.*&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;url &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#0080c0"&gt;URL&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;file://C:/share/geotools/world.shp&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;shapefile &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;ShapefileDataStore&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;url&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;fs &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; shapefile&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getFeatureSource&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;schema &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; fs&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getSchema&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;crs &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; schema&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getGeometryDescriptor&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;getCoordinateReferenceSystem&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;map &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;DefaultMapContext&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;([]&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;as&lt;/span&gt; MapLayer&lt;span style="color:#ff0080; font-weight:bold"&gt;[],&lt;/span&gt; crs&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;ff &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; FilterFactoryFinder&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;createFilterFactory&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;sf &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; CommonFactoryFinder&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getStyleFactory&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// フィルタを作成&lt;/span&gt;&lt;br /&gt;filter &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; ff&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;createCompareFilter&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;FilterType&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;COMPARE_EQUALS&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;filter&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;addLeftValue&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;ff&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;createAttributeExpression&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;NAME&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;))&lt;/span&gt;&lt;br /&gt;filter&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;addRightValue&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;ff&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;createLiteralExpression&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;JAPAN&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;))&lt;/span&gt;&lt;br /&gt;fs &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; fs&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getFeatures&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;filter&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// ポリゴンの線の色1&lt;/span&gt;&lt;br /&gt;stroke1 &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; sf&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;createStroke&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;br /&gt;  ff&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;literal&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#0080c0"&gt;Color&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#800080; font-weight:bold"&gt;0x59&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; &lt;span style="color:#800080; font-weight:bold"&gt;0x58&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; &lt;span style="color:#800080; font-weight:bold"&gt;0x55&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)),&lt;/span&gt;&lt;br /&gt;  ff&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;literal&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#800080; font-weight:bold"&gt;1&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// ポリゴンの塗りつぶし色1&lt;/span&gt;&lt;br /&gt;fill1 &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; sf&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;createFill&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;br /&gt;  ff&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;literal&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#0080c0"&gt;Color&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#800080; font-weight:bold"&gt;0xD2&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; &lt;span style="color:#800080; font-weight:bold"&gt;0xDB&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; &lt;span style="color:#800080; font-weight:bold"&gt;0xD5&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;sym1 &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; sf&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;createPolygonSymbolizer&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;stroke1&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; fill1&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; null&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// フィルタに一致する場合のルールを作成&lt;/span&gt;&lt;br /&gt;rule1 &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; sf&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;createRule&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;rule1&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;symbolizers&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;add&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;sym1&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;fts &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; sf&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;createFeatureTypeStyle&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;([&lt;/span&gt;rule1&lt;span style="color:#ff0080; font-weight:bold"&gt;]&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;as&lt;/span&gt; Rule&lt;span style="color:#ff0080; font-weight:bold"&gt;[])&lt;/span&gt;&lt;br /&gt;style1 &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; sf&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;createStyle&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;style1&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;featureTypeStyles&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;().&lt;/span&gt;&lt;span style="color:#004466"&gt;add&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;fts&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// レイヤーとして追加&lt;/span&gt;&lt;br /&gt;map&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;addLayer&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;FeatureLayer&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;fs&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; style1&lt;span style="color:#ff0080; font-weight:bold"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// ------------------------------------------&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// ポイント用のレイヤーを作成&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// ポイント用のタイプを作成&lt;/span&gt;&lt;br /&gt;pointtype &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; DataUtilities&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;createType&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#a68500"&gt;&amp;quot;Location&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; &lt;br /&gt;  &lt;span style="color:#a68500"&gt;&amp;quot;the_geom:Point,&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0080; font-weight:bold"&gt;+&lt;/span&gt; &lt;br /&gt;  &lt;span style="color:#a68500"&gt;&amp;quot;name:String&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;sfb &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;SimpleFeatureBuilder&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;pointtype&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// 福岡を示すポイントを作成&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// 経度&lt;/span&gt;&lt;br /&gt;longitude &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#800080; font-weight:bold"&gt;130.23193359375&lt;/span&gt;d&lt;br /&gt;&lt;span style="color:#f27900"&gt;// 緯度&lt;/span&gt;&lt;br /&gt;latitude &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; &lt;span style="color:#800080; font-weight:bold"&gt;33.61919376817004&lt;/span&gt;d&lt;br /&gt;gf &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; JTSFactoryFinder&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;getGeometryFactory&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;null&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;point &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; gf&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;createPoint&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#004466"&gt;Coordinate&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;longitude&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; latitude&lt;span style="color:#ff0080; font-weight:bold"&gt;))&lt;/span&gt;&lt;br /&gt;sfb&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;add&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;point&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;sfb&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;add&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#a68500"&gt;&amp;quot;fukuoka&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;col &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; FeatureCollections&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;newCollection&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;()&lt;/span&gt;&lt;br /&gt;feature1 &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; sfb&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;buildFeature&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;null&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;col&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;add&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;feature1&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// マーカーの線&lt;/span&gt;&lt;br /&gt;stroke2 &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; sf&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;createStroke&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;br /&gt;  ff&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;literal&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#bb7977; font-weight:bold"&gt;new&lt;/span&gt; &lt;span style="color:#0080c0"&gt;Color&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#800080; font-weight:bold"&gt;0xC8&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; &lt;span style="color:#800080; font-weight:bold"&gt;0x46&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;,&lt;/span&gt; &lt;span style="color:#800080; font-weight:bold"&gt;0x63&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)),&lt;/span&gt;&lt;br /&gt;  ff&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;literal&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;&lt;span style="color:#800080; font-weight:bold"&gt;1&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#f27900"&gt;// マーカーの塗りつぶし色&lt;/span&gt;&lt;br /&gt;fill2 &lt;span style="color:#ff0080; font-weight:bold"&gt;=&lt;/span&gt; sf&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;createFill&lt;/span&gt;&lt;span style="color:#ff0080; font-weight:bold"&gt;(&lt;/span&gt;ff&lt;span style="color:#ff0080; font-weight:bold"&gt;.&lt;/span&gt;&lt;span style="color:#004466"&gt;literal&lt;/span&gt;&lt;span style="color
