Package org.jibx.runtime.impl

Examples of org.jibx.runtime.impl.UnmarshallingContext


  }

  @Override
  protected Object unmarshalXmlStreamReader(XMLStreamReader streamReader) {
    try {
      UnmarshallingContext unmarshallingContext = (UnmarshallingContext) createUnmarshallingContext();
      IXMLReader xmlReader = new StAXReaderWrapper(streamReader, null, true);
      unmarshallingContext.setDocument(xmlReader);
      return unmarshallingContext.unmarshalElement();
    }
    catch (JiBXException ex) {
      throw convertJibxException(ex, false);
    }
  }
View Full Code Here


        return new MarshallingContext(EMPTY_STRINGS, EMPTY_STRINGS, EMPTY_STRINGS, this);
    }

    public IUnmarshallingContext createUnmarshallingContext()
            throws JiBXException {
        return new UnmarshallingContext(0, EMPTY_STRINGS, EMPTY_STRINGS, EMPTY_STRINGS,
                                        EMPTY_STRINGS, this);
    }
View Full Code Here

    }

    public Object read(MessagePartInfo part, XMLStreamReader input) {
        Class<?> type = part.getTypeClass();
        try {
            UnmarshallingContext ctx = getUnmarshallingContext(input, type);
            if (JibxSimpleTypes.isSimpleType(type)) {
                QName stype = part.getTypeQName();
                QName ctype = part.getConcreteName();
                if (ctx.isAt(ctype.getNamespaceURI(), ctype.getLocalPart())) {
                    String text = ctx.parseElementText(ctype.getNamespaceURI(), ctype.getLocalPart());
                    return JibxSimpleTypes.toObject(text, stype);
                } else {
                    throw new RuntimeException("Missing required element [" + ctype + "]");
                }
            } else {
                return ctx.unmarshalElement(part.getTypeClass());  
            }
        } catch (JiBXException e) {
            throw new RuntimeException(e);
        }
    }
View Full Code Here

        }
    }

    public Object read(QName elementQName, XMLStreamReader input, Class type) {
        try {
            UnmarshallingContext ctx = getUnmarshallingContext(input, type);
            return ctx.unmarshalElement(type);
        } catch (JiBXException e) {
            throw new RuntimeException(e);
        }
    }
View Full Code Here

        if (JibxSimpleTypes.isSimpleType(jtype)) {
            factory = JibxNullBindingFactory.getFactory();
        } else {
            factory = BindingDirectory.getFactory(jtype);
        }
        UnmarshallingContext ctx = (UnmarshallingContext)factory.createUnmarshallingContext();
        StAXReaderWrapper wrapper = new StAXReaderWrapper(reader, "Data-element", true);
        ctx.setDocument(wrapper);
        ctx.toTag();
        return ctx;
    }
View Full Code Here

   private static final Pattern RFC1766_PATTERN = Pattern.compile("^([a-zA-Z]{2})(?:-([a-zA-Z]{2}))?$");

   public Object unmarshal(Object o, IUnmarshallingContext ictx) throws JiBXException
   {
      UnmarshallingContext ctx = (UnmarshallingContext)ictx;
      if (!ctx.isAt(marshalURI, marshallName))
      {
         ctx.throwStartTagNameError(marshalURI, marshallName);
      }
      int count = ctx.getAttributeCount();
      Locale lang = null;
      for (int i = 0;i < count;i++)
      {
         String attrName = ctx.getAttributeName(i);
         if (attrName.equals("xml:lang"))
         {
            String attrValue= ctx.getAttributeValue(i).trim();
            Matcher matcher = RFC1766_PATTERN.matcher(attrValue);
            if (matcher.matches())
            {
               String langISO = matcher.group(1);
               String countryISO = matcher.group(2);
               if (countryISO == null)
               {
                  lang = new Locale(langISO.toLowerCase());
               }
               else
               {
                  lang = new Locale(langISO.toLowerCase(), countryISO.toLowerCase());
               }
            }
            else
            {
               throw new JiBXParseException("The attribute xml:lang " + attrValue + " does not represent a valid language as defined by RFC 1766", attrValue);
            }
            break;
         }
      }
      ctx.parsePastStartTag(marshalURI, marshallName);
      String value = ctx.getText();
      ctx.parsePastEndTag(marshalURI, marshallName);
      return new LocalizedString(value, lang);
   }
