Package com.salesforce.ide.core.model

Examples of com.salesforce.ide.core.model.Component


     * custome objects) and use it's content as template for new-created layout.
     */
    @Override
    protected void preSaveProcess(ComponentModel layoutWizardModel, IProgressMonitor monitor)
            throws InvocationTargetException, InterruptedException, IOException {
        Component layout = layoutWizardModel.getComponent();
        Component defaultLayout = getDefaultLayout(layout);
        defaultLayout.setPackageName(layout.getPackageName());

        ComponentList components = ContainerDelegate.getInstance().getFactoryLocator().getComponentFactory().getComponentListInstance();
        components.add(defaultLayout);
        ProjectPackageList projectPackageList = ContainerDelegate.getInstance().getServiceLocator().getProjectService().getProjectPackageListInstance();
        projectPackageList.setProject(layoutWizardModel.getProject());
        projectPackageList.addComponents(components, false);

        RetrieveResultExt retrieveResultHandler;
        try {
            monitorWorkCheck(monitor, "Retrieving default layout '" + defaultLayout.getName()
                    + "' to project as template...");
            retrieveResultHandler = ContainerDelegate.getInstance().getServiceLocator().getPackageRetrieveService().retrieveSelective(projectPackageList, monitor);
        } catch (Exception e) {
            logger.error("Exception happened when trying to retrieve default layout component", e);
            throw new InvocationTargetException(e);
        }

        monitor.worked(1);

        projectPackageList.generateComponents(retrieveResultHandler.getZipFile(), retrieveResultHandler
                .getFileMetadataHandler(), monitor);

        String body = projectPackageList.getComponentByFilePath(defaultLayout.getMetadataFilePath()).getBody();
        if (body != null) {
            // TODO: add notification window: The template from default layout is not found, apply blank template to +
            // layout.getName()
            layout.intiNewBody(body);
        }
View Full Code Here


        }

        String id = getComponentByIdByExtension(extension);

        // get component from context
        Component component = getComponentById(id, id);

        if (component == null) {
            logger.error("Bean not found for id '" + id);
            return null;
        }

        if (logger.isDebugEnabled()) {
            logger.debug("Found component of type " + component.getFullDisplayName() + " for id '" + id
                    + "' and extension '" + extension + "'");
        }

        checkComponentMetadata(extension, component);
View Full Code Here

            logger.warn("Component registry is null or empty");
            return null;
        }

        // get component from context
        Component component = getComponentById(componentType, componentType);

        if (component == null) {
            return null;
        }

        if (logger.isDebugEnabled()) {
            logger.debug("Found component of type " + component.getFullDisplayName() + " for id '" + componentType
                    + "' and object type '" + componentType + "'");
        }

        return component;
    }
View Full Code Here

            layout.intiNewBody(body);
        }
    }

    private Component getDefaultLayout(Component layout) throws InvocationTargetException {
        Component defaulLayout = null;
        try {
            defaulLayout = ContainerDelegate.getInstance().getFactoryLocator().getComponentFactory().getComponentByComponentType(Constants.LAYOUT);
        } catch (FactoryException e) {
            throw new InvocationTargetException(e);
        }
        String objectAPIName = layout.getName().substring(0, layout.getName().indexOf("-"));
        // need to construct the object label because that's used in the default layout name.
        String objectLabel = null;

        //get the object from the cache based on the object api name
        DescribeObjectRegistry describeObjectRegistry = ContainerDelegate.getInstance().getFactoryLocator().getConnectionFactory().getDescribeObjectRegistry();
        DescribeSObjectResult cachedDescribeSObject = null;
        try {
            cachedDescribeSObject =
                    describeObjectRegistry.getCachedDescribeSObjectByApiName(getComponentWizardModel().getProject()
                            .getName(), objectAPIName);
        } catch (Exception e) {
            logger.error("Unable to get object given the object name: " + e.getMessage());
            throw new InvocationTargetException(e);
        }
        //get the label
        String tempobjectLabel = Utils.isNotEmpty(cachedDescribeSObject) ? cachedDescribeSObject.getLabel() : null;

        //set the object label
        objectLabel =
                (Utils.isNotEmpty(tempobjectLabel) && cachedDescribeSObject.getCustom()) ? tempobjectLabel
                        : objectAPIName;

        String defaultLayoutName = objectAPIName + "-" + objectLabel + " " + Constants.LAYOUT;
        defaulLayout.setName(defaultLayoutName);

        StringBuffer filePath = new StringBuffer(layout.getDefaultFolder());
        filePath.append(Constants.FOWARD_SLASH).append(defaultLayoutName).append(Constants.DOT).append(
            layout.getFileExtension());
        defaulLayout.setFilePath(filePath.toString());
        return defaulLayout;
    }
View Full Code Here

            logger.warn("Component registry is null or empty");
            return null;
        }

        String componentType = metadataExt.getClass().getSimpleName();
        Component component = getComponentByComponentType(componentType);
        if (component != null) {
            component.setBody(metadataExt.getXMLString());
            component.setName(metadataExt.getFullName());
        }

        return component;
    }
