You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by cc...@apache.org on 2009/12/09 18:32:12 UTC
svn commit: r888883 -
/felix/trunk/framework/src/main/java/org/apache/felix/framework/Felix.java
Author: ccustine
Date: Wed Dec 9 17:32:12 2009
New Revision: 888883
URL: http://svn.apache.org/viewvc?rev=888883&view=rev
Log:
FELIX-1929 - getStartLevel() always reports requested start level, not active start level
Modified:
felix/trunk/framework/src/main/java/org/apache/felix/framework/Felix.java
Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/Felix.java
URL: http://svn.apache.org/viewvc/felix/trunk/framework/src/main/java/org/apache/felix/framework/Felix.java?rev=888883&r1=888882&r2=888883&view=diff
==============================================================================
--- felix/trunk/framework/src/main/java/org/apache/felix/framework/Felix.java (original)
+++ felix/trunk/framework/src/main/java/org/apache/felix/framework/Felix.java Wed Dec 9 17:32:12 2009
@@ -960,9 +960,8 @@
// with each other.
// Determine if we are lowering or raising the
- // active start level, then udpate active start level.
+ // active start level.
boolean lowering = (requestedLevel < getActiveStartLevel());
- m_activeStartLevel = requestedLevel;
synchronized (m_installedBundleLock_Priority2)
{
@@ -1065,8 +1064,14 @@
if (((impl.getPersistentState() == Bundle.ACTIVE)
|| (impl.getPersistentState() == Bundle.STARTING))
&& (impl.getStartLevel(getInitialBundleStartLevel())
- <= getActiveStartLevel()))
+ <= requestedLevel))
{
+
+ if (m_activeStartLevel != impl.getStartLevel(getInitialBundleStartLevel()))
+ {
+ m_activeStartLevel = impl.getStartLevel(getInitialBundleStartLevel());
+ }
+
try
{
// TODO: LAZY - Not sure if this is the best way...
@@ -1088,8 +1093,14 @@
else if (((impl.getState() == Bundle.ACTIVE)
|| (impl.getState() == Bundle.STARTING))
&& (impl.getStartLevel(getInitialBundleStartLevel())
- > getActiveStartLevel()))
+ > requestedLevel))
{
+
+ if (m_activeStartLevel != impl.getStartLevel(getInitialBundleStartLevel()))
+ {
+ m_activeStartLevel = impl.getStartLevel(getInitialBundleStartLevel());
+ }
+
try
{
stopBundle(impl, false);
@@ -1112,6 +1123,9 @@
// is necessary, but it appears to help.
bundles[i] = null;
}
+
+ m_activeStartLevel = requestedLevel;
+
}
if (getState() == Bundle.ACTIVE)