weaver 2004/10/29 07:04:35 Modified: components/registry/src/java/org/apache/jetspeed/components/portletregistry PortletRegistryComponentImpl.java Added: components/registry/src/java/org/apache/jetspeed/components/portletregistry PersistenceBrokerPortletRegistry.java Removed: components/registry/src/java/org/apache/jetspeed/components/portletregistry PersistenceStorePortletRegistry.java Log: see: http://nagoya.apache.org/jira/browse/JS2-144 - refactor of registry and entity DAO Revision Changes Path 1.17 +3 -3 jakarta-jetspeed-2/components/registry/src/java/org/apache/jetspeed/components/portletregistry/PortletRegistryComponentImpl.java Index: PortletRegistryComponentImpl.java =================================================================== RCS file: /home/cvs/jakarta-jetspeed-2/components/registry/src/java/org/apache/jetspeed/components/portletregistry/PortletRegistryComponentImpl.java,v retrieving revision 1.16 retrieving revision 1.17 diff -u -r1.16 -r1.17 --- PortletRegistryComponentImpl.java 12 Oct 2004 19:59:31 -0000 1.16 +++ PortletRegistryComponentImpl.java 29 Oct 2004 14:04:35 -0000 1.17 @@ -68,7 +68,7 @@ * @version $ $ * */ -public class PortletRegistryComponentImpl implements PortletRegistryComponent +public class PortletRegistryComponentImpl implements PortletRegistry { /** The logger. */ private static final Log log = LogFactory.getLog(PortletRegistryComponentImpl.class); @@ -492,7 +492,7 @@ return obj; } - public void savePortletDefinition( PortletDefinition portlet ) throws RegistryException + public void savePortletDefinition( PortletDefinition portlet ) throws FailedToStorePortletDefinitionException { try { @@ -503,7 +503,7 @@ } catch (LockFailedException e) { - throw new RegistryException("Unable to lock PortletDefintion for update: " + e.toString(), e); + throw new FailedToStorePortletDefinitionException(portlet, e); } } 1.1 jakarta-jetspeed-2/components/registry/src/java/org/apache/jetspeed/components/portletregistry/PersistenceBrokerPortletRegistry.java Index: PersistenceBrokerPortletRegistry.java =================================================================== /* * Copyright 2000-2001,2004 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.jetspeed.components.portletregistry; import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; import java.util.List; import java.util.Locale; import java.util.prefs.BackingStoreException; import java.util.prefs.Preferences; import org.apache.jetspeed.components.dao.InitablePersistenceBrokerDaoSupport; import org.apache.jetspeed.om.common.MutableLanguage; import org.apache.jetspeed.om.common.Support; import org.apache.jetspeed.om.common.portlet.MutablePortletApplication; import org.apache.jetspeed.om.common.portlet.PortletDefinitionComposite; import org.apache.jetspeed.om.impl.LanguageImpl; import org.apache.jetspeed.om.portlet.impl.PortletApplicationDefinitionImpl; import org.apache.jetspeed.om.portlet.impl.PortletDefinitionImpl; import org.apache.ojb.broker.query.Criteria; import org.apache.ojb.broker.query.QueryFactory; import org.apache.pluto.om.common.Language; import org.apache.pluto.om.common.ObjectID; import org.apache.pluto.om.portlet.PortletApplicationDefinition; import org.apache.pluto.om.portlet.PortletDefinition; import org.springframework.dao.DataAccessException; /** * <p> * OjbPortletRegistry * </p> * <p> * * </p> * * @author <a href="mailto:[EMAIL PROTECTED]">Scott T. Weaver </a> * @version $Id: PersistenceBrokerPortletRegistry.java,v 1.1 2004/10/29 14:04:35 weaver Exp $ * */ public class PersistenceBrokerPortletRegistry extends InitablePersistenceBrokerDaoSupport implements PortletRegistry { /** * */ public PersistenceBrokerPortletRegistry(String repositoryPath) { super(repositoryPath); PortletDefinitionImpl.setPortletRegistry(this); } public Language createLanguage( Locale locale, String title, String shortTitle, String description, Collection keywords ) throws RegistryException { try { MutableLanguage lc = new LanguageImpl(); lc.setLocale(locale); lc.setTitle(title); lc.setShortTitle(shortTitle); lc.setKeywords(keywords); return lc; } catch (Exception e) { throw new RegistryException("Unable to create language object."); } } public List getAllPortletDefinitions() { Criteria c = new Criteria(); List list = new ArrayList(getPersistenceBrokerTemplate().getCollectionByQuery( QueryFactory.newQuery(PortletDefinitionImpl.class, c))); postLoadColl(list); return list; } public MutablePortletApplication getPortletApplication( ObjectID id ) { Criteria c = new Criteria(); c.addEqualTo("id", new Long(id.toString())); MutablePortletApplication app = (MutablePortletApplication) getPersistenceBrokerTemplate().getObjectByQuery( QueryFactory.newQuery(PortletApplicationDefinitionImpl.class, c)); postLoad(app); return app; } public MutablePortletApplication getPortletApplication( String name ) { Criteria c = new Criteria(); c.addEqualTo("name", name); MutablePortletApplication app = (MutablePortletApplication) getPersistenceBrokerTemplate().getObjectByQuery( QueryFactory.newQuery(PortletApplicationDefinitionImpl.class, c)); postLoad(app); return app; } public MutablePortletApplication getPortletApplicationByIdentifier( String identifier ) { Criteria c = new Criteria(); c.addEqualTo("applicationIdentifier", identifier); MutablePortletApplication app = (MutablePortletApplication) getPersistenceBrokerTemplate().getObjectByQuery( QueryFactory.newQuery(PortletApplicationDefinitionImpl.class, c)); postLoad(app); return app; } public List getPortletApplications() { Criteria c = new Criteria(); List list = new ArrayList(getPersistenceBrokerTemplate().getCollectionByQuery( QueryFactory.newQuery(PortletApplicationDefinitionImpl.class, c))); postLoadColl(list); return list; } public PortletDefinitionComposite getPortletDefinitionByIdentifier( String identifier ) { Criteria c = new Criteria(); c.addEqualTo("portletIdentifier", identifier); PortletDefinitionComposite def = (PortletDefinitionComposite) getPersistenceBrokerTemplate().getObjectByQuery( QueryFactory.newQuery(PortletDefinitionImpl.class, c)); if (def != null && def.getPortletApplicationDefinition() == null) { final String msg = "getPortletDefinitionByIdentifier() returned a PortletDefinition that has no parent PortletApplication."; throw new IllegalStateException(msg); } postLoad(def); return def; } public PortletDefinitionComposite getPortletDefinitionByUniqueName( String name ) { String appName = PortletRegistryHelper.parseAppName(name); String portletName = PortletRegistryHelper.parsePortletName(name); Criteria c = new Criteria(); c.addEqualTo("app.name", appName); c.addEqualTo("name", portletName); PortletDefinitionComposite def = (PortletDefinitionComposite) getPersistenceBrokerTemplate().getObjectByQuery( QueryFactory.newQuery(PortletDefinitionImpl.class, c)); if (def != null && def.getPortletApplicationDefinition() == null) { final String msg = "getPortletDefinitionByIdentifier() returned a PortletDefinition that has no parent PortletApplication."; throw new IllegalStateException(msg); } postLoad(def); return def; } public boolean portletApplicationExists( String appIdentity ) { return getPortletApplicationByIdentifier(appIdentity) != null; } public boolean portletDefinitionExists( String portletName, MutablePortletApplication app ) { return getPortletDefinitionByUniqueName(app.getName() + "::" + portletName) != null; } public boolean portletDefinitionExists( String portletIdentity ) { return getPortletDefinitionByIdentifier(portletIdentity) != null; } public void registerPortletApplication( PortletApplicationDefinition newApp ) throws RegistryException { getPersistenceBrokerTemplate().store(newApp); } public void removeApplication( PortletApplicationDefinition app ) throws RegistryException { getPersistenceBrokerTemplate().delete(app); String appNodePath = MutablePortletApplication.PREFS_ROOT + "/" +((MutablePortletApplication)app).getName(); try { if(Preferences.systemRoot().nodeExists(appNodePath)) { Preferences node = Preferences.systemRoot().node(appNodePath); // log.info("Removing Application preference node "+node.absolutePath()); node.removeNode(); } } catch (BackingStoreException e) { throw new RegistryException(e.toString(), e); } } public void updatePortletApplication( PortletApplicationDefinition app ) throws RegistryException { getPersistenceBrokerTemplate().store(app); } private void postLoad( Object obj ) { if (obj != null) { if (obj instanceof Support) { try { ((Support) obj).postLoad(obj); } catch (Exception e) { } } } } private void postLoadColl( Collection coll ) { if (coll != null && !coll.isEmpty()) { Iterator itr = coll.iterator(); Object test = itr.next(); if (test instanceof Support) { Support testSupport = (Support) test; try { testSupport.postLoad(testSupport); } catch (Exception e1) { } while (itr.hasNext()) { Support support = (Support) itr.next(); try { support.postLoad(support); } catch (Exception e) { } } } } } public void savePortletDefinition( PortletDefinition portlet ) throws FailedToStorePortletDefinitionException { try { getPersistenceBrokerTemplate().store(portlet); } catch (DataAccessException e) { throw new FailedToStorePortletDefinitionException(portlet, e); } } }
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]