Example usage for org.eclipse.jdt.core IPackageFragmentRoot createPackageFragment

List of usage examples for org.eclipse.jdt.core IPackageFragmentRoot createPackageFragment

Introduction

In this page you can find the example usage for org.eclipse.jdt.core IPackageFragmentRoot createPackageFragment.

Prototype

IPackageFragment createPackageFragment(String name, boolean force, IProgressMonitor monitor)
        throws JavaModelException;

Source Link

Document

Creates and returns a package fragment in this root with the given dot-separated package name.

Usage

From source file:org.bonitasoft.studio.common.repository.ClassGenerator.java

License:Open Source License

private static IType generateAbstractClass(String packageName, String className, String superClassName,
        SourceRepositoryStore sourceStore, IProgressMonitor progressMonitor) throws Exception {

    final IJavaProject javaProject = RepositoryManager.getInstance().getCurrentRepository().getJavaProject();

    NewClassWizardPage classWizard = new NewClassWizardPage();
    classWizard.setSuperClass(superClassName, false);
    classWizard.setAddComments(true, false);
    classWizard.setModifiers(classWizard.F_PUBLIC | classWizard.F_ABSTRACT, false);
    classWizard.setTypeName(className, false);
    classWizard.setMethodStubSelection(false, false, false, false);
    IPackageFragmentRoot packageFragmentRoot = null;
    IResource srcFolder = sourceStore.getResource();
    packageFragmentRoot = javaProject.getPackageFragmentRoot(srcFolder);
    classWizard.setPackageFragmentRoot(packageFragmentRoot, false);
    IPackageFragment packageFragment = packageFragmentRoot
            .getPackageFragment(packageName == null ? "" : packageName);
    if (!packageFragment.exists()) {
        packageFragment = packageFragmentRoot.createPackageFragment(packageName, true, progressMonitor);
    }/*from   www . j  a v  a2  s . co  m*/
    classWizard.setPackageFragment(packageFragment, false);
    classWizard.createType(progressMonitor);
    return classWizard.getCreatedType();
}

From source file:org.bonitasoft.studio.common.repository.ClassGenerator.java

License:Open Source License

private static IType generateImplementationClass(String packageName, String className,
        SourceRepositoryStore sourceStore, IProgressMonitor progressMonitor) throws Exception {
    final IJavaProject javaProject = RepositoryManager.getInstance().getCurrentRepository().getJavaProject();

    IType abstractConnectorType = javaProject.findType(AbstractConnector.class.getName());
    IType abstractFilterType = javaProject.findType(AbstractUserFilter.class.getName());
    String abstractClassName = "Abstract" + className;
    if (packageName != null && !packageName.isEmpty()) {
        abstractClassName = packageName + "." + abstractClassName;
    }/*from  w ww  .  ja va 2  s .com*/
    IType classType = javaProject.findType(abstractClassName);
    if (classType == null) {
        throw new ClassNotFoundException(abstractClassName);
    }
    ITypeHierarchy hierarchy = classType.newTypeHierarchy(javaProject, progressMonitor);
    String tempatePattern = null;
    if (hierarchy.contains(abstractConnectorType)) {
        tempatePattern = "/**\n*The connector execution will follow the steps"
                + "\n* 1 - setInputParameters() --> the connector receives input parameters values"
                + "\n* 2 - validateInputParameters() --> the connector can validate input parameters values"
                + "\n* 3 - connect() --> the connector can establish a connection to a remote server (if necessary)"
                + "\n* 4 - executeBusinessLogic() --> execute the connector"
                + "\n* 5 - getOutputParameters() --> output are retrieved from connector"
                + "\n* 6 - disconnect() --> the connector can close connection to remote server (if any)\n*/";
    } else if (hierarchy.contains(abstractFilterType)) {
        tempatePattern = "/**\n*The actor filter execution will follow the steps"
                + "\n* 1 - setInputParameters() --> the actor filter receives input parameters values"
                + "\n* 2 - validateInputParameters() --> the actor filter can validate input parameters values"
                + "\n* 3 - filter(final String actorName) --> execute the user filter"
                + "\n* 4 - shouldAutoAssignTaskIfSingleResult() --> auto-assign the task if filter returns a single result\n*/";
    }

    NewClassWizardPage classWizard = new NewClassWizardPage();
    classWizard.enableCommentControl(true);

    ProjectTemplateStore fTemplateStore = new ProjectTemplateStore(
            RepositoryManager.getInstance().getCurrentRepository().getProject());
    try {
        fTemplateStore.load();
    } catch (IOException e) {
        BonitaStudioLog.error(e);
    }
    Template t = fTemplateStore.findTemplateById("org.eclipse.jdt.ui.text.codetemplates.typecomment");
    t.setPattern(tempatePattern);

    classWizard.setSuperClass(abstractClassName, false);
    classWizard.setAddComments(true, false);
    classWizard.setModifiers(classWizard.F_PUBLIC, false);
    classWizard.setTypeName(className, false);
    classWizard.setMethodStubSelection(false, false, false, false);
    IPackageFragmentRoot packageFragmentRoot = null;
    IResource srcFolder = sourceStore.getResource();
    packageFragmentRoot = javaProject.getPackageFragmentRoot(srcFolder);
    classWizard.setPackageFragmentRoot(packageFragmentRoot, false);
    IPackageFragment packageFragment = packageFragmentRoot
            .getPackageFragment(packageName == null ? "" : packageName);
    if (!packageFragment.exists()) {
        packageFragment = packageFragmentRoot.createPackageFragment(packageName, true, progressMonitor);
    }
    classWizard.setPackageFragment(packageFragment, false);
    classWizard.createType(progressMonitor);
    return classWizard.getCreatedType();
}

