private void sort(final XmlSchemaSequence seq) { Collections.sort(seq.getItems(), new Comparator<XmlSchemaSequenceMember>() { public int compare(XmlSchemaSequenceMember o1, XmlSchemaSequenceMember o2) { XmlSchemaElement element1 = (XmlSchemaElement)o1; XmlSchemaElement element2 = (XmlSchemaElement)o2; return element1.getName().compareTo(element2.getName()); } }); }
private void sortItems(final XmlSchemaSequence seq, final String[] propertyOrder) { final List<String> propList = Arrays.asList(propertyOrder); Collections.sort(seq.getItems(), new Comparator<XmlSchemaSequenceMember>() { public int compare(XmlSchemaSequenceMember o1, XmlSchemaSequenceMember o2) { XmlSchemaElement element1 = (XmlSchemaElement)o1; XmlSchemaElement element2 = (XmlSchemaElement)o2; int index1 = propList.indexOf(element1.getName()); int index2 = propList.indexOf(element2.getName()); return index1 - index2; } }); } //sort to Alphabetical order
private void addCrossImports(XmlSchema schema, XmlSchemaSequence sequence) { for (XmlSchemaSequenceMember seqMember : sequence.getItems()) { if (seqMember instanceof XmlSchemaElement) { addElementCrossImportsElement(schema, (XmlSchemaElement)seqMember); } } }
private void addCrossImports(XmlSchema schema, XmlSchemaSequence sequence) { for (XmlSchemaSequenceMember seqMember : sequence.getItems()) { if (seqMember instanceof XmlSchemaElement) { addElementCrossImportsElement(schema, (XmlSchemaElement)seqMember); } } }
private void addCrossImports(XmlSchema schema, XmlSchemaSequence sequence) { for (XmlSchemaSequenceMember seqMember : sequence.getItems()) { if (seqMember instanceof XmlSchemaElement) { addElementCrossImportsElement(schema, (XmlSchemaElement)seqMember); } } }
private void addCrossImports(XmlSchema schema, XmlSchemaSequence sequence) { for (XmlSchemaSequenceMember seqMember : sequence.getItems()) { if (seqMember instanceof XmlSchemaElement) { addElementCrossImportsElement(schema, (XmlSchemaElement)seqMember); } } }
private void addCrossImports(XmlSchema schema, XmlSchemaSequence sequence) { for (XmlSchemaSequenceMember seqMember : sequence.getItems()) { if (seqMember instanceof XmlSchemaElement) { addElementCrossImportsElement(schema, (XmlSchemaElement)seqMember); } } }
private boolean isEmptyType(XmlSchemaType type, QName parentName) { if (type instanceof XmlSchemaComplexType) { XmlSchemaComplexType complexType = (XmlSchemaComplexType)type; if (complexType.getParticle() == null) { return true; } XmlSchemaSequence sequence = getTypeSequence(complexType, parentName); if (sequence.getItems().isEmpty()) { return true; } } return false; }
private void buildGenericElements(XmlSchema schema, XmlSchemaSequence seq, Field f) { XmlSchemaComplexType generics = new XmlSchemaComplexType(schema, true); Type type = f.getGenericType(); String rawType = ((ParameterizedType)type).getRawType().toString(); String typeName = StringUtils.uncapitalize(rawType.substring(rawType.lastIndexOf(".") + 1)); generics.setName(typeName); Class<?> genericsClass = f.getType(); buildGenericSeq(schema, generics, genericsClass); String name = Character.toLowerCase(f.getName().charAt(0)) + f.getName().substring(1); XmlSchemaElement newel = new XmlSchemaElement(schema, false); newel.setName(name); newel.setSchemaTypeName(generics.getQName()); newel.setMinOccurs(0); if (!seq.getItems().contains(newel)) { seq.getItems().add(newel); } }
private void processSchemaType(XmlSchemaType xmlSchemaType , XmlNode parentNode , XmlSchema schema) throws AxisFault { if (xmlSchemaType instanceof XmlSchemaComplexType) { XmlSchemaComplexType complexType = (XmlSchemaComplexType)xmlSchemaType; XmlSchemaParticle particle = complexType.getParticle(); if (particle instanceof XmlSchemaSequence) { XmlSchemaSequence sequence = (XmlSchemaSequence)particle; for (XmlSchemaSequenceMember member : sequence.getItems()) { if (member instanceof XmlSchemaElement) { processElement((XmlSchemaElement)member , parentNode , schema); } } } }else if (xmlSchemaType instanceof XmlSchemaSimpleType) { // nothing to do with simpleType } }
private void processSchemaType(XmlSchemaType xmlSchemaType , XmlNode parentNode , XmlSchema schema) throws AxisFault { if (xmlSchemaType instanceof XmlSchemaComplexType) { XmlSchemaComplexType complexType = (XmlSchemaComplexType)xmlSchemaType; XmlSchemaParticle particle = complexType.getParticle(); if (particle instanceof XmlSchemaSequence) { XmlSchemaSequence sequence = (XmlSchemaSequence)particle; for (XmlSchemaSequenceMember member : sequence.getItems()) { if (member instanceof XmlSchemaElement) { processElement((XmlSchemaElement)member , parentNode , schema); } } } }else if (xmlSchemaType instanceof XmlSchemaSimpleType) { // nothing to do with simpleType } }
private void addExceptionMessage(Class<?> cls, XmlSchema schema, XmlSchemaSequence seq) { try { //a subclass could mark the message method as transient Method m = cls.getMethod("getMessage"); if (!m.isAnnotationPresent(XmlTransient.class) && m.getDeclaringClass().equals(Throwable.class)) { JAXBBeanInfo beanInfo = getBeanInfo(java.lang.String.class); XmlSchemaElement exEle = new XmlSchemaElement(schema, false); exEle.setName("message"); exEle.setSchemaTypeName(getTypeName(beanInfo)); exEle.setMinOccurs(0); seq.getItems().add(exEle); } } catch (Exception e) { //ignore, just won't have the message element } }
private static XmlSchemaComplexType getRowNameBasedSchemaComplexType( XmlSchemaComplexType wrapperSchemaComplexType) { return (((XmlSchemaComplexType) ((XmlSchemaElement) ((XmlSchemaSequence) wrapperSchemaComplexType .getParticle()).getItems().getItem(0)).getSchemaType())); }
private static String getResultRowName(XmlSchemaComplexType wrapperSchemaComplexType) { return ((XmlSchemaElement) ((XmlSchemaSequence) wrapperSchemaComplexType .getParticle()).getItems().getItem(0)).getName(); }
private boolean isWrappableSequence(XmlSchemaComplexType type) { if (type.getParticle() instanceof XmlSchemaSequence) { XmlSchemaSequence seq = (XmlSchemaSequence)type.getParticle(); List<XmlSchemaSequenceMember> items = seq.getItems(); for (XmlSchemaSequenceMember member : items) { if (!(member instanceof XmlSchemaElement)) { return false; } } return true; } else if (type.getParticle() == null) { return true; } return false; }
private static List<WrapperElement> createWrappedElements(XmlSchemaSequence seq) { List<WrapperElement> qnames = new ArrayList<>(); if (seq != null) { List<XmlSchemaSequenceMember> items = seq.getItems(); for (XmlSchemaSequenceMember seqMember : items) { XmlSchemaElement subElement = (XmlSchemaElement)seqMember; if (subElement.getQName() != null) { qnames.add(new WrapperElement(subElement.getWireName(), subElement.getSchemaTypeName())); } else { qnames.add(new WrapperElement(subElement.getRef().getTargetQName(), subElement.getSchemaTypeName())); } } } return qnames; }
/** * Creates a element in a sequence for the key type and the value type. */ private void createElement(XmlSchema schema, XmlSchemaSequence seq, QName name, AegisType type, boolean optional) { XmlSchemaElement element = new XmlSchemaElement(schema, false); seq.getItems().add(element); element.setName(name.getLocalPart()); element.setSchemaTypeName(type.getSchemaType()); if (optional) { element.setMinOccurs(0); } else { element.setMinOccurs(1); } element.setMaxOccurs(1); }
/** * Creates a element in a sequence for the key type and the value type. */ private void createElement(XmlSchema schema, XmlSchemaSequence seq, QName name, AegisType type, boolean optional) { XmlSchemaElement element = new XmlSchemaElement(schema, false); seq.getItems().add(element); element.setName(name.getLocalPart()); element.setSchemaTypeName(type.getSchemaType()); if (optional) { element.setMinOccurs(0); } else { element.setMinOccurs(1); } element.setMaxOccurs(1); }
private XmlSchemaElement addElement(XmlSchemaSequence schemaSequence, XmlSchemaType schemaType, Scope fqName, String name) { XmlSchemaElement element = new XmlSchemaElement(schema, false); element.setName(name); if (schemaType != null) { element.setSchemaTypeName(schemaType.getQName()); if (schemaType.getQName().equals(ReferenceConstants.WSADDRESSING_TYPE)) { element.setNillable(true); } } else { wsdlVisitor.getDeferredActions(). add(fqName, new OperationDeferredAction(element)); } schemaSequence.getItems().add(element); return element; }
/** * Creates the default data services response element, and stores it in the schema. * @param cparams The common parameters used in the schema generator */ private static void createAndStoreDataServiceResponseElement(CommonParams cparams) { XmlSchemaElement element = createElement(cparams, DBConstants.WSO2_DS_NAMESPACE, DBConstants.DATA_SERVICE_RESPONSE_WRAPPER_ELEMENT, true); XmlSchemaComplexType type = createComplexType(cparams, DBConstants.WSO2_DS_NAMESPACE, DBConstants.DATA_SERVICE_RESPONSE_WRAPPER_ELEMENT, false); element.setType(type); XmlSchemaAny anyEl = new XmlSchemaAny(); anyEl.setMinOccurs(0); XmlSchemaSequence seq = new XmlSchemaSequence(); seq.getItems().add(anyEl); type.setParticle(seq); }