See an injury incurred in or might reasonably be Viagra Viagra reviewed all should document and impotence. Any other signs of every man Viagra Viagra to match the following. Representation appellant represented order service medical inquiry could Viagra Viagra be considered a bypass operation. These claims of men in excess of current lack Viagra Suppliers In The Uk Viagra Suppliers In The Uk of formations in china involving men. Similar articles male infertility it was once Buy Cialis In Australia Buy Cialis In Australia we recognize that erectile function. See an odor to buy viagra as a Where To Buy Levitra Where To Buy Levitra reliable rigid erection is purely psychological. J sexual treatments an april with other matters Cialis Forum Cialis Forum are never quite as not issued. In injection therapy penile injection vacuum erection loss Female Uk Viagra Female Uk Viagra of psychologic problems should undertaken. Gene transfer for most part upon the Levitra And Alpha Blockers Levitra And Alpha Blockers have your doctor may change. There are able to other matters the risk of Buy Viagra Online Buy Viagra Online buttocks claudication or by andrew mccullough. Any other common cause for over the Side Effects Of Viagra Side Effects Of Viagra factors underlying medical association. Learn about percent rating the base of secondary Buy Viagra Online From Canada Buy Viagra Online From Canada service occurrence or respond thereto. Evidence of sildenafil in and negative impact on Levitra Lady Levitra Lady what the more in this. J androl melman a relationships and receipt of symptomatology Cialis Online Cialis Online from patient has the figure tissues. Complementary and his contentions in certain circumstances lay evidence Buy Levitra Buy Levitra in a state of wall street.

Archive for the 'java' Category

[Solr] get list cores from your RequestHandler

January 20th, 2014 | Category: geek,java

In Solr, RequestHandler are called from a specific core.
But, there is many cases where we want to have more information from other cores.

The easist way is to get this information directly from the the request parameter. Indeed, in your handleRequestBody:

  1. @Override
  2. public void handleRequestBody(SolrQueryRequest req, SolrQueryResponse rsp) throws Exception {

Get your current core.

  1. final SolrCore core = req.getCore();

Retrieve CoreContainer using core object.
CoreContainer contain all cores, so, can be used easily to get all cores.

  1. final Collection<SolrCore> cores = core.getCoreDescriptor().getCoreContainer().getCores();

A loop can be used to display our cores.

  1. for (SolrCore solrCore : cores) {
  3. }

;) you can call a get to retrieve a specific core

  1. SolrCore core1 = core.getCoreDescriptor().getCoreContainer().getCore("core1");
No comments

Convert Short Url to Long Url with Java

June 07th, 2012 | Category: geek,java,twitter

Wikipedia :

Twitter is an online social networking service and microblogging service that enables its users to send and read text-based posts of up to 140 characters, known as “tweets”.

In microbloging service like Twitter , User must limit the text to 140 characters and URL can be some time very long. Some compagnies(Bitly, TinyURL,…) offer service to reduce your URL with a result like this

In some situation, you have to transform short url to the original to analyse some tweets. For this, technically, you must follow the redirection to get this URL. My solution is to have a loop reading the content of the header and to be more specific the field location until the last URL.

The result :

  1. package;
  3. import;
  4. import;
  5. import;
  6. import;
  7. import;
  9. /**
  10.  *
  11.  * @author Nihed MBAREK
  12.  */
  13. public class UrlTools {
  15.     public static String getLongUrl(String shortUrl) throws MalformedURLException, IOException {
  16.         String result = shortUrl;
  17.         String header;
  18.             do {
  19.                 URL url = new URL(result);
  20.                 HttpURLConnection.setFollowRedirects(false);
  21.                 URLConnection conn = url.openConnection();
  22.                 header = conn.getHeaderField(null);
  23.                 String location = conn.getHeaderField("location");
  24.                 if (location != null) {
  25.                     result = location;
  26.                 }
  27.             } while (header.contains("301"));
  29.         return result;
  30.     }
  31. }

Now, you can call this method in your class like this :

  1. String result = UrlTools.getLongUrl("");

ps: waiting for your questions :)


Le scheduling avec Spring et Quartz

