コード例 #1
0
  protected ClassDescriptor buildDocumentPreservationPolicyConfigDescriptor() {
    XMLDescriptor descriptor = new XMLDescriptor();
    descriptor.setJavaClass(DocumentPreservationPolicyConfig.class);
    descriptor.setDefaultRootElement("document-preservation-policy");

    XMLCompositeObjectMapping nodeOrderingPolicyMapping = new XMLCompositeObjectMapping();
    nodeOrderingPolicyMapping.setReferenceClass(NodeOrderingPolicyConfig.class);
    nodeOrderingPolicyMapping.setAttributeName("m_nodeOrderingPolicy");
    nodeOrderingPolicyMapping.setGetMethodName("getNodeOrderingPolicy");
    nodeOrderingPolicyMapping.setSetMethodName("setNodeOrderingPolicy");
    nodeOrderingPolicyMapping.setXPath("node-ordering-policy");
    descriptor.addMapping(nodeOrderingPolicyMapping);

    descriptor.getInheritancePolicy().setClassIndicatorField(new XMLField("@xsi:type"));
    descriptor
        .getInheritancePolicy()
        .addClassIndicator(
            DescriptorLevelDocumentPreservationPolicyConfig.class,
            "descriptor-level-document-preservation-policy");
    descriptor
        .getInheritancePolicy()
        .addClassIndicator(
            NoDocumentPreservationPolicyConfig.class, "no-document-preservation-policy");
    descriptor
        .getInheritancePolicy()
        .addClassIndicator(XMLBinderPolicyConfig.class, "xml-binder-policy");

    return descriptor;
  }
コード例 #2
0
  /**
   * INTERNAL: Convenience method that sets up class indicator and @sdoRef attribute.
   *
   * @param xdesc
   * @param pCls
   */
  private void addClassIndicator(XMLDescriptor xdesc, Class pCls, boolean isInheritanceRoot) {
    XMLField field = (XMLField) getXmlDescriptor().buildField("@xsi:type");
    xdesc.getInheritancePolicy().setClassIndicatorField(field);

    String parentIndicator = getName();
    String parentPrefix = xdesc.getNamespaceResolver().resolveNamespaceURI(getURI());
    if (parentPrefix != null) {
      parentIndicator =
          parentPrefix + SDOConstants.SDO_XPATH_NS_SEPARATOR_FRAGMENT + parentIndicator;
    }
    xdesc.getInheritancePolicy().addClassIndicator(pCls, parentIndicator);

    // only add the @sdoRef attribute if necessary
    if (xdesc.getMappingForAttributeName(SDO_REF_MAPPING_ATTRIBUTE_NAME) == null) {
      String sdoPrefix =
          ((SDOTypeHelper) aHelperContext.getTypeHelper()).getPrefix(SDOConstants.SDO_URL);
      XMLDirectMapping sdoRefMapping = new XMLDirectMapping();
      sdoRefMapping.setAttributeName(SDO_REF_MAPPING_ATTRIBUTE_NAME);

      XMLField xmlField =
          new XMLField(
              "@"
                  + sdoPrefix
                  + SDOConstants.SDO_XPATH_NS_SEPARATOR_FRAGMENT
                  + SDOConstants.CHANGESUMMARY_REF);
      xmlField.getXPathFragment().setNamespaceURI(SDOConstants.SDO_URL);
      xmlField.getLastXPathFragment().setNamespaceURI(SDOConstants.SDO_URL);

      sdoRefMapping.setField(xmlField);
      xdesc.addMapping(sdoRefMapping);
    }
  }
コード例 #3
0
 public ClassDescriptor buildServerPlatformConfigDescriptor() {
   XMLDescriptor descriptor = (XMLDescriptor) super.buildServerPlatformConfigDescriptor();
   descriptor.getInheritancePolicy().addClassIndicator(Oc4jPlatformConfig.class, "oc4j-platform");
   descriptor
       .getInheritancePolicy()
       .addClassIndicator(SunAS9PlatformConfig.class, "sunas-9-platform");
   descriptor
       .getInheritancePolicy()
       .addClassIndicator(GlassfishPlatformConfig.class, "glassfish-platform");
   descriptor
       .getInheritancePolicy()
       .addClassIndicator(WebLogic_9_PlatformConfig.class, "weblogic-9-platform");
   descriptor
       .getInheritancePolicy()
       .addClassIndicator(WebLogic_10_PlatformConfig.class, "weblogic-10-platform");
   descriptor
       .getInheritancePolicy()
       .addClassIndicator(WebSphere_6_1_PlatformConfig.class, "websphere-61-platform");
   descriptor
       .getInheritancePolicy()
       .addClassIndicator(WebSphere_7_0_PlatformConfig.class, "websphere-7-platform");
   descriptor
       .getInheritancePolicy()
       .addClassIndicator(WebSphere_Liberty_Platform_Config.class, "websphere-liberty-platform");
   return descriptor;
 }
