IDENTIFICAR EL TIPO DE PROYECTO
Identifica el tipo de proyecto abierto y obtiene la ruta de la carpeta src y web
Damos clic en el nombre del proyecto y presionamos
Creamos un nuevo modulo
En las propiedades Agregamos
En el layer.xml agregamos
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE filesystem PUBLIC "-//NetBeans//DTD Filesystem 1.2//EN"
"http://www.netbeans.org/dtds/filesystem-1_2.dtd">
<filesystem>
<folder name="Actions">
<folder name="File">
<file name="org-avbravo-analizadorproyectos-MiAccion.instance">
<attr name="SystemFileSystem.localizingBundle"
stringvalue="org.avbravo.analizadorproyectos.Bundle"/>
<attr name="delegate" newvalue="org.avbravo.analizadorproyectos.MiAccion"/>
<attr name="displayName"
bundlevalue="org.avbravo.analizadorproyectos.Bundle#CTL_AnalizadorProyecto="/>
<attr name="iconBase"
stringvalue="org/avbravo/analizadorproyectos/resources/custom.png"/>
<attr name="instanceCreate" methodvalue="org.openide.awt.Actions.alwaysEnabled"/>
<attr name="noIconInMenu" stringvalue="false"/>
</file>
</folder>
<folder name="Window">
<file name="org-avbravo-analizadorproyectos-JSFWindowsTopComponent.instance"
url="org-avbravo-analizadorproyectos-JSFWindowsTopComponent.instance"/>
</folder>
</folder>
<folder name="Toolbars">
<folder name="File">
<file name="org-avbravo-analizadorproyectos-MiAccion.shadow">
<attr name="originalFile" stringvalue="Actions/File/org-avbravo-analizadorproyectos-
MiAccion.instance"/>
<attr name="position" intvalue="0"/>
</file>
</folder>
</folder>
</filesystem>
Clase Sesion.java
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package org.avbravo.analizadorproyectos;
import java.io.File;
/**
*
* @author avbravo
*/
public class Sesion {
static String src;
static String web;
static String tipoProyecto;
public static String getSrc() {
return src;
}
public static void setSrc(String src) {
Sesion.src = src;
}
public static String getWeb() {
return web;
}
public static void setWeb(String web) {
Sesion.web = web;
}
public static String getTipoProyecto() {
return tipoProyecto;
}
public static void setTipoProyecto(String tipoProyecto) {
Sesion.tipoProyecto = tipoProyecto;
}
}
MiAccion.java
package org.avbravo.analizadorproyectos;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javscazutilidades.Mensajeria;
import org.openide.windows.TopComponent;
/**
*
* @author avbravo
*/
public class MiAccion implements ActionListener {
public void actionPerformed(ActionEvent e) {
// TODO implement action body
MyAction myAction = new MyAction();
boolean b = myAction.isEnabled();
if (b){
/// Mensajeria.Mensaje("cierto");
}
else
{
Mensajeria.Mensaje("Debe seleccionar el proyecto");
}
}
}
MyAction.java
import javscazutilidades.Mensajeria;
import org.netbeans.api.project.Project;
import org.openide.nodes.Node;
import org.openide.util.HelpCtx;
import org.openide.util.Lookup;
import org.openide.util.actions.CookieAction;
import org.openide.windows.TopComponent;
/**
*
* @author avbravo
*/
public final class MyAction extends CookieAction {
Sesion sesion = new Sesion();
String web = "";
String src = "";
@Override
public boolean isEnabled() {
try {
web = "";
src = "";
if (this.getActivatedNodes() == null || this.getActivatedNodes().length != 1) {
return false;
}
Lookup lookup = this.getActivatedNodes()[0].getLookup();
// gets the selected project
Project currentProject = lookup.lookup(Project.class);
if (currentProject != null) {
String tipoProyecto = currentProject.getClass().getSimpleName();
// Mensajeria.Mensaje("TipoProyecto:" + tipoProyecto);
sesion.setTipoProyecto(tipoProyecto);
src = currentProject.getProjectDirectory().getFileObject("src").toString();
src = src.substring(src.indexOf("[") + 1, src.indexOf("@"));
sesion.setSrc(src);
if (tipoProyecto.equals("NbMavenProjectImpl")) {
/*
* maven
*/
} else {
if (tipoProyecto.equals("NbModuleProject")) {
/*
* modulo netbeans
*/
} else {
if (tipoProyecto.equals("J2SEProject")) {
/*
* desktop
*/
} else {
if (tipoProyecto.equals("WebProject")) {
/*
* web
*/
web = currentProject.getProjectDirectory().getFileObject("web").toString();
web = web.substring(web.indexOf("[") + 1, web.indexOf("@"));
}
}
}
sesion.setWeb(web);
/*
if (currentProject.getProjectDirectory().getFileObject("nbproject") == null) {
Mensajeria.Mensaje(" null");
} else {
}
*/
}
TopComponent tc = new AnalizadorProyectoTopComponent();
tc.open();
tc.requestActive();
return true;
}
} catch (Exception ex) {
Mensajeria.MensajeError(ex, "Error");
}
return false;
}
@Override
protected int mode() {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
protected Class<?>[] cookieClasses() {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
protected void performAction(Node[] nodes) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public String getName() {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public HelpCtx getHelpCtx() {
throw new UnsupportedOperationException("Not supported yet.");
}
}
Creamos una ventana
En el init()
jTextFieldSRC.setText(sesion.getSrc());
jTextFieldWEB.setText(sesion.getWeb());
jTextFieldTipo.setText(sesion.getTipoProyecto());
Comments