Package org.osgi.service.condpermadmin

Examples of org.osgi.service.condpermadmin.ConditionalPermissionUpdate


  public void stop(BundleContext context)
  {
  }
   
  void installPolicies(ConditionalPermissionAdmin cpa, String[] pInfos) {
    ConditionalPermissionUpdate cpu = cpa.newConditionalPermissionUpdate();
    List piList = cpu.getConditionalPermissionInfos();
   
    for (int i = 0; i < pInfos.length; i++) {
      String pInfo = pInfos[i];
      ConditionalPermissionInfo cpi = cpa.newConditionalPermissionInfo(pInfo);
      piList.add(cpi);
    }
   
    cpu.commit();
  }
View Full Code Here


                .equals(ConditionalPermissionInfo.ALLOW));
    }

    public ConditionalPermissionUpdate newConditionalPermissionUpdate()
    {
        return new ConditionalPermissionUpdate()
        {
            List current = null;
            List out = null;
            {
                synchronized (m_condPermInfos)
View Full Code Here

      securityAdmin.setDefaultPermissions(null);
      String[] permLocations = securityAdmin.getLocations();
      if (permLocations != null)
        for (int i = 0; i < permLocations.length; i++)
          securityAdmin.setPermissions(permLocations[i], null);
      ConditionalPermissionUpdate update = securityAdmin.newConditionalPermissionUpdate();
      update.getConditionalPermissionInfos().clear();
      update.commit();
    }
    // clear the permissions from conditional permission admin
    if (securityAdmin != null)
      for (Enumeration infos = securityAdmin.getConditionalPermissionInfos(); infos.hasMoreElements();)
        ((ConditionalPermissionInfo) infos.nextElement()).delete();
View Full Code Here

      securityAdmin.setDefaultPermissions(null);
      String[] permLocations = securityAdmin.getLocations();
      if (permLocations != null)
        for (int i = 0; i < permLocations.length; i++)
          securityAdmin.setPermissions(permLocations[i], null);
      ConditionalPermissionUpdate update = securityAdmin.newConditionalPermissionUpdate();
      update.getConditionalPermissionInfos().clear();
      update.commit();
    }
    // clear the permissions from conditional permission admin
    if (securityAdmin != null)
      for (Enumeration<ConditionalPermissionInfo> infos = securityAdmin.getConditionalPermissionInfos(); infos.hasMoreElements();)
        infos.nextElement().delete();
View Full Code Here

    private Bundle svConsumerBundle;

    @Test
    @Ignore
    public void test() {
        ConditionalPermissionUpdate update = conditionalPermissionAdmin.newConditionalPermissionUpdate();
        List list = update.getConditionalPermissionInfos();
        for (Object o : list) {
            System.out.println(o);
        }

        ConditionInfo[] conditions = new ConditionInfo[]{new ConditionInfo("org.osgi.service.condpermadmin.BundleLocationCondition", new String[]{svProviderBundle.getLocation()})};
        PermissionInfo[] permissions = new PermissionInfo[] {new PermissionInfo("org.osgi.service.monitor.MonitorPermission", "test.monitorable\\*", MonitorPermission.PUBLISH)};

        ConditionalPermissionInfo conditionalPermissionInfo = conditionalPermissionAdmin.newConditionalPermissionInfo(null,
                conditions, permissions, ConditionalPermissionInfo.DENY);

        update.getConditionalPermissionInfos().add(conditionalPermissionInfo);
        update.commit();
    }
View Full Code Here

        + "[org.osgi.service.condpermadmin.BundleLocationCondition \""
        + context.getBundle().getLocation() + "\"]"
        + "(java.security.AllPermission \"*\" \"*\")"
        + "} \"Management Agent Policy\"");
      ConditionalPermissionAdmin cpa = getConditionalPermissionAdmin(context);     
      ConditionalPermissionUpdate u = cpa.newConditionalPermissionUpdate()
      List infos = u.getConditionalPermissionInfos();                       
      infos.clear();                                                        
      for (String encodedInfo : encodedInfos) {                             
        infos.add(cpa.newConditionalPermissionInfo(encodedInfo));
      }
      if (!u.commit()) {                                                    
        throw new ConcurrentModificationException(                         
      "Permissions changed during update");
      }
    }
View Full Code Here

    private void updatePermissionsFromFile() throws IOException {

        final ServiceReference cpaRef = bundleContext.getServiceReference(ConditionalPermissionAdmin.class.getName());
        final ConditionalPermissionAdmin conditionalPermissionAdmin = (ConditionalPermissionAdmin) bundleContext.getService(cpaRef);
        final ConditionalPermissionUpdate permissionUpdate = conditionalPermissionAdmin.newConditionalPermissionUpdate();
        final List conditionalPermissionInfos = permissionUpdate.getConditionalPermissionInfos();

        try {

            final BufferedReader reader = new BufferedReader(new FileReader(felixPolicy));
            String line;
            final Set<String> cpiNames = new HashSet<String>();

            while ((line = reader.readLine()) != null) {
                if (!line.startsWith("//")) {
                    final ConditionalPermissionInfo cpi = conditionalPermissionAdmin.newConditionalPermissionInfo(line);
                    final String cpiName = cpi.getName();
                    if (cpiNames.contains(cpiName)) {
                        throw new RuntimeException("Redundant policy name!");
                    }
                    cpiNames.add(cpiName);
                    conditionalPermissionInfos.add(cpi);
                }
            }
            reader.close();
            permissionUpdate.commit();

        } finally {
            bundleContext.ungetService(cpaRef);
        }
    }
View Full Code Here

TOP

Related Classes of org.osgi.service.condpermadmin.ConditionalPermissionUpdate

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.