<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>AlbDevNet &#187; Java</title>
	<atom:link href="http://www.albdevnet.com/category/java/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.albdevnet.com</link>
	<description>Albanian Developer Networ &#124; Rrjeti i programatoreve shqiptare</description>
	<lastBuildDate>Thu, 29 Apr 2010 09:28:37 +0000</lastBuildDate>
	<language>sq</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.5</generator>
		<item>
		<title>vaadin &#8211; layout direkt ne java</title>
		<link>http://www.albdevnet.com/2009/07/20/vaadin-layout-direkt-ne-java/</link>
		<comments>http://www.albdevnet.com/2009/07/20/vaadin-layout-direkt-ne-java/#comments</comments>
		<pubDate>Mon, 20 Jul 2009 08:00:32 +0000</pubDate>
		<dc:creator>eltonkola</dc:creator>
				<category><![CDATA[Aplikacione web 2.0]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.albdevnet.com/?p=246</guid>
		<description><![CDATA[Faqja e projekti eshte: http://vaadin.com, ky eshte nje framework ne java per te realizuar frontendi e nje projekti duke perdorur vetem java. Komoditeti i kesaj librarie eshte krijimi i aplikacioneve web, sikur te ishin aplikacione desktop.]]></description>
			<content:encoded><![CDATA[<p>Faqja e projekti eshte: <a href="http://vaadin.com" target="_blank">http://vaadin.com</a>, ky eshte nje framework ne java per te realizuar frontendi e nje projekti duke perdorur vetem java.</p>
<p>Komoditeti i kesaj librarie eshte krijimi i aplikacioneve web, sikur te ishin aplikacione desktop.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.albdevnet.com/2009/07/20/vaadin-layout-direkt-ne-java/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Te konvertojme nje BigDecimal ne valute &#8211; java</title>
		<link>http://www.albdevnet.com/2008/08/27/te-konvertojme-nje-bigdecimal-ne-valute-java/</link>
		<comments>http://www.albdevnet.com/2008/08/27/te-konvertojme-nje-bigdecimal-ne-valute-java/#comments</comments>
		<pubDate>Wed, 27 Aug 2008 14:37:31 +0000</pubDate>
		<dc:creator>eltonkola</dc:creator>
				<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.albdevnet.com/?p=150</guid>
		<description><![CDATA[Ne java valuten mund ta shprehim si BigDecimal, por me pas mund te kemi kliente qe duan ta shikojne ne formen 10.000,12 ku pika ndan mijrat dhe presja jep pjesen e qindarkave. Bigdecimal ne realitet ruan 10000.12. Per te bere kete, une kam perdorur nje funksion te thjeshte, te cilin mund te optimizoni vete. Funksioni [...]]]></description>
			<content:encoded><![CDATA[<p>Ne java valuten mund ta shprehim si BigDecimal, por me pas mund te kemi kliente qe duan ta shikojne ne formen 10.000,12 ku pika ndan mijrat dhe presja jep pjesen e qindarkave. Bigdecimal ne realitet ruan 10000.12. Per te bere kete, une kam perdorur nje funksion te thjeshte, te cilin mund te optimizoni vete.<span id="more-150"></span></p>
<p>Funksioni ka dy parametra, perdorimi duhet te jete i formes:</p>
<p>getFormatValute(BigDecimal, null), ose getFormatValute(null,&#8221;10124.12&#8243;), sepse mund te kemi si input edhe nje string.</p>
<pre lang='java'>

public String getFormatValute(BigDecimal valuta, String strValuta){
	String rezultati;
	String plote="";
	String dhjetore="";

	if(valuta!=null){
		rezultati=valuta.setScale(2,BigDecimal.ROUND_HALF_UP).toPlainString();
	}else{
		rezultati=strValuta;
	}
	if(rezultati!=null){
	int pika=rezultati.indexOf(".");
	int fund=rezultati.length();

	if(pika>-1){
		dhjetore=rezultati.substring(pika+1, fund);
		plote=rezultati.replace("." + dhjetore , "");
	}else{
		dhjetore="00";
		plote=rezultati;
	}

	int i=plote.length();
	int j=i;
	String intPika="";
	while(i>0){
		j=i;
		i=i-3;
		if(i>0){
			intPika= "." + plote.substring(i,j) + intPika;
		}
	}
	if(j>0){
		intPika= plote.substring(0,j) + intPika;
	}
	if(intPika.indexOf(".")==0){
		intPika=intPika.substring(1,intPika.length());
	}

	plote=intPika;

	}else{
		plote="0";
		dhjetore="00";
	}
	return plote + "," + dhjetore;
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.albdevnet.com/2008/08/27/te-konvertojme-nje-bigdecimal-ne-valute-java/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Si te marrim nje liste fjalesh nga nje stringe</title>
		<link>http://www.albdevnet.com/2008/08/08/si-te-marrim-nje-liste-fjalesh-nga-nje-stringe/</link>
		<comments>http://www.albdevnet.com/2008/08/08/si-te-marrim-nje-liste-fjalesh-nga-nje-stringe/#comments</comments>
		<pubDate>Fri, 08 Aug 2008 12:26:42 +0000</pubDate>
		<dc:creator>eltonkola</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[shembuj]]></category>

		<guid isPermaLink="false">http://www.albdevnet.com/?p=147</guid>
		<description><![CDATA[Shpeshere ndodh qe nje servleti ti kalojme nje array javascript si parameter http, apo te kemi nje stringe me nje formatim te caktuar, atehere ne nje klase testi kemi perdorur klasen StringTokenizer per te copetuar stringen e per te lexuar tere nenelementet. Ne rastin konkret do kemi nje stringe me disa gjuhe programimi e teknologji, [...]]]></description>
			<content:encoded><![CDATA[<p>Shpeshere ndodh qe nje servleti ti kalojme nje array javascript si parameter http, apo te kemi nje stringe me nje formatim te caktuar, atehere ne nje klase testi kemi perdorur klasen StringTokenizer per te copetuar stringen e per te lexuar tere nenelementet.<br />
Ne rastin konkret do kemi nje stringe me disa gjuhe programimi e teknologji, e duam nje liste stringash, kodi do ishte si i meposhtmi:<span id="more-147"></span></p>
<pre lang="java">import java.util.*;
public class AdnTestStringTokenizer {

	public static void main(String [] args) {
			//stringa ime
			String test1="java,asp,php,html,css,ajax,web";
			//opbjekti StringTokenizer, me stringen qe dua te elaboroj dhe "," per ti thene se dua fjalet e ndara me nje presje
	        StringTokenizer tokuIm = new StringTokenizer(test1,",");
	        //lista qe dua te populloj
			List fjalet= new ArrayList();
			//cikli i skrollimit te tere fjaleve
	        while (tokuIm.hasMoreElements()){
	        		String fjala=(String)tokuIm.nextElement();
	                System.out.println("Element: " + fjala);
	                fjalet.add(fjala);
	        }
			//rezultati final
	        System.out.println("Lista ka : " + fjalet.size() + " fjale !");
	}

}
</pre>
<p>ky eshte nje shembull i thjeshte, por i dobishem, ne pordorimin e perditshem.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.albdevnet.com/2008/08/08/si-te-marrim-nje-liste-fjalesh-nga-nje-stringe/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eclipse &#8211; ambienti juaj i preferuar</title>
		<link>http://www.albdevnet.com/2008/07/17/eclipse-ambienti-juaj-i-preferuar/</link>
		<comments>http://www.albdevnet.com/2008/07/17/eclipse-ambienti-juaj-i-preferuar/#comments</comments>
		<pubDate>Thu, 17 Jul 2008 09:53:23 +0000</pubDate>
		<dc:creator>eltonkola</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[ide]]></category>

		<guid isPermaLink="false">http://www.albdevnet.com/?p=123</guid>
		<description><![CDATA[Eclipse eshte nje ide universal. Programuar teresisht ne java, bazuar mbi SWT (The Standard Widget Toolkit), ofron ambient te shpejte zhvillimi per cdo gjuhe programimi, si per java, c, c++, javascript web etj. Shkarikoni versionin e fundit qe ju interesaon nga faqja zyrtare e projektit. Ky ambient duke qene bazuar mbi java, eshte multiplataforme, personalisht [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-medium wp-image-124" title="eclipse_ide" src="http://www.albdevnet.com/wp-content/uploads/2008/07/eclipse_ide.jpg" alt="" width="232" height="153" />Eclipse eshte nje ide universal. Programuar teresisht ne java, bazuar mbi SWT (The Standard Widget Toolkit), ofron ambient te shpejte zhvillimi per cdo gjuhe programimi, si per java, c, c++, javascript web etj. Shkarikoni versionin e fundit qe ju interesaon nga <a href="http://www.eclipse.org/" target="_blank">faqja zyrtare</a> e projektit. Ky ambient duke qene bazuar mbi java, eshte multiplataforme, personalisht nen linux kam pare nje stabilitet dhe shpejte me te vertete unike.<span id="more-123"></span></p>
<p>Eclipse fillimisht eshte zhvilluar si nje projekt brenda IBM, me pas eshte shkeputur si projekt ne vete, i hapurt ndaj te gjitheve duke krijuar nje fondacion. Versioni i fundit ganymede, ka dalur pak kohe me pare, dhe e ben kete ambient akoma me te vlefshem, qendrueshem e komplet.</p>
<p>Nese e njihni qe me pare kete ambient, atehere me siguri njihni pikat e forta te ketij ambienti, si autodeploy, komunikimin dhe kontrollin direkt te nje webserveri (tomcat, websphere etj), shkrimin e lehte te kodit java, autokompletimin e kodit, autogjenerimin e javadocs, integrimimin e lehte dhe potent me ant, etj.</p>
<p style="text-align: center;"><a href="http://www.albdevnet.com/wp-content/uploads/2008/07/eclipseganymedeel.jpg"><img class="alignnone size-medium wp-image-125" title="eclipseganymedeel" src="http://www.albdevnet.com/wp-content/uploads/2008/07/eclipseganymedeel.jpg" target="_blank" alt="" width="489" height="353" /></a></p>
<p style="text-align: left;">Ky ishte vetem nje artikull prezantuaj, ne vijim do te kemi rastin qe te hyjme ne detaje e funksionalitete te tjera te ketij ambienti.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.albdevnet.com/2008/07/17/eclipse-ambienti-juaj-i-preferuar/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ant &#8211; te komunkojme me nje file java</title>
		<link>http://www.albdevnet.com/2008/07/07/ant-te-komunkojme-me-nje-file-java/</link>
		<comments>http://www.albdevnet.com/2008/07/07/ant-te-komunkojme-me-nje-file-java/#comments</comments>
		<pubDate>Mon, 07 Jul 2008 14:27:41 +0000</pubDate>
		<dc:creator>eltonkola</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[ant]]></category>

		<guid isPermaLink="false">http://www.albdevnet.com/?p=104</guid>
		<description><![CDATA[E zeme se ne proceduren tone duam te perdorim versionin e nje pjese te kodit, aponte projektit per emrat e faileve, librarive, apo te krijojme direktori ne baze te versionit etj, atehere le te therrasim ne eksekutim nje klase java nga ant, dhe aoutputin ta ruajme ne nje ndryshore. Krijojme nje classpath ku ndodhet projekti [...]]]></description>
			<content:encoded><![CDATA[<p>E zeme se ne proceduren tone duam te perdorim versionin e nje pjese te kodit, aponte projektit per emrat e faileve, librarive, apo te krijojme direktori ne baze te versionit etj, atehere le te therrasim ne eksekutim nje klase java nga ant, dhe aoutputin ta ruajme ne nje ndryshore.<br />
<span id="more-104"></span><br />
Krijojme nje classpath ku ndodhet projekti yne, e me pas therrasim nje klase qe ka njemetode main:</p>
<pre lang='xml'>
<!--dipendencat e mia java-->
<path id="test.classpath">
<pathelement location="${projekti}/testAnt/build/classes" />
<pathelement location="${librariaNevojshme}" />
</path>
<!--therras metoden mailn e klases Versioni-->
<java classname="com.albdevnet.testAnt.Versioni" outputproperty="versioni">
  <classpath refid="test.classpath" />
</java>
</pre>
<p>tani do kemi nje dnryshore &#8220;versioni&#8221; me vlere ate qe ben return metoda main e klases Versioni qe duhet te jete e ngjashme me:</p>
<pre lang='java'>
package com.albdevnet.testAnt;
public class Versioni {

	public static final String getVersion () {
		return "1 rc 1;
	}

	public static void main (String[] args) {
        System.out.print(getVersion());
    }
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.albdevnet.com/2008/07/07/ant-te-komunkojme-me-nje-file-java/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ant &#8211; te bejme deploy te nje projekti war , ne nje server me ant.</title>
		<link>http://www.albdevnet.com/2008/07/06/ant-te-bejme-deploy-te-nje-projekti-war-ne-nje-server-me-ant/</link>
		<comments>http://www.albdevnet.com/2008/07/06/ant-te-bejme-deploy-te-nje-projekti-war-ne-nje-server-me-ant/#comments</comments>
		<pubDate>Sun, 06 Jul 2008 09:15:57 +0000</pubDate>
		<dc:creator>eltonkola</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[ant]]></category>

		<guid isPermaLink="false">http://www.albdevnet.com/?p=103</guid>
		<description><![CDATA[Pasi te kemi krijuar aplikacionin tone web, bazuar mbi java e liberari te ndryshme, pasi e kemi paketuar ne nje file war me ndihmen e tutorialeve te meparshme, e pasi e kemi testuar mbi nje webserver lokal, dhe jemi te sigurte qe gjithka eshte ok, atehere na mungon pjesa e instalimit automatik nga ant ne [...]]]></description>
			<content:encoded><![CDATA[<p>Pasi te kemi krijuar aplikacionin tone web, bazuar mbi java e liberari te ndryshme, pasi e kemi paketuar ne nje file war me ndihmen e tutorialeve te meparshme, e pasi e kemi testuar mbi nje webserver lokal, dhe jemi te sigurte qe gjithka eshte ok, atehere na mungon pjesa e instalimit automatik nga ant ne nje apo me shume servera.<span id="more-103"></span></p>
<p>Po te ishim ne te njetin server ku tomcat eshte i instaluar atehere mudn te perdornim task-et qe tomcat na ofron me:</p>
<pre lang='xml'>
  <taskdef name="install" classname="org.apache.catalina.ant.InstallTask"/>
  <taskdef name="list"    classname="org.apache.catalina.ant.ListTask"/>
  <taskdef name="reload"  classname="org.apache.catalina.ant.ReloadTask"/>
  <taskdef name="remove"  classname="org.apache.catalina.ant.RemoveTask"/>

  <!--mos harroni te deklaroni me pare dnryshoret manager.url,manager.username, manager.password, app.path e  build.home -->

  <install url="${manager.url}"
        		 username="${manager.username}"
        		 password="${manager.password}"
            	 path="${app.path}"
             	 war="file://${build.home}"/>
</pre>
<p>por nese tomcat eshte ne nje tjeter server, atehere jemi te detyruar te perdorim nje menyre tjeter, me kerkse http direkt nga manger i tocat:<br />
le te eliminojme nje projekt:</p>
<pre lang='xml'>
<get src="${manager.url}/remove?path=/${programi.emri}" dest="${tempDir}/undeploy.log" username="${manager.username}" password="${manager.password}"/>
</pre>
<p>ne kete rast kemi bere direkt nje thirrje serverletit te tomcat  (nese manager ehste i instaluar ne tomcat-in tuaj)</p>
<p>Per te instalur nje war, ne menyre analoge:</p>
<pre lang='xml'>
<get src="${server.preprod}/html/deploy?deployPath=/${programi.emri}&amp;deployConfig=&amp;deployWar=/root/dokumenta/${programi.emri}.war" dest="${tempDir}/deploy.html"   username="${manager.username}" password="${manager.password}"/>
</pre>
<p>ne dy rastet do te kemi faile me rezultatin (deshtim, ose konfermim, qe gjithcka te kete shuar ok).</p>
<p>nje procedure te tille mund ta perdorni disa here rresht, duke bere instalimi ne servera te dnryshem.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.albdevnet.com/2008/07/06/ant-te-bejme-deploy-te-nje-projekti-war-ne-nje-server-me-ant/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ant-contrib , task-e per ant qe mungonin</title>
		<link>http://www.albdevnet.com/2008/07/05/ant-contrib-task-e-per-ant-qe-mungonin/</link>
		<comments>http://www.albdevnet.com/2008/07/05/ant-contrib-task-e-per-ant-qe-mungonin/#comments</comments>
		<pubDate>Sat, 05 Jul 2008 08:00:55 +0000</pubDate>
		<dc:creator>eltonkola</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[ant]]></category>
		<category><![CDATA[contrib]]></category>

		<guid isPermaLink="false">http://www.albdevnet.com/?p=101</guid>
		<description><![CDATA[Per te bere me te vertete gjithcka me ant, duhet me siguri te instalojme ant-contrib, qe na lejon te veme kodicione is if, for, foreach, switch etj (per listen e plote shikoni dokumentacionin). Pasi te shkarikojme librarine dhe ta shtojme ne burimet e ant (me anet te konfigurimit si ne faqen zyrtare apo ne ate [...]]]></description>
			<content:encoded><![CDATA[<p>Per te bere me te vertete gjithcka me ant, duhet me siguri te instalojme <a href="http://ant-contrib.sourceforge.net" target="_blank">ant-contrib</a>, qe na lejon te veme kodicione is if, for, foreach, switch etj (per listen e plote shikoni <a href="http://ant-contrib.sourceforge.net/tasks/tasks/index.html" target="_blank">dokumentacionin</a>).<span id="more-101"></span><br />
Pasi te shkarikojme librarine dhe ta shtojme ne burimet e ant (me anet te konfigurimit si ne faqen zyrtare apo ne ate te eclipse, analoge me ate qe beme ne artikullin e kaluar ), por kaq nuk mjafton, ne failin build.xml duhet te bejme nje deklrim te tille:</p>
<pre lang='xml'>
<taskdef resource="net/sf/antcontrib/antlib.xml">
	        <classpath>
<pathelement location="c:\adresajuajkukeniruajturfailin\ant-contrib-1.0b3.jar"/>
	        </classpath>
</taskdef>
</pre>
<p>me pas mund te perdorim tasket qe na pelqejne, shembull i nje if</p>
<pre lang='xml'>

<if>
 <equals arg1="${ndryshore}" arg2="vlere" />
<then>
             <echo message="Kushti eshte i vertete"/>
   </then>
</if>
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.albdevnet.com/2008/07/05/ant-contrib-task-e-per-ant-qe-mungonin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ant &#8211; te trasportojme nje fail ne sje server me ssh</title>
		<link>http://www.albdevnet.com/2008/07/04/ant-te-trasportojme-nje-fail-ne-sje-server-me-ssh/</link>
		<comments>http://www.albdevnet.com/2008/07/04/ant-te-trasportojme-nje-fail-ne-sje-server-me-ssh/#comments</comments>
		<pubDate>Fri, 04 Jul 2008 08:52:48 +0000</pubDate>
		<dc:creator>eltonkola</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[ant]]></category>

		<guid isPermaLink="false">http://www.albdevnet.com/?p=98</guid>
		<description><![CDATA[Ashtu si u tregova ne artikullin e meparshem, nje nga fazat e publikimit te nje projekti mund te jete trasportimi i nje faili (apo me shume se nje faili) ne nje server te jashtem (edhe nga lan-i) juaj, duke bere nje lidhje ssh. Per kete duhet te perdorim taskun , qe fatkeqesiht nuk eshte ne [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-medium wp-image-100" title="jcraftlogo" src="http://www.albdevnet.com/wp-content/uploads/2008/06/jcraftlogo.png" alt="" />Ashtu si u tregova ne artikullin e meparshem, nje nga fazat e publikimit te nje projekti mund te jete trasportimi i nje faili (apo me shume se nje faili) ne nje server te jashtem (edhe nga lan-i) juaj, duke bere nje lidhje ssh. Per kete duhet te perdorim taskun , qe fatkeqesiht nuk eshte ne core te ant.<span id="more-98"></span><br />
Fillimisht shkojme dhe shkarikojme librarine e duhur nga <a href="http://www.jcraft.com/jsch/">faqja zyretare</a>. Tani duhet ta konfigurojme per ant.<br />
Nese perdorni eclipse si une, atehere me poshte mund te shikoni nje pamje te konfigurimit te librarise ne burimet e ant (Window&gt;Preferences&gt;Ant&gt;Runtime&gt; Global Entries, add external jars) .</p>
<p style="text-align: center;"><img class="alignnone size-medium wp-image-99" title="jsch_1" src="http://www.albdevnet.com/wp-content/uploads/2008/06/jsch_1.jpg" alt="" width="479" height="418" /></p>
<p style="text-align: left;">Tani mund te shruajme brenda taskeve tona kodin e nevojshem si psh:</p>
<pre lang="xml">
</pre>
<p>pa trust=&#8221;true&#8221; mund te keni gabim certifikate&#8230;<br />
Tjeter komande shume interesante eshte eksekutimi i komande ne serverin ne server, psh te lejojme qe tomcat per kete te drejta mbi nje direktori:</p>
<pre lang="xml">
</pre>
<p>Ne artikujt e ardhshem do te mundohemi qe te shpjegojme taske te tjera dhe strumente te dobishme per te shfrytezuar ne maksimum ant ne projektet tona.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.albdevnet.com/2008/07/04/ant-te-trasportojme-nje-fail-ne-sje-server-me-ssh/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ant &#8211; komandat krysore per te nisur</title>
		<link>http://www.albdevnet.com/2008/07/03/ant-komandat-krysore-per-te-nisur/</link>
		<comments>http://www.albdevnet.com/2008/07/03/ant-komandat-krysore-per-te-nisur/#comments</comments>
		<pubDate>Thu, 03 Jul 2008 13:24:49 +0000</pubDate>
		<dc:creator>eltonkola</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[ant]]></category>

		<guid isPermaLink="false">http://www.albdevnet.com/?p=102</guid>
		<description><![CDATA[Ne artikujt e meparshem kemi bere prezantimim e ant, ne kete artikull do te prezantohemi me komandat kryesore me te cilat te krijojme fauilin tone build.xml. Menyra me e mrie ehste q et uleni dhe ti testoni nje nga nje, e nese kemi pyetje apo veshtiresi, shruani ne forum, ose komentoni ketu poshte. Krijimi i [...]]]></description>
			<content:encoded><![CDATA[<p>Ne artikujt e meparshem kemi bere prezantimim e ant, ne kete artikull do te prezantohemi me komandat kryesore me te cilat te krijojme fauilin tone build.xml. Menyra me e mrie ehste q et uleni dhe ti testoni nje nga nje, e nese kemi pyetje apo veshtiresi, shruani ne forum, ose komentoni ketu poshte.<br />
<span id="more-102"></span><br />
Krijimi i nje drnyshoreje (po u kalua nje parameter me ate emer, mbivendoset vlera):</p>
<pre lang='xml'>
<property name="ndryshorja" value="vlera"/>
</pre>
<p>Shkruaj dicka:</p>
<pre lang='xml'>
<echo message="Gjithcka ok!"/>
</pre>
<p>Perdorimi i paremtrave:<br />
Psh duam te shkruajme pershendtje perdorues</p>
<pre lang='xml'>
<property name="perorues" value="adn"/>
<echo message="Pershendetje ${perorues}"/>
</pre>
<p>Te ruash ne ndryshoren &#8220;dataSot&#8221; ,daten e sotme ne nje format te caktuar:</p>
<pre lang='xml'>
<tstamp>
<format property="dataSot" pattern="yyyy-MM-dd" locale="it,IT"/>
</tstamp>
</pre>
<p>Te kopjosh nje direktori ne nje tjeter:</p>
<pre lang='xml'>
<copy todir="${adresa1}/nga">
    <fileset dir="${adresa2}/dikutjeter"/>
</copy>
</pre>
<p>Kopjo nje fail (overwrite opsion per te mbishkruar failin):</p>
<pre lang='xml'>
<copy file="${adresaime}/test.sql" todir="${dikutjeter}/Sql"  overwrite="true"/>
</pre>
<p>Thirr nje metode ant, nga nje tjeter, me parametra te ndryshme: </p>
<pre lang='xml'>
<antcall target="publiko">
<param name="parametri1" value="vlera1"/>
<param name="parametri2" value="vlera2"/>
</antcall>
</pre>
<p>Nje funksion (target) i thjeshte:<br />
name: emri i funskioni, nuk duhen dy njelloj<br />
depends: eksekutohet para se te eksekutoje kete metode<br />
description: pershkrimi, te dokumentosh ehste gjithmone mire..</p>
<pre lang='xml'>
<target name="bejDicka" depends="pregatit" description="Pershrkimi">
<!--nje koment-->
</target>
</pre>
<p>Fshi nje direktori:</p>
<pre lang='xml'>
<delete dir="${adresa}/kot"/>
</pre>
<p>Fshij nje file:</p>
<pre lang='xml'>
<delete file="c:\file.war"/>
</pre>
<p>Krijojme nje jar:</p>
<pre lang='xml'>
<jar jarfile="c:\diku\test.war"  basedir="c:\burimi"/>
</pre>
<p>Kompilojme kodin java:</p>
<pre lang='xml'>
<javac srcdir="c:\burimi"
           destdir="c:\kompilo\classes"
	   classpath="${classpath}:${classpath.extra}"
           debug="false"
      	   deprecation="true"
           optimize="true">
</javac>
</pre>
<p>ku classpath e classpath.extra jande dipendencat tuaja, psh te formes:</p>
<pre lang='xml'>
<path id="compile.classpath">
<pathelement location="${catalina.home}"/>
    	<fileset dir="${catalina.home}/lib/">
      		<include name="*.jar"/>
    	</fileset>
 </path>
<property name="classpath.extra" value="${tomcat.home}/lib/servlet-api.jar:${deploy.home}/WEB-INF/lib/mm.mysql-2.0.4-bin.jar:${deploy.home}/WEB-INF/classes" />
</pre>
<p>imagjinoni vete ca vlerash duhet tu jepni ndryshoreve te padeklaruara ketu.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.albdevnet.com/2008/07/03/ant-komandat-krysore-per-te-nisur/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ant &#8211; publikimi i projekteve tuaja java</title>
		<link>http://www.albdevnet.com/2008/07/02/ant-publikimi-i-projekteve-tuaja-java/</link>
		<comments>http://www.albdevnet.com/2008/07/02/ant-publikimi-i-projekteve-tuaja-java/#comments</comments>
		<pubDate>Wed, 02 Jul 2008 08:00:36 +0000</pubDate>
		<dc:creator>eltonkola</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[ant]]></category>

		<guid isPermaLink="false">http://www.albdevnet.com/?p=96</guid>
		<description><![CDATA[Ant eshte mjeti qe fondacioni apache, perdor per ndertimin dhe publikimin e projekteve java. Ky strument shume i dobishem eshte i integruar ne tere ide-t java me te famshme si eclipse e netbeans, por gjithsesi fuonksionon si standaolone duke e shkarikuar nga faqja zyrtare, dhe instaluar. Them publikim dhe jo kompilim te nje projekti, pasi [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-medium wp-image-97" title="ant-project-logo" src="http://www.albdevnet.com/wp-content/uploads/2008/06/ant-project-logo.gif" alt="" /> Ant eshte mjeti qe fondacioni apache, perdor per ndertimin dhe publikimin e projekteve java. Ky strument shume i dobishem eshte i integruar ne tere ide-t java me te famshme si eclipse e netbeans, por gjithsesi fuonksionon si standaolone duke e shkarikuar nga <a href="http://ant.apache.org/" target="_blank">faqja zyrtare</a>, dhe instaluar. Them publikim dhe jo kompilim te nje projekti, pasi publikimi eshte akoma me kopleks sesa vetem kompilimi. Ne kete artikull do shikojme ndonje shembull te vogel, e per me shume do flasim per mundesite qe na jep ky strument.<span id="more-96"></span></p>
<p>Personalisht kam perdorur me shume se nje here kete strument te fuqishem, per projekte reale e koplekse qe kane nevoje per nje mjet te fuqijshem kompilimi dhe distribuimi.</p>
<p>Imagjionojme te kemi tre servera, nje per testim, nje per prodhim e nje per zhvillim (qe mund te jete dhe makina lokale) dhe po punojme mbi nje apikacion web, cdo sitance ka konfigurim dhe database te vete. Sa pune na duhet per te publikuar nje dnryshim ne projekt? Po ta bejme me dore, do ta duhej nje file war per secilin server, mekofigurimin perkates, gje qe do te na hate shume kohe, ne kete rast ant do beje tere punen per ne, kuptohet nese krijojme nje fail build ashtu si duhet&#8230;</p>
<p>Ne rastin tim (qe per arsye te ndryshme smudn te pasqueroj ne kete artikull), kam krijuar nje direktori buildi, me disa fail context (sa ambiente /servera te kem), nje direktori temporane pune dhe scripti build.xml (fali qe ant eksekuton). Fillimisht kopjoj burimet e kodt, i kompiloj, kopjon dipendencat (failet .jar) ne direktorine e duhur, me pas per secilin ambient krijoj nje file war, bej nje kopje te ketyre faili ne serverin e backupit, hap nje lidhje ssh me cdo server, dhe bej nje autentikim http me managerine tomcat per te bere deploy te failit war qe me scp kaloj tek serveri. Per me shume mund te leshoj teste junit apo java per te pare nese paketa ime eshte fundkionale, e me ne fund fshi tere failet e panevojshem&#8230;</p>
<p>Kuptohet qe thene keshtu, duket e veshtire , por gjate krijimit te failit do shikoni se sa lehte dhe bukur eshte.</p>
<p>Nje fail i thjeshte buildi do ishte:</p>
<pre lang='xml'>
<project name="ADN-test" default="publiko" basedir=".">
    <description>
        Shembull i thjeshte i perodrimit i nje faili build per ant
    </description>
  <!-- set global properties for this build -->
<property name="src" location="src"/>
<property name="build" location="build"/>
<property name="dist"  location="dist"/>

  <target name="init">
    <!-- Koha-->
    <tstamp />
    <!-- Direktori ku do kemmi failet e kopiluara -->
    <mkdir dir="${build}"/>
  </target>

  <target name="compile" depends="init"
        description="compile the source " >
    <!-- Kompilo kodin qe ndodhet ne src ket build -->
    <javac srcdir="${src}" destdir="${build}"/>
  </target>

  <target name="dist" depends="compile" description="nderto prjektin" >
    <!-- krijojme direktorine e distribucionit-->
    <mkdir dir="${dist}/lib"/>

    <!-- Permbajtejne e build e kompresoj ne nje fail jar , me ${DSTAMP} mund te ve edhe kohen e kopilimit -->
    <jar jarfile="${dist}/lib/LibreriaProjektitTim.jar" basedir="${build}"/>
  </target>

  <target name="clean"
        description="clean up" >
    <!-- Fshin direktorite e panevojshme-->
    <delete dir="${build}"/>
    <delete dir="${dist}"/>
  </target>
</project>
</pre>
<p>Ant ben akoma gjera me te avancuara, shpreojme qe ti prezantojme ne artikujt e ardhsheme.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.albdevnet.com/2008/07/02/ant-publikimi-i-projekteve-tuaja-java/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Log4j &#8211; mesazhe log ne projektin tuaj</title>
		<link>http://www.albdevnet.com/2008/06/23/log4j-mesazhe-log-ne-projektin-tuaj/</link>
		<comments>http://www.albdevnet.com/2008/06/23/log4j-mesazhe-log-ne-projektin-tuaj/#comments</comments>
		<pubDate>Mon, 23 Jun 2008 08:00:35 +0000</pubDate>
		<dc:creator>eltonkola</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Tutoriale]]></category>
		<category><![CDATA[log4j]]></category>
		<category><![CDATA[logging]]></category>

		<guid isPermaLink="false">http://www.albdevnet.com/?p=80</guid>
		<description><![CDATA[Eshte praktike e mire programimi, te perdorim mesazhe logu, qofte ne fazen e zhvillimiti per te pare sesi sillet aplikacioni, e qofte per te pare eksekutimin ne prodhim (eksekutim final, qofte ne desktop apo ne webconainer) te projekteve tona. Ky artikull prezanton log4j, zgjedhja ideale per projektet ne java. Kemi pregatitur edhe nje projekt te [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-medium wp-image-81" title="logo_log4j" src="http://www.albdevnet.com/wp-content/uploads/2008/06/logo_log4j.jpg" alt="" />Eshte praktike e mire programimi, te perdorim mesazhe logu, qofte ne fazen e zhvillimiti per te pare sesi sillet aplikacioni, e qofte per te pare eksekutimin ne prodhim (eksekutim final, qofte ne desktop apo ne webconainer) te projekteve tona. Ky artikull prezanton log4j, zgjedhja ideale per projektet ne java. Kemi pregatitur edhe nje projekt te vogel testi ne java me eclipse, qe mund te shkarikoni.</p>
<p><span id="more-80"></span><br />
Per kete mund te perdorim strumentat e ndryshme qe jana na ofron, duke nisur nga nje classa Logger e tek nje System.out.println i thjeshte, psh</p>
<pre lang="java">System.out.println("ky eshte nje log")
</pre>
<p>por nje sistem i tille, eshte shume i limituar, pasi sme thote as emrin e klases e asgje tjeter, dhe thjeshte shruan nje mesazh ne log-un qendror te sistemit operativ, apo te webcontainerit.</p>
<p>Zgjedhja ideale, e perdorurne mase eshte libraria Log4J (log per javen). Ky eshte nje nga projektet e tjra te mrekullueshme te fondacionit Apache. Mund ta shkarikoni ne faqen <a href="http://logging.apache.org/log4j/" target="_blank">zyrtare</a>.</p>
<p><strong>Si funksionon:</strong><br />
importojme librarine ne klasen tone:</p>
<pre lang="Java">import org.apache.log4j.*;
</pre>
<p>e tashme, mund te perdorim logerin, pa asnje</p>
<pre lang="Java">Logger logger = Logger.getLogger(getClass());
logger.info("gjithcka ok");
logger.error("nje gabim ne eksekutim, por gjithcka mund te vazhdoje");
logger.fatal("kjo nuk duhet te ndodhte... gabim fatal");
</pre>
<p>Konfigurimi:</p>
<p>Pasi te keni shkarikuar versionin binar, konfigurimi ehste mjaft i lehte, mjafton te kopjojme log4j.jar  ne vendin e duhur, ndaj ne WEB_INF/lib nese nje aplikativ web, ose ne lib, apo ku kemi vendosur te mbajme librarite tona java.<br />
Nese duam te perdorim kete librari per tere projektet tona web  (tomcat) , atehere kopjojme kete filene \common\lib ku jane tere librarite e tomcat te bashkandara.</p>
<p>Kjo librari ka nevoje per nje fail konfigurimi qe quhet:</p>
<pre lang="IO">log4j.properties
</pre>
<p>ku ne ruajme filtrat dhe preferencat tona mbi loget e gjeneruara. Ky fail duhet ruajtur ne WEB-INF/classes nese aplikacion web, nerrot te projektit nese aplikacione standalone e ne \common\classes nese i tree webserverit.</p>
<p><strong>Konfigurimi:</strong></p>
<p>Si te kofigurojme kete fail, ja nje shembull:</p>
<pre lang="IO"># Niveli global i loggerit, ne kete rast info, cosole dhe ruaj ne file (ku duhet te ruaj nje kopje te logur)
log4j.rootLogger = INFO, CONSOLE, FILE

# Lidhem me consolen dhe konfiguroj loggerin.
log4j.appender.CONSOLE					= org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout			= org.apache.log4j.PatternLayout
# formati..
log4j.appender.CONSOLE.layout.ConversionPattern = %d %-5p %c %x- %m%n

log4j.appender.FILE=org.apache.log4j.RollingFileAppender
# ku te ruaj failin e logut
log4j.appender.FILE.File=c:\fail_logu.log
# mos bej nje filelogu me te madh se kaq
log4j.appender.FILE.MaxFileSize=2000KB
# Mbaj nje kopje backup-i
log4j.appender.FILE.MaxBackupIndex=1
#formati i ruajtjes se logut ne file
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.ConversionPattern= %d %-5p %c %x- %m%n

# Shkruaj vetem nje tip logu (ne baze te nivelit te logut).
log4j.logger.org.apache.commons				= INFO, CONSOLE, FILE
log4j.additivity.org.apache.commons			= false
</pre>
<p>Gjithsesi duke punuar me kete strument shume te dobishem, do te mesoni edhe vete sesi ta konfiguroni ne menyre qe tu sherbeje me mire. Gjisthsesi nivelet e logut jane:</p>
<pre lang="IO">Debug        - per mesazhet e  debugging
Info         - per mesazhet normale
Warn         - per mesazhet e njoftimit
Error        - per mesazhet e gabimit
Fatal        - per gabimet fatale
Log          - per mesazhet e logut
All          - tere emsazhet
</pre>
<p>Eshte e mundur qe te formatojme log ne dalje edhe ne format html, xml, apo tjeter&#8230;<br />
Paramatra e formatimit te outputit:</p>
<pre lang="IO">%5p tipi i prioritetit psh. (WARN, DEBUG, ecc.)
[%t] emri i threadit qe krijon mesazhin
%F emri i failit nga shruhet mesazhi
%L numri i rreshtit
%m Mesazhi i shkruar
%n rresht i ri
%c Categoria che ha scatenato il log.
</pre>
<p><strong>Shembull:</strong></p>
<p>Kam krijuaj nje projekt te thjeshte ne java me eclipse, qe mund te importoni ne ambientin tuaj dhe te testoni, nese keni probleme ne konfigurimit e nje ambienti fillestar.<br />
<a href="http://www.albdevnet.com/wp-content/uploads/2008/06/albdevnet_log4j.zip" target="_blank">Shkarikoni projektin e shembullit</a>.</p>
<p>ne eksekutim te ketij projekti, do keni kete output:</p>
<pre lang="IO">2008-06-20 15:13:29,294 INFO  Test - Shembull i eksekutimit te nje loggeri!
2008-06-20 15:13:29,310 INFO  Test - Mesazhi 1
2008-06-20 15:13:29,310 INFO  Test - Mesazhi 2
2008-06-20 15:13:29,310 INFO  Test - Mesazhi 3
2008-06-20 15:13:29,310 INFO  Test - Mesazhi 4
2008-06-20 15:13:29,310 INFO  Test - Mesazhi 5
2008-06-20 15:13:29,310 INFO  Test - Mesazhi 6
2008-06-20 15:13:29,310 INFO  Test - Mesazhi 7
2008-06-20 15:13:29,310 INFO  Test - Mesazhi 8
2008-06-20 15:13:29,310 INFO  Test - gjithcka ok
2008-06-20 15:13:29,310 ERROR Test - nje gabim ne eksekutim, por gjithcka mund te vazhdoje
2008-06-20 15:13:29,326 FATAL Test - kjo nuk duhet te ndodhte... gabim fatal
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.albdevnet.com/2008/06/23/log4j-mesazhe-log-ne-projektin-tuaj/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hibernate &#8211; Maping i objekteve ne db</title>
		<link>http://www.albdevnet.com/2008/05/31/hibernate-maping-i-objekteve-ne-db/</link>
		<comments>http://www.albdevnet.com/2008/05/31/hibernate-maping-i-objekteve-ne-db/#comments</comments>
		<pubDate>Sat, 31 May 2008 13:34:52 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[hibernate]]></category>
		<category><![CDATA[mapping]]></category>

		<guid isPermaLink="false">http://www.albdevnet.com/?p=17</guid>
		<description><![CDATA[Kush programimin e ben si profesion, kupton rendesine e vertete te programimit me objekte, dhe fleksibilitetin e madh qe nje programim i tille te jep. Problemi i vetem eshte ruajtja e te dhenave. Hibernate eshte libreria java (eksiston edhe versioni per .net) qe na lejon te bejme maping te objekteve tona ne databaza relacionale. Hibernate [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.albdevnet.com/wp-content/uploads/2008/05/hibernate.gif"><img class="alignleft size-medium wp-image-18" title="hibernate" src="http://www.albdevnet.com/wp-content/uploads/2008/05/hibernate.gif" alt="Hibernate" /></a>Kush programimin e ben si profesion, kupton rendesine e vertete te programimit me objekte, dhe fleksibilitetin e madh qe nje programim i tille te jep. Problemi i vetem eshte ruajtja e te dhenave.</p>
<p>Hibernate eshte libreria java (eksiston edhe versioni per .net) qe na lejon te bejme maping te objekteve tona ne databaza relacionale. Hibernate eshte nje nga produktet me aktive te vitit te fundit, e shtyre nga tere firmat me te medha boterore qe perdorin java si gjuhe programimi (sun, ibm, redhat etc.)<span id="more-17"></span></p>
<p>Hibernate eshte nje middleware qe na garanton persistencen e te dhenave, duke na lene te merremi me pjeset e tjera te projektit. Ne realitet ne me hibernate mappojme objektet tona, me ane te fileve xml, apo thjeshte me anotacione e javes, duke ruajtur, lexuar e modifikuar te dhena ne db, pa perdorur fare kod html, apo pasur lidhje jdbc me databazen.</p>
<p style="text-align: center;"><a href="http://www.albdevnet.com/wp-content/uploads/2008/05/hibernate_skema.png"><img class="alignnone size-medium wp-image-19" title="hibernate_skema" src="http://www.albdevnet.com/wp-content/uploads/2008/05/hibernate_skema.png" alt="Hibernate - Skema e middlewarit" /></a></p>
<p style="text-align: left;">Hibernate eshte nje software shume kopleks, nga siti zyrtar mund te shkarikoni versionin e fundit (failet .jar qe duhen shtuar ne porjektin tuaj).</p>
<p style="text-align: left;">Ky eshte nje artikull fillestar mbi hibernate, me pas do te vazhdojme me artikuj te tjera, me konkret mbi shembuj e perdorim te kesaj teknologjie.</p>
<p>Siti zyrtar i <a title="Hibernate" href="http://www.hibernate.org/" target="_blank">bernate</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.albdevnet.com/2008/05/31/hibernate-maping-i-objekteve-ne-db/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