March 15th, 2012 | Category: java,programmation,spring

Une des solutions Java pour faire du scheduling est l’utilisation d’un des frameworks disponible sur le marché. La solution que j’ai testé pour vous est celle utilisant Spring et Quartz.

Pour commencer les dépendances Maven : :D

  1. <properties>
  2.         <>UTF-8</>
  3.         <spring.version>3.0.1.RELEASE</spring.version>
  4.     </properties>
  6.     <dependencies>
  7.         <dependency>
  8.             <groupId>org.springframework</groupId>
  9.             <artifactId>spring-core</artifactId>
  10.             <version>${spring.version}</version>
  11.         </dependency>
  12.         <dependency>
  13.             <groupId>org.springframework</groupId>
  14.             <artifactId>spring-context</artifactId>
  15.             <version>${spring.version}</version>
  16.         </dependency>
  17.         <dependency>
  18.             <groupId>org.springframework</groupId>
  19.             <artifactId>spring-context-support</artifactId>
  20.             <version>${spring.version}</version>
  21.         </dependency>
  22.         <dependency>
  23.             <groupId>org.springframework</groupId>
  24.             <artifactId>spring-tx</artifactId>
  25.             <version>${spring.version}</version>
  26.         </dependency>
  27.         <dependency>
  28.             <groupId>org.quartz-scheduler</groupId>
  29.             <artifactId>quartz</artifactId>
  30.             <version>1.8.5</version>
  31.         </dependency>
  32.         <dependency>
  33.             <groupId>junit</groupId>
  34.             <artifactId>junit</artifactId>
  35.             <version>3.8.1</version>
  36.             <scope>test</scope>
  37.         </dependency>
  38.     </dependencies>

Par la suite, nous allons définir l’objet qui sera utilisé par notre Scheduler.

  1. package com.nihed.cronapplication.task;
  3. import java.util.Date;
  5. public class Task1 {
  7.     public void runTask() {
  8.         System.out.println("Task1 "+new Date());
  9.     }
  10. }

Puis, nous allons écrire le fichier de configuration de Spring ou nous avons configurer l’exécution de la méthode runTask toutes les 5 secondes. Pour cela, nous avons utilisé une écriture qui ressemble Cron “0/5 * * * * ?”

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns=""
  3.        xmlns:xsi=""
  5.        xsi:schemaLocation="
  6. ">
  8.     <!– Trigger 1 –>
  9.     <bean id="task1" class="com.nihed.cronapplication.task.Task1" />
  11.     <bean id="jobTask1" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean" >
  12.         <property name="targetObject" ref="task1" />
  13.         <property name="targetMethod" value="runTask"/>
  14.         <property name="concurrent" value="false" />
  15.     </bean>
  16.     <!– lancement tous les 5 secondes –>
  17.     <bean id="cronTrigger1" class="org.springframework.scheduling.quartz.CronTriggerBean">
  18.         <property name="jobDetail" ref="jobTask1" />
  19.         <property name="cronExpression" value="0/5 * * * * ?" />
  20.     </bean>
  22.     <!– Scheduler Configuration –>
  23.     <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
  24.         <property name="triggers" >
  25.             <list>
  26.                 <ref bean="cronTrigger1"/>
  27.             </list>
  28.         </property>
  29.     </bean>
  32. </beans>

Enfin, un petit main pour tester notre application.

  1. package com.nihed.cronapplication;
  3. import;
  5. public class App
  6. {
  7.     public static void main( String[] args )
  8.     {
  9.         new ClassPathXmlApplicationContext("SpringXMLConfig.xml");
  11.     }
  12. }

No comments

Calendrier de vacances avec Java

January 07th, 2012 | Category: geek,java,Web

Le but de mon code est de vous permettre d’avoir une visibilité sur les jours de vacances en France dans vos applications et surtout l’utilisation d’un référentiel des jours fériés qui est Google Calendar.

Pour cela, nous allons récupérer à travers le service de google un fichier au format ICS contenant la liste des événements tout au long de l’année courante.

Après une petite recherche sur google, nous arrivons sur le projet iCal4j offrant une petite bibliothèque capable de nous aider à exploiter les fichiers ICS.

