Example usage for org.eclipse.jdt.core IJavaProject getPackageFragmentRoots

List of usage examples for org.eclipse.jdt.core IJavaProject getPackageFragmentRoots

Introduction

In this page you can find the example usage for org.eclipse.jdt.core IJavaProject getPackageFragmentRoots.

Prototype

IPackageFragmentRoot[] getPackageFragmentRoots() throws JavaModelException;

Source Link

Document

Returns all of the package fragment roots contained in this project, identified on this project's resolved classpath.

Usage

From source file:org.entirej.ide.core.project.EJFormConsistencyChecker.java

License:Apache License

protected IProject[] build(int kind, Map<String, String> args, IProgressMonitor monitor) throws CoreException {
    IResourceDelta delta = null;/*w  w w . j a  v a 2  s.co  m*/
    if (kind != FULL_BUILD)
        delta = getDelta(getProject());

    if (delta == null || kind == FULL_BUILD) {
        if (isInterestingProject(getProject())) {
            clean(monitor);
            IJavaProject project = JavaCore.create(getProject());
            // make sure it is refresh before build again
            EJPluginEntireJClassLoader.reload(project);
            IPackageFragmentRoot[] packageFragmentRoots = project.getPackageFragmentRoots();

            for (IPackageFragmentRoot iPackageFragmentRoot : packageFragmentRoots) {
                if (iPackageFragmentRoot.getResource() instanceof IContainer)
                    validateFormsIn((IContainer) iPackageFragmentRoot.getResource(), getValidateProviders(),
                            monitor);
            }
        }
    } else {
        delta.accept(new DeltaVisitor(monitor));
    }
    return new IProject[0];
}

From source file:org.entirej.ide.ui.editors.descriptors.AbstractProjectSrcFileDescriptor.java

License:Apache License

@Override
public String browseType() {
    List<IPackageFragmentRoot> elements = new ArrayList<IPackageFragmentRoot>();
    IJavaProject javaProject = projectProvider.getJavaProject();
    try {/* ww w  . ja  va 2 s.  c  o m*/
        IPackageFragmentRoot[] roots = javaProject.getPackageFragmentRoots();
        for (int i = 0; i < roots.length; i++) {
            if (roots[i].getKind() == IPackageFragmentRoot.K_SOURCE) {
                elements.add(roots[i]);

            }
        }
    } catch (JavaModelException e) {
        EJCoreLog.logException(e);
    }

    final List<IResource> resources = new ArrayList<IResource>();
    for (IPackageFragmentRoot root : elements) {
        try {
            IResource resource = root.getResource();
            if (resource instanceof IContainer)
                ((IContainer) resource).accept(new IResourceProxyVisitor() {
                    public boolean visit(IResourceProxy proxy) {

                        if (proxy.isDerived()) {
                            return false;
                        }
                        int type = proxy.getType();
                        if ((IResource.FILE & type) != 0) {

                            IResource res = proxy.requestResource();

                            resources.add(res);
                            return true;

                        }
                        if (type == IResource.FILE) {
                            return false;
                        }
                        return true;
                    }
                }, IResource.NONE);
        } catch (CoreException e) {
            // ignore
        }
    }

    ResourceListSelectionDialog dialog = new ResourceListSelectionDialog(EJUIPlugin.getActiveWorkbenchShell(),
            resources.toArray(new IResource[0]));

    dialog.setTitle("Select File");
    dialog.setMessage("Select a project file:");

    if (dialog.open() == Window.OK) {
        Object[] result = dialog.getResult();
        if (result != null && result.length > 0) {
            IResource resource = (IResource) result[0];

            String chosenPath = resource.getFullPath().toPortableString();

            // Return the chosen package without the source directory path

            for (IPackageFragmentRoot root : elements) {
                String sourcePath = root.getPath().toPortableString();
                if (chosenPath.startsWith(sourcePath)) {
                    chosenPath = chosenPath.replace(sourcePath, "");
                    break;
                }
            }
            return chosenPath;
        }
    }

    return getValue();
}

From source file:org.entirej.ide.ui.editors.form.builder.EJFormConstBuilder.java

License:Apache License

