View Javadoc
1   /*
2    * Copyright 2001-2008 The Apache Software Foundation.
3    * 
4    * Licensed under the Apache License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    * 
8    *      http://www.apache.org/licenses/LICENSE-2.0
9    * 
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   *
16   */
17  
18  
19  package org.uddi.repl_v3;
20  
21  import java.io.Serializable;
22  
23  import javax.xml.bind.annotation.XmlAccessType;
24  import javax.xml.bind.annotation.XmlAccessorType;
25  import javax.xml.bind.annotation.XmlElement;
26  import javax.xml.bind.annotation.XmlRootElement;
27  import javax.xml.bind.annotation.XmlTransient;
28  import javax.xml.bind.annotation.XmlType;
29  import javax.xml.datatype.XMLGregorianCalendar;
30  import org.uddi.api_v3.PublisherAssertion;
31  
32  
33  /**
34   * The changeRecordPublisherAssertion element describes the information that UDDI replication MUST convey in order to support the business-to-business relationship definition supported by UDDI. 
35  
36  An implementation MUST be able to determine the Registry changes from the information transmitted within the replication stream.  The fromBusinessCheck and toBusinessCheck elements are Boolean values that represent which side of the business relationship is being asserted.  A changeRecordPublisherAssertion message may include one or both sides of the relationship.  For example, if the fromBusinessCheck is present and set to "true" then the assertion represents the parent-side of a parent-child relationship.
37  * 
38  * <br>
39  * <img src="http://www.uddi.org/pubs/uddi-v3.0.2-20041019_files/image115.gif">
40  * <br>
41  * A changeRecordPublisherAssertion element indicates that one or both sides of the business relationship are to be inserted.
42  <BR><BR>
43  a.       changeRecordPublisherAssertion with:
44  <BR><BR>
45  &lt;fromBusinessCheck>true</fromBusinessCheck> and &lt;toBusinessCheck>true</toBusinessCheck> is used to indicate that both sides of the publisherAssertion (i.e., business relationship) are to be inserted. The two businessEntity elements that are referred to within the publisherAssertion MUST be in the custody of the node that originates the changeRecord.
46  <BR><BR>
47  b.      changeRecordPublisherAssertion with:
48  <BR><BR>
49  &lt;fromBusinessCheck>true</fromBusinessCheck> and &lt;toBusinessCheck>false</toBusinessCheck> is used to indicate that the fromBusinessCheck side of the publisherAssertion (i.e., business relationship) is to be inserted. The businessEntity that is referred to in the fromBusinessCheck MUST be in the custody of the node that originates the changeRecord.
50  <BR><BR>
51  c.       changeRecordPublisherAssertion with:
52  <BR><BR>
53  &lt;fromBusinessCheck>false</fromBusinessCheck> and &lt;toBusinessCheck>true</toBusinessCheck> is used to indicate that the toBusinessCheck side of the publisherAssertion (i.e., business relationship) is to be inserted. The businessEntity that is referred to in the toBusinessCheck MUST be in the custody of the node that originates the changeRecord.
54  <BR><BR>
55  d.      changeRecordPublisherAssertion with:
56  <BR><BR>
57  &lt;fromBusinessCheck>false</fromBusinessCheck> and &lt;toBusinessCheck>false</toBusinessCheck> if this is received in the replication stream, such a changeRecord will not generate any change to the registry. The node SHOULD log any events such as this.
58  <BR><BR>
59  The operationalInfo element MUST contain a modified date corresponding to the update for the publisher assertion. This modified date should be stored by nodes supporting the subscription APIs in order to respond to subscription requests involving find_relatedBusinesses and get_assertionStatusReport filters. Since the publisherAssertions corresponding to a relationship may be originated from more than one node, the modified date stored for any relationship corresponding to the publisher should be the most recent date received from any node.
60  <BR><BR>
61  To handle signed publisherAssertion elements, it is necessary to indicate which set of signatures are being completely replaced as a result of the originating node’s change to update one or both sides of the relationship represented by the publisherAssertion. The optional signature element in the publisherAssertion must be ignored in replication and the toSignatures and fromSignatures elements must be used to replace signatures stored for the publisherAssertion. One of the elements toSignatures, fromSignatures or both must appear in the changeRecordPublisherAssertion. The presence of a toSignatures or fromSignatures element indicates that the signatures associated with the "to" or "from" side of the relationship must be deleted and completely replaced with the Signatures in the toSignatures or fromSignatures element. In the case where a single publisherAssertion represents both sides of the relationship, the node originating the corresponding changeRecordPublisherAssertion must include both a toSignatures and fromSignatures element with the identical set of Signature elements in both the toSignatures and fromSignatures. When the toSignatures element is not present, no changes are made to the signature elements associated with the "to" side of the relationship in the node. Similarily, when the fromSignatures element is not present, no changes are made to the signature elements associated with the "from" side of the relationship in the node.
62   * <p>Java class for anonymous complex type.
63   * 
64   * <p>The following schema fragment specifies the expected content contained within this class.
65   * 
66   * <pre>
67   * &lt;complexType>
68   *   &lt;complexContent>
69   *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
70   *       &lt;sequence>
71   *         &lt;element ref="{urn:uddi-org:api_v3}publisherAssertion"/>
72   *         &lt;element name="fromBusinessCheck" type="{http://www.w3.org/2001/XMLSchema}boolean"/>
73   *         &lt;element name="toBusinessCheck" type="{http://www.w3.org/2001/XMLSchema}boolean"/>
74   *         &lt;element name="modified" type="{urn:uddi-org:api_v3}timeInstant"/>
75   *       &lt;/sequence>
76   *     &lt;/restriction>
77   *   &lt;/complexContent>
78   * &lt;/complexType>
79   * </pre>
80   * 
81   * 
82   */
83  @XmlAccessorType(XmlAccessType.FIELD)
84  @XmlType(name = "", propOrder = {
85      "publisherAssertion",
86      "fromBusinessCheck",
87      "toBusinessCheck",
88      "modified"
89  })
90  @XmlRootElement(name = "changeRecordDeleteAssertion")
91  public class ChangeRecordDeleteAssertion implements Serializable{
92  	@XmlTransient
93  	private static final long serialVersionUID = -4008979760033075709L;
94  	@XmlElement(namespace = "urn:uddi-org:api_v3", required = true)
95      protected PublisherAssertion publisherAssertion;
96      protected boolean fromBusinessCheck;
97      protected boolean toBusinessCheck;
98      @XmlElement(required = true)
99      protected XMLGregorianCalendar modified;
100 
101     /**
102      * Gets the value of the publisherAssertion property.
103      * 
104      * @return
105      *     possible object is
106      *     {@link PublisherAssertion }
107      *     
108      */
109     public PublisherAssertion getPublisherAssertion() {
110         return publisherAssertion;
111     }
112 
113     /**
114      * Sets the value of the publisherAssertion property.
115      * 
116      * @param value
117      *     allowed object is
118      *     {@link PublisherAssertion }
119      *     
120      */
121     public void setPublisherAssertion(PublisherAssertion value) {
122         this.publisherAssertion = value;
123     }
124 
125     /**
126      * Gets the value of the fromBusinessCheck property.
127      * 
128      */
129     public boolean isFromBusinessCheck() {
130         return fromBusinessCheck;
131     }
132 
133     /**
134      * Sets the value of the fromBusinessCheck property.
135      * 
136      */
137     public void setFromBusinessCheck(boolean value) {
138         this.fromBusinessCheck = value;
139     }
140 
141     /**
142      * Gets the value of the toBusinessCheck property.
143      * 
144      */
145     public boolean isToBusinessCheck() {
146         return toBusinessCheck;
147     }
148 
149     /**
150      * Sets the value of the toBusinessCheck property.
151      * 
152      */
153     public void setToBusinessCheck(boolean value) {
154         this.toBusinessCheck = value;
155     }
156 
157     /**
158      * Gets the value of the modified property.
159      * 
160      * @return
161      *     possible object is
162      *     {@link XMLGregorianCalendar }
163      *     
164      */
165     public XMLGregorianCalendar getModified() {
166         return modified;
167     }
168 
169     /**
170      * Sets the value of the modified property.
171      * 
172      * @param value
173      *     allowed object is
174      *     {@link XMLGregorianCalendar }
175      *     
176      */
177     public void setModified(XMLGregorianCalendar value) {
178         this.modified = value;
179     }
180 
181 }