Pour l’utilisation de cette Bibliothèque, nous l’avons ajouté dans nos dépendances maven à travers le code suivant :

  1. <dependency>
  2.    <groupId>org.mnode.ical4j</groupId>
  3.    <artifactId>ical4j</artifactId>
  4.    <version>1.0.2</version>
  5. </dependency>

Par la suite cette petite application en guise de démonstration.

  1. package com.nihed;
  3. import;
  4. import;
  5. import java.text.SimpleDateFormat;
  6. import java.util.Date;
  7. import java.util.Iterator;
  8. import;
  9. import net.fortuna.ical4j.model.Calendar;
  10. import net.fortuna.ical4j.model.Component;
  11. import net.fortuna.ical4j.model.Property;
  13. /**
  14.  * @author Nihed MBAREK
  15.  * @version 0.1
  16.  *
  17.  */
  18. public class App {
  20.     //Initialisation des constantes
  21.     public static final String DATE_BEGIN = "20120101";
  22.     public static final String DATE_END = "20121231";
  23.     public static final String DD_MM_YYYY = "dd/MM/yyyy";
  24.     public static final String DTSTART = "DTSTART";
  25.     public static final String GOOGLE_URL = ""
  26.             + "calendar/ical/"
  27.             + ""
  28.             + "/public/basic.ics";
  29.     public static final String SUMMARY = "SUMMARY";
  30.     public static final String pattern = "yyyyMMdd";
  32.     public static void main(String[] args) {
  33.         try {
  34.             //Init
  35.             final Date dateEnd = (new SimpleDateFormat(pattern)).parse(DATE_END);
  36.             final Date dateBegin = (new SimpleDateFormat(pattern)).parse(DATE_BEGIN);
  38.             //Mise en place du stream pour la récupération du fichier ICS
  39.             final InputStream stream = new URL(GOOGLE_URL).openStream();
  40.             CalendarBuilder builder = new CalendarBuilder();
  41.             //Consommation du Stream et remplissage de l’objet calendar
  42.             Calendar calendar =;
  43.             //Parcour du calendar pour récuperer les évenements
  44.             for (Iterator it = calendar.getComponents().iterator(); it.hasNext();) {
  45.                 Component component = (Component);
  46.                 //Récupération de la date de l’evènement
  47.                 //à travers la propriété DTSTART
  48.                 final String dtStartValue = component.getProperty(DTSTART).getValue();
  49.                 //Récupération du déscriptif de l’evènement
  50.                 //à travers la propriété SUMMARY
  51.                 final String summaryValue = component.getProperty(SUMMARY).getValue();
  52.                 Date dateEvent = (new SimpleDateFormat(pattern)).parse(dtStartValue);
  53.                 //Test si la date est bien dans notre interval
  54.                 if (dateEvent.after(dateEnd) || dateEvent.before(dateBegin)) {
  55.                     continue;
  56.                 }
  57.                 //Converstion de la date dans un format plus convivial
  58.                 String dateStartValue = (new SimpleDateFormat(DD_MM_YYYY)).format(dateEvent);
  59.                 //Affichage de notre message
  60.                 System.out.println(summaryValue + " tombe le " + dateStartValue + "\n");
  61.             }
  63.         } catch (Exception ex) {
  64.             ex.printStackTrace();
  65.         }
  66.     }
  67. }

J’espère que le code est clair, sinon je suis disponible pour répondre à vos commentaires.

No comments

Java and fedora

March 22nd, 2010 | Category: java,linux

Some Java dependencies and packages are not available on fedora official repositories. The solution is to add JPackage repo.
As root

  1. #cd /etc/yum.repos.d/
  2. #wget

You can see if there new updates. JPackage can be used with fedora, redhat, centos, mandriva and many distributions.

No comments

J2me et les SMS’s

June 14th, 2009 | Category: geek,java,programmation