コード例 #4
0
  public static XMLDescriptor buildDescriptor() {
    XMLDescriptor descriptor = new XMLDescriptor();
    descriptor.setJavaClass(MWEisProjectDefaultsPolicy.class);
    descriptor.getInheritancePolicy().setParentClass(MWTransactionalProjectDefaultsPolicy.class);

    return descriptor;
  }
コード例 #5
0
  protected ClassDescriptor buildRelativePositionOrderingPolicyConfigDescriptor() {
    XMLDescriptor descriptor = new XMLDescriptor();
    descriptor.setJavaClass(RelativePositionOrderingPolicyConfig.class);
    descriptor.getInheritancePolicy().setParentClass(NodeOrderingPolicyConfig.class);

    return descriptor;
  }
コード例 #6
0
  public static XMLDescriptor buildDescriptor() {
    XMLDescriptor descriptor = new XMLDescriptor();
    descriptor.setJavaClass(NullParticle.class);
    descriptor.getInheritancePolicy().setParentClass(AbstractParticle.class);

    return descriptor;
  }
コード例 #7
0
  protected ClassDescriptor buildIgnoreNewElementsOrderingPolicyConfigDescriptor() {
    XMLDescriptor descriptor = new XMLDescriptor();
    descriptor.setJavaClass(IgnoreNewElementsOrderingPolicyConfig.class);
    descriptor.getInheritancePolicy().setParentClass(NodeOrderingPolicyConfig.class);

    return descriptor;
  }
  public ClassDescriptor buildXMLBinaryDataCollectionMappingDescriptor() {
    XMLDescriptor descriptor = new XMLDescriptor();
    descriptor.setJavaClass(XMLBinaryDataCollectionMapping.class);

    descriptor.getInheritancePolicy().setParentClass(XMLCompositeDirectCollectionMapping.class);

    XMLDirectMapping swaRefMapping = new XMLDirectMapping();
    swaRefMapping.setAttributeName("isSwaRef");
    swaRefMapping.setXPath(getPrimaryNamespaceXPath() + "is-swa-ref/text()");
    descriptor.addMapping(swaRefMapping);

    XMLDirectMapping mimeTypeMapping = new XMLDirectMapping();
    mimeTypeMapping.setAttributeName("mimeTypePolicy");
    mimeTypeMapping.setGetMethodName("getMimeType");
    mimeTypeMapping.setSetMethodName("setMimeType");
    mimeTypeMapping.setXPath(getPrimaryNamespaceXPath() + "mime-type/text()");
    descriptor.addMapping(mimeTypeMapping);

    XMLDirectMapping shouldInlineMapping = new XMLDirectMapping();
    shouldInlineMapping.setAttributeName("shouldInlineBinaryData");
    shouldInlineMapping.setXPath(getPrimaryNamespaceXPath() + "should-inline-data");
    descriptor.addMapping(shouldInlineMapping);

    return descriptor;
  }
コード例 #9
0
  public static XMLDescriptor buildDescriptor() {
    XMLDescriptor descriptor = new XMLDescriptor();
    descriptor.setJavaClass(MWEisReadAllQuery.class);
    descriptor.getInheritancePolicy().setParentClass(MWAbstractEisReadQuery.class);

    return descriptor;
  }
コード例 #10
0
  protected ClassDescriptor buildXMLBinderPolicyConfigDescriptor() {
    XMLDescriptor descriptor = new XMLDescriptor();
    descriptor.setJavaClass(XMLBinderPolicyConfig.class);
    descriptor.getInheritancePolicy().setParentClass(DocumentPreservationPolicyConfig.class);

    return descriptor;
  }
