Package net.timewalker.ffmq3.security

Examples of net.timewalker.ffmq3.security.Privilege


      QueueConnection[] sendersConnections = null;
      try
      {
          Queue queue = new QueueRef(params.destinationName);
         
          SynchronizationPoint startSynchro = new SynchronizationPoint();
          receiverConnections = new QueueConnection[params.receiverCount];
          for (int n = 0 ; n < receiverConnections.length ; n++)
              receiverConnections[n] = createQueueConnection();
 
          // Start receivers
          QueueListenerThread[] receivers = new QueueListenerThread[params.receiverCount];
          for (int n = 0 ; n < receivers.length ; n++)
              receivers[n] = new QueueListenerThread("Receiver"+(n+1),
                                                     startSynchro,
                                                     receiverConnections[n],
                                                     params.receiverTransacted,
                                                     params.acknowledgeMode,
                                                     queue,
                                                     null);
          for (int n = 0 ; n < receivers.length ; n++)
          {
              receivers[n].start();
              receivers[n].waitForStartup();
          }
         
          sendersConnections = new QueueConnection[params.senderCount];
          for (int n = 0 ; n < sendersConnections.length ; n++)
              sendersConnections[n] = createQueueConnection();
         
          // Start senders
          QueueSenderThread[] senders = new QueueSenderThread[params.senderCount];
          int totalExpected = 0;
          for (int n = 0 ; n < senders.length ; n++)
          {
              senders[n] = new QueueSenderThread("Sender"+(n+1),
                                                 msgFactory,
                                                 startSynchro,
                                                 sendersConnections[n],
                                                 params.senderTransacted,
                                                 params.messageCount/params.senderCount,
                                                 params.messageSize,
                                                 params.minDelay,
                                                 params.maxDelay,
                                                 queue,
                                                 params.deliveryMode,
                                                 params.priority,
                                                 params.timeToLive);
              totalExpected += params.messageCount/params.senderCount;
          }
          for (int n = 0 ; n < senders.length ; n++)
          {
              senders[n].start();
              senders[n].waitForStartup();
          }
         
          for (int n = 0 ; n < receiverConnections.length ; n++)
              receiverConnections[n].start();
         
          long startTime = System.currentTimeMillis();
          startSynchro.reach();
         
          // Wait for senders to complete
          for (int n = 0 ; n < senders.length ; n++)
              senders[n].join(TestUtils.TEST_TIMEOUT*1000);
          for (int n = 0 ; n < senders.length ; n++)
View Full Code Here


      TopicConnection connection = null;
      try
      {
          Topic topic = new TopicRef(params.destinationName);
         
          SynchronizationPoint startSynchro = new SynchronizationPoint();
          connection = createTopicConnection();
         
          // Start receivers
          TopicSubscriberThread[] receivers = new TopicSubscriberThread[params.receiverCount];
          for (int n = 0 ; n < receivers.length ; n++)
              receivers[n] = new TopicSubscriberThread("Receiver"+(n+1),
                                                   startSynchro,
                                                       connection,
                                                       params.receiverTransacted,
                                                       params.acknowledgeMode,
                                                       topic,
                                                       null,
                                                       false);
          for (int n = 0 ; n < receivers.length ; n++)
          {
              receivers[n].start();
              receivers[n].waitForStartup();
          }

          // Start senders
          TopicPublisherThread[] senders = new TopicPublisherThread[params.senderCount];
          int totalExpected = params.messageCount*params.receiverCount;
          for (int n = 0 ; n < senders.length ; n++)
          {
              senders[n] = new TopicPublisherThread("Sender"+(n+1),
                                                    msgFactory,
                                                    startSynchro,
                                                    connection,
                                                    params.senderTransacted,
                                                    params.messageCount/params.senderCount,
                                                    params.messageSize,
                                                    params.minDelay,
                                                    params.maxDelay,
                                                    topic,
                                                    params.deliveryMode,
                                                    params.priority,
                                                    params.timeToLive);
          }
          for (int n = 0 ; n < senders.length ; n++)
          {
              senders[n].start();
              senders[n].waitForStartup();
          }
          connection.start();
         
          long startTime = System.currentTimeMillis();
          startSynchro.reach();
         
          // Wait for senders to complete
          for (int n = 0 ; n < senders.length ; n++)
          {
              senders[n].join(TestUtils.TEST_TIMEOUT*1000);
 
View Full Code Here

   
    protected void singleTopicConnectionListenerTest( String testName , CommTestParameters params , DummyMessageFactory msgFactory ) throws Exception
    {
        Topic topic = new TopicRef(params.destinationName);
       
        SynchronizationPoint startSynchro = new SynchronizationPoint();
        TopicConnection connection = createTopicConnection();

        // Start receivers
        TopicListenerThread[] receivers = new TopicListenerThread[params.receiverCount];
        for (int n = 0 ; n < receivers.length ; n++)
            receivers[n] = new TopicListenerThread("Receiver"+(n+1),
                                               startSynchro,
                                                   connection,
                                                   params.receiverTransacted,
                                                   params.acknowledgeMode,
                                                   topic,
                                                   null,
                                                   false);
        for (int n = 0 ; n < receivers.length ; n++)
        {
            receivers[n].start();
            receivers[n].waitForStartup();
        }
       
        // Start senders
        TopicPublisherThread[] senders = new TopicPublisherThread[params.senderCount];
        int totalExpected = params.messageCount*params.receiverCount;
        for (int n = 0 ; n < senders.length ; n++)
        {
            senders[n] = new TopicPublisherThread("Sender"+(n+1),
                                                  msgFactory,
                                                  startSynchro,
                                                  connection,
                                                  params.senderTransacted,
                                                  params.messageCount/params.senderCount,
                                                  params.messageSize,
                                                  params.minDelay,
                                                  params.maxDelay,
                                                  topic,
                                                  params.deliveryMode,
                                                  params.priority,
                                                  params.timeToLive);
        }
        for (int n = 0 ; n < senders.length ; n++)
        {
            senders[n].start();
            senders[n].waitForStartup();
        }
       
        connection.start();

        long startTime = System.currentTimeMillis();
        startSynchro.reach();
       
        // Wait for senders to complete
        for (int n = 0 ; n < senders.length ; n++)
            senders[n].join(TestUtils.TEST_TIMEOUT*1000);
        for (int n = 0 ; n < senders.length ; n++)
View Full Code Here

   
    protected void multiTopicConnectionReceiverTest( String testName , CommTestParameters params , DummyMessageFactory msgFactory ) throws Exception
    {
        Topic topic = new TopicRef(params.destinationName);
       
        SynchronizationPoint startSynchro = new SynchronizationPoint();
        TopicConnection[] receiverConnections = new TopicConnection[params.receiverCount];
        for (int n = 0 ; n < receiverConnections.length ; n++)
            receiverConnections[n] = createTopicConnection();
       
        // Start receivers
        TopicSubscriberThread[] receivers = new TopicSubscriberThread[params.receiverCount];
        for (int n = 0 ; n < receivers.length ; n++)
            receivers[n] = new TopicSubscriberThread("Receiver"+(n+1),
                                               startSynchro,
                                                   receiverConnections[n],
                                                   params.receiverTransacted,
                                                   params.acknowledgeMode,
                                                   topic,
                                                   null,
                                                   true);
        for (int n = 0 ; n < receivers.length ; n++)
        {
            receivers[n].start();
            receivers[n].waitForStartup();
        }
       
        TopicConnection[] sendersConnections = new TopicConnection[params.senderCount];
        for (int n = 0 ; n < sendersConnections.length ; n++)
            sendersConnections[n] = createTopicConnection();
       
        // Start senders
        TopicPublisherThread[] senders = new TopicPublisherThread[params.senderCount];
        int totalExpected = params.messageCount*params.receiverCount;
        for (int n = 0 ; n < senders.length ; n++)
        {
            senders[n] = new TopicPublisherThread("Sender"+(n+1),
                                                  msgFactory,
                                                  startSynchro,
                                                  sendersConnections[n],
                                                  params.senderTransacted,
                                                  params.messageCount/params.senderCount,
                                                  params.messageSize,
                                                  params.minDelay,
                                                  params.maxDelay,
                                                  topic,
                                                  params.deliveryMode,
                                                  params.priority,
                                                  params.timeToLive);
        }
        for (int n = 0 ; n < senders.length ; n++)
        {
            senders[n].start();
            senders[n].waitForStartup();
        }
       
        for (int n = 0 ; n < receiverConnections.length ; n++)
            receiverConnections[n].start();
       
        long startTime = System.currentTimeMillis();
        startSynchro.reach();
       
        // Wait for senders to complete
        for (int n = 0 ; n < senders.length ; n++)
        {
            senders[n].join(TestUtils.TEST_TIMEOUT*1000);
 
View Full Code Here

   
    protected void multiTopicConnectionListenerTest( String testName , CommTestParameters params , DummyMessageFactory msgFactory ) throws Exception
    {
        Topic topic = new TopicRef(params.destinationName);
       
        SynchronizationPoint startSynchro = new SynchronizationPoint();
        TopicConnection[] receiverConnections = new TopicConnection[params.receiverCount];
        for (int n = 0 ; n < receiverConnections.length ; n++)
            receiverConnections[n] = createTopicConnection();

        // Start receivers
        TopicListenerThread[] receivers = new TopicListenerThread[params.receiverCount];
        for (int n = 0 ; n < receivers.length ; n++)
            receivers[n] = new TopicListenerThread("Receiver"+(n+1),
                                               startSynchro,
                                                   receiverConnections[n],
                                                   params.receiverTransacted,
                                                   params.acknowledgeMode,
                                                   topic,
                                                   null,
                                                   false);
        for (int n = 0 ; n < receivers.length ; n++)
        {
            receivers[n].start();
            receivers[n].waitForStartup();
        }
       
        TopicConnection[] sendersConnections = new TopicConnection[params.senderCount];
        for (int n = 0 ; n < sendersConnections.length ; n++)
            sendersConnections[n] = createTopicConnection();
       
        // Start senders
        TopicPublisherThread[] senders = new TopicPublisherThread[params.senderCount];
        int totalExpected = params.messageCount*params.receiverCount;
        for (int n = 0 ; n < senders.length ; n++)
        {
            senders[n] = new TopicPublisherThread("Sender"+(n+1),
                                                  msgFactory,
                                                  startSynchro,
                                                  sendersConnections[n],
                                                  params.senderTransacted,
                                                  params.messageCount/params.senderCount,
                                                  params.messageSize,
                                                  params.minDelay,
                                                  params.maxDelay,
                                                  topic,
                                                  params.deliveryMode,
                                                  params.priority,
                                                  params.timeToLive);
        }
        for (int n = 0 ; n < senders.length ; n++)
        {
            senders[n].start();
            senders[n].waitForStartup();
        }
       
        for (int n = 0 ; n < receiverConnections.length ; n++)
            receiverConnections[n].start();
       
        long startTime = System.currentTimeMillis();
        startSynchro.reach();
       
        // Wait for senders to complete
        for (int n = 0 ; n < senders.length ; n++)
            senders[n].join(TestUtils.TEST_TIMEOUT*1000);
        for (int n = 0 ; n < senders.length ; n++)
View Full Code Here

        String securityDescriptorFilePath = settings.getStringProperty(FFMQServerSettings.SECURITY_CONNECTOR_XML_SECURITY, DEFAULT_SECURITY_FILE);
        File securityDescriptorFile = new File(securityDescriptorFilePath);
        if (!securityDescriptorFile.canRead())
            throw new FFMQException("Cannot access security descriptor file : "+securityDescriptorFile.getAbsolutePath(),"FS_ERROR");
       
        this.descriptor = (XMLSecurityDescriptor)new XMLDescriptorReader().read(securityDescriptorFile, XMLSecurityDescriptorHandler.class);
        this.descriptor.check();
    }
View Full Code Here

      List<Privilege> grantedPrivilegeList = new ArrayList<Privilege>();
      for (String name : grantedPrivilegeNames) {
        if (name.length() == 0) {
          continue; //empty, skip it.
        }
        Privilege privilege = accessControlManager.privilegeFromName(name);
        grantedPrivilegeList.add(privilege);
         
        if (log.isDebugEnabled()) {
          if (newPrivileges.length() > 0) {
            newPrivileges.append(", "); //separate entries by commas
          }
          newPrivileges.append("granted=");
          newPrivileges.append(privilege.getName());
        }
      }
      if (grantedPrivilegeList.size() > 0) {
        Principal principal = authorizable.getPrincipal();
        updatedAcl.addAccessControlEntry(principal, grantedPrivilegeList.toArray(new Privilege[grantedPrivilegeList.size()]));
      }

      //if the authorizable is a user (not a group) process any denied privileges
      if (!authorizable.isGroup()) {
        //add a fresh ACE with the denied privileges
        List<Privilege> deniedPrivilegeList = new ArrayList<Privilege>();
        for (String name : deniedPrivilegeNames) {
          if (name.length() == 0) {
            continue; //empty, skip it.
          }
          Privilege privilege = accessControlManager.privilegeFromName(name);
          deniedPrivilegeList.add(privilege);

          if (log.isDebugEnabled()) {
            if (newPrivileges.length() > 0) {
              newPrivileges.append(", "); //separate entries by commas
            }
            newPrivileges.append("denied=");
            newPrivileges.append(privilege.getName());
          }
        }
        if (deniedPrivilegeList.size() > 0) {
          Principal principal = authorizable.getPrincipal();
          AccessControlUtil.addEntry(updatedAcl, principal, deniedPrivilegeList.toArray(new Privilege[deniedPrivilegeList.size()]), false);
View Full Code Here

        }
         
        if (granted.size() == 1) {
          //check if the single privilege is jcr:all or jcr:read
          Iterator<Privilege> iterator = granted.iterator();
          Privilege next = iterator.next();
          if ("jcr:all".equals(next.getName())) {
            //full control privilege set
            return getResourceBundle(locale).getString("privilegeset.all");
          } else if ("jcr:read".equals(next.getName())) {
            //readonly privilege set
            return getResourceBundle(locale).getString("privilegeset.readonly");
          }
        } else if (granted.size() == 2) {
          //check if the two privileges are jcr:read and jcr:write
          Iterator<Privilege> iterator = granted.iterator();
          Privilege next = iterator.next();
          Privilege next2 = iterator.next();
          if ( ("jcr:read".equals(next.getName()) && "jcr:write".equals(next2.getName())) ||
              ("jcr:read".equals(next2.getName()) && "jcr:write".equals(next.getName())) ) {
            //read/write privileges
            return getResourceBundle(locale).getString("privilegeset.readwrite");
          }
        }
View Full Code Here

    public PrivilegeRegistry(NameResolver resolver) {
        this.resolver = resolver;
        localCache = new HashMap(REGISTERED_PRIVILEGES.size());
        for (Iterator it = REGISTERED_PRIVILEGES.iterator(); it.hasNext();) {
            InternalPrivilege ip = (InternalPrivilege) it.next();
            Privilege priv = new PrivilegeImpl(ip, resolver);
            localCache.put(ip.name, priv);
        }
    }
View Full Code Here

        if (privileges == null || privileges.length == 0) {
            throw new AccessControlException();
        }
        int bits = NO_PRIVILEGE;
        for (int i = 0; i < privileges.length; i++) {
            Privilege priv = privileges[i];
            if (priv instanceof PrivilegeImpl) {
                bits |= ((PrivilegeImpl) priv).internalPrivilege.getBits();
            } else {
                throw new AccessControlException("Unknown privilege '" + priv.getName() + "'.");
            }
        }
        return bits;
    }
View Full Code Here

TOP

Related Classes of net.timewalker.ffmq3.security.Privilege

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.