View Full Code Here

                    + Constants.UNKNOWN_COMPONENT_TYPE + "'");
            id = Constants.UNKNOWN_COMPONENT_TYPE;
        }

        // if component is a folder, get folder component and set sub type
        Component component = getComponentBean(id);
        if (isFolderComponent(component, pathParts)) {
            if (logger.isDebugEnabled()) {
                logger.debug("Getting '" + id + "' folder bean for path '" + tmpfilePath + "'");
            }
            component = getComponentBean(Constants.FOLDER);
            component.setSecondaryComponentType(id);
            setFolderName(component, pathParts);
        } else {
            if (logger.isDebugEnabled()) {
                logger.debug("Getting bean for id '" + id + "'");
            }
            component = getComponentBean(id);
        }

        if (component == null) {
            logger.error("Bean not found for id '" + id + "' found for filepath '" + filePath + "'");
            return null;
        }

        if (CustomObjectNameResolver.getCheckerForStandardObject().check(Utils.getNameFromFilePath(filePath),
                component.getComponentType())) {
            component = getComponentBean(Constants.STANDARD_OBJECT);
        }

        component.setFilePath(filePath);
        component.setNameFromFilePath(filePath);
        component.setManagedFromFilePath(filePath);

        if (component.isWithinFolder()) {
            setFolderName(component, pathParts);
        }

        // determine if file is metadata
        checkComponentMetadata(filePath, component);

        if (logger.isDebugEnabled()) {
            logger.debug("Created component of type '" + component.getComponentType() + "' for id '" + id
                    + "' and filepath '" + filePath + "'");
        }

        return component;
    }
View Full Code Here

        if (Utils.isEmpty(componentType)) {
            logger.warn("Component registry is null or empty");
            return false;
        }

        Component component = getComponentBean(componentType);
        return component != null && component.isWithinFolder();
    }
View Full Code Here

                break;
            }
        }

        // get component from context
        Component component = getComponentById(id, id);

        if (component == null) {
            logger.error("Bean not found for id '" + id);
            return null;
        }

        // get empty component for the folder's sub-type to load defaults, if applicable
        setFolderComponentDefaults(component);

        if (logger.isDebugEnabled()) {
            logger.debug("Found component of type " + component.getFullDisplayName() + " for id '" + id
                    + "' and folder name '" + folderName + "'");
        }

        return component;
    }
View Full Code Here

            logger.error("File cannot be null");
            throw new IllegalArgumentException("File cannot be null");
        }

        // get object type specific instance of file and set file to new object
        Component component = getComponentByFilePath(file.getProjectRelativePath().toPortableString());

        if (component == null) {
            throw new FactoryException("Unable to create component from path "
                    + file.getProjectRelativePath().toPortableString());
        }

        component.setFileResource(file);
        try {
            component.loadFromFile(includeBody);
        } catch (Exception e) {
            throw new FactoryException(e);
        }

        if (Utils.isEmpty(component.getPackageName())) {
            String packageName = getProjectService().getPackageName(file.getProject());
            component.setPackageName(packageName);
        }

        // get empty component for the folder's sub-type to load defaults, if applicable
        setFolderComponentDefaults(component);

        if (logger.isDebugEnabled()) {
            logger.debug("Loaded " + component.getFullDisplayName() + " from file '" + file.getName() + "'");
        }
        return component;
    }
View Full Code Here

        // get associated metadata file
        String filePath =
                folder.getProjectRelativePath().toPortableString() + Constants.DEFAULT_METADATA_FILE_EXTENSION;
        IFile folderMetadataFile = folder.getProject().getFile(filePath);

        Component component = null;
        if (folderMetadataFile != null && folderMetadataFile.exists()) {
            component = getComponentFromFile(folderMetadataFile, true);
            if (component == null) {
                logger.warn("Unable to get component metadata from file '"
                        + folderMetadataFile.getProjectRelativePath().toPortableString() + "'");
                return null;
            }

        } else if (folder.getParent() != null && folder.getParent().getType() == IResource.FOLDER
                && folder.getParent().exists()) {
            logger.warn("Unable to get folder's component metadata file '"
                    + folderMetadataFile.getProjectRelativePath().toPortableString() + "'");

            IFolder parent = (IFolder) folder.getParent();
            component = getComponentByFolderName(parent.getName());
            if (component == null) {
                logger.warn("Unable to get component from parent '" + parent.getName() + "'");
                return null;
            }

            component.setName(folder.getName());
            component.setFilePath(folderMetadataFile.getProjectRelativePath().toPortableString());
            component.setSecondaryComponentType(component.getComponentType());
            component.setComponentType(Constants.FOLDER);
            component.setDisplayName(Constants.FOLDER);

            String packageName = getProjectService().getPackageName(folder.getProject());
            component.setPackageName(packageName);

        } else {
            logger.warn("Unable to get folder's component metadata file '"
                    + folderMetadataFile.getProjectRelativePath().toPortableString() + "' or derive from parent");
            return null;
        }

        // get empty component for the folder's sub-type to load defaults, if applicable
        setFolderComponentDefaults(component);

        if (logger.isDebugEnabled()) {
            logger.debug("Loaded " + component.getFullDisplayName() + " from folder '" + folder.getName() + "'");
        }
        return component;
    }
View Full Code Here

TOP

Related Classes of com.salesforce.ide.core.model.Component

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.