コード例 #11
0
  public ClassDescriptor buildTransportManagerConfigDescriptor() {
    XMLDescriptor descriptor = (XMLDescriptor) super.buildTransportManagerConfigDescriptor();
    descriptor
        .getInheritancePolicy()
        .addClassIndicator(Oc4jJGroupsTransportManagerConfig.class, "oc4j-jgroups-transport");

    return descriptor;
  }
コード例 #12
0
  public static XMLDescriptor buildDescriptor() {
    XMLDescriptor descriptor = new XMLDescriptor();
    descriptor.setJavaClass(MWBatchReadItem.class);

    descriptor.getInheritancePolicy().setParentClass(MWAttributeItem.class);

    return descriptor;
  }
コード例 #13
0
  public static XMLDescriptor buildDescriptor() {
    XMLDescriptor descriptor = new XMLDescriptor();

    descriptor.setJavaClass(MWDirectToFieldMapping.class);
    descriptor.getInheritancePolicy().setParentClass(MWRelationalDirectMapping.class);

    return descriptor;
  }
コード例 #14
0
  public static XMLDescriptor buildDescriptor() {
    XMLDescriptor descriptor = new XMLDescriptor();

    descriptor.setJavaClass(MWEJBQLQueryFormat.class);

    descriptor.getInheritancePolicy().setParentClass(MWStringQueryFormat.class);

    return descriptor;
  }
コード例 #15
0
  public static XMLDescriptor buildDescriptor() {
    XMLDescriptor descriptor = new XMLDescriptor();
    descriptor.setJavaClass(MWRelationalProjectDefaultsPolicy.class);
    descriptor.getInheritancePolicy().setParentClass(MWTransactionalProjectDefaultsPolicy.class);

    descriptor.addDirectMapping("queriesCacheAllStatements", "cache-all-statements/text()");
    descriptor.addDirectMapping("queriesBindAllParameters", "bind-all-parameters/text()");

    return descriptor;
  }
コード例 #16
0
  public static XMLDescriptor buildDescriptor() {
    XMLDescriptor descriptor = new XMLDescriptor();
    descriptor.setJavaClass(MWContainerAccessor.class);

    InheritancePolicy ip = (InheritancePolicy) descriptor.getInheritancePolicy();
    ip.setClassIndicatorFieldName("@type");
    ip.addClassIndicator(MWAttributeContainerAccessor.class, "attribute-based");
    ip.addClassIndicator(MWMethodContainerAccessor.class, "method-based");

    return descriptor;
  }
コード例 #17
0
  protected ClassDescriptor buildNodeOrderingPolicyConfigDescriptor() {
    XMLDescriptor descriptor = new XMLDescriptor();
    descriptor.setJavaClass(NodeOrderingPolicyConfig.class);

    descriptor.getInheritancePolicy().setClassIndicatorField(new XMLField("@xsi:type"));
    descriptor
        .getInheritancePolicy()
        .addClassIndicator(
            AppendNewElementsOrderingPolicyConfig.class, "append-new-elements-ordering-policy");
    descriptor
        .getInheritancePolicy()
        .addClassIndicator(
            IgnoreNewElementsOrderingPolicyConfig.class, "ignore-new-elements-ordering-policy");
    descriptor
        .getInheritancePolicy()
        .addClassIndicator(
            RelativePositionOrderingPolicyConfig.class, "relative-position-ordering-policy");

    return descriptor;
  }
コード例 #18
0
  public static XMLDescriptor buildDescriptor() {
    XMLDescriptor descriptor = new XMLDescriptor();
    descriptor.setJavaClass(AbstractParticle.class);
    descriptor.getInheritancePolicy().setParentClass(AbstractSchemaComponent.class);

    ((XMLDirectMapping) descriptor.addDirectMapping("minOccurs", "min-occurs/text()"))
        .setNullValue(new Integer(1));
    ((XMLDirectMapping) descriptor.addDirectMapping("maxOccurs", "max-occurs/text()"))
        .setNullValue(new Integer(1));

    return descriptor;
  }
