diff --git a/plugins/org.polarsys.chess.service/src/org/polarsys/chess/service/gui/utils/DialogUtils.java b/plugins/org.polarsys.chess.service/src/org/polarsys/chess/service/gui/utils/DialogUtils.java
index 0a15ad05858ffaf6521f483e08a87c5c8e7e8e57..e0766df0faeec5e4a52537078523c4053f6fbd66 100644
--- a/plugins/org.polarsys.chess.service/src/org/polarsys/chess/service/gui/utils/DialogUtils.java
+++ b/plugins/org.polarsys.chess.service/src/org/polarsys/chess/service/gui/utils/DialogUtils.java
@@ -11,6 +11,7 @@
 package org.polarsys.chess.service.gui.utils;
 
 import org.eclipse.swt.widgets.DirectoryDialog;
+import org.eclipse.swt.widgets.FileDialog;
 import org.eclipse.swt.widgets.Shell;
 import org.eclipse.ui.PlatformUI;
 
@@ -49,4 +50,23 @@ public class DialogUtils {
 		return directoryName;
 	}
 	
+	public String getFileNameFromDialog() throws Exception {	
+		return getFileNameFromDialog("Select the file",null);
+	}
+
+	public String getFileNameFromDialog(String title, String filterExtension) throws Exception {
+		final Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell();
+
+		final FileDialog fileDialog = new FileDialog(shell);
+		fileDialog.setText(title);
+		fileDialog.setFilterPath(directoryUtils.getCurrentProjectDir());
+		if(filterExtension!=null){
+			String[] extensions = {filterExtension};
+			fileDialog.setFilterExtensions(extensions);
+		}
+		String directoryName = fileDialog.open();
+
+		return directoryName;
+	}
+	
 }