sPathProperties += fWorskpace.separator
sPathProperties += File.separator
	public void launchUpdateProductApplication (Product product)	{		// on recupere le logiciel		Tool tToolProduct = product.getEditor();		if (tToolProduct == null)		{			JOptionPane.showMessageDialog(null, LanguagesManager.getInstance()					.getString("nonDefineTool"), LanguagesManager.getInstance()					.getString("nonDefineToolTitle"),					JOptionPane.WARNING_MESSAGE);		}		else		{			// recuperation du nom et du chemin			String sPath = tToolProduct.getPath();			// on test si le path existe			if (sPath == null || sPath.equals(""))			{				JOptionPane.showMessageDialog(null, LanguagesManager						.getInstance().getString("nonDefineToolPath"),						LanguagesManager.getInstance().getString(								"nonDefineToolPathTitle"),						JOptionPane.WARNING_MESSAGE);				// on ouvre le dialogue				new SetToolDialog(null, tToolProduct);			}			else			{				// execution de la commande complete				try				{					/* debut des modifications -> baloo */					Properties pProduct = new Properties();					// recupere le workspace courant					String sPathProperties = PreferencesManager.getInstance()							.getWorkspace();					File fWorskpace = new File(sPathProperties);					// recupere le chemin du .properties du projet courant					sPathProperties += fWorskpace.separator							+ ApplicationManager.getInstance()									.getCurrentProject().getName();					String sPathProduct = sPathProperties							+ fWorskpace.separator + "produits"							+ fWorskpace.separator;					sPathProperties += fWorskpace.separator							+ "documentation.properties";					// fichier .properties					File fileProperties = new File(sPathProperties);					File fileProduct = new File(sPathProduct);					// charge le fichier					pProduct.load(new FileInputStream(fileProperties));					// recupere le nom du produit associ					String sProduct = pProduct.getProperty(product.getId());					// recherche si un nom de produit correspond dans la liste					// des produits					int i = 0;					boolean bFind = false;					while (i < fileProduct.list().length && !bFind)					{						String[] sTabProduct = fileProduct.list();						if (sTabProduct[i].startsWith(sProduct))						{							// un produit correspond							sPathProduct += sTabProduct[i];							bFind = true;						}						else						{							i++;						}					}					// un produit correspond, on lance ce produit dans					// l'application qui lui est dfini					if (bFind)					{						String[] cmdArray = new String[] { sPath, sPathProduct };						Process p = Runtime.getRuntime().exec(cmdArray);						if (p == null)						{							JOptionPane.showMessageDialog(null,									LanguagesManager.getInstance().getString(											"ErreurDeLancement"),									LanguagesManager.getInstance().getString(											"ErreurDeLancementTitle"),									JOptionPane.WARNING_MESSAGE);						}					}					/* fin des modifications -> baloo */				}				catch (IOException e)				{					// TODO GERER CETTE ERREUR					// automatiquement					e.printStackTrace();					JOptionPane.showMessageDialog(null, LanguagesManager							.getInstance().getString("ErreurDeLancement"),							LanguagesManager.getInstance().getString(									"ErreurDeLancementTitle"),							JOptionPane.WARNING_MESSAGE);				}				/*				 * catch (DesktopException ex) { ex.printStackTrace(); }				 */			}		}	}