コード例 #19
0
  public static XMLDescriptor buildDescriptor() {
    XMLDescriptor descriptor = new XMLDescriptor();
    descriptor.setJavaClass(ModelGroupDefinition.class);
    descriptor.getInheritancePolicy().setParentClass(AbstractNamedSchemaComponent.class);

    XMLCompositeObjectMapping modelGroupMapping = new XMLCompositeObjectMapping();
    modelGroupMapping.setAttributeName("modelGroup");
    modelGroupMapping.setReferenceClass(ExplicitModelGroup.class);
    modelGroupMapping.setXPath("model-group");
    descriptor.addMapping(modelGroupMapping);

    return descriptor;
  }
コード例 #20
0
  public static XMLDescriptor buildDescriptor() {
    XMLDescriptor descriptor = new XMLDescriptor();

    descriptor.setJavaClass(MWDirectContainerMapping.class);
    descriptor.getInheritancePolicy().setParentClass(MWMapping.class);

    XMLCompositeObjectMapping converterMapping = new XMLCompositeObjectMapping();
    converterMapping.setReferenceClass(MWConverter.class);
    converterMapping.setAttributeName("directValueConverter");
    converterMapping.setGetMethodName("getConverterForTopLink");
    converterMapping.setSetMethodName("setConverterForTopLink");
    converterMapping.setXPath("direct-value-converter");
    descriptor.addMapping(converterMapping);

    return descriptor;
  }
コード例 #21
0
  // Persistence
  public static XMLDescriptor buildDescriptor() {
    XMLDescriptor descriptor = new XMLDescriptor();
    descriptor.setJavaClass(MWLiteralArgument.class);
    descriptor.getInheritancePolicy().setParentClass(MWArgument.class);

    // 1:1 - type
    XMLCompositeObjectMapping typeMapping = new XMLCompositeObjectMapping();
    typeMapping.setAttributeName("type");
    typeMapping.setReferenceClass(MWTypeDeclaration.class);
    typeMapping.setXPath("type");
    descriptor.addMapping(typeMapping);

    // DTF Object value
    XMLDirectMapping valueMapping =
        (XMLDirectMapping) descriptor.addDirectMapping("value", "value/text()");
    valueMapping.setNullValue("");

    return descriptor;
  }
コード例 #22
0
  public static XMLDescriptor buildDescriptor() {
    XMLDescriptor descriptor = new XMLDescriptor();
    descriptor.setJavaClass(MWMapContainerPolicy.class);

    descriptor.getInheritancePolicy().setParentClass(MWContainerPolicy.MWContainerPolicyRoot.class);

    XMLCompositeObjectMapping keyMethodHandleMapping = new XMLCompositeObjectMapping();
    keyMethodHandleMapping.setAttributeName("keyMethodHandle");
    keyMethodHandleMapping.setReferenceClass(MWMethodHandle.class);
    keyMethodHandleMapping.setSetMethodName("setKeyMethodHandleForTopLink");
    keyMethodHandleMapping.setGetMethodName("getKeyMethodHandleForTopLink");
    keyMethodHandleMapping.setXPath("key-method-handle");
    descriptor.addMapping(keyMethodHandleMapping);

    XMLCompositeObjectMapping containerClassMapping = new XMLCompositeObjectMapping();
    containerClassMapping.setAttributeName("containerClass");
    containerClassMapping.setReferenceClass(DefaultingContainerClass.class);
    containerClassMapping.setXPath("container-class");
    descriptor.addMapping(containerClassMapping);

    return descriptor;
  }
