Package nexj.core.meta

Examples of nexj.core.meta.Event


            m_writer.writeAttribute("namespace", XML.NS_URI_TNS);
         m_writer.closeEmptyElement();

         for (int i = 0, nCount = meta.getEventCount(); i < nCount; ++i)
         {
            Event event = meta.getEvent(i);

            if (!isExportedEvent(event))
            {
               continue;
            }

            // use separate/distinct names for identically named events because MS.NET WSDL
            // import/export does not allow function overloading and does not support "choice"
            String sEvent = computeElementName(event);

            m_writer.openElement("element");
               m_writer.writeAttribute("name", sEvent);
            m_writer.closeElement();

               if (m_bIncludeDocumentation)
               {
                  writeDocumentation(null, event.getDescription());
               }

               m_writer.startElement("complexType");
                  m_writer.startElement("sequence");

                     // instance events take the instance as first argument
                     if (!event.isStatic())
                     {
                        writeElement(XML.BASE_PREFIX, "instance", meta);
                     }

                     for (int k = 0, nArgCount = event.getArgumentCount(); k < nArgCount; ++k)
                     {
                        Argument arg = event.getArgument(k);
                        Type type = arg.getType();
                        boolean bVarArg = event.isVarArg() && k == nArgCount - 1;
                        QName qType = getQualifiedTypeCached(type, bVarArg);

                        // don't use nillable="true" as that will automatically set minOccurs="1"
                        // in MS.NET
                        writeElement(
                           arg.getName(), null, qType,
                           (arg.isRequired()) ? 1 : 0, (arg.isCollection()) ? -1 : 1, false,
                           arg.getDescription());
                     }

                  m_writer.endElement("sequence");
               m_writer.endElement("complexType");

            m_writer.endElement("element");

            if (!isExportedEventResult(event))
            {
               continue; // skip result types that are not exported e.g. for WSDL Basic
            }

            Argument result = event.getResult();
            Type type = (result == null) ? null : result.getType();
            boolean bTyped = type != null;

            // NOTE: MS.NET requires the result to be wrapped if the arguments are wrapped
            //       hence must place result inside a complexType
View Full Code Here


         m_writer.writeAttribute("name", meta.getName(), METACLASS_NAME_DELIMITER, "Server");
      m_writer.closeElement();

         for (int i = 0, nCount = meta.getEventCount(); i < nCount; ++i)
         {
            Event event = meta.getEvent(i);

            if (!isExportedEvent(event))
            {
               continue;
            }
View Full Code Here

                     frame = (Object[])obj;
                  }

                  obj = frame[1];

                  Event event = (Event)machine.getArg(1, nArgCount);
                  Instance instance = (obj instanceof Instance) ? (Instance)obj : null;

                  RPCUtil.audit(instance, instance, event, context);
               }
            }
