package org.osgi.test.cases.webcontainer.junit;

import java.util.StringTokenizer;

import org.osgi.framework.Bundle;
import org.osgi.framework.BundleContext;
import org.osgi.test.support.signature.DefaultSignatureTestControl;

public class WebContainerSignatureTest extends DefaultSignatureTestControl {

    /**
     * test signature per packages specified in the bundle manifest header 
     * - Signature-Packages.
     * 
     */
    public void testSignature() throws Exception {
        BundleContext bc = super.getContext();
        Bundle b = bc.getBundle();
        String signatures = (String) b.getHeaders().get("Signature-Packages");
        StringTokenizer st = new StringTokenizer(signatures, " ,");
        int n = st.countTokens();
        for (int i=0; i<n; i++ ) {
            String signature = st.nextToken().replace('.', '/');
            super.doPackage(b, signature, this);
            //progress(100 * (i+1)/n);
        }
    }
}

/* 
 * Copyright (c) The OSGi Alliance (2009). All Rights Reserved.
 * 
 * Implementation of certain elements of the OSGi Specification may be subject
 * to third party intellectual property rights, including without limitation,
 * patent rights (such a third party may or may not be a member of the OSGi
 * Alliance). The OSGi Alliance is not responsible and shall not be held
 * responsible in any manner for identifying or failing to identify any or all
 * such third party intellectual property rights.
 * 
 * This document and the information contained herein are provided on an "AS IS"
 * basis and THE OSGI ALLIANCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED,
 * INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
 * HEREIN WILL NOT INFRINGE ANY RIGHTS AND ANY IMPLIED WARRANTIES OF
 * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL THE
 * OSGI ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF BUSINESS, LOSS OF
 * USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR DIRECT, INDIRECT, SPECIAL OR
 * EXEMPLARY, INCIDENTIAL, PUNITIVE OR CONSEQUENTIAL DAMAGES OF ANY KIND IN
 * CONNECTION WITH THIS DOCUMENT OR THE INFORMATION CONTAINED HEREIN, EVEN IF
 * ADVISED OF THE POSSIBILITY OF SUCH LOSS OR DAMAGE.
 * 
 * All Company, brand and product names may be trademarks that are the sole
 * property of their respective owners. All rights reserved.
 */
package org.osgi.test.cases.webcontainer.junit;

import java.util.StringTokenizer;

import org.osgi.framework.Bundle;
import org.osgi.framework.BundleContext;
import org.osgi.test.support.signature.DefaultSignatureTestControl;

/**
 * @version $Rev$ $Date$
 * 
 *          Signature test for RFC 66 imported API (e.g. servlet v2.5 and jsp v2.1)
 *          test method originated from org.osgi.test.cases.signature
 *          
 */
public class WebContainerSignatureTest extends DefaultSignatureTestControl {

    /**
     * test signature per packages specified in the bundle manifest header 
     * - Signature-Packages.
     * 
     */
    public void testSignature() throws Exception {
        BundleContext bc = super.getContext();
        Bundle b = bc.getBundle();
        String signatures = (String) b.getHeaders().get("Signature-Packages");
        StringTokenizer st = new StringTokenizer(signatures, " ,");
        int n = st.countTokens();
        for (int i=0; i<n; i++ ) {
            String signature = st.nextToken().replace('.', '/');
            super.doPackage(b, signature, this);
            //progress(100 * (i+1)/n);
        }
    }
}

add header and revision information, using the license header from the original org.osgi.test.cases.signature test class