コード例 #23
0
  public static XMLDescriptor buildDescriptor() {
    XMLDescriptor descriptor = new XMLDescriptor();
    descriptor.setJavaClass(MWEisOneToManyMapping.class);
    descriptor.getInheritancePolicy().setParentClass(MWEisReferenceMapping.class);

    // use an object type mapping so we can preserve object identity
    ObjectTypeConverter foreignKeyLocationConverter = new ObjectTypeConverter();
    foreignKeyLocationConverter.addConversionValue(KEYS_ON_TARGET, KEYS_ON_TARGET);
    foreignKeyLocationConverter.addConversionValue(KEYS_ON_SOURCE, KEYS_ON_SOURCE);
    XMLDirectMapping foreignKeyLocationMapping = new XMLDirectMapping();
    foreignKeyLocationMapping.setAttributeName("foreignKeyLocation");
    foreignKeyLocationMapping.setXPath("foreign-key-location/text()");
    foreignKeyLocationMapping.setNullValue(KEYS_ON_SOURCE);
    foreignKeyLocationMapping.setConverter(foreignKeyLocationConverter);
    descriptor.addMapping(foreignKeyLocationMapping);

    XMLCompositeObjectMapping groupingElementMapping = new XMLCompositeObjectMapping();
    groupingElementMapping.setAttributeName("foreignKeyGroupingElement");
    groupingElementMapping.setReferenceClass(MWXmlField.class);
    groupingElementMapping.setGetMethodName("getGroupingElementForTopLink");
    groupingElementMapping.setSetMethodName("setGroupingElementForTopLink");
    groupingElementMapping.setXPath("foreign-key-grouping-element");
    descriptor.addMapping(groupingElementMapping);

    XMLCompositeObjectMapping containerPolicyMapping = new XMLCompositeObjectMapping();
    containerPolicyMapping.setAttributeName("containerPolicy");
    containerPolicyMapping.setReferenceClass(MWContainerPolicy.MWContainerPolicyRoot.class);
    containerPolicyMapping.setXPath("container-policy");
    descriptor.addMapping(containerPolicyMapping);

    XMLCompositeObjectMapping deleteAllInteractionMapping = new XMLCompositeObjectMapping();
    deleteAllInteractionMapping.setAttributeName("deleteAllInteraction");
    deleteAllInteractionMapping.setReferenceClass(MWEisInteraction.class);
    deleteAllInteractionMapping.setXPath("delete-all-interaction");
    descriptor.addMapping(deleteAllInteractionMapping);

    return descriptor;
  }
コード例 #24
0
  public ClassDescriptor buildOc4jJGroupsTransportManagerConfigDescriptor() {
    XMLDescriptor descriptor = new XMLDescriptor();
    descriptor.setJavaClass(Oc4jJGroupsTransportManagerConfig.class);
    descriptor.getInheritancePolicy().setParentClass(TransportManagerConfig.class);

    XMLDirectMapping useSingleThreadedNotificationMapping = new XMLDirectMapping();
    useSingleThreadedNotificationMapping.setAttributeName("m_useSingleThreadedNotification");
    useSingleThreadedNotificationMapping.setGetMethodName("useSingleThreadedNotification");
    useSingleThreadedNotificationMapping.setSetMethodName("setUseSingleThreadedNotification");
    useSingleThreadedNotificationMapping.setXPath("use-single-threaded-notification/text()");
    useSingleThreadedNotificationMapping.setNullValue(
        Boolean.valueOf(USE_SINGLE_THREADED_NOTIFICATION_DEFAULT));
    descriptor.addMapping(useSingleThreadedNotificationMapping);

    XMLDirectMapping topicNameMapping = new XMLDirectMapping();
    topicNameMapping.setAttributeName("m_topicName");
    topicNameMapping.setGetMethodName("getTopicName");
    topicNameMapping.setSetMethodName("setTopicName");
    topicNameMapping.setXPath("topic-name/text()");
    descriptor.addMapping(topicNameMapping);

    return descriptor;
  }
  // **************** TopLink Methods *****************
  @SuppressWarnings("deprecation")
  public static XMLDescriptor buildDescriptor() {
    XMLDescriptor descriptor = new XMLDescriptor();
    descriptor.setJavaClass(MWAbstractXmlDirectCollectionMapping.class);
    descriptor.getInheritancePolicy().setParentClass(MWDirectContainerMapping.class);

    XMLCompositeObjectMapping xmlFieldMapping = new XMLCompositeObjectMapping();
    xmlFieldMapping.setReferenceClass(MWXmlField.class);
    xmlFieldMapping.setAttributeName("xmlField");
    xmlFieldMapping.setGetMethodName("getXmlFieldForTopLink");
    xmlFieldMapping.setSetMethodName("setXmlFieldForTopLink");
    xmlFieldMapping.setXPath("xpath");
    descriptor.addMapping(xmlFieldMapping);

    XMLCompositeObjectMapping containerPolicyMapping = new XMLCompositeObjectMapping();
    containerPolicyMapping.setAttributeName("containerPolicy");
    containerPolicyMapping.setReferenceClass(MWContainerPolicy.MWContainerPolicyRoot.class);
    containerPolicyMapping.setGetMethodName("getContainerPolicyForToplink");
    containerPolicyMapping.setSetMethodName("setContainerPolicyForToplink");
    containerPolicyMapping.setXPath("container-policy");
    descriptor.addMapping(containerPolicyMapping);

    return descriptor;
  }