View Full Code Here

      return ctx.isAt(m_uri, m_name);
   }

   public Object unmarshal(Object obj, IUnmarshallingContext ictx) throws JiBXException
   {
      UnmarshallingContext ctx = (UnmarshallingContext)ictx;
      if (!ctx.isAt(m_uri, m_name))
      {
         ctx.throwStartTagNameError(m_uri, m_name);
      }

      //
      if (obj != null)
      {
         throw new AssertionError("That should not happen");
      }

      // Id
      String id = optionalAttribute(ctx, "id");

      //
      ctx.parsePastStartTag(m_uri, m_name);

      //
      Application<?> app;
      TransientApplicationState state;
      if ("application".equals(m_name))
      {
         String instanceId = ctx.parseElementText(m_uri, "instance-id");
         instanceId = NewPortalConfigListener.fixInstanceIdOwnerName(instanceId);
         int i0 = instanceId.indexOf("#");
         int i1 = instanceId.indexOf(":/", i0 + 1);
         String ownerType = instanceId.substring(0, i0);
         String ownerId = instanceId.substring(i0 + 1, i1);
         String persistenceid = instanceId.substring(i1 + 2);
         String[] persistenceChunks = split("/", persistenceid);
         if (persistenceChunks.length == 2)
         {
            state = new TransientApplicationState<Portlet>(
               persistenceChunks[0] + "/" +  persistenceChunks[1],
               null,
               ownerType,
               ownerId,
               null);
         }
         else
         {
            state = new TransientApplicationState<Portlet>(
               persistenceChunks[0] + "/" +  persistenceChunks[1],
               null,
               ownerType,
               ownerId,
               persistenceChunks[2]);
         }
         app = Application.createPortletApplication();
         app.setState(state);
      }
      // Since we don't support dashboard's here, this only works for gadgets using the gadget wrapper portlet.
      else if ("gadget-application".equals(m_name))
      {
         ctx.parsePastStartTag(m_uri, "gadget");
         String gadgetName = ctx.parseElementText(m_uri, "gadget-ref");
         Gadget gadget = null;
         // Once the gadget portlet wrapper is able to use gadget userPref's, include parsing logic here.
         // Gadget gadget = new Gadget();
         // gadget.setUserPref();
         state = new TransientApplicationState<Gadget>(gadgetName, gadget);
         app = Application.createGadgetApplication();
         app.setState(state);
         ctx.parsePastEndTag(m_uri, "gadget");
      }
      else
      {
         String contentId;
         boolean isWSRP = false;
         if(ctx.isAt(m_uri, "wsrp"))
         {
            contentId = ctx.parseElementText(m_uri, "wsrp");
            app = Application.createWSRPApplication();
            isWSRP = true;
         }
         else
         {

            ctx.parsePastStartTag(m_uri, "portlet");
            String applicationName = ctx.parseElementText(m_uri, "application-ref");
            String portletName = ctx.parseElementText(m_uri, "portlet-ref");
            contentId = applicationName + "/" + portletName;
            app = Application.createPortletApplication();
         }

         if (ctx.isAt(m_uri, "preferences"))
         {
            PortletBuilder builder = new PortletBuilder();
            ctx.parsePastStartTag(m_uri, "preferences");
            while (ctx.isAt(m_uri, "preference"))
            {
               Preference value = (Preference)ctx.unmarshalElement();
               builder.add(value.getName(), value.getValues(), value.isReadOnly());
            }
            ctx.parsePastEndTag(m_uri, "preferences");
            state = new TransientApplicationState(contentId, builder.build());
         }
         else
         {
            state = new TransientApplicationState(contentId, null);
         }

         if(!isWSRP)
         {
            ctx.parsePastEndTag(m_uri, "portlet");
         }

         app.setState(state);
      }

      //
      nextOptionalTag(ctx, "application-type");
      String theme = nextOptionalTag(ctx, "theme");
      String title = nextOptionalTag(ctx, "title");
      String accessPermissions = nextOptionalTag(ctx, "access-permissions");
      boolean showInfoBar = nextOptionalBooleanTag(ctx, "show-info-bar", true);
      boolean showApplicationState = nextOptionalBooleanTag(ctx, "show-application-state", true);
      boolean showApplicationMode = nextOptionalBooleanTag(ctx, "show-application-mode", true);
      String description = nextOptionalTag(ctx, "description");
      String icon = nextOptionalTag(ctx, "icon");
      String width = nextOptionalTag(ctx, "width");
      String height = nextOptionalTag(ctx, "height");

      //
      Properties properties = null;
      if (ctx.isAt(m_uri, "properties"))
      {
         properties = (Properties)ctx.unmarshalElement();
      }

      //
      ctx.parsePastEndTag(m_uri, m_name);

      //
      app.setId(id);
      app.setTheme(theme);
      app.setTitle(title);
View Full Code Here

   {
      ByteArrayInputStream baos = new ByteArrayInputStream(bytes);

      //
      IBindingFactory bfact = BindingDirectory.getFactory(type);
      UnmarshallingContext uctx = (UnmarshallingContext)bfact.createUnmarshallingContext();
      uctx.setDocument(baos, null, "UTF-8", false);
      T obj = type.cast(uctx.unmarshalElement());

      // Find out version
      XMLInputFactory factory = XMLInputFactory.newInstance();
      baos.reset();
      XMLStreamReader reader = factory.createXMLStreamReader(baos);
View Full Code Here

   {
      String path = "war:/conf/portal/portal/sharedlayout.xml";
      String out = IOUtil.getStreamContentAsString(confManager_.getInputStream(path));
      ByteArrayInputStream is = new ByteArrayInputStream(out.getBytes("UTF-8"));
      IBindingFactory bfact = BindingDirectory.getFactory(Container.class);
      UnmarshallingContext uctx = (UnmarshallingContext)bfact.createUnmarshallingContext();
      uctx.setDocument(is, null, "UTF-8", false);
      Container container = (Container)uctx.unmarshalElement();
      generateStorageName(container);
      return container;
   }
View Full Code Here

        return new MarshallingContext(EMPTY_STRINGS, EMPTY_STRINGS, EMPTY_STRINGS, this);
    }

    public IUnmarshallingContext createUnmarshallingContext()
        throws JiBXException {
        return new UnmarshallingContext(0, EMPTY_STRINGS, EMPTY_STRINGS, EMPTY_STRINGS, EMPTY_STRINGS, this);
    }
View Full Code Here

TOP

Related Classes of org.jibx.runtime.impl.UnmarshallingContext

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.