From source file:org.bonitasoft.studio.common.repository.filestore.SourceFileStore.java

License:Open Source License

@Override
public void rename(String newQualifiedClassName) {
    IJavaProject project = RepositoryManager.getInstance().getCurrentRepository().getJavaProject();
    String packageName = "";
    String className = newQualifiedClassName;

    if (newQualifiedClassName.indexOf(".") != -1) {
        packageName = newQualifiedClassName.substring(0, newQualifiedClassName.lastIndexOf("."));
        className = newQualifiedClassName.substring(newQualifiedClassName.lastIndexOf(".") + 1,
                newQualifiedClassName.length());
    }//w  w  w.  ja v a2 s  . c  o  m

    try {
        final IRepositoryStore<?> store = getParentStore();
        IPackageFragmentRoot root = project.findPackageFragmentRoot(store.getResource().getFullPath());
        root.createPackageFragment(packageName, true, Repository.NULL_PROGRESS_MONITOR);
        IPackageFragment targetContainer = project
                .findPackageFragment(store.getResource().getFullPath().append(packageName.replace(".", "/")));
        IType type = project.findType(qualifiedClassName);
        if (type != null) {
            type.getCompilationUnit().move(targetContainer, null, className + ".java", true,
                    Repository.NULL_PROGRESS_MONITOR);
            qualifiedClassName = newQualifiedClassName;
        }
    } catch (Exception e) {
        BonitaStudioLog.error(e);
    }
}

From source file:org.bonitasoft.studio.validators.ui.wizard.ValidatorWizard.java

License:Open Source License

/**
 * @param packageName/*from ww w .ja  v  a2  s . c o m*/
 * @param className
 * @param baseClass
 * @param fields
 * @param progressMonitor
 * @return
 * @throws Exception
 */
private IType generateValidatorClass(String packageName, String className, Class<?> baseClass,
        IProgressMonitor progressMonitor) throws Exception {
    /*Use the NawClassWIzardPage to create the calss without pop up it*/
    NewClassWizardPage classWizard = new NewClassWizardPage();
    List<String> interfaces = new ArrayList<String>();
    progressMonitor.worked(1);
    interfaces.add(baseClass.getName());
    classWizard.setSuperInterfaces(interfaces, false);
    //   classWizard.setSuperClass(AbstractFormValidator.class.getName(), false);
    progressMonitor.worked(1);
    classWizard.setAddComments(true, false);
    classWizard.setModifiers(classWizard.F_PUBLIC, false);
    classWizard.setTypeName(className, false);
    classWizard.setMethodStubSelection(false, false, true, false);

    IResource srcFolder = validatorSourceStore.getResource();
    IJavaProject javaProject = (IJavaProject) srcFolder.getProject().getNature(JavaCore.NATURE_ID);
    IPackageFragmentRoot packageFragmentRoot = javaProject.getPackageFragmentRoot(srcFolder);
    classWizard.setPackageFragmentRoot(packageFragmentRoot, false);
    IPackageFragment packageFragment = packageFragmentRoot
            .getPackageFragment(packageName == null ? "" : packageName);
    if (!packageFragment.exists()) {
        packageFragment = packageFragmentRoot.createPackageFragment(packageName, true, progressMonitor);
    }
    classWizard.setPackageFragment(packageFragment, false);
    progressMonitor.worked(1);
    classWizard.createType(progressMonitor);

    IType classType = classWizard.getCreatedType();

    /*modify the generated class to implement the displayname method*/
    progressMonitor.worked(1);
    //      IMethod displayNameMethod = classType.getMethod("getDisplayName", new String[]{});
    //      if(displayNameMethod!=null && displayNameMethod.exists()){
    //         displayNameMethod.delete(true, progressMonitor);
    //      }
    //
    //      String contents = generateDisplayNameContent(displayName);
    //      classType.createMethod(contents, null, true, progressMonitor);

    return classType;
}

From source file:org.codehaus.groovy.eclipse.test.debug.GroovyLauncherShortcutTests.java

License:Apache License

/**
 * @param newRoot/*from  w w w.  ja  va2s . c o  m*/
 * @return
 */
private IPackageFragment createFragment(IPackageFragmentRoot newRoot) throws Exception {
    return newRoot.createPackageFragment("other", true, null);
}

From source file:org.codehaus.groovy.eclipse.test.wizards.NewGroovyTypeWizardTest.java

License:Open Source License

