Examples of QueryKeyData


Examples of org.xmlBlaster.util.key.QueryKeyData

      // The following checks run for each MsgUnit key (not the immutable TopicHandler key)

      // Now check if we are master
      XmlKey xmlKey = new XmlKey(glob, msgUnit.getKeyData());
      for (int ii=0; ii<keyMappings.length; ii++) {
         QueryKeyData keyMapping = keyMappings[ii];
         /*
         if (ii==0) {
            // Try to find the DOM parsed XmlKey object:
            TopicHandler topicHandler = this.glob.getTopicAccessor().access(msgUnit.getKeyOid());
            try {
               if (topicHandler != null && topicHandler.hasXmlKey()) {
                  xmlKey = topicHandler.getXmlKey();
               }
               else {
                  xmlKey = new XmlKey(glob, msgUnit.getKeyData());
               }
            }
            finally {
               if (topicHandler != null) this.glob.getTopicAccessor().release(topicHandler);
            }
         }
         */
        
         if (keyMapping.isDomain() && !msgUnit.hasDomain()) {
            if (nodeMasterInfo.getClusterNode().isLocalNode()) {
               if (nodeMasterInfo.isAcceptDefault()==true) {
                  // if no domain is specified and the local node accepts default messages -> local node is master
                  if (log.isLoggable(Level.FINE)) log.fine("Message oid='" + msgUnit.getKeyOid() + "' domain='" + xmlKey.getDomain() + "' is handled by local node");
                  AccessFilterQos[] filterQos = keyMapping.getAccessFilterArr();
                  if (filterQos != null && filterQos.length > 0) {
                     log.warning("<filter> additional check is not implemented: " + keyMapping.toXml());
                  }
                  return nodeMasterInfo; // Found the master nodeMasterInfo.getClusterNode();
               }
            }
            else {
               if (nodeMasterInfo.isAcceptOtherDefault()==true) {
                  log.info("Found master='" + nodeMasterInfo.getNodeId().getId() + "' for message oid='" + msgUnit.getKeyOid() + "' which accepts other default domains");
                  AccessFilterQos[] filterQos = keyMapping.getAccessFilterArr();
                  if (filterQos != null && filterQos.length > 0) {
                     log.warning("<filter> additional check is not implemented: " + keyMapping.toXml());
                  }
                  return nodeMasterInfo; // Found the master nodeMasterInfo.getClusterNode();
               }
            }
         }
        
         // TODO: If filter has a prepared query cache switched on,
         // we should go over the TopicHandlerAccessor to force single threaded match() access
         if (xmlKey.match(keyMapping)) {
            if (log.isLoggable(Level.FINE)) log.fine("Found master='" + nodeMasterInfo.getNodeId().getId() +
                           "' stratum=" + nodeMasterInfo.getStratum() + " for message '" + msgUnit.getLogId() +
                           "' domain='" + xmlKey.getDomain() + "'.");
            AccessFilterQos[] filterQos = keyMapping.getAccessFilterArr();
            if (filterQos != null && filterQos.length > 0) {
               if (log.isLoggable(Level.FINE)) log.fine("Found " + filterQos.length + " key specific filter rules in XmlKey ...");
               for (int jj=0; jj<filterQos.length; jj++) {
                  I_AccessFilter filter = glob.getRequestBroker().getAccessPluginManager().getAccessFilter(
                                                filterQos[jj].getType(),
View Full Code Here

Examples of org.xmlBlaster.util.key.QueryKeyData

      // is it a remote connect ?
      ClientProperty clientProperty = subscribeQosData.getClientProperty(Constants.PERSISTENCE_ID);
      if (clientProperty == null) {
         long uniqueId = new Timestamp().getTimestamp();
         subscribeQosData.getClientProperties().put(Constants.PERSISTENCE_ID, new ClientProperty(Constants.PERSISTENCE_ID, "long", null, "" + uniqueId));
         QueryKeyData subscribeKeyData = (QueryKeyData)data;

         // to be found when the client usubscribes after a server crash ...
         subscribeQosData.setSubscriptionId(subscriptionInfo.getSubscriptionId());
         SubscribeEntry entry = new SubscribeEntry(subscribeKeyData.toXml(), subscribeQosData.toXml(), sessionInfo
               .getConnectQos().getSessionName().getAbsoluteName(), uniqueId, 0L, null);
         if (log.isLoggable(Level.FINE)) log.fine("subscriptionAdd: putting to persistence NEW entry '" + entry.getUniqueId() + "' key='" + subscribeKeyData.toXml() + "' qos='" + subscribeQosData.toXml() + "' secretSessionId='" + sessionInfo.getSecretSessionId() + "'");
         subscriptionInfo.setPersistenceId(uniqueId);
         this.subscribeStore.put(entry);
      }
      else  {    // ... or from a recovery ?
         // TODO handle by recoverSubscriptions(..)
View Full Code Here

Examples of org.xmlBlaster.util.key.QueryKeyData

   /**
    * Lookup the given administrative command.
    * @return The result of the command
    */
   private String lookup(String query) throws XmlBlasterException {
      QueryKeyData keyData = new QueryKeyData(this.global);
      keyData.setOid("__cmd:" + query);
      MsgUnit[] msgs = this.commandManager.get(null, null, keyData, null);
      if (msgs.length == 0) return null;
      StringBuffer sb = new StringBuffer(msgs.length * 40);
      for (int ii=0; ii<msgs.length; ii++) {
         MsgUnit msg = msgs[ii];
View Full Code Here

Examples of org.xmlBlaster.util.key.QueryKeyData

           "<key oid='HELLO' contentMime='image/gif' contentMimeExtended='1.0' domain='RUGBY' queryType='" + Constants.XPATH + "'>\n" +
           "   <filter type='myPlugin' version='1.0'>a!=100</filter>\n" +
           "   <filter type='anotherPlugin' version='1.1'><![CDATA[b<100|a[0]>10]]></filter>\n" +
           "   //key\n" +
           "</key>\n";
         QueryKeyData key = factory.readObject(xml);

         assertEquals("", "HELLO", key.getOid());
         assertEquals("", Constants.XPATH, key.getQueryType());
         assertEquals("Got '" + key.getQueryString() + "'", "//key", key.getQueryString().trim());
         assertEquals("", "image/gif", key.getContentMime());
         assertEquals("", "1.0", key.getContentMimeExtended());
         assertEquals("", "RUGBY", key.getDomain());
         AccessFilterQos[] filterArr = key.getAccessFilterArr();
         assertEquals("", 2, filterArr.length);
         assertEquals("", "myPlugin", filterArr[0].getType());
         assertEquals("", "1.0", filterArr[0].getVersion());
         assertEquals("", "a!=100", filterArr[0].getQuery().toString());
         assertEquals("", "anotherPlugin", filterArr[1].getType());
View Full Code Here

Examples of org.xmlBlaster.util.key.QueryKeyData

         String xml =
           "<key oid='__sys__jdbc'>\n" +
           queryData +
           "</key>\n";
         QueryKeyData key = factory.readObject(xml);

         assertEquals("", "__sys__jdbc", key.getOid());
         assertEquals("queryData expected:\n'"+queryData.trim()+"'\n but is\n'"+key.getQueryString().trim()+"'\n",
                      queryData.trim(), key.getQueryString().trim());

         log.info("Parsed and recreated successfully CDATA section:\n" + key.getQueryString().trim() + "");
      }
      catch (XmlBlasterException e) {
         fail("testCdata failed: " + e.toString());
      }
View Full Code Here

Examples of org.xmlBlaster.util.key.QueryKeyData

    */
   public void testDefault() {
      System.out.println("***QueryKeyFactoryTest: testDefault ...");
     
      try {
         QueryKeyData key = factory.readObject((String)null);
         assertEquals("", (String)null, key.getOid());
         assertEquals("", QueryKeyData.QUERYTYPE_DEFAULT, key.getQueryType());
         assertEquals("", (String)null, key.getQueryString());
         assertEquals("", QueryKeyData.CONTENTMIME_DEFAULT, key.getContentMime());
         assertEquals("", (String)null, key.getContentMimeExtended());
         assertEquals("", (String)null, key.getDomain());
         AccessFilterQos[] filterArr = key.getAccessFilterArr();
         assertTrue("", null == filterArr);
      }
      catch (XmlBlasterException e) {
         fail("testDefault failed: " + e.toString());
      }
View Full Code Here

Examples of org.xmlBlaster.util.key.QueryKeyData

           "<key oid='HELLO' contentMime='image/gif' contentMimeExtended='1.0' domain='RUGBY' queryType='" + Constants.XPATH + "'>\n" +
           "   //key\n" +
           "   <filter type='myPlugin' version='1.0'>a!=100</filter>\n" +
           "   <filter type='anotherPlugin' version='1.1'><![CDATA[b<100|a[0]>10]]></filter>\n" +
           "</key>\n";
         QueryKeyData key = factory.readObject(xml);
         String newXml = key.toXml();
         log.info("New XML=" + newXml);
         key = factory.readObject(newXml);

         assertEquals("", "HELLO", key.getOid());
         assertEquals("", Constants.XPATH, key.getQueryType());
         assertEquals("", "//key", key.getQueryString());
         assertEquals("", "image/gif", key.getContentMime());
         assertEquals("", "1.0", key.getContentMimeExtended());
         assertEquals("", "RUGBY", key.getDomain());
         AccessFilterQos[] filterArr = key.getAccessFilterArr();
         assertEquals("", 2, filterArr.length);
         assertEquals("", "myPlugin", filterArr[0].getType());
         assertEquals("", "1.0", filterArr[0].getVersion());
         assertEquals("", "a!=100", filterArr[0].getQuery().toString());
         assertEquals("", "anotherPlugin", filterArr[1].getType());
View Full Code Here

Examples of org.xmlBlaster.util.key.QueryKeyData

         subscribeKey.setDomain("domain");
         subscribeKey.setQueryString("//query");

         System.out.println("SubscribeKey: " + subscribeKey.toXml());

         QueryKeyData key = factory.readObject(subscribeKey.toXml());

         assertEquals("", "oid", key.getOid());
         assertEquals("", "domain", key.getDomain());
         assertEquals("", "//query", key.getQueryString());
         assertEquals("", "XPATH", key.getQueryType()); // The last was setQueryString() so this is the used type
      }
      catch (Throwable e) {
         System.out.println("Test failed: " + e.toString());
      }
      System.out.println("***QueryKeyFactoryTest: SubscribeKey [SUCCESS]");
View Full Code Here

Examples of org.xmlBlaster.util.key.QueryKeyData

         SubscribeKey subscribeKey = new SubscribeKey(glob, "myOid", "EXACT");

         assertEquals("", "myOid", subscribeKey.getOid());
         System.out.println("SubscribeKey: " + subscribeKey.toXml());

         QueryKeyData key = factory.readObject(subscribeKey.toXml());

         assertEquals("", "myOid", key.getOid());
         assertEquals("", KeyData.CONTENTMIME_DEFAULT, key.getContentMime());
         assertEquals("", KeyData.CONTENTMIMEEXTENDED_DEFAULT, key.getContentMimeExtended());
         assertEquals("", (String)null, key.getDomain());
         assertEquals("", "EXACT", key.getQueryType());
         assertEquals("", (String)null, key.getQueryString());
      }
      catch (Throwable e) {
         System.out.println("Test failed: " + e.toString());
      }

      try {
         SubscribeKey subscribeKey = new SubscribeKey(glob, "//myTag", Constants.XPATH);
         subscribeKey.getData().setContentMime("AAA");
         subscribeKey.getData().setContentMimeExtended("BBB");
         subscribeKey.setDomain("CCC");

         assertEquals("", "myOid", subscribeKey.getOid());
         System.out.println("SubscribeKey: " + subscribeKey.toXml());

         QueryKeyData key = factory.readObject(subscribeKey.toXml());

         assertEquals("", (String)null, key.getOid());
         assertEquals("", "AAA", key.getContentMime());
         assertEquals("", "BBB", key.getContentMimeExtended());
         assertEquals("", "CCC", key.getDomain());
         assertEquals("", Constants.XPATH, key.getQueryType());
         assertEquals("", "//myTag", key.getQueryString());
      }
      catch (Throwable e) {
         System.out.println("Test failed: " + e.toString());
      }
      System.out.println("***QueryKeyFactoryTest: testExactSubscribeKey [SUCCESS]");
View Full Code Here

Examples of org.xmlBlaster.util.key.QueryKeyData

    * @param query The query string
    *        For example a topic oid like "Hello" or "oid:Hello"
    *        or a query like "xpath://key", "domain:CLUSTER"
    */
   public SubscribeKey(Global glob, String query) {
      this.queryKeyData = new QueryKeyData(glob, query);
   }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.