/** * Adds a new element to the specific group element class. If no group element class is found, then a new group * element class. will be created. * * @param groupName * the group class name of * @param groupElement * the new element to be added. */ public void addGroupElement(final String groupName, final MetadataElement groupElement) { for (MetadataItem item : groupList) { if (item.getName().equals(groupName) && item.getNamespace().equals(getCurrentNamespace())) { item.getElements().add(groupElement); return; } } final MetadataItem newItem = new MetadataItem(groupName); newItem.getElements().add(groupElement); newItem.setNamespace(getCurrentNamespace()); newItem.setSchemaName(getCurrentSchmema()); newItem.setPackageApi(getCurrentPackageApi()); newItem.setPackageImpl(getCurrentPackageImpl()); groupList.add(newItem); }
private boolean isDataType(final String type, final Metadata metadata) { for (MetadataItem item : metadata.getDataTypeList()) { if (item.getMappedTo().equals(type) || item.getName().equals(type)) { return true; } } return false; } }
private List<String> findCommonClasses(final Metadata metadata) { final List<String> classList = new ArrayList<String>(); for (MetadataDescriptor descr : metadata.getMetadataDescriptorList()) { if (descr.getCommon() != null) { traverseClasses(metadata, classList, descr.getRootElementType()); } else { if (descr.isGenerateClasses()) { final String packageApi = descr.getPackageApi(); for (MetadataItem item : metadata.getClassList()) { if (packageApi.equals(item.getPackageApi())) { final String type = item.getNamespace() + ":" + item.getName(); if (!classList.contains(type)) { classList.add(type); } } } } } } return classList; }
MetadataItem foundClass = null; for (final MetadataItem metadataClass : metadata.getClassList()) { if (metadataClass.getName().equals(currentContentModel)) { childElementCounter = metadataClass.getElements().size(); foundClass = metadataClass; break; isJustPCDATA = true; } else if (childElementCounter == 1) { if (foundClass.getName().equals(currentContentModel) && contentModelType == DTDEventListener.CONTENT_MODEL_MIXED) { isJustPCDATA = true; final MetadataItem type = new MetadataItem(currentContentModel); type.setMappedTo("xsd:string"); type.setNamespace(metadata.getCurrentNamespace()); metadata.getDataTypeList().add(type);
@Override public boolean filter(final Metadata metadata, final TreeWalker walker) { final Node parent = walker.getCurrentNode(); final Element element = (Element) parent; if (XsdElementEnum.union.isTagNameEqual(element.getTagName())) { final String memberTypesStr = MetadataUtil.getAttributeValue(element, "memberTypes"); if (memberTypesStr != null) { final Node parentNodeWithName = MetadataUtil.getNextParentNodeWithAttr(parent.getParentNode(), "name"); if (parentNodeWithName != null) { final Element parentElementWithName = (Element) parentNodeWithName; final String parentName = MetadataUtil.getAttributeValue(parentElementWithName, "name"); final String[] items = memberTypesStr.split(" ", -1); if (items != null && items.length > 1) { final MetadataItem dataType = new MetadataItem(parentName); dataType.setMappedTo(getDataType(items)); dataType.setNamespace(metadata.getCurrentNamespace()); dataType.setSchemaName(metadata.getCurrentSchmema()); metadata.getDataTypeList().add(dataType); } } } } return false; }
final Element datatype = doc.createElement("datatype"); final Attr attrName = doc.createAttribute("name"); attrName.setValue(metadataType.getName()); datatype.setAttributeNode(attrName); attrMappedTo.setValue(metadataType.getMappedTo()); datatype.setAttributeNode(attrMappedTo); attrNamespace.setValue(metadataType.getNamespace()); datatype.setAttributeNode(attrNamespace); attrSchemaName.setValue(metadataType.getSchemaName()); datatype.setAttributeNode(attrSchemaName); attrName.setValue(metadataClass.getName()); classElement.setAttributeNode(attrName); attrNamespace.setValue(metadataClass.getNamespace()); classElement.setAttributeNode(attrNamespace); attrSchemaName.setValue(metadataClass.getSchemaName()); classElement.setAttributeNode(attrSchemaName); attrPackageApi.setValue(metadataClass.getPackageApi()); classElement.setAttributeNode(attrPackageApi); for (MetadataElement element : metadataClass.getElements()) { final Element childElement = doc.createElement("element");
if (ref != null) { for (MetadataItem dataType : metadata.getDataTypeList()) { if (dataType.getName().equals(ref)) { final MetadataElement classElement = new MetadataElement(); classElement.setName(ref); classElement.setType(dataType.getMappedTo()); classElement.setIsAttribute(true); metadata.addClassElement(groupOrClassName, classElement); if (ref != null) { for (MetadataItem dataType : metadata.getDataTypeList()) { if (dataType.getName().equals(ref)) { final MetadataElement classElement = new MetadataElement(); classElement.setName(ref); classElement.setType(dataType.getMappedTo()); classElement.setIsAttribute(true); metadata.addClassElement(groupOrClassName, classElement); if (item.getName().equals(groupOrClassName)) { removableItem = item; break; final String attrName = MetadataUtil.getAttributeValue(element, "name"); String type = MetadataUtil.getAttributeValue(element, "type"); final MetadataItem dataType = new MetadataItem(attrName); dataType.setMappedTo(type); if (type == null) { dataType.setMappedTo("xsd:string");
private void preResolveDataTypeImpl(final MetadataItem metadataClass) { for (MetadataElement element : metadataClass.getElements()) { for (MetadataItem dataType : getDataTypeList()) { final String str = dataType.getNamespace() + ":" + dataType.getName(); if (str.equals(element.getType())) { element.setType(dataType.getMappedTo()); } } /** * replace the xs namespace with xsd, ddJavaAll xslt likes this more */ element.setType(element.getType().replace("xs:", "xsd:")); /** * Set default xsd namespace */ if (!element.getType().contains(":") && XsdDatatypeEnum.integer.isDataType("xsd:" + element.getType())) element.setType("xsd:" + element.getType()); /** * Check java keywords */ // if (JavaKeywordsEnum.abstract_keyword.isJavaKeyword(element.getName())) // { // element.setName("_" + element.getName()); // } } }
if (elItems.length == 2) { for (MetadataItem item : metadata.getClassList()) { if (item.getNamespace().equals(elItems[0]) && item.getName().equals(elItems[1])) { for (MetadataElement element : item.getElements()) { if (!isDataType(element.getType(), metadata)) { if (!classList.contains(element.getType())) { for (MetadataElement element : item.getReferences()) { if (!isDataType(element.getType(), metadata)) { if (!classList.contains(element.getRef())) { if (item.getNamespace().equals(elItems[0]) && item.getName().equals(elItems[1])) { for (MetadataElement element : item.getElements()) { if (!isDataType(element.getType(), metadata)) { if (!classList.contains(element.getType())) { for (MetadataElement element : item.getReferences()) { if (!isDataType(element.getType(), metadata)) { if (!classList.contains(element.getRef())) {
sb.append(NEWLINE); sb.append(LINE); sb.append("Group: " + item.getName()); sb.append(NEWLINE); for (MetadataElement element : item.getElements()) { sb.append(" Element : " + element.getName()); sb.append(NEWLINE); for (MetadataElement element : item.getReferences()) { sb.append(" Ref : " + element.getRef()); sb.append(NEWLINE); sb.append(LINE); sb.append(NEWLINE); sb.append("Class: " + item.getName()); sb.append(NEWLINE); for (MetadataElement element : item.getElements()) { sb.append(" Element : " + element.getName()); sb.append(NEWLINE); for (MetadataElement element : item.getReferences()) { sb.append(" Ref : " + element.getRef()); sb.append(NEWLINE); sb.append(LINE); sb.append(NEWLINE); sb.append("Name : " + dataType.getName()); sb.append(NEWLINE); sb.append("MappedTo: " + dataType.getMappedTo());
final String fqnInterface = metadataClass.getPackageApi() + "." + getPascalizeCase(metadataClass.getName()); final JDefinedClass dc = cm._class(fqnInterface, ClassType.INTERFACE); part.put("<a href", "'mailto:ralf.battenfeld@bluewin.ch'>Ralf Battenfeld</a>"); for (final MetadataElement element : metadataClass.getElements()) { if (isEnum(element.getType())) { final String fqn = getFqnClass(element);
@Override public boolean filter(final Metadata metadata, final TreeWalker walker) { final Node parent = walker.getCurrentNode(); final Element element = (Element) parent; if (XsdElementEnum.union.isTagNameEqual(element.getTagName())) { final String memberTypesStr = MetadataUtil.getAttributeValue(element, "memberTypes"); if (memberTypesStr != null) { final Node parentNodeWithName = MetadataUtil.getNextParentNodeWithAttr(parent.getParentNode(), "name"); if (parentNodeWithName != null) { final Element parentElementWithName = (Element) parentNodeWithName; final String parentName = MetadataUtil.getAttributeValue(parentElementWithName, "name"); final String[] items = memberTypesStr.split(" ", -1); if (items != null && items.length > 1) { final MetadataItem dataType = new MetadataItem(parentName); dataType.setMappedTo(getDataType(items)); dataType.setNamespace(metadata.getCurrentNamespace()); dataType.setSchemaName(metadata.getCurrentSchmema()); metadata.getDataTypeList().add(dataType); } } } } return false; }
MetadataItem foundClass = null; for (final MetadataItem metadataClass : metadata.getClassList()) { if (metadataClass.getName().equals(currentContentModel)) { childElementCounter = metadataClass.getElements().size(); foundClass = metadataClass; break; isJustPCDATA = true; } else if (childElementCounter == 1) { if (foundClass.getName().equals(currentContentModel) && contentModelType == DTDEventListener.CONTENT_MODEL_MIXED) { isJustPCDATA = true; final MetadataItem type = new MetadataItem(currentContentModel); type.setMappedTo("xsd:string"); type.setNamespace(metadata.getCurrentNamespace()); metadata.getDataTypeList().add(type);
final Element datatype = doc.createElement("datatype"); final Attr attrName = doc.createAttribute("name"); attrName.setValue(metadataType.getName()); datatype.setAttributeNode(attrName); attrMappedTo.setValue(metadataType.getMappedTo()); datatype.setAttributeNode(attrMappedTo); attrNamespace.setValue(metadataType.getNamespace()); datatype.setAttributeNode(attrNamespace); attrSchemaName.setValue(metadataType.getSchemaName()); datatype.setAttributeNode(attrSchemaName); attrName.setValue(metadataClass.getName()); classElement.setAttributeNode(attrName); attrNamespace.setValue(metadataClass.getNamespace()); classElement.setAttributeNode(attrNamespace); attrSchemaName.setValue(metadataClass.getSchemaName()); classElement.setAttributeNode(attrSchemaName); attrPackageApi.setValue(metadataClass.getPackageApi()); classElement.setAttributeNode(attrPackageApi); for (MetadataElement element : metadataClass.getElements()) { final Element childElement = doc.createElement("element");
if (ref != null) { for (MetadataItem dataType : metadata.getDataTypeList()) { if (dataType.getName().equals(ref)) { final MetadataElement classElement = new MetadataElement(); classElement.setName(ref); classElement.setType(dataType.getMappedTo()); classElement.setIsAttribute(true); metadata.addClassElement(groupOrClassName, classElement); if (ref != null) { for (MetadataItem dataType : metadata.getDataTypeList()) { if (dataType.getName().equals(ref)) { final MetadataElement classElement = new MetadataElement(); classElement.setName(ref); classElement.setType(dataType.getMappedTo()); classElement.setIsAttribute(true); metadata.addClassElement(groupOrClassName, classElement); if (item.getName().equals(groupOrClassName)) { removableItem = item; break; final String attrName = MetadataUtil.getAttributeValue(element, "name"); String type = MetadataUtil.getAttributeValue(element, "type"); final MetadataItem dataType = new MetadataItem(attrName); dataType.setMappedTo(type); if (type == null) { dataType.setMappedTo("xsd:string");
private void preResolveDataTypeImpl(final MetadataItem metadataClass) { for (MetadataElement element : metadataClass.getElements()) { for (MetadataItem dataType : getDataTypeList()) { final String str = dataType.getNamespace() + ":" + dataType.getName(); if (str.equals(element.getType())) { element.setType(dataType.getMappedTo()); } } /** * replace the xs namespace with xsd, ddJavaAll xslt likes this more */ element.setType(element.getType().replace("xs:", "xsd:")); /** * Set default xsd namespace */ if (!element.getType().contains(":") && XsdDatatypeEnum.integer.isDataType("xsd:" + element.getType())) element.setType("xsd:" + element.getType()); /** * Check java keywords */ // if (JavaKeywordsEnum.abstract_keyword.isJavaKeyword(element.getName())) // { // element.setName("_" + element.getName()); // } } }
if (elItems.length == 2) { for (MetadataItem item : metadata.getClassList()) { if (item.getNamespace().equals(elItems[0]) && item.getName().equals(elItems[1])) { for (MetadataElement element : item.getElements()) { if (!isDataType(element.getType(), metadata)) { if (!classList.contains(element.getType())) { for (MetadataElement element : item.getReferences()) { if (!isDataType(element.getType(), metadata)) { if (!classList.contains(element.getRef())) { if (item.getNamespace().equals(elItems[0]) && item.getName().equals(elItems[1])) { for (MetadataElement element : item.getElements()) { if (!isDataType(element.getType(), metadata)) { if (!classList.contains(element.getType())) { for (MetadataElement element : item.getReferences()) { if (!isDataType(element.getType(), metadata)) { if (!classList.contains(element.getRef())) {
sb.append(NEWLINE); sb.append(LINE); sb.append("Group: " + item.getName()); sb.append(NEWLINE); for (MetadataElement element : item.getElements()) { sb.append(" Element : " + element.getName()); sb.append(NEWLINE); for (MetadataElement element : item.getReferences()) { sb.append(" Ref : " + element.getRef()); sb.append(NEWLINE); sb.append(LINE); sb.append(NEWLINE); sb.append("Class: " + item.getName()); sb.append(NEWLINE); for (MetadataElement element : item.getElements()) { sb.append(" Element : " + element.getName()); sb.append(NEWLINE); for (MetadataElement element : item.getReferences()) { sb.append(" Ref : " + element.getRef()); sb.append(NEWLINE); sb.append(LINE); sb.append(NEWLINE); sb.append("Name : " + dataType.getName()); sb.append(NEWLINE); sb.append("MappedTo: " + dataType.getMappedTo());
final String fqnInterface = metadataClass.getPackageApi() + "." + getPascalizeCase(metadataClass.getName()); final JDefinedClass dc = cm._class(fqnInterface, ClassType.INTERFACE); part.put("<a href", "'mailto:ralf.battenfeld@bluewin.ch'>Ralf Battenfeld</a>"); for (final MetadataElement element : metadataClass.getElements()) { if (isEnum(element.getType())) { final String fqn = getFqnClass(element);
/** * Adds a new element to the specific group element class. If no group element class is found, then a new group * element class. will be created. * * @param groupName * the group class name of * @param groupElement * the new element to be added. */ public void addGroupElement(final String groupName, final MetadataElement groupElement) { for (MetadataItem item : groupList) { if (item.getName().equals(groupName) && item.getNamespace().equals(getCurrentNamespace())) { item.getElements().add(groupElement); return; } } final MetadataItem newItem = new MetadataItem(groupName); newItem.getElements().add(groupElement); newItem.setNamespace(getCurrentNamespace()); newItem.setSchemaName(getCurrentSchmema()); newItem.setPackageApi(getCurrentPackageApi()); newItem.setPackageImpl(getCurrentPackageImpl()); groupList.add(newItem); }