Author: chris.laprun(a)jboss.com
Date: 2011-07-13 11:11:17 -0400 (Wed, 13 Jul 2011)
New Revision: 6868
Modified:
portal/branches/api/component/api-impl/src/main/java/org/gatein/portal/api/impl/GateInImpl.java
Log:
- Added calls to RequestLifeCycle so that calls to ModelDataStorage works. Note that this
will only work if all the dependent services (for example, PicketLinkIDMService) are
started and ready to be used...
- Removed failed attempts at optimizing size and contains methods in
PortalIterableResult.
Modified:
portal/branches/api/component/api-impl/src/main/java/org/gatein/portal/api/impl/GateInImpl.java
===================================================================
---
portal/branches/api/component/api-impl/src/main/java/org/gatein/portal/api/impl/GateInImpl.java 2011-07-13
13:35:09 UTC (rev 6867)
+++
portal/branches/api/component/api-impl/src/main/java/org/gatein/portal/api/impl/GateInImpl.java 2011-07-13
15:11:17 UTC (rev 6868)
@@ -30,7 +30,6 @@
import org.exoplatform.portal.config.Query;
import org.exoplatform.portal.mop.SiteType;
import org.exoplatform.portal.mop.navigation.NavigationService;
-import org.exoplatform.portal.pom.config.POMSession;
import org.exoplatform.portal.pom.config.POMSessionManager;
import org.exoplatform.portal.pom.data.ModelDataStorage;
import org.exoplatform.portal.pom.data.PortalData;
@@ -46,7 +45,6 @@
import org.gatein.api.id.Identifiable;
import org.gatein.api.portal.Portal;
import org.gatein.api.portal.Site;
-import org.gatein.mop.api.workspace.ObjectType;
import org.picocontainer.Startable;
import java.net.URI;
@@ -93,6 +91,7 @@
{
try
{
+ RequestLifeCycle.begin(container);
PortalData portalData =
dataStorage.getPortalConfig(PortalKey.create(portalId.toString()));
return new PortalImpl(portalData, this);
}
@@ -100,6 +99,10 @@
{
throw new RuntimeException(e);
}
+ finally
+ {
+ RequestLifeCycle.end();
+ }
}
public Portal getDefaultPortal()
@@ -242,38 +245,36 @@
private class PortalIterableResult implements IterableResult<Portal>
{
- private int size;
private final List<PortalData> portals;
public PortalIterableResult(List<PortalData> portals)
{
this.portals = portals;
- size = -1;
}
public int size()
{
- if (size != -1)
+ return portals.size();
+ }
+
+ public boolean contains(Id<Portal> id)
+ {
+ try
{
- return size;
+ RequestLifeCycle.begin(container);
+
+ return id != null &&
dataStorage.getPortalConfig(PortalKey.create(id.toString())) != null;
}
- else
+ catch (Exception e)
{
- POMSession session = pomSessionManager.getSession();
- size = session.findObjects(ObjectType.PORTAL_SITE, ObjectType.PORTAL_SITE,
null, null, 0, 1).hits();
- session.close();
- return size;
+ throw new RuntimeException(e);
}
+ finally
+ {
+ RequestLifeCycle.end();
+ }
}
- public boolean contains(Id<Portal> id)
- {
- POMSession session = pomSessionManager.getSession();
- boolean found = id != null && session.findObjectById(id.toString()) !=
null;
- session.close();
- return found;
- }
-
public Iterator<Portal> iterator()
{
return new PortalIterator(portals, GateInImpl.this);
Show replies by date