protected IProject[] build(int kind, Map<String, String> args, IProgressMonitor monitor) throws CoreException {
    IResourceDelta delta = null;//from w  w w.j ava  2 s .  co  m
    if (kind != FULL_BUILD)
        delta = getDelta(getProject());

    if (delta == null || kind == FULL_BUILD) {
        if (isInterestingProject(getProject())) {
            clean(monitor);
            IProject p = getProject();
            IJavaProject project = JavaCore.create(p);
            // make sure it is refresh before build again
            EJPluginEntireJClassLoader.reload(project);

            genPropertiesConstantFile(EJProject.getPropertiesFile(p), monitor);
            IPackageFragmentRoot[] packageFragmentRoots = project.getPackageFragmentRoots();

            for (IPackageFragmentRoot iPackageFragmentRoot : packageFragmentRoots) {
                if (iPackageFragmentRoot.getResource() instanceof IContainer)
                    genFormConstantsIn((IContainer) iPackageFragmentRoot.getResource(), monitor);
            }
            p.refreshLocal(IResource.DEPTH_INFINITE, monitor);
        }

    } else {
        delta.accept(new DeltaVisitor(monitor));
    }
    return new IProject[0];
}

From source file:org.entirej.ide.ui.utils.FormsUtil.java

License:Apache License

public static boolean isFormExist(IJavaProject project, String id) {

    IPackageFragmentRoot[] packageFragmentRoots;
    try {/*from ww w.  j  av a  2  s .c o  m*/
        packageFragmentRoots = project.getPackageFragmentRoots();

        for (IPackageFragmentRoot iPackageFragmentRoot : packageFragmentRoots) {
            if (iPackageFragmentRoot.getResource() instanceof IContainer)
                if (handelIsFormIn((IContainer) iPackageFragmentRoot.getResource(), id, true))
                    return true;
        }

    } catch (CoreException e) {
        EJCoreLog.log(e);
    }
    return false;
}

From source file:org.entirej.ide.ui.utils.FormsUtil.java

License:Apache License

public static String getFormTitle(IJavaProject project, String id) {
    // EntireJFormReader.readFormName(file);
    IPackageFragmentRoot[] packageFragmentRoots;
    try {//from w w  w .ja v  a 2 s .  c o m
        packageFragmentRoots = project.getPackageFragmentRoots();

        for (IPackageFragmentRoot iPackageFragmentRoot : packageFragmentRoots) {
            if (iPackageFragmentRoot.getResource() instanceof IContainer) {
                String title = handelFormTitle((IContainer) iPackageFragmentRoot.getResource(), id, true);
                if (title != null)
                    return title;
            }
        }

    } catch (CoreException e) {
        EJCoreLog.log(e);
    }
    return null;
}

From source file:org.entirej.ide.ui.utils.FormsUtil.java

License:Apache License

public static List<String> getFormNames(IJavaProject project, boolean formsonly) {
    List<String> result = new ArrayList<String>();
    IPackageFragmentRoot[] packageFragmentRoots;
    try {/*from www  .  j  a  v  a  2s  .c  o  m*/
        packageFragmentRoots = project.getPackageFragmentRoots();

        for (IPackageFragmentRoot iPackageFragmentRoot : packageFragmentRoots) {
            if (iPackageFragmentRoot.getResource() instanceof IContainer)
                handelFormsIn((IContainer) iPackageFragmentRoot.getResource(), result, formsonly);
        }

    } catch (CoreException e) {
        EJCoreLog.log(e);
    }
    return result;
}

From source file:org.entirej.ide.ui.utils.JavaAccessUtils.java

License:Apache License

