Pages

Friday, May 30, 2014

af:showPopupBehavior with Parameter

http://www.jobinesh.com/2011/03/fails-when-used-with-for-buttons-action.html
eg :
on button using click event  :
 <af:commandMenuItem text="#{language.BUTTON_XOA}"                      
                                      id="cmi4">
               <af:setPropertyListener from="#{row.data}" to="#{pageFlowScope.myBean.currRow}" type="action" />
                     <af:showPopupBehavior popupId=":::deleteConfirmDialog" triggerType="click"/>
                  </af:commandMenuItem>
popup define:

  <af:popup id="deleteConfirmDialog">
      <af:dialog id="d1" title="#{language.THONG_BAO}"
                 dialogListener="#{pageFlowScope.themMoiPhamViKhaiThac.deleteConfirmDialogListener}">
        <af:outputText value="#{language.DELETE_CONFIRM_MESSAGE}" id="ot3"/>
      </af:dialog>
    </af:popup>

popup listener:
    public void deleteConfirmDialogListener(DialogEvent dialogEvent) {
        if(!DialogEvent.Outcome.ok.equals(dialogEvent.getOutcome())) return;
     
        if(currRow != null){
          //
        }
    }

Saturday, April 26, 2014

Delete all .svn folders using Windows Command Prompt



You can use the following command to delete all .svn folders in your subversion directory recursively.
FOR /R . %f IN (.svn) DO RD /s /q %f
refer link : http://www.forouzani.com/delete-all-svn-folders-using-windows-command-prompt.html

Friday, April 25, 2014

How to get all classes names in a package ?

see detail
http://stackoverflow.com/questions/520328/can-you-find-all-classes-in-a-package-using-reflection?lq=1
http://stackoverflow.com/questions/15519626/how-to-get-all-classes-names-in-a-package


with https://code.google.com/p/reflections/
 Reflections reflections = new Reflections("my.project.prefix");

     Set<Class<? extends SomeType>> subTypes = 
               reflections.getSubTypesOf(SomeType.class);

     Set<Class<?>> annotated = 
               reflections.getTypesAnnotatedWith(SomeAnnotation.class);

native code : http://stackoverflow.com/questions/15519626/how-to-get-all-classes-names-in-a-package

public final class ClassFinder {
   
    private final static char DOT = '.';
    private final static char SLASH = '/';
    private final static String CLASS_SUFFIX = ".class";
    private final static String BAD_PACKAGE_ERROR =
        "Unable to get resources from path '%s'. Are you sure the given '%s' package exists?";

    public final static List<Class<?>> find(final String scannedPackage) {
        final ClassLoader classLoader =
            Thread.currentThread().getContextClassLoader();
        final String scannedPath = scannedPackage.replace(DOT, SLASH);
        final Enumeration<URL> resources;
        try {
            resources = classLoader.getResources(scannedPath);
        } catch (IOException e) {
            throw new IllegalArgumentException(String.format(BAD_PACKAGE_ERROR,
                                                             scannedPath,
                                                             scannedPackage),
                                               e);
        }
        final List<Class<?>> classes = new LinkedList<Class<?>>();
        while (resources.hasMoreElements()) {
            final File file = new File(resources.nextElement().getFile());
            classes.addAll(find(file, scannedPackage));
        }
        return classes;
    }

    private final static List<Class<?>> find(final File file,
                                             final String scannedPackage) {
        final List<Class<?>> classes = new LinkedList<Class<?>>();
        final String resource = scannedPackage + DOT + file.getName();
        if (file.isDirectory()) {
            for (File nestedFile : file.listFiles()) {
                classes.addAll(find(nestedFile, scannedPackage));
            }
        } else if (resource.endsWith(CLASS_SUFFIX)) {
            final int beginIndex = 0;
            final int endIndex = resource.length() - CLASS_SUFFIX.length();
            final String className = resource.substring(beginIndex, endIndex);
            try {
                classes.add(Class.forName(className));
            } catch (ClassNotFoundException ignore) {
                ignore.printStackTrace();
            }
        }
        return classes;
    }

// test
   public static void main(String[] args) {
        List<Class<?>> classes = ClassFinder.find("***.model");
        for(int i = 0; i < classes.size(); i++){
            System.out.println("<class>" + classes.get(i).getName() +"</class>");
        }
    }

}