public void testExclusionFilters() throws Exception {
    IPackageFragmentRoot root = fProject.createSourceFolder("other", null,
            new IPath[] { new Path("**/*.groovy") });
    IPackageFragment frag = root.createPackageFragment("p", true, null);
    NewClassWizardPage wizardPage = new NewClassWizardPage();
    wizardPage.setPackageFragmentRoot(root, true);
    wizardPage.setPackageFragment(frag, true);
    wizardPage.setTypeName("Nuthin", true);
    assertStatus(IStatus.ERROR, "Cannot create Groovy type because of exclusion patterns on the source folder.",
            wizardPage.getStatus());/* w  w w. j  a v a 2s  .  c  o  m*/
}

From source file:org.drools.eclipse.wizard.project.NewDroolsProjectWizard.java

License:Apache License

/**
 * Create the sample rule launcher file.
 *///from   w w w  .  j  ava2  s  .  c om
private void createRuleSampleLauncher(IJavaProject project) throws JavaModelException, IOException {

    String s;
    if (runtimePage.getGenerationType() == NewDroolsProjectRuntimeWizardPage.DROOLS4) {
        s = "org/drools/eclipse/wizard/project/RuleLauncherSample_4.java.template";
    } else {
        s = "org/drools/eclipse/wizard/project/RuleLauncherSample.java.template";
    }
    IFolder folder = project.getProject().getFolder("src/main/java");
    IPackageFragmentRoot packageFragmentRoot = project.getPackageFragmentRoot(folder);
    IPackageFragment packageFragment = packageFragmentRoot.createPackageFragment("com.sample", true, null);
    InputStream inputstream = getClass().getClassLoader().getResourceAsStream(s);
    packageFragment.createCompilationUnit("DroolsTest.java", new String(readStream(inputstream)), true, null);
}

From source file:org.drools.eclipse.wizard.project.NewDroolsProjectWizard.java

License:Apache License

/**
 * Create the sample decision table launcher file.
 *//*from ww w  .  ja va  2 s.  com*/
private void createDecisionTableSampleLauncher(IJavaProject project) throws JavaModelException, IOException {

    String s;
    if (runtimePage.getGenerationType() == NewDroolsProjectRuntimeWizardPage.DROOLS4) {
        s = "org/drools/eclipse/wizard/project/DecisionTableLauncherSample_4.java.template";
    } else {
        s = "org/drools/eclipse/wizard/project/DecisionTableLauncherSample.java.template";
    }
    IFolder folder = project.getProject().getFolder("src/main/java");
    IPackageFragmentRoot packageFragmentRoot = project.getPackageFragmentRoot(folder);
    IPackageFragment packageFragment = packageFragmentRoot.createPackageFragment("com.sample", true, null);
    InputStream inputstream = getClass().getClassLoader().getResourceAsStream(s);
    packageFragment.createCompilationUnit("DecisionTableTest.java", new String(readStream(inputstream)), true,
            null);
}

From source file:org.drools.eclipse.wizard.project.NewDroolsProjectWizard.java

License:Apache License

/**
 * Create the sample RuleFlow launcher file.
 *///from   w ww .  ja v a 2 s. com
private void createRuleFlowSampleLauncher(IJavaProject project) throws JavaModelException, IOException {

    String s;
    String generationType = runtimePage.getGenerationType();
    if (NewDroolsProjectRuntimeWizardPage.DROOLS4.equals(generationType)) {
        s = "org/drools/eclipse/wizard/project/RuleFlowLauncherSample_4.java.template";
    } else if (NewDroolsProjectRuntimeWizardPage.DROOLS5.equals(generationType)) {
        s = "org/drools/eclipse/wizard/project/RuleFlowLauncherSample.java.template";
    } else {
        s = "org/drools/eclipse/wizard/project/ProcessLauncherSample_bpmn.java.template";
    }
    IFolder folder = project.getProject().getFolder("src/main/java");
    IPackageFragmentRoot packageFragmentRoot = project.getPackageFragmentRoot(folder);
    IPackageFragment packageFragment = packageFragmentRoot.createPackageFragment("com.sample", true, null);
    InputStream inputstream = getClass().getClassLoader().getResourceAsStream(s);
    packageFragment.createCompilationUnit("ProcessTest.java", new String(readStream(inputstream)), true, null);
}

From source file:org.ecipse.che.plugin.testing.testng.server.TestNGTestDiscoveryTest.java

License:Open Source License

@BeforeMethod
public void setUp() throws Exception {
    javaProject = createJavaProject("testDiscovery", "bin");
    testNGTestFinder = new JavaTestFinder();
    IPackageFragmentRoot packageFragmentRoot = addSourceContainer(javaProject, "src", "bin");
    javaProject.setRawClasspath(getTestNgClassPath("/testDiscovery/src"), null);

    RegisteredProject testDiscovery = projectRegistry.getProject("testDiscovery");
    Map<String, Value> attributeEntries = testDiscovery.getAttributeEntries();
    attributeEntries.put("language", new ValueImpl(Collections.singletonList(JavaCore.NATURE_ID)));

    packageFragment = packageFragmentRoot.createPackageFragment("test", false, null);
}