public static IPackageFragment[] choosePackage(Shell shell, IJavaProject javaProject, String filter,
        Boolean multipleSelection, IPackageFragmentFilter packageFragmentFilter) {
    List<IPackageFragment> elements = new ArrayList<IPackageFragment>();
    if (javaProject.exists()) {
        try {/*from   w w  w.  j ava  2  s .  c om*/
            IPackageFragmentRoot[] roots = javaProject.getPackageFragmentRoots();
            for (int i = 0; i < roots.length; i++) {
                if (roots[i].getKind() == IPackageFragmentRoot.K_SOURCE) {
                    IPackageFragmentRoot sourceRoot = roots[i];
                    if (sourceRoot != null && sourceRoot.exists()) {
                        IJavaElement[] children = sourceRoot.getChildren();
                        for (IJavaElement element : children) {
                            if (element instanceof IPackageFragment && (packageFragmentFilter == null
                                    || packageFragmentFilter.acccept((IPackageFragment) element)))
                                elements.add((IPackageFragment) element);
                        }
                    }
                }
            }
        } catch (JavaModelException e) {
            EJCoreLog.logException(e);
        }
    }

    ElementListSelectionDialog dialog = new ElementListSelectionDialog(shell,
            new JavaElementLabelProvider(JavaElementLabelProvider.SHOW_DEFAULT));
    dialog.setIgnoreCase(false);
    dialog.setTitle("Package Selection");
    dialog.setMessage("Choose a folder");
    dialog.setFilter(filter);
    dialog.setMultipleSelection(multipleSelection);
    dialog.setEmptyListMessage("");
    dialog.setElements(elements.toArray(new IPackageFragment[0]));
    dialog.setHelpAvailable(false);

    if (dialog.open() == Window.OK) {
        Object[] result = dialog.getResult();
        IPackageFragment[] fragments = new IPackageFragment[result.length];
        for (int i = 0; i < result.length; i++) {
            fragments[i] = (IPackageFragment) result[i];
        }
        return fragments;

    }
    return new IPackageFragment[0];
}

From source file:org.entirej.ide.ui.utils.PackageAssistProvider.java

License:Apache License

public IContentProposal[] getProposals(String currentContent, int position) {
    final List<TypeProposal> proposals = new ArrayList<TypeProposal>();

    if (currentContent.length() > position) {
        currentContent = currentContent.substring(0, position);
    }//from   w  w w .j  av  a  2  s .  c om
    IJavaProject javaProject = projectProvider.getJavaProject();
    if (javaProject == null)
        return new IContentProposal[0];

    if (javaProject.exists()) {
        try {
            IPackageFragmentRoot[] roots = javaProject.getPackageFragmentRoots();
            for (int i = 0; i < roots.length; i++) {
                if (roots[i].getKind() == IPackageFragmentRoot.K_SOURCE) {
                    IPackageFragmentRoot sourceRoot = roots[i];
                    if (sourceRoot != null && sourceRoot.exists()) {
                        IJavaElement[] children = sourceRoot.getChildren();
                        for (IJavaElement element : children) {
                            if (element instanceof IPackageFragment) {

                                if (filterPkg(currentContent, position, element.getElementName())) {
                                    IPackageFragment fragment = (IPackageFragment) element;
                                    proposals.add(new TypeProposal(new Type(element.getElementName(),
                                            fragment.hasChildren() ? PKG_IMG : PKG_IMG_EMPTY), null));
                                }
                            }
                        }
                    }
                }
            }
        } catch (JavaModelException e) {
            EJCoreLog.logException(e);
        }
    }

    Collections.sort(proposals, new Comparator<TypeProposal>() {

        public int compare(TypeProposal o1, TypeProposal o2) {

            return o1.type.pkg.compareTo(o2.type.pkg);
        }
    });
    return proposals.toArray(new IContentProposal[0]);
}

From source file:org.evolizer.core.util.selectionhandling.JavaSelectionHelper.java

License:Apache License

/**
 * Returns the list of root package fragments of a given Java project.
 * //from  w  w w . j  a va2 s . com
 * @param project   The Java project.
 * @return  The list of root package fragments. 
 * @throws EvolizerException
 */
public static List<IJavaElement> getPackageFragmentRoots(IJavaProject project) throws EvolizerException {
    List<IJavaElement> sourceRootPagckages = new ArrayList<IJavaElement>();
    try {
        for (IPackageFragmentRoot root : project.getPackageFragmentRoots()) {
            if (root.getKind() == IPackageFragmentRoot.K_SOURCE) {
                sourceRootPagckages.add(root);
            }
        }
    } catch (JavaModelException jme) {
        throw new EvolizerException(jme);
    }

    return sourceRootPagckages;
}

From source file:org.fastcode.util.SourceUtil.java

License:Open Source License

/**
 * @param fastCodeContext/*  w ww  . j  av  a2  s .  co m*/
 * @param createSimilarDescriptor
 * @param length
 * @throws Exception
 */
