[ 
https://issues.apache.org/jira/browse/FELIX-3411?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13244085#comment-13244085
 ] 

Yasuhiro Kawame commented on FELIX-3411:
----------------------------------------

Thank you for your comment.

I am testing exception handling using wrong bundles. 

Conditions:
  B_N is the bundle start level.
  A is an active start level.
  R is a requested start level.

  Bundle_01:
    B_01 = 1

  Bundle_02:
    B_02 = 3 
    This BundleActivator#start method throws an exception.

  Bundle_03:
    B_03 = 5

STEP1. ActiveStartLevel = 1.
   (A = 1)
   Spec and Implementation:
     Bundle_01 is ACTIVE.

STEP2. setStartLevel(3)
   (A = 1, R = 3)
   Spec and Implementation:
     Bundle_02 throws a BundleException.

STEP3. setStartLevel(5)
   (A = 3, R = 5)
  Spec:
     Bundle_03 is ACTIVE.

  Implementation:
     Bundle_02 throws a BundleException.
     Bundle_03 is ACTIVE.
  
  This point is different from Spec.

Best regards.
                
> The implementation of 
> org.osgi.service.startlevel.StartLevel#setStartLevel(int) does not follow the 
> spec
> --------------------------------------------------------------------------------------------------------
>
>                 Key: FELIX-3411
>                 URL: https://issues.apache.org/jira/browse/FELIX-3411
>             Project: Felix
>          Issue Type: Bug
>          Components: Framework
>    Affects Versions: framework-4.0.2
>            Reporter: Yasuhiro Kawame
>
> I think that the implementation of Changing the Active Start Level is 
> different from Spec.
> see:
> OSGi Service Platform Core Specification Release 4, Version 4.3, Figure 8.2 
> page154
> Move to requested start level R, active level is A, B is a bundle's start 
> level
> Spec:
> if (A < R) 
>   while (A < R) {
>     A = A + 1
>     Start All bundles where B = A
>   }
> Implementation:
> if (A < R) 
>   Start All bundles where B <= R
> A = R
> Similarly, if A > R.
> Javadoc:
> http://www.osgi.org/javadoc/r4v43/org/osgi/service/startlevel/StartLevel.html#setStartLevel%28int%29
> http://www.osgi.org/javadoc/r4v43/org/osgi/framework/startlevel/FrameworkStartLevel.html#setStartLevel(int,
>  org.osgi.framework.FrameworkListener...)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to