pos= 1;
tipoComando = SHELL;
}
else {
//JOptionPane.showMessageDialog(menuItem, "Tipo de comando desconocido::" + comando);
JXErrorPane panel = new JXErrorPane();
panel.setErrorInfo(new ErrorInfo("Error ejecucion comando"//
, "Tipo de comando desconocido::" + comando//
, null, null, null, Level.CONFIG, null));
panel.setPreferredSize(new Dimension(500,200));
JXErrorPane.showDialog(menuItem, panel);
return;
}
ElementoOrigenComando elementoOrigenComando = new ElementoOrigenComando(objetoSeleccionadoRecibo);
//CARGA DE PARAMETROS
for(String parametro: menuItem.getParametros() ){
if(parametro.equals("PREVIA") ) {
File fd = repositorio.getFicheroRevisionAnterior(elementoOrigenComando.getPath()
, elementoOrigenComando.getRevision());
if( fd != null ) {
parametros[pos++] = fd.getAbsolutePath();
getLogger().log("PREVIA:>" + fd.getAbsolutePath());
}
}
else if(parametro.equals("HEAD")) {
File fd = getFichero( elementoOrigenComando.getPath() );
if( fd != null ) {
parametros[pos++] = fd.getAbsolutePath();
getLogger().log("HEAD:>" +fd.getAbsolutePath());
}
}
else if(parametro.equals("COMMIT")) {
File fd = repositorio.getFichero(elementoOrigenComando.getPath()
, elementoOrigenComando.getRevision());
if( fd != null ) {
parametros[pos++] = fd.getAbsolutePath();
getLogger().log("COMMIT:>" +fd.getAbsolutePath());
}
}
else if(parametro.equals("LOG")) {
SVNLogEntrada logEntrada = getListaLogEntrada(elementoOrigenComando.getPath(), elementoOrigenComando.getRevision());
if( logEntrada != null ) {
if( tipoComando == JAVA ) {
parametros[pos++] = logEntrada.getMensaje();
}
else {
File fd = UtilFichero.crearFicheroTemporal("svn", ".tmp");
try
{
fd.deleteOnExit();
FileWriter fstream = new FileWriter(fd);
BufferedWriter out = new BufferedWriter(fstream);
out.write(logEntrada.getMensaje());
out.close();
}
catch (Exception e){
System.err.println("Error: " + e.getMessage());
}
parametros[pos++] = fd.getAbsolutePath();
}
}
}
else {
parametros[pos++] = parametro;
}
}
System.out.println(parametros);
if( tipoComando == JAVA ) {
Class classPlugin = getClass().getClassLoader().loadClass(classNamePlugin);
SVNPlugin plugin = (SVNPlugin)classPlugin.newInstance();
plugin.ejecutar(this, objetoSeleccionadoRecibo, parametros);
}
else if( tipoComando == SHELL ) {
Runtime runTime = Runtime.getRuntime();
Process proceso = runTime.exec(parametros);
}
else {
JOptionPane.showMessageDialog(menuItem, "Tipo de comando desconocido::" + comando);
}
}
catch(Exception exception) {
JXErrorPane panel = new JXErrorPane();
panel.setErrorInfo(new ErrorInfo("Error ejecucion comando"//
, "Se ha produccido un error al intentar ejecutar un comando"//
, null, null, exception, Level.SEVERE, null));
panel.setPreferredSize(new Dimension(500,200));
JXErrorPane.showDialog(menuItem, panel);
}
}