<?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-4127067286306172870</id><updated>2012-02-17T05:29:35.084+01:00</updated><category term='PL'/><category term='EN'/><title type='text'>Not All About Java</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://pkarpik.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4127067286306172870/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://pkarpik.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>pkarpik</name><uri>http://www.blogger.com/profile/06365877650205532574</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_sn591Kg0jbw/Swz-mbQQciI/AAAAAAAARHw/iiDSMQtaJvQ/S220/pkarpik.jpeg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>21</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4127067286306172870.post-7908180303106209453</id><published>2012-02-09T12:53:00.000+01:00</published><updated>2012-02-09T12:53:20.642+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL'/><title type='text'>Klient usługi sieciowej z pomocą JAX-WS Maven Plugin</title><content type='html'>W niniejszym poście przedstawię jak utworzyć klienta usługi sieciowej za pomocą &lt;a href="http://jax-ws-commons.java.net/jaxws-maven-plugin/"&gt;JAX-WS Maven Plugin&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;1. Tworzymy szkielet projektu&lt;br /&gt;&lt;pre class="brush: text; gutter: false;"&gt;mvn archetype:generate -DgroupId=pl.pkarpik -DartifactId=jaxws-client -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;2. Edytujemy plik pom.xml&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: xml; gutter: false;"&gt;&lt;build&gt;&lt;br /&gt;...&lt;br /&gt;  &lt;plugins&gt;&lt;br /&gt;...&lt;br /&gt;   &lt;plugin&gt;&lt;br /&gt;    &lt;groupId&gt;&lt;br /&gt;     org.codehaus.mojo&lt;br /&gt;    &lt;/groupId&gt;&lt;br /&gt;    &lt;artifactId&gt;&lt;br /&gt;      jaxws-maven-plugin&lt;br /&gt;     &lt;/artifactId&gt;&lt;br /&gt;    &lt;executions&gt;&lt;br /&gt;     &lt;execution&gt;&lt;br /&gt;      &lt;goals&gt;&lt;br /&gt;       &lt;goal&gt;wsimport&lt;/goal&gt;&lt;br /&gt;      &lt;/goals&gt;&lt;br /&gt;      &lt;configuration&gt;&lt;br /&gt;       &lt;wsdlUrls&gt;&lt;br /&gt;        &lt;wsdlUrl&gt;&lt;br /&gt;         http://localhost:8080/jaxws/helloService?wsdl&lt;br /&gt;        &lt;/wsdlUrl&gt;&lt;br /&gt;       &lt;/wsdlUrls&gt;&lt;br /&gt;       &lt;packageName&gt;&lt;br /&gt;        pl.pkarpik.webservice.client&lt;br /&gt;       &lt;/packageName&gt;&lt;br /&gt;       &lt;sourceDestDir&gt;&lt;br /&gt;        ${basedir}/src/main/java&lt;br /&gt;       &lt;/sourceDestDir&gt;&lt;br /&gt;      &lt;/configuration&gt;&lt;br /&gt;     &lt;/execution&gt;&lt;br /&gt;    &lt;/executions&gt;&lt;br /&gt;   &lt;/plugin&gt;&lt;br /&gt;...&lt;br /&gt;  &lt;/plugins&gt;&lt;br /&gt;...&lt;br /&gt; &lt;/build&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;gdzie &lt;i&gt;sourceDestDir&lt;/i&gt; określa lokalizację dla wygenerowanych klas klienta.&lt;br /&gt;&lt;br /&gt;3. Polecenie &lt;pre class="brush: xml; gutter: false;"&gt;mvn generate-sources &lt;/pre&gt;wygeneruje klasy klienta w podanej lokalizacji.&lt;br /&gt;&lt;br /&gt;4. Źrodła projektu dostępne tu: &lt;a href="https://github.com/funfin/jaxws-client"&gt;https://github.com/funfin/jaxws-client&lt;/a&gt;&lt;br /&gt; &lt;br /&gt;Po ściągnięciu źródeł oraz po odpaleniu projektu z poprzedniego posta, można przetestować poleceniem&lt;br /&gt;&lt;pre class="brush: xml; gutter: false;"&gt; mvn test&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Źródła:&lt;br /&gt;&lt;a href="http://jax-ws-commons.java.net/jaxws-maven-plugin/"&gt;JAX-WS Maven Plugin&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4127067286306172870-7908180303106209453?l=pkarpik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pkarpik.blogspot.com/feeds/7908180303106209453/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://pkarpik.blogspot.com/2012/02/klient-usugi-sieciowej-z-pomoca-jax-ws.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4127067286306172870/posts/default/7908180303106209453'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4127067286306172870/posts/default/7908180303106209453'/><link rel='alternate' type='text/html' href='http://pkarpik.blogspot.com/2012/02/klient-usugi-sieciowej-z-pomoca-jax-ws.html' title='Klient usługi sieciowej z pomocą JAX-WS Maven Plugin'/><author><name>pkarpik</name><uri>http://www.blogger.com/profile/06365877650205532574</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_sn591Kg0jbw/Swz-mbQQciI/AAAAAAAARHw/iiDSMQtaJvQ/S220/pkarpik.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4127067286306172870.post-3471062640997453205</id><published>2011-08-25T20:15:00.002+02:00</published><updated>2012-02-09T12:55:06.734+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL'/><title type='text'>Usługa sieciowa JAX-WS</title><content type='html'>W niniejszym poście przedstawię jak utworzyć usługę sieciową w specyfikacji JAX-WS.&lt;br /&gt;&lt;br /&gt;Kod żródłowy znajduje się &lt;a href="https://github.com/funfin/jaxws"&gt;tutaj&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1.&lt;/b&gt; Tworzymy szkielet projektu&lt;br /&gt;&lt;pre class="brush: text; gutter: false;"&gt;mvn archetype:generate -DgroupId=pl.pkarpik.webservice -DartifactId=jaxws -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;2.&lt;/b&gt; Upewniamy się, czy w utworzonym projekcie jaxws istnieje nastepujaca struktura katalogu&lt;br /&gt;&lt;pre class="brush: text; gutter: false;"&gt;../jaxws/src/main/java/pl/pkarpik/webservice&lt;br /&gt;&lt;/pre&gt;Jeżeli nie istnieje to należy ją stworzyć.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;3.&lt;/b&gt; Edytujemy plik pom.xml.&lt;br /&gt;Dodajemy  jedną zależność&lt;br /&gt;&lt;pre class="brush: xml; gutter: false;"&gt;&lt;dependencies&gt;&lt;br /&gt;        .&lt;br /&gt;        .&lt;br /&gt;        &lt;dependency&gt;&lt;br /&gt;            &lt;groupid&gt;com.sun.xml.ws&lt;/groupid&gt;&lt;br /&gt;            &lt;artifactid&gt;jaxws-rt&lt;/artifactid&gt;&lt;br /&gt;            &lt;scope&gt;compile&lt;/scope&gt;&lt;br /&gt;            &lt;version&gt;2.2.5&lt;/version&gt;&lt;br /&gt;        &lt;/dependency&gt;&lt;br /&gt;        .&lt;br /&gt;        .&lt;br /&gt;    &lt;/dependencies&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;4.&lt;/b&gt; Tworzymy interfejs usługi.&lt;br /&gt;&lt;pre class="brush: java; gutter: false;"&gt;package pl.pkarpik.webservice;&lt;br /&gt;&lt;br /&gt;import javax.jws.WebMethod;&lt;br /&gt;import javax.jws.WebParam;&lt;br /&gt;import javax.jws.WebService;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;@WebService(targetNamespace="http://webservice.pkarpik.pl", name="HelloService", portName="HelloServicePort")&lt;br /&gt;public interface HelloService {&lt;br /&gt; &lt;br /&gt; @WebMethod&lt;br /&gt; public String sayHello(@WebParam(name = "imie") String name);&lt;br /&gt; &lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;5.&lt;/b&gt; Tworzymy klasę implementacją interfejs usługi.&lt;br /&gt;&lt;pre class="brush: java; gutter: false;"&gt;package pl.pkarpik.webservice.impl;&lt;br /&gt;&lt;br /&gt;import javax.jws.WebService;&lt;br /&gt;&lt;br /&gt;import pl.pkarpik.webservice.HelloService;&lt;br /&gt;&lt;br /&gt;@WebService(endpointInterface = "pl.pkarpik.webservice.HelloService")&lt;br /&gt;public class HelloServiceImpl implements HelloService &lt;br /&gt;{&lt;br /&gt;&lt;br /&gt; public String sayHello(String imie) {&lt;br /&gt;  return "Hello "+imie;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;6.&lt;/b&gt; W katalogu WEB-INF tworzymy plik sun-jaxws.xml.&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: xhtml; gutter: false;"&gt;&lt;endpoints version="2.0" xmlns="http://java.sun.com/xml/ns/jax-ws/ri/runtime"&gt;&lt;br /&gt;    &lt;endpoint implementation="pl.pkarpik.webservice.impl.HelloServiceImpl" name="helloService" url-pattern="/helloService"&gt;&lt;br /&gt;&lt;/endpoint&gt;&lt;/endpoints&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;7.&lt;/b&gt; Edytujemy plik web.xml.&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: xml; gutter: false;"&gt;&lt;web-app&gt;&lt;br /&gt;    &lt;display-name&gt;JAX-WS Hello Service&lt;/display-name&gt;&lt;br /&gt;  &lt;br /&gt;     &lt;listener&gt;&lt;br /&gt;        &lt;listener-class&gt;&lt;br /&gt;            com.sun.xml.ws.transport.http.servlet.WSServletContextListener&lt;br /&gt;        &lt;/listener-class&gt;&lt;br /&gt;    &lt;/listener&gt;&lt;br /&gt;    &lt;servlet&gt;&lt;br /&gt;        &lt;servlet-name&gt;jaxws&lt;/servlet-name&gt;&lt;br /&gt;        &lt;servlet-class&gt;com.sun.xml.ws.transport.http.servlet.WSServlet&lt;/servlet-class&gt;&lt;br /&gt;    &lt;/servlet&gt;&lt;br /&gt;    &lt;servlet-mapping&gt;&lt;br /&gt;        &lt;servlet-name&gt;jaxws&lt;/servlet-name&gt;&lt;br /&gt;        &lt;url-pattern&gt;/helloService&lt;/url-pattern&gt;&lt;br /&gt;    &lt;/servlet-mapping&gt;&lt;br /&gt;&lt;/web-app&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;8. Uruchamiamy projekt.&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: text; gutter: false;"&gt;~/workspace/jaxws$ mvn clean install tomcat:run&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Sprawdźmy czy wszystko zrobiliśmy prawidłowo, otwierając w przeglądarce adres&lt;br /&gt;&lt;a href="http://localhost:8080/jaxws/helloService"&gt;http://localhost:8080/jaxws/helloServices&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;To wszystko. Usługa jest gotowa.&lt;br /&gt;&lt;br /&gt;W następnym poście przedstawie sposób wygenerowania klienta dla usługi sieciowej przy pomocy &lt;a href="http://jax-ws-commons.java.net/jaxws-maven-plugin/"&gt;JAX-WS Maven Plugin&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4127067286306172870-3471062640997453205?l=pkarpik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pkarpik.blogspot.com/feeds/3471062640997453205/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://pkarpik.blogspot.com/2011/08/usuga-sieciowa-jax-ws.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4127067286306172870/posts/default/3471062640997453205'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4127067286306172870/posts/default/3471062640997453205'/><link rel='alternate' type='text/html' href='http://pkarpik.blogspot.com/2011/08/usuga-sieciowa-jax-ws.html' title='Usługa sieciowa JAX-WS'/><author><name>pkarpik</name><uri>http://www.blogger.com/profile/06365877650205532574</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_sn591Kg0jbw/Swz-mbQQciI/AAAAAAAARHw/iiDSMQtaJvQ/S220/pkarpik.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4127067286306172870.post-7869812250534939486</id><published>2011-03-28T16:08:00.010+02:00</published><updated>2011-08-25T10:36:05.880+02:00</updated><title type='text'>Uruchomienia projektu Maven w innym środowisku JDK</title><content type='html'>Czasem może zajść potrzeba uruchomienia testów czy kompilacji projektu w innym środowisku wykonawczym Javy. Pracując z Maven'em można użyć metody polegającej na tymczasowej zmianie zmiennej środowiskowej JAVA_HOME.&lt;br /&gt;&lt;br /&gt;Oto rozwiązanie:&lt;br /&gt;&lt;br /&gt;Zapisujemy sobie obecne ustawienia np w zmiennej o nazwie MY_JAVA_HOME&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: text; gutter: false;&gt;SET MY_JAVA_HOME=%JAVA_HOME%&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Zmieniamy wartość zmiennej JAVA_HOME wskazując na testowe środowisko wykonawcze, np&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: text; gutter: false;"&gt;SET JAVA_HOME="C:\Program Files\Java\jdk1.6.0_18\jre"&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Teraz można wykonać testy, np &lt;br /&gt;&lt;pre class="brush: text; gutter: false;"&gt;mvn test&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Po zakończeniu testów można przywrócić pierwotne ustawienia&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: text; gutter: false;"&gt;SET JAVA_HOME=%MY_JAVA_HOME%&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4127067286306172870-7869812250534939486?l=pkarpik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pkarpik.blogspot.com/feeds/7869812250534939486/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://pkarpik.blogspot.com/2011/03/uruchomienia-projektu-maven-w-innym.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4127067286306172870/posts/default/7869812250534939486'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4127067286306172870/posts/default/7869812250534939486'/><link rel='alternate' type='text/html' href='http://pkarpik.blogspot.com/2011/03/uruchomienia-projektu-maven-w-innym.html' title='Uruchomienia projektu Maven w innym środowisku JDK'/><author><name>pkarpik</name><uri>http://www.blogger.com/profile/06365877650205532574</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_sn591Kg0jbw/Swz-mbQQciI/AAAAAAAARHw/iiDSMQtaJvQ/S220/pkarpik.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4127067286306172870.post-8603449579710827287</id><published>2010-10-05T21:38:00.000+02:00</published><updated>2010-10-05T21:38:49.063+02:00</updated><title type='text'>ICEfaces - Open Source Ajax, J2EE Ajax, JSF Java Framework</title><content type='html'>&lt;a href="http://www.icefaces.org/main/home/?sms_ss=blogger&amp;amp;at_xt=4cab7e7e10d102b5,0"&gt;ICEfaces - Open Source Ajax, J2EE Ajax, JSF Java Framework&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4127067286306172870-8603449579710827287?l=pkarpik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pkarpik.blogspot.com/feeds/8603449579710827287/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://pkarpik.blogspot.com/2010/10/icefaces-open-source-ajax-j2ee-ajax-jsf.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4127067286306172870/posts/default/8603449579710827287'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4127067286306172870/posts/default/8603449579710827287'/><link rel='alternate' type='text/html' href='http://pkarpik.blogspot.com/2010/10/icefaces-open-source-ajax-j2ee-ajax-jsf.html' title='ICEfaces - Open Source Ajax, J2EE Ajax, JSF Java Framework'/><author><name>pkarpik</name><uri>http://www.blogger.com/profile/06365877650205532574</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_sn591Kg0jbw/Swz-mbQQciI/AAAAAAAARHw/iiDSMQtaJvQ/S220/pkarpik.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4127067286306172870.post-3296159733736949545</id><published>2010-09-20T23:24:00.000+02:00</published><updated>2010-09-20T23:24:17.314+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL'/><title type='text'>Powiadomienia SMS o  zdarzeniach w kalendarzu Google</title><content type='html'>Google użytkownikom swojego kalendarza oferuje ciekawą funkcję powiadomień SMS o zdarzeniach.&lt;br /&gt;&lt;br /&gt;Aby skorzystać z tej funkcji należy w ustawieniach kalendarza przejść do sekcji 'Konfiguracja telefonu komórkowego' i podać swój numer a następnie poddać go weryfikacji poprzez wpisanie otrzymanego smsem kodu.&lt;br /&gt;&lt;br /&gt;Od tego momentu edytując szczegóły zdarzenia mamy możliwość wyboru przypomnienia SMS.&lt;br /&gt;Dodatkowo można dość elastycznie określić czas, w którym to przypomnienie powinno nadejść.&lt;br /&gt;&lt;br /&gt;Funkcja bardzo przydatna dla zapominalskich oraz dla tych, którzy nie lubią terminarzy w swoich telefonach :) A w połączeniu z opcją dodawania zdarzeń powtarzalnych okresowo sprawia, że już nigdy nie zapomnisz np o imieninach ciotki, wujka...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4127067286306172870-3296159733736949545?l=pkarpik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pkarpik.blogspot.com/feeds/3296159733736949545/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://pkarpik.blogspot.com/2010/09/powiadomienia-sms-o-zdarzeniach-w.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4127067286306172870/posts/default/3296159733736949545'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4127067286306172870/posts/default/3296159733736949545'/><link rel='alternate' type='text/html' href='http://pkarpik.blogspot.com/2010/09/powiadomienia-sms-o-zdarzeniach-w.html' title='Powiadomienia SMS o  zdarzeniach w kalendarzu Google'/><author><name>pkarpik</name><uri>http://www.blogger.com/profile/06365877650205532574</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_sn591Kg0jbw/Swz-mbQQciI/AAAAAAAARHw/iiDSMQtaJvQ/S220/pkarpik.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4127067286306172870.post-1896616850754181651</id><published>2010-09-13T10:57:00.000+02:00</published><updated>2010-09-13T10:57:24.240+02:00</updated><title type='text'>Eclipse is running in a JRE, but a JDK is required</title><content type='html'>If you have message like this&lt;br /&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;Eclipse is running in a JRE, but a JDK is required&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Folow this steps.&lt;br /&gt;1. Install jdk&lt;br /&gt;2.&amp;nbsp;Set your JDK as a default Java environment in eclipse&lt;br /&gt;3. Add vm jdk path to eclipse.ini&lt;br /&gt;&lt;br /&gt;The solution is:&lt;br /&gt;1. Install&amp;nbsp;&lt;a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html"&gt;jdk&lt;/a&gt;&amp;nbsp;if you don't have it&lt;br /&gt;2. In Eclipse menu Window-&amp;gt;Preferences -&amp;gt; Java -&amp;gt; Installed JREs add your JDK location&lt;br /&gt;3. Edit eclipse.ini file&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; Add &amp;nbsp;line like this:&lt;br /&gt;&lt;pre class="brush: java;" name="code"&gt;-vm&lt;br /&gt;C:\Program Files\Java\jdk1.6.0_18\bin\javaw.exe&lt;br /&gt;&lt;/pre&gt;&lt;div&gt;&lt;br /&gt;On Windows Family systems be sure that two lines are not the last one.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4127067286306172870-1896616850754181651?l=pkarpik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pkarpik.blogspot.com/feeds/1896616850754181651/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://pkarpik.blogspot.com/2010/09/eclipse-is-running-in-jre-but-jdk-is.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4127067286306172870/posts/default/1896616850754181651'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4127067286306172870/posts/default/1896616850754181651'/><link rel='alternate' type='text/html' href='http://pkarpik.blogspot.com/2010/09/eclipse-is-running-in-jre-but-jdk-is.html' title='Eclipse is running in a JRE, but a JDK is required'/><author><name>pkarpik</name><uri>http://www.blogger.com/profile/06365877650205532574</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_sn591Kg0jbw/Swz-mbQQciI/AAAAAAAARHw/iiDSMQtaJvQ/S220/pkarpik.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4127067286306172870.post-4674061504496393052</id><published>2010-07-16T21:14:00.001+02:00</published><updated>2010-07-16T21:25:51.668+02:00</updated><title type='text'>Bazaar, Git or Mercurial? Let me think...</title><content type='html'>&lt;object height="344" style="background-image: url(http://i1.ytimg.com/vi/4XpnKHJAok8/hqdefault.jpg);" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/4XpnKHJAok8&amp;amp;hl=pl_PL&amp;amp;fs=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/4XpnKHJAok8&amp;amp;hl=pl_PL&amp;amp;fs=1" width="425" height="344" allowScriptAccess="never" allowFullScreen="true" wmode="transparent" type="application/x-shockwave-flash"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4127067286306172870-4674061504496393052?l=pkarpik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pkarpik.blogspot.com/feeds/4674061504496393052/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://pkarpik.blogspot.com/2010/07/bazaar-git-or-mercurial-let-me-think.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4127067286306172870/posts/default/4674061504496393052'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4127067286306172870/posts/default/4674061504496393052'/><link rel='alternate' type='text/html' href='http://pkarpik.blogspot.com/2010/07/bazaar-git-or-mercurial-let-me-think.html' title='Bazaar, Git or Mercurial? Let me think...'/><author><name>pkarpik</name><uri>http://www.blogger.com/profile/06365877650205532574</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_sn591Kg0jbw/Swz-mbQQciI/AAAAAAAARHw/iiDSMQtaJvQ/S220/pkarpik.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4127067286306172870.post-3497655404630539868</id><published>2010-07-15T10:34:00.001+02:00</published><updated>2010-07-15T10:35:55.215+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL'/><title type='text'>Archiwizacja logów</title><content type='html'>Ostatnio zaistniała u mnie potrzeba archiwizowania starych logów z jbossa, ponieważ ich rozmiar szybko narastał. Dodatkowo z archiwizowane starsze były potrzebne tylko do paru dni wstecz, zatem niepotrzebne stare logi powinny się same usuwać.&lt;br /&gt;&lt;br /&gt;Pierwszym pomysłem było napisanie klasy rozszerzającej klasę DailyRollingFileAppender z org.apache.log4j. Pomysł okazał się dobry, ale nie możliwy do zrealizowania w prosty sposób, ponieważ metodę rollover(), którą chciałem przeciążyć nie miała określonego dostępu public ani protected. &lt;br /&gt;&lt;br /&gt;W sieci można znaleźć źródła klasy DailyRollingFileAppender, kopiujemy kod i tworzymy tą klasę w swoim pakiecie. Następnie tworzymy swoją klasę rozszerzającą skopiowaną klasę, przeciążamy w niej metodę rollover i gotowe.&lt;br /&gt;&lt;br /&gt;Dla niecierpliwych źródła: &lt;a href="https://docs.google.com/leaf?id=0B-OhRpziY1OOYzBkMTA5ZGYtNWY2Yy00MWI2LTg3MTYtYjY5ZDNiMDU1YzMz&amp;hl=en"&gt;ZipFileAppender.zip&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Oto rozwiązanie:&lt;br /&gt;&lt;br /&gt;Klasa ZipFileAppender&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: java;" name="code"&gt;package pl.pkarpik.log4j;&lt;br /&gt;&lt;br /&gt;import java.io.File;&lt;br /&gt;import java.io.FileFilter;&lt;br /&gt;import java.io.FileInputStream;&lt;br /&gt;import java.io.FileNotFoundException;&lt;br /&gt;import java.io.FileOutputStream;&lt;br /&gt;import java.io.IOException;&lt;br /&gt;import java.util.Arrays;&lt;br /&gt;import java.util.Comparator;&lt;br /&gt;import java.util.zip.ZipEntry;&lt;br /&gt;import java.util.zip.ZipOutputStream;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt; * @author pkarpik&lt;br /&gt; *&lt;br /&gt; */&lt;br /&gt;public class ZipFileAppender extends DailyRollingFileAppender{&lt;br /&gt;&lt;br /&gt; private String compressBackups = "false";&lt;br /&gt; private String maxNumberOfBackups = "14";&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; @Override&lt;br /&gt; void rollOver() throws IOException {&lt;br /&gt;  super.rollOver();&lt;br /&gt;  buckupsManagment();&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public void buckupsManagment() {&lt;br /&gt;  final File file = new File(fileName);&lt;br /&gt;  int maxBackups=14;&lt;br /&gt;  try{&lt;br /&gt;   maxBackups=Integer.parseInt(getMaxNumberOfBackups());&lt;br /&gt;  }catch (Exception e) {&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  //zipowanie logow&lt;br /&gt;  File[] files = file.getParentFile().listFiles(getFileFilter(file));&lt;br /&gt;  for (int i = 0; i &amp;lt; files.length; i++) {&lt;br /&gt;   if (getCompressBackups().equalsIgnoreCase("YES") || getCompressBackups().equalsIgnoreCase("TRUE")) {&lt;br /&gt;    zipFile(files[i]);&lt;br /&gt;   }&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  //sortowanie logow&lt;br /&gt;  files = file.getParentFile().listFiles(getFileFilter(file));&lt;br /&gt;  Arrays.sort(files, new Comparator&lt;file&gt;() {&lt;br /&gt;   @Override&lt;br /&gt;   public int compare(File o1, File o2) {&lt;br /&gt;    return o1.getName().compareToIgnoreCase(o2.getName());&lt;br /&gt;   }&lt;br /&gt;  });&lt;br /&gt;  //usuwanie plikow w przypadku przekroczenia maksymalnej liczby logow&lt;br /&gt;  for (int i = 0; i &lt; files.length; i++) {&lt;br /&gt;   if (i &lt; files.length - maxBackups) {&lt;br /&gt;    files[i].delete();&lt;br /&gt;   }&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;protected void zipFile(File file) {&lt;br /&gt;  if (!file.getName().endsWith(".zip")) {&lt;br /&gt;   try {&lt;br /&gt;    File zipFile = new File(file.getParent(), file.getName() + ".zip");&lt;br /&gt;    FileInputStream fis;&lt;br /&gt;    fis = new FileInputStream(file);&lt;br /&gt;    FileOutputStream fos = new FileOutputStream(zipFile);&lt;br /&gt;    ZipOutputStream zos = new ZipOutputStream(fos);&lt;br /&gt;    ZipEntry zipEntry = new ZipEntry(file.getName());&lt;br /&gt;    zos.putNextEntry(zipEntry);&lt;br /&gt;&lt;br /&gt;    byte[] buffer = new byte[4096];&lt;br /&gt;    while (true) {&lt;br /&gt;     int bytesRead = fis.read(buffer);&lt;br /&gt;     if (bytesRead == -1)&lt;br /&gt;      break;&lt;br /&gt;     else {&lt;br /&gt;      zos.write(buffer, 0, bytesRead);&lt;br /&gt;     }&lt;br /&gt;    }&lt;br /&gt;    zos.closeEntry();&lt;br /&gt;    fis.close();&lt;br /&gt;    zos.close();&lt;br /&gt;    file.delete();&lt;br /&gt;   } catch (FileNotFoundException e) {&lt;br /&gt;   } catch (IOException e) {&lt;br /&gt;   }&lt;br /&gt;  }&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; protected FileFilter getFileFilter(final File file){&lt;br /&gt;  return new FileFilter() {&lt;br /&gt;   @Override&lt;br /&gt;   public boolean accept(File pathname) {&lt;br /&gt;    if(pathname.isDirectory() || pathname.getName().toUpperCase().equals(file.getName().toUpperCase()))&lt;br /&gt;     return false;&lt;br /&gt;    return pathname.getName().toUpperCase().startsWith(file.getName().toUpperCase());&lt;br /&gt;   }&lt;br /&gt;  };&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; public String getCompressBackups() {&lt;br /&gt;  return compressBackups;&lt;br /&gt; }&lt;br /&gt; public void setCompressBackups(String compressBackups) {&lt;br /&gt;  this.compressBackups = compressBackups;&lt;br /&gt; }&lt;br /&gt; public String getMaxNumberOfBackups() {&lt;br /&gt;  return maxNumberOfBackups;&lt;br /&gt; }&lt;br /&gt; public void setMaxNumberOfBackups(String maxNumberOfBackups) {&lt;br /&gt;  this.maxNumberOfBackups = maxNumberOfBackups;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;Klasa DailyRollingFileAppender - skopiowane zródła&lt;pre class="brush: java;" name="code"&gt;package pl.pkarpik.log4j;&lt;br /&gt;&lt;br /&gt;import java.io.File;&lt;br /&gt;import java.io.IOException;&lt;br /&gt;import java.text.SimpleDateFormat;&lt;br /&gt;import java.util.Calendar;&lt;br /&gt;import java.util.Date;&lt;br /&gt;import java.util.GregorianCalendar;&lt;br /&gt;import java.util.Locale;&lt;br /&gt;import java.util.TimeZone;&lt;br /&gt;&lt;br /&gt;import org.apache.log4j.FileAppender;&lt;br /&gt;import org.apache.log4j.Layout;&lt;br /&gt;import org.apache.log4j.helpers.LogLog;&lt;br /&gt;import org.apache.log4j.spi.LoggingEvent;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt; * &lt;br /&gt; */&lt;br /&gt;//Referenced classes of package org.apache.log4j:&lt;br /&gt;//FileAppender, RollingCalendar, AppenderSkeleton, WriterAppender, &lt;br /&gt;//Layout&lt;br /&gt;/*&lt;br /&gt;DECOMPILATION REPORT&lt;br /&gt;&lt;br /&gt;Decompiled from: C:\Users\pkarpik\.m2\repository\log4j\log4j\1.2.13\log4j-1.2.13.jar&lt;br /&gt;Total time: 758 ms&lt;br /&gt;Jad reported messages/errors:&lt;br /&gt;Exit status: 0&lt;br /&gt;Caught exceptions:&lt;br /&gt; */&lt;br /&gt;public class DailyRollingFileAppender extends FileAppender&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt; public DailyRollingFileAppender()&lt;br /&gt; {&lt;br /&gt;  datePattern = "'.'yyyy-MM-dd";&lt;br /&gt;  nextCheck = System.currentTimeMillis() - 1L;&lt;br /&gt;  now = new Date();&lt;br /&gt;  rc = new RollingCalendar();&lt;br /&gt;  checkPeriod = -1;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public DailyRollingFileAppender(Layout layout, String filename, String datePattern)&lt;br /&gt; throws IOException&lt;br /&gt; {&lt;br /&gt;  super(layout, filename, true);&lt;br /&gt;  this.datePattern = "'.'yyyy-MM-dd";&lt;br /&gt;  nextCheck = System.currentTimeMillis() - 1L;&lt;br /&gt;  now = new Date();&lt;br /&gt;  rc = new RollingCalendar();&lt;br /&gt;  checkPeriod = -1;&lt;br /&gt;  this.datePattern = datePattern;&lt;br /&gt;  activateOptions();&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public void setDatePattern(String pattern)&lt;br /&gt; {&lt;br /&gt;  datePattern = pattern;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public String getDatePattern()&lt;br /&gt; {&lt;br /&gt;  return datePattern;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; @Override&lt;br /&gt; public void activateOptions()&lt;br /&gt; {&lt;br /&gt;  super.activateOptions();&lt;br /&gt;  if(datePattern != null &amp;&amp; super.fileName != null)&lt;br /&gt;  {&lt;br /&gt;   now.setTime(System.currentTimeMillis());&lt;br /&gt;   sdf = new SimpleDateFormat(datePattern);&lt;br /&gt;   int type = computeCheckPeriod();&lt;br /&gt;   printPeriodicity(type);&lt;br /&gt;   rc.setType(type);&lt;br /&gt;   File file = new File(super.fileName);&lt;br /&gt;   scheduledFilename = super.fileName + sdf.format(new Date(file.lastModified()));&lt;br /&gt;  } else&lt;br /&gt;  {&lt;br /&gt;   LogLog.error("Either File or DatePattern options are not set for appender [" + super.name + "].");&lt;br /&gt;  }&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; void printPeriodicity(int type)&lt;br /&gt; {&lt;br /&gt;  switch(type)&lt;br /&gt;  {&lt;br /&gt;  case 0: // '\0'&lt;br /&gt;   LogLog.debug("Appender [" + super.name + "] to be rolled every minute.");&lt;br /&gt;   break;&lt;br /&gt;&lt;br /&gt;  case 1: // '\001'&lt;br /&gt;   LogLog.debug("Appender [" + super.name + "] to be rolled on top of every hour.");&lt;br /&gt;   break;&lt;br /&gt;&lt;br /&gt;  case 2: // '\002'&lt;br /&gt;   LogLog.debug("Appender [" + super.name + "] to be rolled at midday and midnight.");&lt;br /&gt;   break;&lt;br /&gt;&lt;br /&gt;  case 3: // '\003'&lt;br /&gt;   LogLog.debug("Appender [" + super.name + "] to be rolled at midnight.");&lt;br /&gt;   break;&lt;br /&gt;&lt;br /&gt;  case 4: // '\004'&lt;br /&gt;   LogLog.debug("Appender [" + super.name + "] to be rolled at start of week.");&lt;br /&gt;   break;&lt;br /&gt;&lt;br /&gt;  case 5: // '\005'&lt;br /&gt;   LogLog.debug("Appender [" + super.name + "] to be rolled at start of every month.");&lt;br /&gt;   break;&lt;br /&gt;&lt;br /&gt;  default:&lt;br /&gt;   LogLog.warn("Unknown periodicity for appender [" + super.name + "].");&lt;br /&gt;   break;&lt;br /&gt;  }&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; int computeCheckPeriod()&lt;br /&gt; {&lt;br /&gt;  RollingCalendar rollingCalendar = new RollingCalendar(gmtTimeZone, Locale.ENGLISH);&lt;br /&gt;  Date epoch = new Date(0L);&lt;br /&gt;  if(datePattern != null)&lt;br /&gt;  {&lt;br /&gt;   for(int i = 0; i &lt;= 5; i++)&lt;br /&gt;   {&lt;br /&gt;    SimpleDateFormat simpleDateFormat = new SimpleDateFormat(datePattern);&lt;br /&gt;    simpleDateFormat.setTimeZone(gmtTimeZone);&lt;br /&gt;    String r0 = simpleDateFormat.format(epoch);&lt;br /&gt;    rollingCalendar.setType(i);&lt;br /&gt;    Date next = new Date(rollingCalendar.getNextCheckMillis(epoch));&lt;br /&gt;    String r1 = simpleDateFormat.format(next);&lt;br /&gt;    if(r0 != null &amp;&amp; r1 != null &amp;&amp; !r0.equals(r1))&lt;br /&gt;     return i;&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;  }&lt;br /&gt;  return -1;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; void rollOver()&lt;br /&gt; throws IOException&lt;br /&gt; {&lt;br /&gt;  if(datePattern == null)&lt;br /&gt;  {&lt;br /&gt;   super.errorHandler.error("Missing DatePattern option in rollOver().");&lt;br /&gt;   return;&lt;br /&gt;  }&lt;br /&gt;  String datedFilename = super.fileName + sdf.format(now);&lt;br /&gt;  if(scheduledFilename.equals(datedFilename))&lt;br /&gt;   return;&lt;br /&gt;  closeFile();&lt;br /&gt;  File target = new File(scheduledFilename);&lt;br /&gt;  if(target.exists())&lt;br /&gt;   target.delete();&lt;br /&gt;  File file = new File(super.fileName);&lt;br /&gt;  boolean result = file.renameTo(target);&lt;br /&gt;  if(result)&lt;br /&gt;   LogLog.debug(super.fileName + " -&gt; " + scheduledFilename);&lt;br /&gt;  else&lt;br /&gt;   LogLog.error("Failed to rename [" + super.fileName + "] to [" + scheduledFilename + "].");&lt;br /&gt;  try&lt;br /&gt;  {&lt;br /&gt;   setFile(super.fileName, false, super.bufferedIO, super.bufferSize);&lt;br /&gt;  }&lt;br /&gt;  catch(IOException e)&lt;br /&gt;  {&lt;br /&gt;   super.errorHandler.error("setFile(" + super.fileName + ", false) call failed.");&lt;br /&gt;  }&lt;br /&gt;  scheduledFilename = datedFilename;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; @Override&lt;br /&gt; protected void subAppend(LoggingEvent event)&lt;br /&gt; {&lt;br /&gt;  long n = System.currentTimeMillis();&lt;br /&gt;  if(n &gt;= nextCheck)&lt;br /&gt;  {&lt;br /&gt;   now.setTime(n);&lt;br /&gt;   nextCheck = rc.getNextCheckMillis(now);&lt;br /&gt;   try&lt;br /&gt;   {&lt;br /&gt;    rollOver();&lt;br /&gt;   }&lt;br /&gt;   catch(IOException ioe)&lt;br /&gt;   {&lt;br /&gt;    LogLog.error("rollOver() failed.", ioe);&lt;br /&gt;   }&lt;br /&gt;  }&lt;br /&gt;  super.subAppend(event);&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; static final int TOP_OF_TROUBLE = -1;&lt;br /&gt; static final int TOP_OF_MINUTE = 0;&lt;br /&gt; static final int TOP_OF_HOUR = 1;&lt;br /&gt; static final int HALF_DAY = 2;&lt;br /&gt; static final int TOP_OF_DAY = 3;&lt;br /&gt; static final int TOP_OF_WEEK = 4;&lt;br /&gt; static final int TOP_OF_MONTH = 5;&lt;br /&gt; private String datePattern;&lt;br /&gt; private String scheduledFilename;&lt;br /&gt; private long nextCheck;&lt;br /&gt; Date now;&lt;br /&gt; SimpleDateFormat sdf;&lt;br /&gt; RollingCalendar rc;&lt;br /&gt; int checkPeriod;&lt;br /&gt; static final TimeZone gmtTimeZone = TimeZone.getTimeZone("GMT");&lt;br /&gt;&lt;br /&gt; class RollingCalendar extends GregorianCalendar {&lt;br /&gt;  private static final long serialVersionUID = -3560331770601814177L;&lt;br /&gt;&lt;br /&gt;  int type = TOP_OF_TROUBLE;&lt;br /&gt;&lt;br /&gt;  RollingCalendar() {&lt;br /&gt;   super();&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  RollingCalendar(TimeZone tz, Locale locale) {&lt;br /&gt;   super(tz, locale);&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  void setType(int type) {&lt;br /&gt;   this.type = type;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public long getNextCheckMillis(Date now) {&lt;br /&gt;   return getNextCheckDate(now).getTime();&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public Date getNextCheckDate(Date now) {&lt;br /&gt;   this.setTime(now);&lt;br /&gt;&lt;br /&gt;   switch (type) {&lt;br /&gt;   case TOP_OF_MINUTE:&lt;br /&gt;    this.set(Calendar.SECOND, 0);&lt;br /&gt;    this.set(Calendar.MILLISECOND, 0);&lt;br /&gt;    this.add(Calendar.MINUTE, 1);&lt;br /&gt;    break;&lt;br /&gt;   case TOP_OF_HOUR:&lt;br /&gt;    this.set(Calendar.MINUTE, 0);&lt;br /&gt;    this.set(Calendar.SECOND, 0);&lt;br /&gt;    this.set(Calendar.MILLISECOND, 0);&lt;br /&gt;    this.add(Calendar.HOUR_OF_DAY, 1);&lt;br /&gt;    break;&lt;br /&gt;   case HALF_DAY:&lt;br /&gt;    this.set(Calendar.MINUTE, 0);&lt;br /&gt;    this.set(Calendar.SECOND, 0);&lt;br /&gt;    this.set(Calendar.MILLISECOND, 0);&lt;br /&gt;    int hour = get(Calendar.HOUR_OF_DAY);&lt;br /&gt;    if (hour &lt; 12) {&lt;br /&gt;     this.set(Calendar.HOUR_OF_DAY, 12);&lt;br /&gt;    } else {&lt;br /&gt;     this.set(Calendar.HOUR_OF_DAY, 0);&lt;br /&gt;     this.add(Calendar.DAY_OF_MONTH, 1);&lt;br /&gt;    }&lt;br /&gt;    break;&lt;br /&gt;   case TOP_OF_DAY:&lt;br /&gt;    this.set(Calendar.HOUR_OF_DAY, 0);&lt;br /&gt;    this.set(Calendar.MINUTE, 0);&lt;br /&gt;    this.set(Calendar.SECOND, 0);&lt;br /&gt;    this.set(Calendar.MILLISECOND, 0);&lt;br /&gt;    this.add(Calendar.DATE, 1);&lt;br /&gt;    break;&lt;br /&gt;   case TOP_OF_WEEK:&lt;br /&gt;    this.set(Calendar.DAY_OF_WEEK, getFirstDayOfWeek());&lt;br /&gt;    this.set(Calendar.HOUR_OF_DAY, 0);&lt;br /&gt;    this.set(Calendar.MINUTE, 0);&lt;br /&gt;    this.set(Calendar.SECOND, 0);&lt;br /&gt;    this.set(Calendar.MILLISECOND, 0);&lt;br /&gt;    this.add(Calendar.WEEK_OF_YEAR, 1);&lt;br /&gt;    break;&lt;br /&gt;   case TOP_OF_MONTH:&lt;br /&gt;    this.set(Calendar.DATE, 1);&lt;br /&gt;    this.set(Calendar.HOUR_OF_DAY, 0);&lt;br /&gt;    this.set(Calendar.MINUTE, 0);&lt;br /&gt;    this.set(Calendar.SECOND, 0);&lt;br /&gt;    this.set(Calendar.MILLISECOND, 0);&lt;br /&gt;    this.add(Calendar.MONTH, 1);&lt;br /&gt;    break;&lt;br /&gt;   default:&lt;br /&gt;    throw new IllegalStateException("Unknown periodicity type.");&lt;br /&gt;   }&lt;br /&gt;   return getTime();&lt;br /&gt;  }&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;Przykładowa konfiguracja w pliku jboss-log4j.xml&lt;pre class="brush: java;" name="code"&gt;&lt;appender name="FILE" class="org.apache.log4j.CPFileAppender"&gt;&lt;br /&gt;     ..&lt;br /&gt;     .&lt;br /&gt;     .&lt;br /&gt;      &lt; param name="DatePattern" value="'.'yyyy-MM-dd-HH-mm" &gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;      &lt; param name="CompressBackups" value="YES" &gt;&lt;br /&gt;      &lt; param name="MaxNumberOfBackups" value="3" &gt;&lt;br /&gt;     .&lt;br /&gt;     .&lt;br /&gt;     .&lt;br /&gt;   &lt;/appender&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4127067286306172870-3497655404630539868?l=pkarpik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pkarpik.blogspot.com/feeds/3497655404630539868/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://pkarpik.blogspot.com/2010/07/archiwizacja-logow.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4127067286306172870/posts/default/3497655404630539868'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4127067286306172870/posts/default/3497655404630539868'/><link rel='alternate' type='text/html' href='http://pkarpik.blogspot.com/2010/07/archiwizacja-logow.html' title='Archiwizacja logów'/><author><name>pkarpik</name><uri>http://www.blogger.com/profile/06365877650205532574</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_sn591Kg0jbw/Swz-mbQQciI/AAAAAAAARHw/iiDSMQtaJvQ/S220/pkarpik.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4127067286306172870.post-1738332995351427709</id><published>2010-01-25T14:30:00.004+01:00</published><updated>2010-05-22T14:52:13.956+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EN'/><title type='text'>Tapestry 4 Row Number</title><content type='html'>in java file&lt;br /&gt;&lt;pre class="brush: java;" name="code"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; @Component(type = "contrib:TableView", id = "tableView")&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public abstract TableView getTableWyniki();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; @Component(type = "contrib:TablePages", id = "tablePages")&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public abstract TablePages getTablePages();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; @Component(type = "contrib:TableRows", id = "tableRows")&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public abstract TableRows getTableRows();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public int getRowNo(){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; return (getTablePages().getCurrentPage() - 1) *&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; getTableWyniki().getPageSize()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; + getTableRows().getTableIndex() + 1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;/pre&gt;&lt;br /&gt;in html file&lt;br /&gt;&lt;pre class="brush: html;" name="code"&gt;&amp;lt;table jwcid="tableView"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; source="ognl:users"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; columns="Row number, login"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;tr&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;td&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;span jwcid="tablePages" /&amp;gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/td&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/tr&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;tr&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;span jwcid="@contrib:TableColumns" /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/tr&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;tr jwcid="tableRows" &amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;td &amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;span jwcid="@Insert" value="ognl:rowNo" /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/td&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;td &amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;span jwcid="@Insert" value="ognl:components.tableRows.tableRow.login" /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/td&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;/tr&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;lt;/table&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4127067286306172870-1738332995351427709?l=pkarpik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pkarpik.blogspot.com/feeds/1738332995351427709/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://pkarpik.blogspot.com/2010/01/tapestry-4-row-number.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4127067286306172870/posts/default/1738332995351427709'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4127067286306172870/posts/default/1738332995351427709'/><link rel='alternate' type='text/html' href='http://pkarpik.blogspot.com/2010/01/tapestry-4-row-number.html' title='Tapestry 4 Row Number'/><author><name>pkarpik</name><uri>http://www.blogger.com/profile/06365877650205532574</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_sn591Kg0jbw/Swz-mbQQciI/AAAAAAAARHw/iiDSMQtaJvQ/S220/pkarpik.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4127067286306172870.post-804300456419061783</id><published>2010-01-22T09:09:00.000+01:00</published><updated>2010-01-22T09:13:07.978+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL'/><title type='text'>Polskie imininy w kalendarzu Google</title><content type='html'>W celu dołączenia polskich imienin do swego kalendarza Google, wystarczy zaimportować do wybranego kalendarza plik z imieninami w formacie csv lub iCal (ics).&lt;br /&gt;Polecam wcześniej utworzenie nowego kalendarza (np o nazwie imieniny) i zaimportowanie pliku właśnie do niego, na wypadek, gdybyśmy nie chcieli później oglądać tych imienin:)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Pobierz plik: &lt;a href="http://sites.google.com/site/funfin11/magazyn-plikow/Imieniny.ics?attredirects=0&amp;amp;d=1"&gt;imieniny.ics&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4127067286306172870-804300456419061783?l=pkarpik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pkarpik.blogspot.com/feeds/804300456419061783/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://pkarpik.blogspot.com/2010/01/polskie-imininy-w-kalendarzu-google.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4127067286306172870/posts/default/804300456419061783'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4127067286306172870/posts/default/804300456419061783'/><link rel='alternate' type='text/html' href='http://pkarpik.blogspot.com/2010/01/polskie-imininy-w-kalendarzu-google.html' title='Polskie imininy w kalendarzu Google'/><author><name>pkarpik</name><uri>http://www.blogger.com/profile/06365877650205532574</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_sn591Kg0jbw/Swz-mbQQciI/AAAAAAAARHw/iiDSMQtaJvQ/S220/pkarpik.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4127067286306172870.post-8874913710202669797</id><published>2010-01-21T15:03:00.000+01:00</published><updated>2010-01-21T15:04:57.309+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EN'/><title type='text'>Tapestry 5 Demo</title><content type='html'>I found recently very interesting site with examples about Tapestry 5. Take a look.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://lombok.demon.co.uk/tapestry5Demo/"&gt;http://lombok.demon.co.uk/tapestry5Demo/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4127067286306172870-8874913710202669797?l=pkarpik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pkarpik.blogspot.com/feeds/8874913710202669797/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://pkarpik.blogspot.com/2010/01/tapestry-5-demo.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4127067286306172870/posts/default/8874913710202669797'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4127067286306172870/posts/default/8874913710202669797'/><link rel='alternate' type='text/html' href='http://pkarpik.blogspot.com/2010/01/tapestry-5-demo.html' title='Tapestry 5 Demo'/><author><name>pkarpik</name><uri>http://www.blogger.com/profile/06365877650205532574</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_sn591Kg0jbw/Swz-mbQQciI/AAAAAAAARHw/iiDSMQtaJvQ/S220/pkarpik.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4127067286306172870.post-3673466920970617379</id><published>2010-01-15T10:35:00.006+01:00</published><updated>2010-01-25T14:28:50.859+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL'/><title type='text'>Generator i walidator numeru dowodu osobistego</title><content type='html'>&lt;div align="justify"&gt;Ostatnio potrzebowałem w pracy wprowadzić kilka danych testowych, ale aplikacja do wprowadzania tych danych wymagała m.in. wprowadzenia poprawnego numeru dowodu osobistego.&lt;br /&gt;&lt;/div&gt;&lt;div align="justify"&gt;W dowodach osobistych cyfra kontrolna, to pierwsza cyfra w numerze dowodu (&lt;a href="http://wipos.p.lodz.pl/zylla/ut/paszport.html#dowodosobisty"&gt;źródło&lt;/a&gt;), nie jak to się spodziewałem, że ostatnia.&lt;br /&gt;Poniżej kod dwóch metod, do wygenerowania oraz do sprawdzenia numeru dowodu osobistego. &lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a href="http://pkarpik.s215.eatj.com/Generator/"&gt;Zobacz jak to działa.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: java;" name="code"&gt;String generateDO(){&lt;br /&gt;String seria="", numer="";&lt;br /&gt;Random random = new Random(); &lt;br /&gt;int suma=0;&lt;br /&gt;int waga[]={7,3,1,7,3};&lt;br /&gt;&lt;br /&gt;for(int i=0;i&amp;lt;3;i++){&lt;br /&gt;seria+=(char) (random.nextInt('Z'-'A')+'A');&lt;br /&gt;suma+=waga[i]*(seria.charAt(i)-'A'+10);&lt;br /&gt;}&lt;br /&gt;for(int i=0;i&amp;lt;5;i++){&lt;br /&gt;numer+=(char)(random.nextInt('9'-'0')+'0');&lt;br /&gt;suma+=waga[i]*(numer.charAt(i)-'0');&lt;br /&gt;}&lt;br /&gt;return seria+suma%10+numer;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;pre class="brush: java;" name="code"&gt;public boolean validate(String numerDO){&lt;br /&gt;int waga[]={7,3,1,0,7,3,1,7,3};&lt;br /&gt;&lt;br /&gt; if(numerDO==null || numerDO.length()!=9)&lt;br /&gt; return false;&lt;br /&gt; int suma=0;&lt;br /&gt; for(int i=0;i&amp;lt;9;i++){&lt;br /&gt;  if(Character.isLetter(numerDO.charAt(i)) &amp;amp;&amp;amp; i&amp;lt;3){&lt;br /&gt; suma+=waga[i]*(numerDO.charAt(i)-'A'+10);&lt;br /&gt;}else if(Character.isDigit(numerDO.charAt(i)) &amp;amp;&amp;amp;i&amp;gt;=3){&lt;br /&gt;suma+=waga[i]*(numerDO.charAt(i)-'0');&lt;br /&gt;}else return false;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;if(((suma%10)+'0')==numerDO.charAt(3))&lt;br /&gt;return true;&lt;br /&gt;return false;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4127067286306172870-3673466920970617379?l=pkarpik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pkarpik.blogspot.com/feeds/3673466920970617379/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://pkarpik.blogspot.com/2010/01/generator-i-walidator-numeru-dowodu.html#comment-form' title='Komentarze (2)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4127067286306172870/posts/default/3673466920970617379'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4127067286306172870/posts/default/3673466920970617379'/><link rel='alternate' type='text/html' href='http://pkarpik.blogspot.com/2010/01/generator-i-walidator-numeru-dowodu.html' title='Generator i walidator numeru dowodu osobistego'/><author><name>pkarpik</name><uri>http://www.blogger.com/profile/06365877650205532574</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_sn591Kg0jbw/Swz-mbQQciI/AAAAAAAARHw/iiDSMQtaJvQ/S220/pkarpik.jpeg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4127067286306172870.post-7058070753903014210</id><published>2010-01-07T14:58:00.002+01:00</published><updated>2010-01-15T20:35:49.962+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EN'/><title type='text'>NIP IBAN GUID REGON PESEL ROT13 generators</title><content type='html'>Generators&lt;br /&gt;&lt;br /&gt;&lt;a href="http://bogus.ovh.org/generatory/nip.html"&gt;NIP&lt;/a&gt;&lt;br /&gt;&lt;a href="http://bogus.ovh.org/generatory/iban.html"&gt;IBAN&lt;/a&gt;&lt;br /&gt;&lt;a href="http://bogus.ovh.org/generatory/guid.html"&gt;GUID&lt;/a&gt;&lt;br /&gt;&lt;a href="http://bogus.ovh.org/generatory/regon.html"&gt;REGON&lt;/a&gt;&lt;br /&gt;&lt;a href="http://bogus.ovh.org/generatory/pesel.html"&gt;PESEL&lt;/a&gt;&lt;br /&gt;&lt;a href="http://bogus.ovh.org/generatory/rot13.html"&gt;Converter ROT13&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;source:&lt;/b&gt;&amp;nbsp;&lt;a href="http://bogus.ovh.org/generatory/"&gt;http://bogus.ovh.org/generatory/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4127067286306172870-7058070753903014210?l=pkarpik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pkarpik.blogspot.com/feeds/7058070753903014210/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://pkarpik.blogspot.com/2010/01/generators-nip-iban-guid-regon-pesel.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4127067286306172870/posts/default/7058070753903014210'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4127067286306172870/posts/default/7058070753903014210'/><link rel='alternate' type='text/html' href='http://pkarpik.blogspot.com/2010/01/generators-nip-iban-guid-regon-pesel.html' title='NIP IBAN GUID REGON PESEL ROT13 generators'/><author><name>pkarpik</name><uri>http://www.blogger.com/profile/06365877650205532574</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_sn591Kg0jbw/Swz-mbQQciI/AAAAAAAARHw/iiDSMQtaJvQ/S220/pkarpik.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4127067286306172870.post-1422566931599684844</id><published>2010-01-07T11:05:00.002+01:00</published><updated>2010-01-15T20:35:31.462+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL'/><title type='text'>Polskie czcionki FOP</title><content type='html'>&lt;b&gt;Polskie czcionki w dokumentach PDF generowanych przez aplikacjie Java z użyciem Apache FOP&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Czynności do wykonania&lt;br /&gt;1. Generacja metryk&lt;br /&gt;2. Ustawienie konfiguracji czcionek&lt;br /&gt;3. Załadowanie konfiguracji czcionek&lt;br /&gt;4. Ustawienie w szablonie wartości family-font nazwą czcionki, dla której wygenerowano metryki&lt;br /&gt;&lt;br /&gt;Realizacja:&lt;br /&gt;1. W katalogu głownym FOPa wykonujemy przykładowe polecenia, w celu wygenerowania metryk dla czcionki Arial oraz jej odmian (pogrubiona, pochylona, itp)&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;java -cp build\fop.jar;lib\avalon-framework.jar;lib\commons-logging-1.0.4.jar;lib\commons-io-1.3.1.jar;lib\xmlgraphics-commons-1.3.1.jar org.apache.fop.fonts.apps.TTFReader C:\WINDOWS\Fonts\arial.TTF arial.xml&lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;java -cp build\fop.jar;lib\avalon-framework.jar;lib\commons-logging-1.0.4.jar;lib\commons-io-1.3.1.jar;lib\xmlgraphics-commons-1.3.1.jar org.apache.fop.fonts.apps.TTFReader C:\WINDOWS\Fonts\ARIALBD.TTF ARIALBD.xml&lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;java -cp build\fop.jar;lib\avalon-framework.jar;lib\commons-logging-1.0.4.jar;lib\commons-io-1.3.1.jar;lib\xmlgraphics-commons-1.3.1.jar org.apache.fop.fonts.apps.TTFReader C:\WINDOWS\Fonts\ARIALBI.TTF ARIALBI.xml&lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;java -cp build\fop.jar;lib\avalon-framework.jar;lib\commons-logging-1.0.4.jar;lib\commons-io-1.3.1.jar;lib\xmlgraphics-commons-1.3.1.jar org.apache.fop.fonts.apps.TTFReader C:\WINDOWS\Fonts\ARIALI.TTF ARIALI.xml&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&amp;nbsp;2. Utworzenie przykładowego pliku zkonfuguracją czcnioek (fonts.xsl)&lt;br /&gt;&lt;blockquote&gt;&amp;nbsp;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;lt;?xml version="1.0"?&amp;gt;&lt;br /&gt;&amp;lt;fop version="1.0"&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;base&amp;gt;.&amp;lt;/base&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;source-resolution&amp;gt;72&amp;lt;/source-resolution&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;target-resolution&amp;gt;72&amp;lt;/target-resolution&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;default-page-settings height="297mm" width="210mm"/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;renderers&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;   &amp;lt;renderer mime="application/pdf"&amp;gt;&lt;br /&gt;&amp;nbsp;     &amp;lt;filterList&amp;gt;&lt;br /&gt;&amp;nbsp;       &amp;lt;value&amp;gt;flate&amp;lt;/value&amp;gt;&lt;br /&gt;&amp;nbsp;     &amp;lt;/filterList&amp;gt;&lt;br /&gt;&amp;nbsp;     &amp;lt;fonts&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;       &amp;lt;font metrics-url="C:/Documents and Settings/pkarpik/Pulpit/fop-0.95/arial.xml" kerning="yes" embed-url="C:/WINDOWS/Fonts/arial.TTF"&amp;gt;&lt;br /&gt;&amp;nbsp;         &amp;lt;font-triplet name="arial" style="normal" weight="normal"/&amp;gt;&lt;br /&gt;&amp;nbsp;       &amp;lt;/font&amp;gt;&lt;br /&gt;&amp;nbsp;      &lt;br /&gt;&amp;nbsp;       &amp;lt;font metrics-url="C:/Documents and Settings/pkarpik/Pulpit/fop-0.95/ARIALBD.xml" kerning="yes" embed-url="C:/WINDOWS/Fonts/ARIALBD.TTF"&amp;gt;&lt;br /&gt;&amp;nbsp;         &amp;lt;font-triplet name="arial" style="normal" weight="bold"/&amp;gt;&lt;br /&gt;&amp;nbsp;       &amp;lt;/font&amp;gt;&lt;br /&gt;&amp;nbsp;      &lt;br /&gt;&amp;nbsp;       &amp;lt;font metrics-url="C:/Documents and Settings/pkarpik/Pulpit/fop-0.95/ARIALBI.xml" kerning="yes" embed-url="C:/WINDOWS/Fonts/ARIALBI.TTF"&amp;gt;&lt;br /&gt;&amp;nbsp;         &amp;lt;font-triplet name="arial" style="italic" weight="bold"/&amp;gt;&lt;br /&gt;&amp;nbsp;       &amp;lt;/font&amp;gt;&lt;br /&gt;&amp;nbsp;      &lt;br /&gt;&amp;nbsp;       &amp;lt;font metrics-url="C:/Documents and Settings/pkarpik/Pulpit/fop-0.95/ARIALI.xml" kerning="yes" embed-url="C:/WINDOWS/Fonts/ARIALI.TTF"&amp;gt;&lt;br /&gt;&amp;nbsp;         &amp;lt;font-triplet name="arial" style="italic" weight="normal"/&amp;gt;&lt;br /&gt;&amp;nbsp;       &amp;lt;/font&amp;gt;&lt;br /&gt;&amp;nbsp;      &lt;br /&gt;&amp;nbsp;     &amp;lt;/fonts&amp;gt;&lt;br /&gt;&amp;nbsp;   &amp;lt;/renderer&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;   &amp;lt;renderer mime="application/postscript"&amp;gt;&lt;br /&gt;&amp;nbsp;   &amp;lt;/renderer&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;   &amp;lt;renderer mime="application/vnd.hp-PCL"&amp;gt;&lt;br /&gt;&amp;nbsp;   &amp;lt;/renderer&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;   &amp;lt;renderer mime="image/svg+xml"&amp;gt;&lt;br /&gt;&amp;nbsp;     &amp;lt;format type="paginated"/&amp;gt;&lt;br /&gt;&amp;nbsp;     &amp;lt;link value="true"/&amp;gt;&lt;br /&gt;&amp;nbsp;     &amp;lt;strokeText value="false"/&amp;gt;&lt;br /&gt;&amp;nbsp;   &amp;lt;/renderer&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;   &amp;lt;renderer mime="application/awt"&amp;gt;&lt;br /&gt;&amp;nbsp;   &amp;lt;/renderer&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;   &amp;lt;renderer mime="image/png"&amp;gt;&lt;br /&gt;&amp;nbsp;   &amp;lt;/renderer&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;   &amp;lt;renderer mime="image/tiff"&amp;gt;&lt;br /&gt;&amp;nbsp;   &amp;lt;/renderer&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;   &amp;lt;renderer mime="text/xml"&amp;gt;&lt;br /&gt;&amp;nbsp;   &amp;lt;/renderer&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;   &amp;lt;renderer mime="text/plain"&amp;gt;&lt;br /&gt;&amp;nbsp;     &amp;lt;pageSize columns="80"/&amp;gt;&lt;br /&gt;&amp;nbsp;   &amp;lt;/renderer&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;/renderers&amp;gt;&lt;br /&gt;&amp;lt;/fop&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;3. Załadowanie konfiguracji czcionek&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;FopFactory fopFactory = FopFactory.newInstance();&lt;br /&gt;DefaultConfigurationBuilder cfgBuilder = new DefaultConfigurationBuilder();&lt;br /&gt;File file = new File("C:/Documents and Settings/pkarpik/workspace/Fop/src/fop/tutorial/fon.xsl");&lt;br /&gt;Configuration cfg = cfgBuilder.buildFromFile(file);&lt;br /&gt;fopFactory.setUserConfig(cfg);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/blockquote&gt;4. Ustawienie w szablonie wartości family-font nazwą czcionki, dla której wygenerowano metryki&lt;br /&gt;&lt;blockquote&gt;&amp;nbsp;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;lt;fo:block font-family="arial"&amp;gt;&amp;lt;/fo:block&amp;gt;&lt;/span&gt; &lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Źródła:&lt;br /&gt;&lt;a href="http://xmlgraphics.apache.org/fop/0.94/fonts.html"&gt;http://xmlgraphics.apache.org/fop/0.94/fonts.html&amp;nbsp;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blog.dosiek.pl/?p=31"&gt;http://blog.dosiek.pl/?p=31&lt;/a&gt;&lt;br /&gt;&lt;a href="http://old.nabble.com/Embed-Fonts-in-PDF-using-Java-td26112969.html"&gt;http://old.nabble.com/Embed-Fonts-in-PDF-using-Java-td26112969.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4127067286306172870-1422566931599684844?l=pkarpik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pkarpik.blogspot.com/feeds/1422566931599684844/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://pkarpik.blogspot.com/2010/01/polskie-czcinki-fop.html#comment-form' title='Komentarze (2)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4127067286306172870/posts/default/1422566931599684844'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4127067286306172870/posts/default/1422566931599684844'/><link rel='alternate' type='text/html' href='http://pkarpik.blogspot.com/2010/01/polskie-czcinki-fop.html' title='Polskie czcionki FOP'/><author><name>pkarpik</name><uri>http://www.blogger.com/profile/06365877650205532574</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_sn591Kg0jbw/Swz-mbQQciI/AAAAAAAARHw/iiDSMQtaJvQ/S220/pkarpik.jpeg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4127067286306172870.post-6793867615637192986</id><published>2009-12-31T13:05:00.000+01:00</published><updated>2010-01-15T20:35:49.962+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EN'/><title type='text'>Open file in Java by default application</title><content type='html'>&lt;blockquote&gt;Desktop.getDesktop().open(new File(filePath);&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4127067286306172870-6793867615637192986?l=pkarpik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pkarpik.blogspot.com/feeds/6793867615637192986/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://pkarpik.blogspot.com/2009/12/open-file-in-java-by-default.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4127067286306172870/posts/default/6793867615637192986'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4127067286306172870/posts/default/6793867615637192986'/><link rel='alternate' type='text/html' href='http://pkarpik.blogspot.com/2009/12/open-file-in-java-by-default.html' title='Open file in Java by default application'/><author><name>pkarpik</name><uri>http://www.blogger.com/profile/06365877650205532574</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_sn591Kg0jbw/Swz-mbQQciI/AAAAAAAARHw/iiDSMQtaJvQ/S220/pkarpik.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4127067286306172870.post-2411465815795628648</id><published>2009-12-29T10:28:00.003+01:00</published><updated>2010-01-15T20:35:49.962+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EN'/><title type='text'>JAVA_HOME and JRE_HOME environment variables</title><content type='html'>&lt;b&gt;Windows 2000/X&lt;/b&gt;P&lt;br /&gt;&lt;br /&gt;1. Open up the system properties (WinKey + Pause), selecting the "Advanced" tab, and the "Environment Variables" button.&lt;br /&gt;&lt;br /&gt;2. In this dialog, make sure that JAVA_HOME exists in your user variables or in the system variables and it is set to the location of your JDK, e.g. C:\Program Files\Java\jdk1.5.0_02 and that %JAVA_HOME%\bin or %JRE_HOME% is in your Path environment variable. If not:&lt;br /&gt;&lt;br /&gt;3. Add the JAVA_HOME environment variable by  then adding the JAVA_HOME variable in the user variables with the value C:\Program Files\Java\jdk1.5.0_02. Be sure to omit any quotation marks around the path even if it contains spaces. &lt;b&gt;Note&lt;/b&gt;: Also be sure that the JAVA_HOME doesn't have a '\' as last character.&lt;br /&gt;&lt;br /&gt;4. In the same dialog, add the JRE_HOME environment variable in the user variables with the value %JAVA_HOME%\bin.&lt;br /&gt;&lt;br /&gt;5. In the same dialog, update/create the Path environment variable in the user variables and prepend the value %JRE_HOME% to add Java available in the command line.&lt;br /&gt;&lt;br /&gt;6. Open a new command prompt (Winkey + R then type cmd) and run &lt;blockquote&gt;cd %JAVA_HOME%&lt;/blockquote&gt;to verify that it is correctly added.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4127067286306172870-2411465815795628648?l=pkarpik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pkarpik.blogspot.com/feeds/2411465815795628648/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://pkarpik.blogspot.com/2009/12/javahome-and-jrehome-environment.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4127067286306172870/posts/default/2411465815795628648'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4127067286306172870/posts/default/2411465815795628648'/><link rel='alternate' type='text/html' href='http://pkarpik.blogspot.com/2009/12/javahome-and-jrehome-environment.html' title='JAVA_HOME and JRE_HOME environment variables'/><author><name>pkarpik</name><uri>http://www.blogger.com/profile/06365877650205532574</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_sn591Kg0jbw/Swz-mbQQciI/AAAAAAAARHw/iiDSMQtaJvQ/S220/pkarpik.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4127067286306172870.post-6520066976355994549</id><published>2009-11-25T10:56:00.000+01:00</published><updated>2010-01-15T20:35:49.964+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EN'/><title type='text'>WEP cracking</title><content type='html'>&lt;span style="font-weight:bold;"&gt;Terminal 1&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;1. airmon-ng&lt;br /&gt;2. airmon-ng stop (interface)&lt;br /&gt;3. ifconfig (interface) down&lt;br /&gt;4. macchanger --mac 00:11:22:33:44:55 (interface)&lt;br /&gt;5. airmon-ng start (interface)&lt;br /&gt;6. airodump-ng (interface)&lt;br /&gt;&lt;br /&gt;7. airodump-ng -c (channel) -w (file name) -- bssid (bssid) (interface)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Terminal 2&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;8. aireplay-ng -1 0 -a (bssid) -h 00:11:22:33:44:55 -e (essid) (interface)&lt;br /&gt;9. aireplay-ng -3 -b (bssid) -h 00:11:22:33:44:55 (interface)&lt;br /&gt;10. aircrack-ng -b (bssid) (file name-01.cap)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4127067286306172870-6520066976355994549?l=pkarpik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pkarpik.blogspot.com/feeds/6520066976355994549/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://pkarpik.blogspot.com/2009/11/wep-cracking.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4127067286306172870/posts/default/6520066976355994549'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4127067286306172870/posts/default/6520066976355994549'/><link rel='alternate' type='text/html' href='http://pkarpik.blogspot.com/2009/11/wep-cracking.html' title='WEP cracking'/><author><name>pkarpik</name><uri>http://www.blogger.com/profile/06365877650205532574</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_sn591Kg0jbw/Swz-mbQQciI/AAAAAAAARHw/iiDSMQtaJvQ/S220/pkarpik.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4127067286306172870.post-5606085690562445589</id><published>2009-11-24T22:01:00.000+01:00</published><updated>2010-01-15T20:35:49.964+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EN'/><title type='text'>Global 3G - connect to the internet using modem/mobile phone on Linux</title><content type='html'>I used Global 3G to initialize connection with Huawei E169. &lt;br /&gt;Dont't wait until program stoped the non paid timer, just refresh the page and the connection should be working.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.global3g.strony.pl/"&gt;www.global3g.strony.pl&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4127067286306172870-5606085690562445589?l=pkarpik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pkarpik.blogspot.com/feeds/5606085690562445589/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://pkarpik.blogspot.com/2009/11/global-3g-connect-to-internet-using.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4127067286306172870/posts/default/5606085690562445589'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4127067286306172870/posts/default/5606085690562445589'/><link rel='alternate' type='text/html' href='http://pkarpik.blogspot.com/2009/11/global-3g-connect-to-internet-using.html' title='Global 3G - connect to the internet using modem/mobile phone on Linux'/><author><name>pkarpik</name><uri>http://www.blogger.com/profile/06365877650205532574</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_sn591Kg0jbw/Swz-mbQQciI/AAAAAAAARHw/iiDSMQtaJvQ/S220/pkarpik.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4127067286306172870.post-7253578305575068738</id><published>2009-10-07T12:18:00.000+02:00</published><updated>2010-01-15T20:35:49.964+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EN'/><title type='text'>JRockit Mission Control</title><content type='html'>&lt;blockquote&gt;&lt;/blockquote&gt;To start JRockit Mission Control type&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;./jrmc&lt;/blockquote&gt;&lt;br /&gt;in ../jrockit_home/bin&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Add new connection&lt;br /&gt;host and port&lt;br /&gt;or&lt;br /&gt;JMX service URL: service:jmx:rmi:///jndi/rmi://host:port/jmxrmi&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;To start jrcmd type&lt;br /&gt;&lt;br /&gt;./jrcmd -p&lt;br /&gt;&lt;br /&gt;to see the port of procces (pid)&lt;br /&gt;&lt;br /&gt;./jrcmd pid start_management_server port=7026 authenticate=false ssl=false&lt;br /&gt;&lt;br /&gt;to stop teh server type&lt;br /&gt;&lt;br /&gt;./jrcmd 27442 kill_management_server&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4127067286306172870-7253578305575068738?l=pkarpik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pkarpik.blogspot.com/feeds/7253578305575068738/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://pkarpik.blogspot.com/2009/10/jrockit-mission-control.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4127067286306172870/posts/default/7253578305575068738'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4127067286306172870/posts/default/7253578305575068738'/><link rel='alternate' type='text/html' href='http://pkarpik.blogspot.com/2009/10/jrockit-mission-control.html' title='JRockit Mission Control'/><author><name>pkarpik</name><uri>http://www.blogger.com/profile/06365877650205532574</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_sn591Kg0jbw/Swz-mbQQciI/AAAAAAAARHw/iiDSMQtaJvQ/S220/pkarpik.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4127067286306172870.post-2651305063096688376</id><published>2009-10-01T23:44:00.000+02:00</published><updated>2010-01-15T20:35:49.965+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EN'/><title type='text'>How to extract a PostgreSQL table into a file</title><content type='html'>&lt;span style="color: rgb(0, 0, 0);"&gt;In command line type:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);font-size:85%;" &gt;funfin@funfin:~$ &lt;b&gt;pg_dump -i -h &lt;span style="color: rgb(51, 204, 0);"&gt;data_base_host &lt;/span&gt; -t &lt;span style="color: rgb(51, 204, 0);"&gt;table_name&lt;/span&gt; -f &lt;span style="color: rgb(51, 255, 51);"&gt;file_name.sql&lt;/span&gt;   &lt;span style="color: rgb(51, 255, 51);"&gt;dbname&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4127067286306172870-2651305063096688376?l=pkarpik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pkarpik.blogspot.com/feeds/2651305063096688376/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://pkarpik.blogspot.com/2009/10/how-to-extract-postgresql-table-into.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4127067286306172870/posts/default/2651305063096688376'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4127067286306172870/posts/default/2651305063096688376'/><link rel='alternate' type='text/html' href='http://pkarpik.blogspot.com/2009/10/how-to-extract-postgresql-table-into.html' title='How to extract a PostgreSQL table into a file'/><author><name>pkarpik</name><uri>http://www.blogger.com/profile/06365877650205532574</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_sn591Kg0jbw/Swz-mbQQciI/AAAAAAAARHw/iiDSMQtaJvQ/S220/pkarpik.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4127067286306172870.post-7738733731138264321</id><published>2009-10-01T22:53:00.000+02:00</published><updated>2010-01-15T20:35:49.965+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EN'/><title type='text'>Welcome</title><content type='html'>Welcome on my blog. For me ,this blog is something like 'Yellow pages', so I will mostly make posts a la 'Howto'.&lt;br /&gt;&lt;br /&gt;I have hope that You will find somethig interesting here.&lt;br /&gt;&lt;br /&gt;I really sorry for my English:)&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4127067286306172870-7738733731138264321?l=pkarpik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pkarpik.blogspot.com/feeds/7738733731138264321/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://pkarpik.blogspot.com/2009/10/welcome.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4127067286306172870/posts/default/7738733731138264321'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4127067286306172870/posts/default/7738733731138264321'/><link rel='alternate' type='text/html' href='http://pkarpik.blogspot.com/2009/10/welcome.html' title='Welcome'/><author><name>pkarpik</name><uri>http://www.blogger.com/profile/06365877650205532574</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_sn591Kg0jbw/Swz-mbQQciI/AAAAAAAARHw/iiDSMQtaJvQ/S220/pkarpik.jpeg'/></author><thr:total>0</thr:total></entry></feed>