View Full Code Here

                     testContext.initialize((m_sSystemUser == null) ? null : new SimplePrincipal(m_sSystemUser),
                        new GlobalEnvironment(m_globalEnv));

                     if (m_container != null && m_sSystemUser != null)
                     {
                        Event grantDebugEvent = testContext.getUserClass().findEvent(GRANT_DEBUG, 0);

                        if (grantDebugEvent != null)
                        {
                           boolean bSecure = testContext.isSecure();

                           try
                           {
                              testContext.setSecure(false);
                              grantDebugEvent.invoke(testContext.getUser(), (Pair)null, testContext.getMachine());
                           }
                           finally
                           {
                              testContext.setSecure(bSecure);
                           }
View Full Code Here

                   XMLUtil.getStringAttr(tmpNode, "transport"));
      assertFalse(tmpNode.hasChildNodes());

      for (int i = 0, nCount = meta.getEventCount(); i < nCount; ++i)
      {
         Event event = meta.getEvent(i);
         String sEvent = XSDGenerator.computeElementName(event);
         Node operation = XMLUtil.findChildElementByName(binding, "operation", sEvent);

         assertNotNull(operation);
         assertEquals(1, operation.getAttributes().getLength());
View Full Code Here

      assertEquals(1, portType.getAttributes().getLength());
      assertEquals(meta.getEventCount(), portType.getChildNodes().getLength());

      for (int i = 0, nCount = meta.getEventCount(); i < nCount; ++i)
      {
         Event event = meta.getEvent(i);
         String sEvent = XSDGenerator.computeElementName(event);
         String sType = XML.TNS_NS + ':' + sClass + WSDLGenerator.METACLASS_NAME_DELIMITER + sEvent;
         Node operation = XMLUtil.findChildElementByName(portType, "operation", sEvent);

         assertNotNull(operation);
View Full Code Here

      assertEquals(1, node.getAttributes().getLength());
      assertEquals(XML.NS_URI_TNS, XMLUtil.getStringAttr(node, "namespace"));

      for (int i = 0, nCount = meta.getEventCount(); i < nCount; ++i)
      {
         Event event = meta.getEvent(i);
         String sEvent = XSDGenerator.computeElementName(event);
         Node element = XMLUtil.findChildElementByName(schema, sEvent); // request
         Node tmpNode;

         assertNotNull(element);
         assertEquals(1, element.getAttributes().getLength());
         assertEquals(1, element.getChildNodes().getLength());
         node = element.getFirstChild();
         assertEquals("complexType", node.getNodeName());
         assertEquals(0, node.getAttributes().getLength());
         assertEquals(1, node.getChildNodes().getLength());
         node = node.getFirstChild();
         assertEquals("sequence", node.getNodeName());
         assertEquals(0, node.getAttributes().getLength());

         if (event.isStatic()) // check "_instance" arg
         {
            assertEquals(event.getArgumentCount(), node.getChildNodes().getLength());
         }
         else
         {
            assertEquals(event.getArgumentCount() + 1, node.getChildNodes().getLength());
            tmpNode = XMLUtil.findChildElementByName(node, "_instance");
            assertNotNull(tmpNode);
            assertEquals(2, tmpNode.getAttributes().getLength());
            assertEquals(XML.TNS_NS + ':' + meta.getName(), XMLUtil.getStringAttr(tmpNode, "type"));
            assertEquals(0, tmpNode.getChildNodes().getLength());
         }

         for (int k = 0, nArgCount = event.getArgumentCount(); k < nArgCount; ++k) // for each arg
         {
            Argument arg = event.getArgument(k);
            QName type = XML.getQualifiedType(
               arg.getType(), event.isVarArg() && arg.isCollection() && k == nArgCount - 1);
            int nAttrCount = 2;

            tmpNode = XMLUtil.findChildElementByName(node, arg.getName());
            assertNotNull(tmpNode);
            assertEquals(type.getPrefix() + ':' + type.getLocalPart(),
                         XMLUtil.getStringAttr(tmpNode, "type"));

            if (!arg.isRequired())
            {
               assertEquals("0", XMLUtil.getStringAttr(tmpNode, "minOccurs"));
               ++nAttrCount;
            }

            if (arg.isCollection())
            {
               assertEquals("unbounded", XMLUtil.getStringAttr(tmpNode, "maxOccurs"));
               ++nAttrCount;
            }

            assertEquals(nAttrCount, tmpNode.getAttributes().getLength());
            assertEquals(0, tmpNode.getChildNodes().getLength());
         }

         Argument result = event.getResult();
         boolean bTyped = result != null;
         QName type = XML.getQualifiedType((bTyped) ? result.getType() : Primitive.ANY);
         int nAttrCount = 1;

         element = XMLUtil.findChildElementByName(schema, sEvent + "_Response"); // response
View Full Code Here

            if (!(member instanceof Event) || bStatic != member.isStatic())
            {
               continue;
            }

            Event event = (Event)member;

            if (resource == null) // first iteration for this selector, <resource> not found yet
            {
               resource = XMLUtil.findChildElement(parent, "resource", "path", member.getName());
               assertNotNull(resource);
               assertEquals(2, resource.getAttributes().getLength());
               assertEquals("text/xml", XMLUtil.getStringAttr(resource, "queryType"));

               Node param = XMLUtil.findChildElement(resource, "param");

               assertNotNull(param);
               assertEquals(1, param.getAttributes().getLength());
               assertEquals("#authorization", XMLUtil.getStringAttr(param, "href"));
               assertEquals(0, param.getChildNodes().getLength());
            }

            List/*<Node>*/ methodList = XMLUtil.findChildElements(resource, "method");
            boolean bFound = false;

            // find the correct method definition based on argument count
            for (int i = 0, nEventCount = methodList.size(); i < nEventCount; ++i)
            {
               Node method = (Node)methodList.get(i);
               Node request = XMLUtil.findChildElement(method, "request");

               if (request.getChildNodes().getLength() == event.getArgumentCount())
               {
                  validateEventMethod(method, event, "POST");
                  bFound = true;
                  break;
               }
View Full Code Here

      assertEquals(0, tmpNode2.getChildNodes().getLength());

      // validate all static event method definitions
      for (int i = 0, nCount = s_metaclass.getEventCount(); i < nCount; ++i)
      {
         Event event = s_metaclass.getEvent(i);

         if (event.isStatic())
         {
            String sEvent = XML.BASE_PREFIX + event.getName();

            validateEventMethod(
               XMLUtil.findChildElement(resource, "method", "name", sEvent), event, sEvent);
            ++nChildCount;
         }
      }

      nChildCount += validateEventResources(resource, s_metaclass, true); //validate event resources
      assertEquals(nChildCount, resource.getChildNodes().getLength());

      // below here validate non-static OID dependent definitions
      nChildCount = 6;
      resource = XMLUtil.findChildElement(resource, "resource", "path", "{oid}");
      assertNotNull(resource);
      assertEquals(2, resource.getAttributes().getLength());
      assertEquals("text/xml", XMLUtil.getStringAttr(resource, "queryType"));

      param = XMLUtil.findChildElement(resource, "param", "href", "#authorization");
      assertNotNull(param);
      assertEquals(1, param.getAttributes().getLength());
      assertEquals(0, param.getChildNodes().getLength());

      tmpNode = XMLUtil.findChildElement(resource, "param", "name", "oid");
      assertNotNull(tmpNode);
      assertEquals(3, tmpNode.getAttributes().getLength());
      assertEquals("template", XMLUtil.getStringAttr(tmpNode, "style"));
      assertEquals(XML.XSD_NS + ":hexBinary", XMLUtil.getStringAttr(tmpNode, "type"));
      assertEquals(0, tmpNode.getChildNodes().getLength());

      method = XMLUtil.findChildElement(resource, "method", "href", "#read-request");
      assertNotNull(method);
      assertEquals(1, method.getAttributes().getLength());
      assertEquals(0, method.getChildNodes().getLength());

      method = XMLUtil.findChildElement(resource, "method", "name", "POST");
      assertNotNull(method);
      assertEquals(1, method.getAttributes().getLength());
      assertEquals(2, method.getChildNodes().getLength());

      tmpNode = XMLUtil.findChildElement(method, "request");
      assertNotNull(tmpNode);
      assertFalse(tmpNode.hasAttributes());
      assertEquals(2, tmpNode.getChildNodes().getLength());
      assertEquals("param", tmpNode.getFirstChild().getNodeName());
      assertEquals("representation", tmpNode.getChildNodes().item(1).getNodeName());
      assertEquals(2, tmpNode.getChildNodes().item(1).getAttributes().getLength());
      assertEquals("text/xml", XMLUtil.getStringAttr(tmpNode.getChildNodes().item(1), "mediaType"));
      assertEquals(XML.TNS_NS + ":TestMetaTypeChild",
                   XMLUtil.getStringAttr(tmpNode.getChildNodes().item(1), "element"));
      assertEquals(0, tmpNode.getChildNodes().item(1).getChildNodes().getLength());

      tmpNode = XMLUtil.findChildElement(method, "response");
      assertNotNull(tmpNode);
      assertEquals(0, tmpNode.getAttributes().getLength());
      assertEquals(3, tmpNode.getChildNodes().getLength());

      tmpNode2 = XMLUtil.findChildElement(tmpNode, "representation");
      assertNotNull(tmpNode2);
      assertEquals(2, tmpNode2.getAttributes().getLength());
      assertEquals(XML.TNS_NS + ":TestMetaTypeChild", XMLUtil.getStringAttr(tmpNode2, "element"));
      assertEquals(0, tmpNode2.getChildNodes().getLength());

      tmpNode2 = XMLUtil.findChildElement(tmpNode, "fault");
      assertNotNull(tmpNode2);
      assertEquals(1, tmpNode2.getAttributes().getLength());
      assertEquals("#exception", XMLUtil.getStringAttr(tmpNode2, "href"));
      assertEquals(0, tmpNode2.getChildNodes().getLength());

      method = XMLUtil.findChildElement(resource, "method", "name", "PUT");
      assertNotNull(method);
      assertEquals(1, method.getAttributes().getLength());
      assertEquals(2, method.getChildNodes().getLength());

      tmpNode = XMLUtil.findChildElement(method, "request");
      assertNotNull(tmpNode);
      assertFalse(tmpNode.hasAttributes());
      assertEquals(2, tmpNode.getChildNodes().getLength());
      assertEquals("param", tmpNode.getFirstChild().getNodeName());
      assertEquals("representation", tmpNode.getChildNodes().item(1).getNodeName());
      assertEquals(2, tmpNode.getChildNodes().item(1).getAttributes().getLength());
      assertEquals("text/xml", XMLUtil.getStringAttr(tmpNode.getChildNodes().item(1), "mediaType"));
      assertEquals(XML.TNS_NS + ":TestMetaTypeChild",
                   XMLUtil.getStringAttr(tmpNode.getChildNodes().item(1), "element"));
      assertEquals(0, tmpNode.getChildNodes().item(1).getChildNodes().getLength());

      tmpNode = XMLUtil.findChildElement(method, "response");
      assertNotNull(tmpNode);
      assertEquals(0, tmpNode.getAttributes().getLength());
      assertEquals(2, tmpNode.getChildNodes().getLength());

      tmpNode2 = XMLUtil.findChildElement(tmpNode, "representation");
      assertNotNull(tmpNode2);
      assertEquals(2, tmpNode2.getAttributes().getLength());
      assertEquals(XML.TNS_NS + ":TestMetaTypeChild", XMLUtil.getStringAttr(tmpNode2, "element"));
      assertEquals(0, tmpNode2.getChildNodes().getLength());

      tmpNode2 = XMLUtil.findChildElement(tmpNode, "fault");
      assertNotNull(tmpNode2);
      assertEquals(1, tmpNode2.getAttributes().getLength());
      assertEquals("#exception", XMLUtil.getStringAttr(tmpNode2, "href"));
      assertEquals(0, tmpNode2.getChildNodes().getLength());

      // validate all non-static event method definitions
      for (int i = 0, nCount = s_metaclass.getEventCount(); i < nCount; ++i)
      {
         Event event = s_metaclass.getEvent(i);

         if (!event.isStatic())
         {
            String sEvent = XML.BASE_PREFIX + event.getName();

            validateEventMethod(
               XMLUtil.findChildElement(resource, "method", "name", sEvent), event, sEvent);
            ++nChildCount;
         }
View Full Code Here

TOP

Related Classes of nexj.core.meta.Event

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.