IDENTIFY THE TYPE OF PROJECT
identifies the type of project open and gets the src folder path and web
We click the project name and press
create a new module
and aggregated
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
/** }
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 myAction = new (); if (b) { / / / Mensajeria.Mensaje ("true"); } else { Mensajeria.Mensaje ("You must select the project"); }}}
myAction.isEnabled
boolean b = (); MyAction.java
javscazutilidades.Mensajeria import, 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 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 AnalizadorProyectoTopComponent tc = new ();
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.");
;}}
create a window
/**
*
* @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 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 AnalizadorProyectoTopComponent tc = new ();
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.");
;}}
create a window
jTextFieldSRC.setText (sesion.getSrc () )
jTextFieldWEB.setText (sesion.getWeb ());
jTextFieldTipo.setText (sesion.getTipoProyecto ());