Package nexj.core.meta.integration.service

Examples of nexj.core.meta.integration.service.Interface


    * Tests that an XSD can be generated from an interface that has
    * messages using the same namespace.
    */
   public void testInterfaceToXSDWithOneNamespace() throws Exception
   {
      Interface iface = m_metadata.getInterface("XSDExportTest1");

      m_exporter.setOutputMode(XSDMessageExporter.OUTMODE_XSD);
      m_exporter.export(iface, m_resultWriter);

      assertEquals("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +
View Full Code Here


    * Also tests that SOAP header parts are not included in the message
    * export.
    */
   public void testInterfaceToWSDLWithSeveralNamespaces() throws Exception
   {
      Interface iface = m_metadata.getInterface("WSDLExportTest1");
      Channel channel = m_metadata.getChannel("WSDLExportTestChannel1");

      m_exporter.setOutputMode(XSDMessageExporter.OUTMODE_WSDL);
      m_exporter.export(iface, channel, m_resultWriter);

View Full Code Here

         "</definitions>", m_resultWriter.toString());
   }

   public void testMessageReference() throws Exception
   {
      Interface iface = m_metadata.getInterface("WSDLExportTest2");
      Channel channel = m_metadata.getChannel("WSDLExportTestChannel1");

      m_exporter.setOutputMode(XSDMessageExporter.OUTMODE_WSDL);
      m_exporter.export(iface, channel, m_resultWriter);
View Full Code Here

            if (data instanceof TransferObject)
            {
               // Write non-primitive ANY-type data
               String sClassName = ((TransferObject)data).getClassName();
               Interface iface = ((XMLMessagePartMapping)part.getMapping()).getInterface();
               Message msg;

               try
               {
                  if (iface != null)
                  {
                     msg = iface.getRequestTable().findMessage(sClassName);

                     if (msg == null)
                     {
                        msg = iface.getResponseTable().findMessage(sClassName);
                     }

                     // Support inheritance in xsd:anyType tables
                     if (msg == null)
                     {
                        Message derivedMessage = m_context.getMetadata().getMessage(sClassName);

                        msg = iface.getRequestTable().findBaseMessage(derivedMessage);

                        if (msg == null)
                        {
                           msg = iface.getResponseTable().findBaseMessage(derivedMessage);
                        }

                        if (msg == null)
                        {
                           throw new IntegrationException("err.integration.xml.unknownMessage",
View Full Code Here

   protected boolean acceptAnyTypeElement(String sURI, String sLocalName, Attributes attributes,
      PrimitiveMessagePart anyPart, int nIndex)
   {
      if (anyPart.getType() == Primitive.ANY)
      {
         Interface iface = ((XMLMessagePartMapping)anyPart.getMapping()).getInterface();
         XMLMessageParserTable table = (XMLMessageParserTable)iface.getRequestTable().getParserTable();
         Message msg = (Message)table.getMessageMap().get(sURI, sLocalName);
         MessagePart part = null;

         if (msg == null)
         {
            table = (XMLMessageParserTable)iface.getResponseTable().getParserTable();
            msg = (Message)table.getMessageMap().get(sURI, sLocalName);
         }

         if (msg != null)
         {
View Full Code Here

      element.setNillable(mapping.isNillable());

      if (element.getItemType() != SchemaItem.ELEMENT_REF)
      {
         Interface iface = mapping.getInterface();

         if (iface == null)
         {
            element.setType(getAtomicType(part));
         }
         else
         {
            CompositeType type = new CompositeType(null);

            type.setAggregation(CompositeType.AGGREGATION_CHOICE);

            for (Iterator itr = iface.getRequestTable().getMessageIterator(); itr.hasNext(); )
            {
               Message msg = (Message)itr.next();
               CompositeMessagePart rootPart = msg.getRoot();
               XMLMessagePartMapping rootPartMapping = (XMLMessagePartMapping)rootPart.getMapping();
View Full Code Here

   protected void loadInterface(Element interfaceElement, String sInterfaceName)
   {
      XMLMetadataHelper.verifyRootElement(interfaceElement, "Interface");
      XMLMetadataHelper.validateName(sInterfaceName);

      final Interface iface = m_metadata.defineInterface(sInterfaceName, null);

      if (!iface.isForward())
      {
         m_metadata.addInterface(iface);
      }

      iface.setForward(false);
      iface.setResourceName(m_helper.getCurResourceName());

      String sFormatName = XMLUtil.getStringAttr(interfaceElement, "format");

      if (sFormatName != null)
      {
         iface.setFormat(m_metadata.getFormat(sFormatName));
      }

      XMLUtil.withFirstChildElement(interfaceElement, "Requests", false, new ElementHandler()
      {
         public void handleElement(Element requestsElement)
         {
            XMLUtil.forEachChildElement(requestsElement, "Request", m_helper.new ElementHandler("request")
            {
               public void handleElement(Element requestElement, String sMessageName)
               {
                  iface.addRequest(m_metadata.getMessage(sMessageName));
               }

               protected String getName(Element element)
               {
                  return XMLUtil.getReqStringAttr(element, "message");
               }
            });
         }
      });

      XMLUtil.withFirstChildElement(interfaceElement, "Responses", false, new ElementHandler()
      {
         public void handleElement(Element requestsElement)
         {
            XMLUtil.forEachChildElement(requestsElement, "Response", m_helper.new ElementHandler("response")
            {
               public void handleElement(Element requestElement, String sMessageName)
               {
                  iface.addResponse(m_metadata.getMessage(sMessageName));
               }

               protected String getName(Element element)
               {
                  return XMLUtil.getReqStringAttr(element, "message");
               }
            });
         }
      });

      addSingletonFixup(new ContextFixup(m_helper)
      {
         public void fixup()
         {
            MessageTable table = iface.getRequestTable();

            if (table.getFormat() != null)
            {
               ((MessageParser)table.getFormat().getParser().getInstance(null)).initializeMessageTable(table);
            }

            table = iface.getResponseTable();

            if (table.getFormat() != null)
            {
               ((MessageParser)table.getFormat().getParser().getInstance(null)).initializeMessageTable(table);
            }
View Full Code Here

   /**
    * @see nexj.core.meta.Metadata#defineInterface(java.lang.String, MetadataObject)
    */
   public Interface defineInterface(String sName, MetadataObject referrer)
   {
      Interface iface = (Interface)m_interfaceMap.get(sName);

      if (iface == null)
      {
         iface = new Interface(sName);
         iface.setForward(true);
         addInterface(iface);
      }

      iface.addReferrer(referrer);

      return iface;
   }
View Full Code Here

    * @return The service interface object.
    * @throws MetadataLookupException if the service interface does not exist.
    */
   public Interface getInterface(String sName)
   {
      Interface iface = (Interface) m_interfaceMap.get(sName);

      if (iface != null)
      {
         return iface;
      }
View Full Code Here

   public void addBinding(Binding binding) throws MetadataException
   {
      verifyNotReadOnly();
     
      Service service = binding.getService();
      Interface iface = service.getInterface();
     
      for (int i = m_bindingList.size() - 1; i >= 0; --i)
      {
         Binding prevbnd = (Binding)m_bindingList.get(i);
         Service prevsvc = prevbnd.getService();
        
         if (prevsvc == service && m_nCombinationMode != COMBINE_ALL)
         {
            throw new MetadataException("err.meta.integration.bindingDup",
               new Object[]{service.getFullName(), getName()});
         }

         if (i == 0)
         {
            if (prevsvc.getInterface() != null)
            {
               if (iface != null)
               {
                  if (iface.getFormat() != prevsvc.getInterface().getFormat())
                  {
                     throw new MetadataException("err.meta.integration.binding.formatMismatch",
                        new Object[]{service.getFullName(), getName()});
                  }
               }
               else if (m_nCombinationMode != COMBINE_ALL)
               {
                  throw new MetadataException("err.meta.integration.binding.genericService",
                     new Object[]{service.getFullName(), getName()});
               }
            }
            else if (iface != null || m_nCombinationMode != COMBINE_ALL)
            {
               throw new MetadataException("err.meta.integration.binding.genericService",
                  new Object[]{service.getFullName(), getName()});
            }
         }
      }

      if (iface != null)
      {
         MessageTable table = iface.getRequestTable();

         if (m_messageTable == null)
         {
            m_messageTable = new MessageTable();
            m_messageTable.setFormat(iface.getFormat());
            m_messageMap = new HashTab(table.getMessageCount());
         }

         for (int i = 0, n = table.getMessageCount(); i != n; ++i)
         {
View Full Code Here

TOP

Related Classes of nexj.core.meta.integration.service.Interface

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.