public static void populatecreateDescClassWithUserInput(final FastCodeContext fastCodeContext,
        final CreateSimilarDescriptor createSimilarDescriptor, final String[] inputs,
        final boolean differentName, final IType typeToWorkOn) throws Exception {

    final Shell parentShell = MessageUtil.getParentShell();
    final Shell shell = parentShell == null ? new Shell() : parentShell;
    IPackageFragmentRoot packageFragmentRoot = null;
    IPackageFragment tmpPackageFragment = null;
    final GlobalSettings globalSettings = getInstance();
    String superClass = EMPTY_STR;
    IType supType = null;
    int k = 0;
    boolean isMultiple = false;
    if (inputs.length > 1) {
        isMultiple = true;
    }
    createSimilarDescriptor.setNoOfInputs(inputs.length);
    for (final String input : inputs) {
        if (differentName) {
            final Pattern p = Pattern.compile(createSimilarDescriptor.getFromPattern());
            final Matcher m = p.matcher(typeToWorkOn.getFullyQualifiedName());

            if (!m.matches()) {
                continue;
            }

            final String replatePart = m.group(m.groupCount());
            createSimilarDescriptor.createReplacePartAndValue(replatePart, input);
        }
    }

    final CreateSimilarDescriptorClass[] createSimilarDescUserChoice = new CreateSimilarDescriptorClass[createSimilarDescriptor
            .getCreateSimilarDescriptorClasses().length];
    for (final CreateSimilarDescriptorClass createSimilarDescriptorClass : createSimilarDescriptor
            .getCreateSimilarDescriptorClasses()) {
        IPackageFragment packageFragment = null;
        if (createSimilarDescriptorClass == null) {
            continue;
        }
        String toName = createSimilarDescriptorClass.getToPattern();
        IType[] fldTypeArr = null;
        String targetProject = null;
        if (packageFragmentRoot == null) {
            targetProject = createSimilarDescriptorClass.getProject();
            if (fastCodeContext.getFromType() == null) {
                final IJavaProject project = getJavaProject(targetProject);
                if (project != null && project.exists() && !isEmpty(createSimilarDescriptorClass.getPackge())) {
                    for (final IPackageFragmentRoot pkgFragmntRoot : project.getPackageFragmentRoots()) {
                        packageFragment = pkgFragmntRoot
                                .getPackageFragment(createSimilarDescriptorClass.getPackge());
                        if (packageFragment != null && packageFragment.exists()) {
                            packageFragmentRoot = pkgFragmntRoot;
                            break;
                        }
                    }
                }
                if (packageFragment == null || !packageFragment.exists()) {
                    final SelectionDialog packageDialog = JavaUI.createPackageDialog(shell, project, 0, null);
                    if (packageDialog.open() == CANCEL) {
                        return;
                    }
                    packageFragment = (IPackageFragment) packageDialog.getResult()[0];
                    packageFragmentRoot = (IPackageFragmentRoot) packageFragment.getParent();
                } else if (isEmpty(createSimilarDescriptorClass.getSubPackage())
                        && packageFragment.hasSubpackages()) {
                    final List<IPackageFragment> subPackages = new ArrayList<IPackageFragment>();
                    for (final IJavaElement chldPkgFragment : packageFragmentRoot.getChildren()) {
                        if (chldPkgFragment instanceof IPackageFragment && chldPkgFragment.getElementName()
                                .startsWith(packageFragment.getElementName())) {
                            subPackages.add((IPackageFragment) chldPkgFragment);
                        }
                    }
                    if (!subPackages.isEmpty()) {
                        final PackageSelectionDialog selectionDialog = new PackageSelectionDialog(shell,
                                "Sub Package", "Choose the sub pacage from below",
                                subPackages.toArray(new IPackageFragment[0]));
                        if (selectionDialog.open() != CANCEL) {
                            packageFragment = (IPackageFragment) selectionDialog.getFirstResult();
                        }
                    }
                }
            } else {
                if (fastCodeContext.isUnitTest()) {
                    String sourcePath = globalSettings.isUseDefaultForPath()
                            ? globalSettings.getSourcePathTest()
                            : createSimilarDescriptorClass.getSourcePath();
                    sourcePath = getDefaultPathFromProject(fastCodeContext.getFromType().getJavaProject(),
                            "test", sourcePath);
                    packageFragmentRoot = getPackageRootFromProject(
                            fastCodeContext.getFromType().getJavaProject(), sourcePath);
                } else if (!isEmpty(targetProject)) {
                    final String sourcePath = globalSettings.isUseDefaultForPath()
                            ? getPathFromGlobalSettings(
                                    fastCodeContext.getFromType().getJavaProject().getElementName())
                            : createSimilarDescriptorClass.getSourcePath();
                    ;
                    packageFragmentRoot = getPackageRootFromProject(createSimilarDescriptorClass.getProject(),
                            sourcePath);
                } else {
                    packageFragmentRoot = (IPackageFragmentRoot) fastCodeContext.getFromType()
                            .getPackageFragment().getParent();
                    targetProject = packageFragmentRoot.getParent().getElementName();
                }
                final String fullname = fastCodeContext.getFromType().getFullyQualifiedName();
                final String fromPattern = createSimilarDescriptor.getFromPattern();
                if (fromPattern != null) {
                    parseTokens(fromPattern, fullname, fastCodeContext.getPlaceHolders());
                }
                if (packageFragmentRoot == null || !packageFragmentRoot.exists()) {
                    throw new Exception("Unable to find source path for, please check configuration.");
                }
                toName = replacePlaceHolders(toName, fastCodeContext.getPlaceHolders());
                if (createSimilarDescriptor.isDifferentName()) {
                    toName = fullname.replaceAll(createSimilarDescriptor.getReplacePart(),
                            createSimilarDescriptor.getReplaceValue());
                }
                final int lastDotPos = toName.lastIndexOf(DOT_CHAR);
                final String newpkg = lastDotPos != -1 ? toName.substring(0, lastDotPos)
                        : fastCodeContext.getFromType().getPackageFragment().getElementName();
                packageFragment = packageFragmentRoot.getPackageFragment(newpkg);

            }
            tmpPackageFragment = packageFragment;

        }

        if (tmpPackageFragment != null) {
            final List<IType> importTypes = new ArrayList<IType>();

            final IJavaProject javaProject = tmpPackageFragment.getJavaProject();
            final String[] impTypes = replacePlaceHolders(createSimilarDescriptorClass.getImportTypes(),
                    fastCodeContext.getPlaceHolders());
            final String[] superTypes = replacePlaceHolders(createSimilarDescriptorClass.getSuperTypes(),
                    fastCodeContext.getPlaceHolders());
            final String[] implementTypes = replacePlaceHolders(
                    createSimilarDescriptorClass.getImplementTypes(), fastCodeContext.getPlaceHolders());
            gatherImports(javaProject, impTypes, IJavaElementSearchConstants.CONSIDER_ALL_TYPES, "import",
                    importTypes);
            final List<IType> implTypes = gatherImports(javaProject, implementTypes,
                    IJavaElementSearchConstants.CONSIDER_INTERFACES, "implement", importTypes);
            // createSimilarDescriptorClass.setUserInputInterface(implTypes);
            // createSimilarDescriptorClass.setUserInputImports(importTypes);
            if (superTypes != null && superTypes.length > 0) {

                final FastCodeType[] fastCodeTypes = new FastCodeType[superTypes.length];
                int i = 0;
                for (final String superType : superTypes) {
                    fastCodeTypes[i++] = parseType(superType, null);
                }
                final ClassSelectionDialog classSelectionDialog = new ClassSelectionDialog(shell, "Super Class",
                        "Choose the classes to extend", fastCodeTypes, false);
                final int ret = classSelectionDialog.open();
                if (ret != CANCEL) {
                    // final FastCodeType fastCodeType = (FastCodeType)
                    // classSelectionDialog.getResult()[0];
                    supType = tmpPackageFragment.getJavaProject()
                            .findType(classSelectionDialog.getResult()[0].toString());

                    if (supType != null && supType.exists()) {
                        // superClass = flattenType(fastCodeType, false);
                        superClass = superClass.replace(supType.getFullyQualifiedName(),
                                supType.getElementName());
                        // placeHolders.put("super_class", superClass);
                        if (!supType.isBinary() && supType.getCompilationUnit() != null
                                && supType.getCompilationUnit().exists()) {
                            fastCodeContext.addResource(new FastCodeResource(supType.getResource()));
                        }
                    }
                }

            }

            if (createSimilarDescriptorClass.isCreateFields()) {
                final SelectionDialog selectionDialog = JavaUI.createTypeDialog(shell, null,
                        SearchEngine.createWorkspaceScope(),
                        IJavaElementSearchConstants.CONSIDER_CLASSES_AND_INTERFACES, true,
                        createSimilarDescriptorClass.getCreateFieldsName());
                selectionDialog.setMessage("Please select one or more classes to create field.");
                selectionDialog.setTitle("Select Class");

                if (selectionDialog.open() != CANCEL) {
                    int i = 0;
                    final Object[] tmpArray = selectionDialog.getResult();
                    fldTypeArr = new IType[tmpArray.length];
                    for (final Object type : tmpArray) {
                        final IType fldType = (IType) type;
                        if (isAbstract(fldType.getFlags())) {
                            openWarning(shell, "Warning",
                                    "Cannot make an instance of an abstract class " + fldType.getElementName());
                            continue;
                        }
                        fldTypeArr[i] = fldType;
                        i++;
                    }

                }
            }
            createSimilarDescUserChoice[k] = new CreateSimilarDescriptorClass.Builder()
                    .withUserInputPackage(packageFragment).withUserInputImports(importTypes)
                    .withUserInputInterface(implTypes).withSuperClass(superClass)
                    .withUserInputFieldTypes(fldTypeArr)
                    .withCreateFields(createSimilarDescriptorClass.isCreateFields())
                    .withClassAnnotations(createSimilarDescriptorClass.getClassAnnotations())
                    .withClassBody(createSimilarDescriptorClass.getClassBody())
                    .withClassHeader(createSimilarDescriptorClass.getClassHeader())
                    .withClassInsideBody(createSimilarDescriptorClass.getClassInsideBody())
                    .withClassType(createSimilarDescriptorClass.getClassType())
                    .withConvertMethodParam(createSimilarDescriptorClass.isConvertMethodParam())
                    .withConvertMethodParamFrom(createSimilarDescriptorClass.getConvertMethodParamFrom())
                    .withConvertMethodParamTo(createSimilarDescriptorClass.getConvertMethodParamTo())
                    .withCreateDefaultConstructor(createSimilarDescriptorClass.isCreateDefaultConstructor())
                    .withCreateEqualsHashcode(
                            isMultiple ? false : createSimilarDescriptorClass.isCreateEqualsHashcode())
                    .withCreateFieldsName(createSimilarDescriptorClass.getCreateFieldsName())
                    .withCreateInstanceConstructor(
                            isMultiple ? false : createSimilarDescriptorClass.isCreateInstanceConstructor())
                    .withCreateMethodBody(createSimilarDescriptorClass.isCreateMethodBody())
                    .withCreateToString(isMultiple ? false : createSimilarDescriptorClass.isCreateToString())
                    .withCreateUnitTest(createSimilarDescriptorClass.isCreateUnitTest())
                    .withFieldAnnotations(createSimilarDescriptorClass.getFieldAnnotations())
                    .withFinalClass(createSimilarDescriptorClass.isFinalClass())
                    .withImplementTypes(createSimilarDescriptorClass.getImplementTypes())
                    .withImportTypes(createSimilarDescriptorClass.getImportTypes())
                    .withInclGetterSetterForInstance(
                            createSimilarDescriptorClass.isInclGetterSetterForInstance())
                    .withMethodAnnotations(createSimilarDescriptorClass.getMethodAnnotations())
                    .withPackge(createSimilarDescriptorClass.getPackge())
                    .withProject(createSimilarDescriptorClass.getProject())
                    .withRelationTypeToParent(createSimilarDescriptorClass.getRelationTypeToParent())
                    .withSourcePath(createSimilarDescriptorClass.getSourcePath())
                    .withSubPackage(createSimilarDescriptorClass.getSubPackage())
                    .withSuperTypes(createSimilarDescriptorClass.getSuperTypes())
                    .withUserInputSuperClass(supType).withToPattern(createSimilarDescriptorClass.getToPattern())
                    .withInclInstance(createSimilarDescriptorClass.isInclInstance())
                    .withRelatedDescriptors(new ArrayList<CreateSimilarDescriptorClass>()).build();

            k++;

        }
    }
    if (tmpPackageFragment != null) {
        createSimilarDescriptor.setCreateSimilarDescUserChoice(createSimilarDescUserChoice);
        createSimilarDescriptor.numbersOfCreateSimilarDescUserChoiceClasses(createSimilarDescUserChoice);
    }
}