コード例 #26
0
  public void setupInheritance(SDOType parentType) {
    if (parentType == null) {
      // root of inheritance
      addClassIndicator(getXmlDescriptor(), getImplClass(), true);
    } else {
      if ((parentType.getURI() != null) && (!parentType.getURI().equals(SDOConstants.SDO_URL))) {
        // set parent descriptor indicator if necessary
        if (!parentType.getXmlDescriptor().hasInheritance()) {
          addClassIndicator(parentType.getXmlDescriptor(), parentType.getImplClass(), false);
        }

        XMLDescriptor parentDescriptor =
            (XMLDescriptor)
                parentType.getXmlDescriptor().getInheritancePolicy().getRootParentDescriptor();
        NamespaceResolver parentNR = parentDescriptor.getNonNullNamespaceResolver();
        if (parentNR != null) {
          for (int i = 0; i < parentNR.getNamespaces().size(); i++) {
            Namespace nextNamespace = (Namespace) parentNR.getNamespaces().get(i);
            if ((!nextNamespace.getPrefix().equals(XMLConstants.XMLNS))
                && (!nextNamespace.getNamespaceURI().equals(XMLConstants.SCHEMA_URL))
                && (!nextNamespace.getNamespaceURI().equals(SDOConstants.SDOJAVA_URL))
                && (!nextNamespace.getNamespaceURI().equals(SDOConstants.SDOXML_URL))
                && (!nextNamespace.getNamespaceURI().equals(SDOConstants.SDO_URL))) {
              getXmlDescriptor()
                  .getNonNullNamespaceResolver()
                  .put(nextNamespace.getPrefix(), nextNamespace.getNamespaceURI());
            }
          }
        }
        if (getInstanceClassName() != null) {
          String indicator = getName();
          String prefix = parentDescriptor.getNamespaceResolver().resolveNamespaceURI(getURI());
          if (prefix == null) {
            prefix = getXmlDescriptor().getNamespaceResolver().resolveNamespaceURI(getURI());
            if (prefix != null) {
              parentDescriptor.getNamespaceResolver().put(prefix, getURI());
            }
          }
          if (prefix != null) {
            indicator = prefix + SDOConstants.SDO_XPATH_NS_SEPARATOR_FRAGMENT + indicator;
          }
          Class implClass = getImplClass();
          parentDescriptor.getInheritancePolicy().addClassIndicator(implClass, indicator);
          parentDescriptor.getInheritancePolicy().setShouldReadSubclasses(true);
          Class parentClass = parentType.getImplClass();
          getXmlDescriptor().getInheritancePolicy().setParentClass(parentClass);
          getXmlDescriptor()
              .getInheritancePolicy()
              .setParentDescriptor(parentType.getXmlDescriptor());
          parentType
              .getXmlDescriptor()
              .getNamespaceResolver()
              .put(XMLConstants.SCHEMA_INSTANCE_PREFIX, XMLConstants.SCHEMA_INSTANCE_URL);
          getXmlDescriptor()
              .getNamespaceResolver()
              .put(XMLConstants.SCHEMA_INSTANCE_PREFIX, XMLConstants.SCHEMA_INSTANCE_URL);
        }
      }
    }
    // now setup inheritance for any subtypes
    if (isBaseType()) {
      for (int i = 0; i < subTypes.size(); i++) {
        SDOType nextSubType = (SDOType) subTypes.get(i);
        if (!nextSubType.isDataType() && nextSubType.isSubType()) {
          nextSubType.setupInheritance(this);
        }
      }
    }
  }
コード例 #27
0
 public static XMLDescriptor buildDescriptor() {
   XMLDescriptor descriptor = new XMLDescriptor();
   descriptor.getInheritancePolicy().setParentClass(MWXmlDescriptorInheritancePolicy.class);
   descriptor.setJavaClass(MWEisDescriptorInheritancePolicy.class);
   return descriptor;
 }