Package org.apache.ojb.broker.query

Examples of org.apache.ojb.broker.query.Criteria


    private void updateFolderNodes(FolderImpl folderImpl) throws FolderNotUpdatedException
    {
        try
        {
            // update pages
            Criteria filter = new Criteria();
            filter.addEqualTo("parent", new Integer(folderImpl.getIdentity()));
            QueryByCriteria query = QueryFactory.newQuery(PageImpl.class, filter);
            Collection pages = getPersistenceBrokerTemplate().getCollectionByQuery(query);
            if (pages != null)
            {
                Iterator pagesIter = pages.iterator();
                while (pagesIter.hasNext())
                {
                    updatePage((Page)pagesIter.next());
                }
            }

            // update page templates
            filter = new Criteria();
            filter.addEqualTo("parent", new Integer(folderImpl.getIdentity()));
            query = QueryFactory.newQuery(PageTemplateImpl.class, filter);
            Collection pageTemplates = getPersistenceBrokerTemplate().getCollectionByQuery(query);
            if (pageTemplates != null)
            {
                Iterator pageTemplatesIter = pageTemplates.iterator();
                while (pageTemplatesIter.hasNext())
                {
                    updatePageTemplate((PageTemplate)pageTemplatesIter.next());
                }
            }

            // update dynamic pages
            filter = new Criteria();
            filter.addEqualTo("parent", new Integer(folderImpl.getIdentity()));
            query = QueryFactory.newQuery(DynamicPageImpl.class, filter);
            Collection dynamicPages = getPersistenceBrokerTemplate().getCollectionByQuery(query);
            if (dynamicPages != null)
            {
                Iterator dynamicPagesIter = dynamicPages.iterator();
                while (dynamicPagesIter.hasNext())
                {
                    updateDynamicPage((DynamicPage)dynamicPagesIter.next());
                }
            }

            // update fragment definitions
            filter = new Criteria();
            filter.addEqualTo("parent", new Integer(folderImpl.getIdentity()));
            query = QueryFactory.newQuery(FragmentDefinitionImpl.class, filter);
            Collection fragmentDefinitions = getPersistenceBrokerTemplate().getCollectionByQuery(query);
            if (fragmentDefinitions != null)
            {
                Iterator fragmentDefinitionsIter = fragmentDefinitions.iterator();
                while (fragmentDefinitionsIter.hasNext())
                {
                    updateFragmentDefinition((FragmentDefinition)fragmentDefinitionsIter.next());
                }
            }

            // update links
            filter = new Criteria();
            filter.addEqualTo("parent", new Integer(folderImpl.getIdentity()));
            query = QueryFactory.newQuery(LinkImpl.class, filter);
            Collection links = getPersistenceBrokerTemplate().getCollectionByQuery(query);
            if (links != null)
            {
                Iterator linksIter = links.iterator();
                while (linksIter.hasNext())
                {
                    updateLink((Link)linksIter.next());
                }
            }

            // update page security
            filter = new Criteria();
            filter.addEqualTo("parent", new Integer(folderImpl.getIdentity()));
            query = QueryFactory.newQuery(PageSecurityImpl.class, filter);
            PageSecurity document = (PageSecurity)getPersistenceBrokerTemplate().getObjectByQuery(query);
            if (document != null)
            {
                updatePageSecurity(document);
            }

            // update folders last: breadth first recursion
            filter = new Criteria();
            filter.addEqualTo("parent", new Integer(folderImpl.getIdentity()));
            query = QueryFactory.newQuery(FolderImpl.class, filter);
            Collection folders = getPersistenceBrokerTemplate().getCollectionByQuery(query);
            if (folders != null)
            {
                Iterator foldersIter = folders.iterator();
View Full Code Here


    public Set<String> getUserNames(org.apache.jetspeed.om.portlet.PortletDefinition portletdefinition, String windowId)
    {
        Set<String> userNames = new TreeSet<String>();
        String appName = portletdefinition.getApplication().getName();
        String portletName = portletdefinition.getPortletName();
        Criteria c = new Criteria();
        c.addEqualTo("dtype", DISCRIMINATOR_USER);
        c.addEqualTo("applicationName", appName);
        c.addEqualTo("portletName", portletName);
        c.addEqualTo("entityId", windowId);
        c.addNotEqualTo("userName", EMPTY_VALUE);
        ReportQueryByCriteria query = QueryFactory.newReportQuery(DatabasePreference.class, c);
        query.setAttributes(new String[] { "userName", "id" });
        query.setDistinct(true);
        Iterator<Object[]> userObjects = getPersistenceBrokerTemplate().getReportQueryIteratorByQuery(query);
        while (userObjects.hasNext())
View Full Code Here

     * @see org.apache.jetspeed.components.portletpreferences.PortletPreferencesProvider#storePortletPreference(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.util.Map)
     */
    public void storePortletPreference(String appName, String portletName, String windowId, String userName, Map<String, PortletPreference> map)
    {
        // always read in to get a fresh copy for merge
        Criteria c = new Criteria();
        c.addEqualTo("dtype", DISCRIMINATOR_PORTLET);
        c.addEqualTo("applicationName", appName);
        c.addEqualTo("portletName", portletName);        
        QueryByCriteria query = QueryFactory.newQuery(DatabasePreference.class, c);
        Map<String, DatabasePreference> mergeMap = new HashMap<String, DatabasePreference>();
        List<DatabasePreference> deletes = new LinkedList<DatabasePreference>();
        List<DatabasePreference> updates = new LinkedList<DatabasePreference>();
        List<PortletPreference> inserts = new LinkedList<PortletPreference>();
View Full Code Here

    private void removeFolderNodes(FolderImpl folderImpl) throws FolderNotRemovedException
    {
        try
        {
            // remove folders first: depth first recursion
            Criteria filter = new Criteria();
            filter.addEqualTo("parent", new Integer(folderImpl.getIdentity()));
            QueryByCriteria query = QueryFactory.newQuery(FolderImpl.class, filter);
            Collection folders = getPersistenceBrokerTemplate().getCollectionByQuery(query);
            if (folders != null)
            {
                Iterator foldersIter = folders.iterator();
                while (foldersIter.hasNext())
                {
                    removeFolder((Folder)foldersIter.next());
                }
            }

            // remove pages
            filter = new Criteria();
            filter.addEqualTo("parent", new Integer(folderImpl.getIdentity()));
            query = QueryFactory.newQuery(PageImpl.class, filter);
            Collection pages = getPersistenceBrokerTemplate().getCollectionByQuery(query);
            if (pages != null)
            {
                Iterator pagesIter = pages.iterator();
                while (pagesIter.hasNext())
                {
                    removePage((Page)pagesIter.next());
                }
            }

            // remove page templates
            filter = new Criteria();
            filter.addEqualTo("parent", new Integer(folderImpl.getIdentity()));
            query = QueryFactory.newQuery(PageTemplateImpl.class, filter);
            Collection pageTemplates = getPersistenceBrokerTemplate().getCollectionByQuery(query);
            if (pageTemplates != null)
            {
                Iterator pageTemplatesIter = pageTemplates.iterator();
                while (pageTemplatesIter.hasNext())
                {
                    removePageTemplate((PageTemplate)pageTemplatesIter.next());
                }
            }

            // remove dynamic pages
            filter = new Criteria();
            filter.addEqualTo("parent", new Integer(folderImpl.getIdentity()));
            query = QueryFactory.newQuery(DynamicPageImpl.class, filter);
            Collection dynamicPages = getPersistenceBrokerTemplate().getCollectionByQuery(query);
            if (dynamicPages != null)
            {
                Iterator dynamicPagesIter = dynamicPages.iterator();
                while (dynamicPagesIter.hasNext())
                {
                    removeDynamicPage((DynamicPage)dynamicPagesIter.next());
                }
            }

            // remove fragment definitions
            filter = new Criteria();
            filter.addEqualTo("parent", new Integer(folderImpl.getIdentity()));
            query = QueryFactory.newQuery(FragmentDefinitionImpl.class, filter);
            Collection fragmentDefinitions = getPersistenceBrokerTemplate().getCollectionByQuery(query);
            if (fragmentDefinitions != null)
            {
                Iterator fragmentDefinitionsIter = fragmentDefinitions.iterator();
                while (fragmentDefinitionsIter.hasNext())
                {
                    removeFragmentDefinition((FragmentDefinition)fragmentDefinitionsIter.next());
                }
            }

            // remove links
            filter = new Criteria();
            filter.addEqualTo("parent", new Integer(folderImpl.getIdentity()));
            query = QueryFactory.newQuery(LinkImpl.class, filter);
            Collection links = getPersistenceBrokerTemplate().getCollectionByQuery(query);
            if (links != null)
            {
                Iterator linksIter = links.iterator();
                while (linksIter.hasNext())
                {
                    removeLink((Link)linksIter.next());
                }
            }

            // remove page security
            filter = new Criteria();
            filter.addEqualTo("parent", new Integer(folderImpl.getIdentity()));
            query = QueryFactory.newQuery(PageSecurityImpl.class, filter);
            PageSecurity document = (PageSecurity)getPersistenceBrokerTemplate().getObjectByQuery(query);
            if (document != null)
            {
                removePageSecurity(document);
View Full Code Here

            // query from database if not cached and cache
            DatabasePageManagerCachedFragmentPropertyList globalFragmentPropertyList = DatabasePageManagerCache.fragmentPropertyListCacheLookup(fragmentKey);
            if (globalFragmentPropertyList == null)
            {
                globalFragmentPropertyList = new DatabasePageManagerCachedFragmentPropertyList(baseFragmentElementImpl.getBaseFragmentsElement().getPath());
                Criteria filter = new Criteria();
                filter.addEqualTo("fragment", new Integer(baseFragmentElementImpl.getIdentity()));
                filter.addIsNull("scope");
                QueryByCriteria query = QueryFactory.newQuery(FragmentPropertyImpl.class, filter);
                Collection fragmentProperties = getPersistenceBrokerTemplate().getCollectionByQuery(query);
                globalFragmentPropertyList.addAll(fragmentProperties);
                DatabasePageManagerCache.fragmentPropertyListCacheAdd(fragmentKey, globalFragmentPropertyList, false);
            }
            Map principalFragmentPropertyLists = null;
            DatabasePageManagerCachedFragmentPropertyList userFragmentPropertyList = null;
            if (subject != null)
            {
                if (GROUP_AND_ROLE_PROPERTY_SCOPES_ENABLED)
                {
                    Set principals = subject.getPrincipals();
                    Iterator principalsIter = principals.iterator();
                    while (principalsIter.hasNext())
                    {
                        Principal principal = (Principal)principalsIter.next();
                        String principalScope = null;
                        if (principal instanceof User)
                        {
                            principalScope = USER_PROPERTY_SCOPE;
                        }
                        else if (principal instanceof Group)
                        {
                            principalScope = GROUP_PROPERTY_SCOPE;
                        }
                        else if (principal instanceof Role)
                        {
                            principalScope = ROLE_PROPERTY_SCOPE;
                        }
                        if (principalScope != null)
                        {
                            String principalKey = getFragmentPropertyListPrincipalKey(principalScope, principal.getName());
                            DatabasePageManagerCachedFragmentPropertyList principalFragmentPropertyList = DatabasePageManagerCache.principalFragmentPropertyListCacheLookup(principalKey);
                            if (principalFragmentPropertyList == null)
                            {
                                principalFragmentPropertyList = new DatabasePageManagerCachedFragmentPropertyList(principalScope, principalKey);
                                Criteria filter = new Criteria();
                                filter.addEqualTo("scope", principalScope);
                                filter.addEqualTo("scopeValue", principal.getName());
                                QueryByCriteria query = QueryFactory.newQuery(FragmentPropertyImpl.class, filter);
                                Collection fragmentProperties = getPersistenceBrokerTemplate().getCollectionByQuery(query);
                                principalFragmentPropertyList.addAll(fragmentProperties);
                                DatabasePageManagerCache.principalFragmentPropertyListCacheAdd(principalKey, principalFragmentPropertyList, false);
                            }
                            if (principalFragmentPropertyList != null)
                            {
                                if (principalFragmentPropertyLists == null)
                                {
                                    principalFragmentPropertyLists = new HashMap();
                                }
                                principalFragmentPropertyLists.put(principalKey, principalFragmentPropertyList);
                            }
                        }
                    }
                }
                else if (userPrincipal != null)
                {
                    String principalKey = getFragmentPropertyListPrincipalKey(USER_PROPERTY_SCOPE, userPrincipal.getName());
                    userFragmentPropertyList = DatabasePageManagerCache.principalFragmentPropertyListCacheLookup(principalKey);
                    if (userFragmentPropertyList == null)
                    {
                        userFragmentPropertyList = new DatabasePageManagerCachedFragmentPropertyList(USER_PROPERTY_SCOPE, principalKey);
                        Criteria filter = new Criteria();
                        filter.addEqualTo("scope", USER_PROPERTY_SCOPE);
                        filter.addEqualTo("scopeValue", userPrincipal.getName());
                        QueryByCriteria query = QueryFactory.newQuery(FragmentPropertyImpl.class, filter);
                        Collection fragmentProperties = getPersistenceBrokerTemplate().getCollectionByQuery(query);
                        userFragmentPropertyList.addAll(fragmentProperties);
                        DatabasePageManagerCache.principalFragmentPropertyListCacheAdd(principalKey, userFragmentPropertyList, false);
                    }
View Full Code Here

            transientList.clearProperties();
        }

        // remove all fragment properties in list from database
        Integer fragmentId = new Integer(baseFragmentElementImpl.getIdentity());
        Criteria filter = new Criteria();
        filter.addEqualTo("fragment", fragmentId);
        QueryByCriteria query = QueryFactory.newQuery(FragmentPropertyImpl.class, filter);
        getPersistenceBrokerTemplate().deleteByQuery(query);
       
        // interoperate with cache to signal remove operations
        DatabasePageManagerCache.fragmentPropertyListCacheRemove(fragmentKey);
View Full Code Here

    }
   
    @SuppressWarnings("unchecked")
    public Collection<PortletDefinition> getAllPortletDefinitions()
    {
        Criteria c = new Criteria();
        Collection<PortletDefinition> list = getPersistenceBrokerTemplate().getCollectionByQuery(
                QueryFactory.newQuery(PortletDefinitionImpl.class, c));
        postLoadColl(list);
        return list;
    }
View Full Code Here

                {
                    return (PortletApplication)cacheElement.getContent();
                }
            }
        }
        Criteria c = new Criteria();
        c.addEqualTo("name", name);
        PortletApplication app = (PortletApplication) getPersistenceBrokerTemplate().getObjectByQuery(
                QueryFactory.newQuery(PortletApplicationDefinitionImpl.class, c));
        postLoad(app);
        return app;
    }
View Full Code Here

    }

    @SuppressWarnings("unchecked")
    public Collection<PortletApplication> getPortletApplications()
    {
        Criteria c = new Criteria();
        Collection<PortletApplication> list = getPersistenceBrokerTemplate().getCollectionByQuery(
                QueryFactory.newQuery(PortletApplicationDefinitionImpl.class, c));
        postLoadColl(list);
        return list;
    }
View Full Code Here

            }
        }
        String appName = PortletRegistryHelper.parseAppName(name);
        String portletName = PortletRegistryHelper.parsePortletName(name);

        Criteria c = new Criteria();
        c.addEqualTo("app.name", appName);
        c.addEqualTo("portletName", portletName);
        PortletDefinition def = (PortletDefinition) getPersistenceBrokerTemplate().getObjectByQuery(
        QueryFactory.newQuery(PortletDefinitionImpl.class, c));
        if (def != null && def.getApplication() == null)
        {
            final String msg = "getPortletDefinitionByIdentifier() returned a PortletDefinition that has no parent PortletApplication.";
View Full Code Here

TOP

Related Classes of org.apache.ojb.broker.query.Criteria

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.