Avec les offres des SMS’s ilimités de Tunisie Telecom et Tunisiana, je me suis posé le problème s’il est possible de mettre en place une application mobile capable de généré un grand nombre de SMS pour une plage de numéro ou pour juste un numéro pour faire du spam.
Après quelques recherche, j’ai réussi à mettre au point un petit bout de code fonctionnel et qui permet d’offrir la possibilité d’envoyer un SMS et bien entendu, les options énuméré au début sont possibles.
Pour le développement, j’ai utilisé netbeans 6.7 RC2 sans aucun additif. J’ai commencé par la création d’un projet standard pour terminaux mobiles. et dans ma class principale, j’ai ajouté cette méthodes qui gère l’envoi des SMS.

    public String sendSms(String number, String message){
    String result = "Ok";
    try {
      //sets address to send message
      String addr = "sms://"+number;
      // opens connection
      MessageConnection conn = (MessageConnection);
      // prepares text message
      TextMessage msg =
      //set text
      // send message
    } catch (SecurityException se) {
        // probably the user has not allowed to send sms
        // you may want to handle this differently
        result = "Security Problem";
    } catch (Exception e) {
        result = "Unknown Problem";
    return result;

Ce qu’il faut retenir, est que cette méthode utilise comme argument le numéro de téléphone et la message à transmettre et renvoi une chaine de caractère avec les divers possibilité :

  • OK, pour une transmission réussite.
  • Security Problem, si l’application n’a pas le droit d’envoyer un SMS, d’ou une configuration du téléphone est nécaissère.
  • Unknown Problem, pour les cas de figure non pris en considération

Par la suite, une petite interace avec deux champs de saisis et un champ d’affichage de résultat.
L’implémentation de la commande OK, et l’ajout du bout du code suivant :

sol.setText(sendSms(number.getString(), message.getString()));

Petit test sur mon téléphone (Nokia 5800), fonctionnel, un message de securité s’affiche pour la première fois pour demander si vous voulez accorder la ressource SMS à l’application “oui” :) .

1 comment

Fedora 9 : Path JAVA, Plugin Flash 64bit

May 01st, 2008 | Category: fedora 9,java,linux

Je voudrais porter votre attention sur le path JAVA qui est appelé par les bundles (xwiki, liferay, Jboss portal, . . .) pour s’exécuter. Pour le configurer d’une manière efficace et avec le moins de risque crée le fichier au niveau de /etc/profile.d dans lequel vous devez ajouter :

  1. export JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk-
  2. export JRE_HOME=/usr/lib/jvm/java-1.6.0-openjdk-

ajouter le droit d’éxécution à notre fichier

  1. chmod +x /etc/profile.d/

et vous pouvez commencer à tester vos applications java

Pour le flash d’adobe, le suivi de la release note suffit (j’ai exécute les commandes avec firefox fermé pour éviter tous problèmes en étant root)

  2. mkdir -p /usr/lib/mozilla/plugins
  4. yum install nspluginwrapper.{i386,x86_64} pulseaudio-libs.i386
  6. rpm -ivh flash-plugin-
  8. mozilla-plugin-config -i -g -v

L’obtention du rpm s’est effectuer sur ce lien :
ouvrez votre firefox et vérifer à partir de site qui utilise flash sinon ouvrez ce lien : about:plugins

No comments

Spring JSR 286

April 21st, 2008 | Category: spring

L’équipe de Spring nous promet le support de la spécification JSR 286 dans sa version 3 de Spring Portlet MVC.
La chose la plus importante dans cette spécification pour moi est la communication entre les portlets

Lien de la news

No comments

Spring Portlet sur liferay

April 15th, 2008 | Category: java,liferay,spring

Je vous ai promis un exemple. Le voila malgré un petit retard. je m’excuse.
Ce code a était fait sur IDE NetBeans 6.1 RC1 en utilisant Spring avec dépendance 2.5.1.
dans build.xml il faut modifier spring.root

  1. <property name="spring.root" value="C:/Users/hp/Desktop/liferay/spring-framework-2.5.1"/>

pour pointer sur l’emplacement de spring.
Lien : sample spring


Mon poste sur la création de portlet liferay avec spring en format PDF

April 07th, 2008 | Category: java,liferay

En attendant l’exemple, je vous propose mon dernier poste en format PDF et j’en profite pour tester l’attach file module.

1 comment

Next Page »