nus-yam/ex-repair huggingface dataset:
Program: 147413
Project: 147413
Buggy source:
/** 
 * Determines whether this version is equal to the passed object (as determined by   {@link #equals(Object)} and additionally considers thebuild meta data part of both versions for equality.
 * @param obj The object to compare with.
 * @return <code>true</code> iff {@code this.equals(obj)} and{@code this.getBuildMetaData().equals(((Version) obj).getBuildMetaData())}
 * @since 0.2.0
 * @deprecated Since 0.4.0 - will be removed in 0.5.0. Use {@link #equalsWithBuildMetaData(Object)} instead.
 */
@Deprecated public boolean equalsIncludeBuildMetaData(Object obj){
  return testEquality(obj,true);
}

Fixed version (ground truth):
/** 
 * Determines whether this version is equal to the passed object (as determined by   {@link #equals(Object)} and additionally considers thebuild meta data part of both versions for equality.
 * @param obj The object to compare with.
 * @return <code>true</code> iff {@code this.equals(obj)} and{@code this.getBuildMetaData().equals(((Version) obj).getBuildMetaData())}
 * @since 0.2.0
 * @deprecated Since 0.4.0 - will be removed in 0.5.0. Use{@link #equalsWithBuildMetaData(Object)} instead.
 */
@Deprecated public boolean equalsIncludeBuildMetaData(Object obj){
  return testEquality(obj,true);
}
Program: 147414
Project: 147414
Buggy source:
/** 
 * Compares two Versions with additionally considering the build meta data field if all other parts are equal. Note: This is <em>not</em> part of the semantic version specification. <p> Comparison of the build meta data parts happens exactly as for pre release identifiers. Considering of build meta data first kicks in if both versions are equal when using their natural order. </p> <p> This method fulfills the general contract for Java's   {@link Comparator Comparators} and {@link Comparable Comparables}. </p>
 * @param v1 The first version for comparison.
 * @param v2 The second version for comparison.
 * @return A value below 0 iff {@code v1 &lt; v2}, a value above 0 iff  {@code v1 &gt; v2</tt> and 0 iff <tt>v1 = v2}.
 * @throws NullPointerException If either parameter is null.
 * @since 0.3.0
 */
public static int compareWithBuildMetaData(Version v1,Version v2){
  return compare(v1,v2,true);
}

Fixed version (ground truth):
/** 
 * Compares two Versions with additionally considering the build meta data field if all other parts are equal. Note: This is <em>not</em> part of the semantic version specification. <p> Comparison of the build meta data parts happens exactly as for pre release identifiers. Considering of build meta data first kicks in if both versions are equal when using their natural order. </p> <p> This method fulfills the general contract for Java's   {@link Comparator Comparators} and {@link Comparable Comparables}. </p>
 * @param v1 The first version for comparison.
 * @param v2 The second version for comparison.
 * @return A value below 0 iff {@code v1 &lt; v2}, a value above 0 iff  {@code v1 &gt; v2</tt> and 0 iff <tt>v1 = v2}.
 * @throws NullPointerException If either parameter is null.
 * @since 0.3.0
 */
public static int compareWithBuildMetaData(Version v1,Version v2){
  if (v1 == null) {
    throw new NullPointerException("String_Node_Str");
  }
 else   if (v2 == null) {
    throw new NullPointerException("String_Node_Str");
  }
  return compare(v1,v2,true);
}
Program: 147415
Project: 147415
Buggy source:
/** 
 * Returns the lower of the 2 given Versions. If both versions are equal, then the first argument is returned.
 * @param v1 The first version.
 * @param v2 The second version.
 * @return The lower version.
 * @throws IllegalArgumentException If either argument is <code>null</code>.
 * @since 0.4.0
 */
public static Version min(Version v1,Version v2){
  if (v1 == null) {
    throw new IllegalArgumentException("String_Node_Str");
  }
 else   if (v2 == null) {
    throw new IllegalArgumentException("String_Node_Str");
  }
  return v1.compareTo(v2) <= 0 ? v1 : v2;
}

Fixed version (ground truth):
/** 
 * Returns the lower of this version and the given version according to its natural ordering. If versions are equal,   {@code this} is returned.
 * @param other The version to compare with.
 * @return The lower version.
 * @throws IllegalArgumentException If {@code other} is <code>null</code>.
 * @since 0.4.0
 * @see #min(Version,Version)
 */
public Version min(Version other){
  return min(this,other);
}
Program: 147416
Project: 147416
Buggy source:
/** 
 * The hash code for a version instance is computed from the fields  {@link #getMajor() major},   {@link #getMinor() minor},   {@link #getPatch() patch} and {@link #getPreRelease() pre-release}.
 * @return A hash code for this object.
 */
@Override public int hashCode(){
  return Objects.hash(this.major,this.minor,this.patch,this.preRelease);
}

Fixed version (ground truth):
/** 
 * The hash code for a version instance is computed from the fields  {@link #getMajor() major},   {@link #getMinor() minor},   {@link #getPatch() patch} and {@link #getPreRelease() pre-release}.
 * @return A hash code for this object.
 */
@Override public int hashCode(){
  int h=this.hash;
  if (h == 0) {
    h=Objects.hash(this.major,this.minor,this.patch,this.preRelease);
    this.hash=h;
  }
  return this.hash;
}
Program: 147417
Project: 147417
Buggy source:
/** 
 * Returns the greater of the 2 given Versions. If both versions are equal, then the first argument is returned.
 * @param v1 The first version.
 * @param v2 The second version.
 * @return The greater version.
 * @throws IllegalArgumentException If either argument is <code>null</code>.
 * @since 0.4.0
 */
public static Version max(Version v1,Version v2){
  if (v1 == null) {
    throw new IllegalArgumentException("String_Node_Str");
  }
 else   if (v2 == null) {
    throw new IllegalArgumentException("String_Node_Str");
  }
  return v1.compareTo(v2) < 0 ? v2 : v1;
}

Fixed version (ground truth):
/** 
 * Returns the greater of this version and the given version according to its natural ordering. If versions are equal,   {@code this} is returned.
 * @param other The version to compare with.
 * @return The greater version.
 * @throws IllegalArgumentException If {@code other} is <code>null</code>.
 * @since 0.4.0
 * @see #max(Version,Version)
 */
public Version max(Version other){
  return max(this,other);
}
Program: 147418
Project: 147418
Buggy source:
/** 
 * Tries to parse the provided String as a semantic version. If  {@code allowPreRelease} is <code>false</code>, the String must haveneither a pre-release nor a build meta data part. Thus the given String must have the format  {@code X.Y.Z} where at least one part must begreater than zero. <p> If  {@code allowPreRelease} is <code>true</code>, the String is parsedaccoring to the normal semantic version specification. </p>
 * @param versionString The String to parse.
 * @param allowPreRelease Whether pre-release and build meta data field areallowed.
 * @return The parsed version.
 * @throws VersionFormatException If the String is no valid version
 * @since 0.4.0
 */
public static Version parseVersion(String versionString,boolean allowPreRelease){
  final Version version=parseVersion(versionString);
  if (!allowPreRelease && (version.isPreRelease() || version.hasBuildMetaData())) {
    throw new VersionFormatException(String.format("String_Node_Str"));
  }
  return version;
}

Fixed version (ground truth):
/** 
 * Tries to parse the provided String as a semantic version. If  {@code allowPreRelease} is <code>false</code>, the String must haveneither a pre-release nor a build meta data part. Thus the given String must have the format  {@code X.Y.Z} where at least one part must begreater than zero. <p> If  {@code allowPreRelease} is <code>true</code>, the String is parsedaccording to the normal semantic version specification. </p>
 * @param versionString The String to parse.
 * @param allowPreRelease Whether pre-release and build meta data field areallowed.
 * @return The parsed version.
 * @throws VersionFormatException If the String is no valid version
 * @since 0.4.0
 */
public static Version parseVersion(String versionString,boolean allowPreRelease){
  final Version version=parseVersion(versionString);
  if (!allowPreRelease && (version.isPreRelease() || version.hasBuildMetaData())) {
    throw new VersionFormatException(String.format("String_Node_Str"));
  }
  return version;
}
Program: 147419
Project: 147419
Buggy source:
/** 
 * Creates a new Version from the three provided components. The version's pre release and build meta data fields will be empty. Neither value must be lower than 0 and at least one must be greater than zero
 * @param major The major version.
 * @param minor The minor version.
 * @param patch The patch version.
 * @return The version instance.
 */
public final static Version create(int major,int minor,int patch){
  checkParams(major,minor,patch);
  return new Version(major,minor,patch,"String_Node_Str","String_Node_Str");
}

Fixed version (ground truth):
/** 
 * Creates a new Version from the three provided components. The version's pre release and build meta data fields will be empty. Neither value must be lower than 0 and at least one must be greater than zero
 * @param major The major version.
 * @param minor The minor version.
 * @param patch The patch version.
 * @return The version instance.
 */
public static final Version create(int major,int minor,int patch){
  checkParams(major,minor,patch);
  return new Version(major,minor,patch,"String_Node_Str","String_Node_Str");
}
Program: 147420
Project: 147420
Buggy source:
/** 
 * Tries to parse the provided String as a semantic version. If the string does not conform to the semantic version specification, a  {@link VersionFormatException} will be thrown.
 * @param versionString The String to parse.
 * @return The parsed version.
 * @throws VersionFormatException If the String is no valid version
 * @throws IllegalArgumentException If {@code versionString} is<code>null</code>.
 */
public final static Version parseVersion(String versionString){
  if (versionString == null) {
    throw new IllegalArgumentException("String_Node_Str");
  }
  final Matcher m=VERSION_PATTERN.matcher(versionString);
  if (!m.matches()) {
    throw new VersionFormatException(versionString);
  }
  final int major=Integer.parseInt(m.group(MAJOR_GROUP));
  final int minor=Integer.parseInt(m.group(MINOR_GROUP));
  final int patch=Integer.parseInt(m.group(PATCH_GROUP));
  checkParams(major,minor,patch);
  final String preRelease;
  if (m.group(PRE_RELEASE_GROUP) != null) {
    preRelease=m.group(PRE_RELEASE_GROUP);
  }
 else {
    preRelease="String_Node_Str";
  }
  final String buildMD;
  if (m.group(BUILD_MD_GROUP) != null) {
    buildMD=m.group(BUILD_MD_GROUP);
  }
 else {
    buildMD="String_Node_Str";
  }
  return new Version(major,minor,patch,preRelease,buildMD);
}

Fixed version (ground truth):
/** 
 * Tries to parse the provided String as a semantic version. If the string does not conform to the semantic version specification, a  {@link VersionFormatException} will be thrown.
 * @param versionString The String to parse.
 * @return The parsed version.
 * @throws VersionFormatException If the String is no valid version
 * @throws IllegalArgumentException If {@code versionString} is<code>null</code>.
 */
public static final Version parseVersion(String versionString){
  if (versionString == null) {
    throw new IllegalArgumentException("String_Node_Str");
  }
  final Matcher m=VERSION_PATTERN.matcher(versionString);
  if (!m.matches()) {
    throw new VersionFormatException(versionString);
  }
  final int major=Integer.parseInt(m.group(MAJOR_GROUP));
  final int minor=Integer.parseInt(m.group(MINOR_GROUP));
  final int patch=Integer.parseInt(m.group(PATCH_GROUP));
  checkParams(major,minor,patch);
  final String preRelease;
  if (m.group(PRE_RELEASE_GROUP) != null) {
    preRelease=m.group(PRE_RELEASE_GROUP);
  }
 else {
    preRelease="String_Node_Str";
  }
  final String buildMD;
  if (m.group(BUILD_MD_GROUP) != null) {
    buildMD=m.group(BUILD_MD_GROUP);
  }
 else {
    buildMD="String_Node_Str";
  }
  return new Version(major,minor,patch,preRelease,buildMD);
}
Program: 147421
Project: 147421
Buggy source:
/** 
 * Tries to parse the provided String as a semantic version. If the string does not conform to the semantic versioning specification, a  {@link VersionFormatException} will be thrown.
 * @param versionString The String to parse.
 * @return The parsed version.
 * @throws VersionFormatException If the String is no valid version
 * @throws IllegalArgumentException If <tt>versionString</tt> is<code>null</code>.
 */
public final static Version of(String versionString){
  if (versionString == null) {
    throw new IllegalArgumentException("String_Node_Str");
  }
  final Matcher m=VERSION_PATTERN.matcher(versionString);
  if (!m.matches()) {
    throw new VersionFormatException(versionString);
  }
  final int major=Integer.parseInt(m.group(MAJOR_GROUP));
  final int minor=Integer.parseInt(m.group(MINOR_GROUP));
  final int patch=Integer.parseInt(m.group(PATCH_GROUP));
  final String preRelease;
  if (m.group(PRE_RELEASE_GROUP) != null) {
    preRelease=m.group(PRE_RELEASE_GROUP);
  }
 else {
    preRelease="String_Node_Str";
  }
  final String buildMD;
  if (m.group(BUILD_MD_GROUP) != null) {
    buildMD=m.group(BUILD_MD_GROUP);
  }
 else {
    buildMD="String_Node_Str";
  }
  return new Version(major,minor,patch,preRelease,buildMD);
}

Fixed version (ground truth):
/** 
 * Tries to parse the provided String as a semantic version. If the string does not conform to the semantic versioning specification, a  {@link VersionFormatException} will be thrown.
 * @param versionString The String to parse.
 * @return The parsed version.
 * @throws VersionFormatException If the String is no valid version
 * @throws IllegalArgumentException If <tt>versionString</tt> is<code>null</code>.
 */
public final static Version of(String versionString){
  if (versionString == null) {
    throw new IllegalArgumentException("String_Node_Str");
  }
  final Matcher m=VERSION_PATTERN.matcher(versionString);
  if (!m.matches()) {
    throw new VersionFormatException(versionString);
  }
  final int major=Integer.parseInt(m.group(MAJOR_GROUP));
  final int minor=Integer.parseInt(m.group(MINOR_GROUP));
  final int patch=Integer.parseInt(m.group(PATCH_GROUP));
  checkParams(major,minor,patch);
  final String preRelease;
  if (m.group(PRE_RELEASE_GROUP) != null) {
    preRelease=m.group(PRE_RELEASE_GROUP);
  }
 else {
    preRelease="String_Node_Str";
  }
  final String buildMD;
  if (m.group(BUILD_MD_GROUP) != null) {
    buildMD=m.group(BUILD_MD_GROUP);
  }
 else {
    buildMD="String_Node_Str";
  }
  return new Version(major,minor,patch,preRelease,buildMD);
}
Program: 147422
Project: 147422
Buggy source:
@Test public void testSimplePrecedence(){
  final Version v1=Version.of("String_Node_Str");
  final Version v2=Version.of("String_Node_Str");
  final Version v3=Version.of("String_Node_Str");
  final Version v4=Version.of("String_Node_Str");
  Assert.assertTrue(v1.compareTo(v2) < 0);
  Assert.assertTrue(v2.compareTo(v3) < 0);
  Assert.assertTrue(v3.compareTo(v4) < 0);
}

Fixed version (ground truth):
@Test public void testSimplePrecedence(){
  final Version v1=Version.of("String_Node_Str");
  final Version v2=Version.of("String_Node_Str");
  final Version v3=Version.of("String_Node_Str");
  final Version v4=Version.of("String_Node_Str");
  Assert.assertTrue(v1.compareTo(v2) < 0);
  Assert.assertTrue(v2.compareTo(v3) < 0);
  Assert.assertTrue(v3.compareTo(v4) < 0);
  Assert.assertTrue(v2.compareTo(v1) > 0);
  Assert.assertTrue(v3.compareTo(v2) > 0);
  Assert.assertTrue(v4.compareTo(v3) > 0);
}
Program: 147423
Project: 147423
Buggy source:
/** 
 * Determines whether this version is still under initial development.
 * @return <code>true</code> iff this version's major part is zero.
 */
public boolean isInitialDevelopment(){
  return this.major > 0;
}

Fixed version (ground truth):
/** 
 * Determines whether this version is still under initial development.
 * @return <code>true</code> iff this version's major part is zero.
 */
public boolean isInitialDevelopment(){
  return this.major == 0;
}
Program: 147425
Project: 147425
Buggy source:
/** 
 * Revert changed configurations
 * @throws AutomationUtilException
 * @throws IOException
 */
@AfterClass() public void cleanup() throws AutomationUtilException, IOException {
  super.serverManager.restoreToLastConfiguration(true);
}

Fixed version (ground truth):
/** 
 * Revert changed configurations
 * @throws AutomationUtilException
 * @throws IOException
 */
@AfterClass() public void cleanup() throws AutomationUtilException, IOException {
  if (StringUtils.isBlank(defaultAndesAckWaitTimeOut)) {
    System.clearProperty(AndesClientConstants.ANDES_ACK_WAIT_TIMEOUT_PROPERTY);
  }
 else {
    System.setProperty(AndesClientConstants.ANDES_ACK_WAIT_TIMEOUT_PROPERTY,defaultAndesAckWaitTimeOut);
  }
  super.serverManager.restoreToLastConfiguration(true);
}
Program: 147426
Project: 147426
Buggy source:
/** 
 * 1. Creates a queue. 2. Publish messages to the queue. 3. Delete the queue. 4. Check if queue exists still without refreshing the page.
 * @throws XPathExpressionException
 * @throws IOException
 * @throws JMSException
 * @throws NamingException
 * @throws AndesClientException
 * @throws AndesClientConfigurationException
 */
@Test(groups={"String_Node_Str","String_Node_Str"}) public void performPublishDeleteCheck() throws XPathExpressionException, IOException, JMSException, NamingException, AndesClientException, AndesClientConfigurationException {
  String queueName="String_Node_Str";
  driver.get(getLoginURL());
  LoginPage loginPage=new LoginPage(driver);
  HomePage homePage=loginPage.loginAs(getCurrentUserName(),getCurrentPassword());
  QueueAddPage queueAddPage=homePage.getQueueAddPage();
  Assert.assertEquals(queueAddPage.addQueue(queueName),true);
  AndesJMSPublisherClientConfiguration publisherConfig=new AndesJMSPublisherClientConfiguration(getAMQPPort(),ExchangeType.QUEUE,queueName);
  publisherConfig.setNumberOfMessagesToSend(1000);
  publisherConfig.setPrintsPerMessageCount(100L);
  AndesClient publisherClient=new AndesClient(publisherConfig,true);
  publisherClient.startClient();
  AndesClientUtils.sleepForInterval(3000);
  QueuesBrowsePage queuesBrowsePage=homePage.getQueuesBrowsePage();
  Assert.assertEquals(queuesBrowsePage.deleteQueue(queueName),true);
  queuesBrowsePage.isQueuePresent(queueName);
  logout();
}

Fixed version (ground truth):
/** 
 * 1. Creates a queue. 2. Publish messages to the queue. 3. Delete the queue. 4. Check if queue exists still without refreshing the page.
 * @throws XPathExpressionException
 * @throws IOException
 * @throws JMSException
 * @throws NamingException
 * @throws AndesClientException
 * @throws AndesClientConfigurationException
 */
@Test() public void performPublishDeleteCheck() throws XPathExpressionException, IOException, JMSException, NamingException, AndesClientException, AndesClientConfigurationException {
  String queueName="String_Node_Str";
  driver.get(getLoginURL());
  LoginPage loginPage=new LoginPage(driver);
  HomePage homePage=loginPage.loginAs(getCurrentUserName(),getCurrentPassword());
  QueueAddPage queueAddPage=homePage.getQueueAddPage();
  Assert.assertEquals(queueAddPage.addQueue(queueName),true);
  AndesJMSPublisherClientConfiguration publisherConfig=new AndesJMSPublisherClientConfiguration(getAMQPPort(),ExchangeType.QUEUE,queueName);
  publisherConfig.setNumberOfMessagesToSend(1000);
  publisherConfig.setPrintsPerMessageCount(100L);
  AndesClient publisherClient=new AndesClient(publisherConfig,true);
  publisherClient.startClient();
  QueuesBrowsePage queuesBrowsePage=homePage.getQueuesBrowsePage();
  queuesBrowsePage.deleteQueue(queueName);
  queuesBrowsePage=homePage.getQueuesBrowsePage();
  Assert.assertTrue(!queuesBrowsePage.isQueuePresent(queueName));
  logout();
}
Program: 147427
Project: 147427
Buggy source:
/** 
 * Tests the queue deletion from UI <p/> Test Steps: - login to management console - create a queue - Go to queue browse page - Delete console
 * @throws XPathExpressionException
 * @throws IOException
 */
@Test() public void testCase() throws XPathExpressionException, IOException {
  String qName="String_Node_Str";
  driver.get(getLoginURL());
  LoginPage loginPage=new LoginPage(driver);
  HomePage homePage=loginPage.loginAs(getCurrentUserName(),getCurrentPassword());
  QueueAddPage queueAddPage=homePage.getQueueAddPage();
  Assert.assertEquals(queueAddPage.addQueue(qName),true);
  AndesClientUtils.sleepForInterval(3000);
  QueuesBrowsePage queuesBrowsePage=homePage.getQueuesBrowsePage();
  Assert.assertEquals(queuesBrowsePage.deleteQueue(qName),true);
  logout();
}

Fixed version (ground truth):
/** 
 * Tests the queue deletion from UI <p/> Test Steps: - login to management console - create a queue - Go to queue browse page - Delete console
 * @throws XPathExpressionException
 * @throws IOException
 */
@Test() public void testCase() throws XPathExpressionException, IOException {
  String qName="String_Node_Str";
  driver.get(getLoginURL());
  LoginPage loginPage=new LoginPage(driver);
  HomePage homePage=loginPage.loginAs(getCurrentUserName(),getCurrentPassword());
  QueueAddPage queueAddPage=homePage.getQueueAddPage();
  Assert.assertEquals(queueAddPage.addQueue(qName),true);
  QueuesBrowsePage queuesBrowsePage=homePage.getQueuesBrowsePage();
  queuesBrowsePage.deleteQueue(qName);
  queuesBrowsePage=homePage.getQueuesBrowsePage();
  Assert.assertTrue(!queuesBrowsePage.isQueuePresent(qName));
  logout();
}
Program: 147428
Project: 147428
Buggy source:
public static void main(String[] args) throws NamingException, JMSException {
  SampleHierarchicalTopicsClient hierarchicalTopicsClient=new SampleHierarchicalTopicsClient();
  hierarchicalTopicsClient.start();
  TopicPublisher topicPublisher=new TopicPublisher();
  topicPublisher.publishMessage();
}

Fixed version (ground truth):
public static void main(String[] args) throws NamingException, JMSException, InterruptedException {
  SampleHierarchicalTopicsClient hierarchicalTopicsClient=new SampleHierarchicalTopicsClient();
  hierarchicalTopicsClient.start();
  while (!hierarchicalTopicsClient.isSubscriptionComplete()) {
    Thread.sleep(500);
  }
  TopicPublisher topicPublisher=new TopicPublisher();
  topicPublisher.publishMessage();
}
Program: 147431
Project: 147431
Buggy source:
/** 
 * Send 100 mqtt message on all QOS levels and receive them from a single node.
 * @throws MqttException
 * @throws XPathExpressionException 
 */
@Test(groups={"String_Node_Str","String_Node_Str"},description="String_Node_Str",dataProvider="String_Node_Str",dataProviderClass=QualityOfServiceDataProvider.class) public void testSingleTopicTwoNodeMultipleMessagesTestCase(QualityOfService qualityOfService) throws MqttException, XPathExpressionException {
  String topic="String_Node_Str";
  int noOfSubscribers=1;
  int noOfPublishers=1;
  int noOfMessages=100;
  boolean saveMessages=false;
  MQTTClientEngine mqttClientEngine=new MQTTClientEngine();
  MQTTClientConnectionConfiguration clientConnectionConfiguration=buildConfiguration(automationContextForMB2);
  mqttClientEngine.createSubscriberConnection(topic,qualityOfService,noOfSubscribers,saveMessages,ClientMode.BLOCKING,clientConnectionConfiguration);
  mqttClientEngine.createPublisherConnection(topic,qualityOfService,MQTTConstants.TEMPLATE_PAYLOAD,noOfPublishers,noOfMessages,ClientMode.BLOCKING,clientConnectionConfiguration);
  mqttClientEngine.waitUntilAllMessageReceivedAndShutdownClients();
  Assert.assertEquals(mqttClientEngine.getReceivedMessageCount(),noOfMessages,"String_Node_Str");
}

Fixed version (ground truth):
/** 
 * Send 100 mqtt message on all QOS levels and receive them from a single node.
 * @throws MqttException
 * @throws XPathExpressionException 
 */
@Test(groups={"String_Node_Str","String_Node_Str"},description="String_Node_Str",dataProvider="String_Node_Str",dataProviderClass=QualityOfServiceDataProvider.class) public void testSingleTopicTwoNodeMultipleMessagesTestCase(QualityOfService qualityOfService) throws MqttException, XPathExpressionException {
  String topic="String_Node_Str";
  int noOfSubscribers=1;
  int noOfPublishers=1;
  int noOfMessages=100;
  boolean saveMessages=true;
  MQTTClientEngine mqttClientEngine=new MQTTClientEngine();
  MQTTClientConnectionConfiguration clientConnectionConfigurationForNode2=buildConfiguration(automationContextForMB2);
  MQTTClientConnectionConfiguration clientConnectionConfigurationForNode3=buildConfiguration(automationContextForMB3);
  mqttClientEngine.createSubscriberConnection(topic,qualityOfService,noOfSubscribers,saveMessages,ClientMode.BLOCKING,clientConnectionConfigurationForNode2);
  mqttClientEngine.createPublisherConnection(topic,qualityOfService,MQTTConstants.TEMPLATE_PAYLOAD,noOfPublishers,noOfMessages,ClientMode.BLOCKING,clientConnectionConfigurationForNode3);
  mqttClientEngine.waitUntilAllMessageReceivedAndShutdownClients();
  List<MqttMessage> receivedMessages=mqttClientEngine.getReceivedMessages();
  Assert.assertEquals(receivedMessages.size(),noOfMessages,"String_Node_Str");
  Assert.assertEquals(receivedMessages.get(0).getPayload(),MQTTConstants.TEMPLATE_PAYLOAD,"String_Node_Str");
}
Program: 147432
Project: 147432
Buggy source:
/** 
 * Send and receive messages in a single node for a topic
 * @throws MqttException
 * @throws XPathExpressionException
 */
@Test(groups="String_Node_Str",description="String_Node_Str",dataProvider="String_Node_Str",dataProviderClass=QualityOfServiceDataProvider.class) public void testSingleTopicSingleNodeSendReceive(QualityOfService qualityOfService) throws MqttException, XPathExpressionException {
  String topic="String_Node_Str";
  int noOfSubscribers=1;
  int noOfPublishers=1;
  int noOfMessages=1;
  boolean saveMessages=true;
  MQTTClientEngine mqttClientEngine=new MQTTClientEngine();
  MQTTClientConnectionConfiguration clientConnectionConfigurationForNode2=buildConfiguration(automationContextForMB2);
  MQTTClientConnectionConfiguration clientConnectionConfigurationForNode3=buildConfiguration(automationContextForMB3);
  mqttClientEngine.createSubscriberConnection(topic,qualityOfService,noOfSubscribers,saveMessages,ClientMode.BLOCKING,clientConnectionConfigurationForNode2);
  mqttClientEngine.createPublisherConnection(topic,qualityOfService,MQTTConstants.TEMPLATE_PAYLOAD,noOfPublishers,noOfMessages,ClientMode.BLOCKING,clientConnectionConfigurationForNode3);
  mqttClientEngine.waitUntilAllMessageReceivedAndShutdownClients();
  List<MqttMessage> receivedMessages=mqttClientEngine.getReceivedMessages();
  Assert.assertEquals(receivedMessages.size(),noOfMessages,"String_Node_Str");
  Assert.assertEquals(receivedMessages.get(0).getPayload(),MQTTConstants.TEMPLATE_PAYLOAD,"String_Node_Str");
}

Fixed version (ground truth):
/** 
 * Send and receive messages in a single node for a topic
 * @throws MqttException
 * @throws XPathExpressionException
 */
@Test(groups="String_Node_Str",description="String_Node_Str",dataProvider="String_Node_Str",dataProviderClass=QualityOfServiceDataProvider.class) public void testSingleTopicSingleNodeSendReceive(QualityOfService qualityOfService) throws MqttException, XPathExpressionException {
  String topic="String_Node_Str";
  int noOfSubscribers=1;
  int noOfPublishers=1;
  int noOfMessages=1;
  boolean saveMessages=true;
  MQTTClientEngine mqttClientEngine=new MQTTClientEngine();
  MQTTClientConnectionConfiguration clientConnectionConfiguration=buildConfiguration(automationContextForMB2);
  mqttClientEngine.createSubscriberConnection(topic,qualityOfService,noOfSubscribers,saveMessages,ClientMode.BLOCKING,clientConnectionConfiguration);
  mqttClientEngine.createPublisherConnection(topic,qualityOfService,MQTTConstants.TEMPLATE_PAYLOAD,noOfPublishers,noOfMessages,ClientMode.BLOCKING,clientConnectionConfiguration);
  mqttClientEngine.waitUntilAllMessageReceivedAndShutdownClients();
  List<MqttMessage> receivedMessages=mqttClientEngine.getReceivedMessages();
  Assert.assertEquals(receivedMessages.size(),noOfMessages,"String_Node_Str");
  Assert.assertEquals(receivedMessages.get(0).getPayload(),MQTTConstants.TEMPLATE_PAYLOAD,"String_Node_Str");
}
Program: 147433
Project: 147433
Buggy source:
/** 
 * Send message to a node and receive from a another node.
 * @throws MqttException
 * @throws XPathExpressionException
 */
@Test(groups="String_Node_Str",description="String_Node_Str",dataProvider="String_Node_Str",dataProviderClass=QualityOfServiceDataProvider.class) public void testSingleTopicTwoNodeSendReceive(QualityOfService qualityOfService) throws MqttException, XPathExpressionException {
  String topic="String_Node_Str";
  int noOfSubscribers=1;
  int noOfPublishers=1;
  int noOfMessages=1;
  boolean saveMessages=true;
  MQTTClientEngine mqttClientEngine=new MQTTClientEngine();
  MQTTClientConnectionConfiguration clientConnectionConfiguration=buildConfiguration(automationContextForMB2);
  mqttClientEngine.createSubscriberConnection(topic,qualityOfService,noOfSubscribers,saveMessages,ClientMode.BLOCKING,clientConnectionConfiguration);
  mqttClientEngine.createPublisherConnection(topic,qualityOfService,MQTTConstants.TEMPLATE_PAYLOAD,noOfPublishers,noOfMessages,ClientMode.BLOCKING,clientConnectionConfiguration);
  mqttClientEngine.waitUntilAllMessageReceivedAndShutdownClients();
  List<MqttMessage> receivedMessages=mqttClientEngine.getReceivedMessages();
  Assert.assertEquals(receivedMessages.size(),noOfMessages,"String_Node_Str");
  Assert.assertEquals(receivedMessages.get(0).getPayload(),MQTTConstants.TEMPLATE_PAYLOAD,"String_Node_Str");
}

Fixed version (ground truth):
/** 
 * Send message to a node and receive from a another node.
 * @throws MqttException
 * @throws XPathExpressionException
 */
@Test(groups="String_Node_Str",description="String_Node_Str",dataProvider="String_Node_Str",dataProviderClass=QualityOfServiceDataProvider.class) public void testSingleTopicTwoNodeSendReceive(QualityOfService qualityOfService) throws MqttException, XPathExpressionException {
  String topic="String_Node_Str";
  int noOfSubscribers=1;
  int noOfPublishers=1;
  int noOfMessages=1;
  boolean saveMessages=true;
  MQTTClientEngine mqttClientEngine=new MQTTClientEngine();
  MQTTClientConnectionConfiguration clientConnectionConfigurationForNode2=buildConfiguration(automationContextForMB2);
  MQTTClientConnectionConfiguration clientConnectionConfigurationForNode3=buildConfiguration(automationContextForMB3);
  mqttClientEngine.createSubscriberConnection(topic,qualityOfService,noOfSubscribers,saveMessages,ClientMode.BLOCKING,clientConnectionConfigurationForNode2);
  mqttClientEngine.createPublisherConnection(topic,qualityOfService,MQTTConstants.TEMPLATE_PAYLOAD,noOfPublishers,noOfMessages,ClientMode.BLOCKING,clientConnectionConfigurationForNode3);
  mqttClientEngine.waitUntilAllMessageReceivedAndShutdownClients();
  List<MqttMessage> receivedMessages=mqttClientEngine.getReceivedMessages();
  Assert.assertEquals(receivedMessages.size(),noOfMessages,"String_Node_Str");
  Assert.assertEquals(receivedMessages.get(0).getPayload(),MQTTConstants.TEMPLATE_PAYLOAD,"String_Node_Str");
}
Program: 147434
Project: 147434
Buggy source:
/** 
 * Send 100 mqtt message on all QOS levels and receive them from a single node.
 * @throws MqttException
 * @throws XPathExpressionException 
 */
@Test(groups={"String_Node_Str","String_Node_Str"},description="String_Node_Str",dataProvider="String_Node_Str",dataProviderClass=QualityOfServiceDataProvider.class) public void testSingleTopicSingleNodeMultipleMessagesTestCase(QualityOfService qualityOfService) throws MqttException, XPathExpressionException {
  String topic="String_Node_Str";
  int noOfSubscribers=1;
  int noOfPublishers=1;
  int noOfMessages=100;
  boolean saveMessages=false;
  MQTTClientEngine mqttClientEngine=new MQTTClientEngine();
  MQTTClientConnectionConfiguration clientConnectionConfiguration=buildConfiguration(automationContextForMB2);
  mqttClientEngine.createSubscriberConnection(topic,qualityOfService,noOfSubscribers,saveMessages,ClientMode.BLOCKING,clientConnectionConfiguration);
  mqttClientEngine.createPublisherConnection(topic,qualityOfService,MQTTConstants.TEMPLATE_PAYLOAD,noOfPublishers,noOfMessages,ClientMode.BLOCKING,clientConnectionConfiguration);
  mqttClientEngine.waitUntilAllMessageReceivedAndShutdownClients();
  Assert.assertEquals(mqttClientEngine.getReceivedMessageCount(),noOfMessages,"String_Node_Str");
}

Fixed version (ground truth):
/** 
 * Send 100 mqtt message on all QOS levels and receive them from a single node.
 * @throws MqttException
 * @throws XPathExpressionException 
 */
@Test(groups={"String_Node_Str","String_Node_Str"},description="String_Node_Str",dataProvider="String_Node_Str",dataProviderClass=QualityOfServiceDataProvider.class) public void testSingleTopicSingleNodeMultipleMessagesTestCase(QualityOfService qualityOfService) throws MqttException, XPathExpressionException {
  String topic="String_Node_Str";
  int noOfSubscribers=1;
  int noOfPublishers=1;
  int noOfMessages=100;
  boolean saveMessages=true;
  MQTTClientEngine mqttClientEngine=new MQTTClientEngine();
  MQTTClientConnectionConfiguration clientConnectionConfiguration=buildConfiguration(automationContextForMB2);
  mqttClientEngine.createSubscriberConnection(topic,qualityOfService,noOfSubscribers,saveMessages,ClientMode.BLOCKING,clientConnectionConfiguration);
  mqttClientEngine.createPublisherConnection(topic,qualityOfService,MQTTConstants.TEMPLATE_PAYLOAD,noOfPublishers,noOfMessages,ClientMode.BLOCKING,clientConnectionConfiguration);
  mqttClientEngine.waitUntilAllMessageReceivedAndShutdownClients();
  Assert.assertEquals(mqttClientEngine.getReceivedMessageCount(),noOfMessages,"String_Node_Str");
}
Program: 147435
Project: 147435
Buggy source:
/** 
 * Get dead letter channel queue
 * @return queue
 * @throws AndesAdminServiceBrokerManagerAdminException
 * @throws java.rmi.RemoteException
 */
public Queue getDlcQueue() throws AndesAdminServiceBrokerManagerAdminException, java.rmi.RemoteException {
  Queue[] queueList=stub.getAllQueues();
  Queue dlcQueue=null;
  if (null != queueList) {
    for (    Queue queue : queueList) {
      String nameOfQueue=queue.getQueueName();
      if (StringUtils.isNotBlank(nameOfQueue) && nameOfQueue.contains(AndesConstants.DEAD_LETTER_QUEUE_SUFFIX)) {
        dlcQueue=queue;
        break;
      }
    }
  }
  return dlcQueue;
}

Fixed version (ground truth):
/** 
 * Get dead letter channel queue
 * @return queue
 * @throws AndesAdminServiceBrokerManagerAdminException
 * @throws java.rmi.RemoteException
 */
public Queue getDlcQueue() throws AndesAdminServiceBrokerManagerAdminException, java.rmi.RemoteException {
  return stub.getDLCQueue();
}
Program: 147436
Project: 147436
Buggy source:
/** 
 * Get queue object by queue name
 * @param name the name of the queue
 * @return a queue
 * @throws RemoteException
 * @throws AndesAdminServiceBrokerManagerAdminException
 */
public Queue getQueueByName(String name) throws RemoteException, AndesAdminServiceBrokerManagerAdminException {
  Queue[] queues=stub.getAllQueues();
  if (queues != null && queues.length > 0) {
    for (    Queue queue : queues) {
      if (queue.getQueueName().equalsIgnoreCase(name)) {
        return queue;
      }
    }
  }
  return null;
}

Fixed version (ground truth):
/** 
 * Get queue object by queue name
 * @param name the name of the queue
 * @return a queue
 * @throws RemoteException
 * @throws AndesAdminServiceBrokerManagerAdminException
 */
public Queue getQueueByName(String name) throws RemoteException, AndesAdminServiceBrokerManagerAdminException {
  return stub.getQueueByName(name);
}
Program: 147437
Project: 147437
Buggy source:
/** 
 * Clicks on the "Add Subscription" button on a specific topic in topic browse page.
 * @param topicName The name of the topic to which the subscription should be added.
 * @return A {@link TopicSubscribePage}.
 */
public TopicSubscribePage addSubscription(String topicName){
  TopicSubscribePage browsePage=null;
  WebElement topicTree=driver.findElement(By.xpath(UIElementMapper.getInstance().getElement("String_Node_Str")));
  List<WebElement> liList=topicTree.findElements(By.tagName("String_Node_Str"));
  for (  WebElement liNode : liList) {
    WebElement topicNameNode=liNode.findElement(By.className("String_Node_Str"));
    if (topicName.equals(topicNameNode.getText())) {
      topicNameNode.click();
      WebElement topicSubscribeLink=liNode.findElement(By.className("String_Node_Str"));
      topicSubscribeLink.click();
      browsePage=new TopicSubscribePage(driver);
    }
  }
  return browsePage;
}

Fixed version (ground truth):
/** 
 * Clicks on the "Add Subscription" button on a specific topic in topic browse page.
 * @param topicName The name of the topic to which the subscription should be added.
 * @return A {@link TopicSubscribePage}.
 */
public TopicSubscribePage addSubscription(String topicName){
  TopicSubscribePage browsePage=null;
  WebElement topicTree=driver.findElement(By.xpath(UIElementMapper.getInstance().getElement("String_Node_Str")));
  List<WebElement> liList=topicTree.findElements(By.tagName("String_Node_Str"));
  for (  WebElement liNode : liList) {
    WebElement topicNameNode=liNode.findElement(By.className("String_Node_Str"));
    if (topicName.equals(topicNameNode.getText())) {
      topicNameNode.click();
      WebElement topicSubscribeLink=liNode.findElement(By.className("String_Node_Str"));
      topicSubscribeLink.click();
      browsePage=new TopicSubscribePage(driver);
      break;
    }
  }
  return browsePage;
}
Program: 147438
Project: 147438
Buggy source:
/** 
 * Delete all the messages in DeadLetter Channel
 */
public void deleteAllDLCMessages(){
  WebElement dlcTable=driver.findElement(By.xpath(UIElementMapper.getInstance().getElement("String_Node_Str")));
  List<WebElement> allDlcRows=dlcTable.findElements(By.tagName("String_Node_Str"));
  if (allDlcRows.size() > 1) {
    log.info("String_Node_Str");
    driver.findElement(By.xpath(UIElementMapper.getInstance().getElement("String_Node_Str"))).click();
    driver.findElement(By.xpath(UIElementMapper.getInstance().getElement("String_Node_Str"))).click();
    driver.findElement(By.xpath(UIElementMapper.getInstance().getElement("String_Node_Str"))).click();
    driver.findElement(By.xpath(UIElementMapper.getInstance().getElement("String_Node_Str"))).click();
  }
}

Fixed version (ground truth):
/** 
 * Delete all the messages in DeadLetter Channel
 */
public void deleteAllDLCMessages(){
  WebElement dlcTable=driver.findElement(By.xpath(UIElementMapper.getInstance().getElement("String_Node_Str")));
  List<WebElement> allDlcRows=dlcTable.findElements(By.tagName("String_Node_Str"));
  if (allDlcRows.size() > 0) {
    log.info("String_Node_Str");
    driver.findElement(By.xpath(UIElementMapper.getInstance().getElement("String_Node_Str"))).click();
    driver.findElement(By.xpath(UIElementMapper.getInstance().getElement("String_Node_Str"))).click();
    driver.findElement(By.xpath(UIElementMapper.getInstance().getElement("String_Node_Str"))).click();
    driver.findElement(By.xpath(UIElementMapper.getInstance().getElement("String_Node_Str"))).click();
  }
}
Program: 147439
Project: 147439
Buggy source:
/** 
 * Initializes Andes Admin Client
 * @param backendUrl           the backend url
 * @param sessionCookie        the session cookie string
 * @param configurationContext configuration context
 * @throws AxisFault
 */
public AndesAdminClient(String backendUrl,String sessionCookie,ConfigurationContext configurationContext) throws AxisFault {
  this.backendUrl=backendUrl + "String_Node_Str";
  this.sessionCookie=sessionCookie;
  this.configurationContext=configurationContext;
  stub=new AndesAdminServiceStub(configurationContext,this.backendUrl);
  configureCookie(stub._getServiceClient());
}

Fixed version (ground truth):
/** 
 * Initializes Andes Admin Client
 * @param backendUrl           the backend url
 * @param sessionCookie        the session cookie string
 * @throws AxisFault
 */
public AndesAdminClient(String backendUrl,String sessionCookie) throws AxisFault {
  this.backendUrl=backendUrl + "String_Node_Str";
  this.sessionCookie=sessionCookie;
  stub=new AndesAdminServiceStub(this.backendUrl);
  AuthenticateStubUtil.authenticateStub(sessionCookie,stub);
}
Program: 147440
Project: 147440
Buggy source:
/** 
 * Initializes Topic Admin Client
 * @param backendUrl           the backend url
 * @param sessionCookie        the session cookie string
 * @param configurationContext configuration context
 * @throws AxisFault
 */
public TopicAdminClient(String backendUrl,String sessionCookie,ConfigurationContext configurationContext) throws AxisFault {
  this.backendUrl=backendUrl + "String_Node_Str";
  this.SessionCookie=sessionCookie;
  this.configurationContext=configurationContext;
  stub=new TopicManagerAdminServiceStub(configurationContext,this.backendUrl);
  configureCookie(stub._getServiceClient());
}

Fixed version (ground truth):
/** 
 * Initializes Topic Admin Client
 * @param backendUrl           the backend url
 * @param sessionCookie        the session cookie string
 * @throws AxisFault
 */
public TopicAdminClient(String backendUrl,String sessionCookie) throws AxisFault {
  this.backendUrl=backendUrl + "String_Node_Str";
  this.SessionCookie=sessionCookie;
  stub=new TopicManagerAdminServiceStub(this.backendUrl);
  configureCookie(stub._getServiceClient());
}
Program: 147441
Project: 147441
Buggy source:
/** 
 * Create and login topic admin client to nodes in cluster Suppressing "UnusedDeclaration" warning as this method can be used later in writing test cases.
 * @throws LoginAuthenticationExceptionException
 * @throws IOException
 * @throws XPathExpressionException
 * @throws URISyntaxException
 * @throws SAXException
 * @throws XMLStreamException
 */
@SuppressWarnings("String_Node_Str") protected void initTopicAdminClients() throws LoginAuthenticationExceptionException, IOException, XPathExpressionException, URISyntaxException, SAXException, XMLStreamException, AutomationUtilException {
  topicAdminClients=new HashMap<String,TopicAdminClient>();
  if (contextMap != null && contextMap.size() > 0) {
    for (    Map.Entry<String,AutomationContext> entry : contextMap.entrySet()) {
      AutomationContext tempContext=entry.getValue();
      topicAdminClients.put(entry.getKey(),new TopicAdminClient(tempContext.getContextUrls().getBackEndUrl(),login(tempContext),ConfigurationContextProvider.getInstance().getConfigurationContext()));
    }
  }
}

Fixed version (ground truth):
/** 
 * Create and login topic admin client to nodes in cluster Suppressing "UnusedDeclaration" warning as this method can be used later in writing test cases.
 * @throws LoginAuthenticationExceptionException
 * @throws IOException
 * @throws XPathExpressionException
 * @throws URISyntaxException
 * @throws SAXException
 * @throws XMLStreamException
 */
@SuppressWarnings("String_Node_Str") protected void initTopicAdminClients() throws LoginAuthenticationExceptionException, IOException, XPathExpressionException, URISyntaxException, SAXException, XMLStreamException, AutomationUtilException {
  topicAdminClients=new HashMap<String,TopicAdminClient>();
  if (contextMap != null && contextMap.size() > 0) {
    for (    Map.Entry<String,AutomationContext> entry : contextMap.entrySet()) {
      AutomationContext tempContext=entry.getValue();
      topicAdminClients.put(entry.getKey(),new TopicAdminClient(tempContext.getContextUrls().getBackEndUrl(),login(tempContext)));
    }
  }
}
Program: 147442
Project: 147442
Buggy source:
/** 
 * Create and login andes admin client to nodes in cluster
 * @throws XPathExpressionException
 * @throws URISyntaxException
 * @throws SAXException
 * @throws XMLStreamException
 * @throws LoginAuthenticationExceptionException
 * @throws IOException
 */
protected void initAndesAdminClients() throws XPathExpressionException, URISyntaxException, SAXException, XMLStreamException, LoginAuthenticationExceptionException, IOException, AutomationUtilException {
  andesAdminClients=new HashMap<String,AndesAdminClient>();
  if (contextMap != null && contextMap.size() > 0) {
    for (    Map.Entry<String,AutomationContext> entry : contextMap.entrySet()) {
      AutomationContext tempContext=entry.getValue();
      andesAdminClients.put(entry.getKey(),new AndesAdminClient(tempContext.getContextUrls().getBackEndUrl(),login(tempContext),ConfigurationContextProvider.getInstance().getConfigurationContext()));
    }
  }
}

Fixed version (ground truth):
/** 
 * Create and login andes admin client to nodes in cluster
 * @throws XPathExpressionException
 * @throws URISyntaxException
 * @throws SAXException
 * @throws XMLStreamException
 * @throws LoginAuthenticationExceptionException
 * @throws IOException
 */
protected void initAndesAdminClients() throws XPathExpressionException, URISyntaxException, SAXException, XMLStreamException, LoginAuthenticationExceptionException, IOException, AutomationUtilException {
  andesAdminClients=new HashMap<String,AndesAdminClient>();
  if (contextMap != null && contextMap.size() > 0) {
    for (    Map.Entry<String,AutomationContext> entry : contextMap.entrySet()) {
      AutomationContext tempContext=entry.getValue();
      andesAdminClients.put(entry.getKey(),new AndesAdminClient(tempContext.getContextUrls().getBackEndUrl(),login(tempContext)));
    }
  }
}
Program: 147445
Project: 147445
Buggy source:
/** 
 * Assigning consuming publishing permissions of a queue to a role.
 * @param queueName   The queue name
 * @param permissions New permissions for the role. can be publish, consume.
 * @throws XPathExpressionException
 * @throws IOException
 * @throws URISyntaxException
 * @throws SAXException
 * @throws XMLStreamException
 * @throws LoginAuthenticationExceptionException
 * @throws AndesAdminServiceBrokerManagerAdminException
 * @throws LogoutAuthenticationExceptionException
 * @throws UserAdminUserAdminException
 */
public void updateQueueRoleConsumePublishPermission(String queueName,QueueRolePermission permissions) throws XPathExpressionException, IOException, URISyntaxException, SAXException, XMLStreamException, LoginAuthenticationExceptionException, AndesAdminServiceBrokerManagerAdminException, LogoutAuthenticationExceptionException, UserAdminUserAdminException, AutomationUtilException {
  LoginLogoutClient loginLogoutClientForAdmin=new LoginLogoutClient(super.automationContext);
  String sessionCookie=loginLogoutClientForAdmin.login();
  AndesAdminClient andesAdminClient=new AndesAdminClient(super.backendURL,sessionCookie,ConfigurationContextProvider.getInstance().getConfigurationContext());
  andesAdminClient.updatePermissionForQueue(queueName,permissions);
  loginLogoutClientForAdmin.logout();
}

Fixed version (ground truth):
/** 
 * Assigning consuming publishing permissions of a queue to a role.
 * @param queueName   The queue name
 * @param permissions New permissions for the role. can be publish, consume.
 * @throws XPathExpressionException
 * @throws IOException
 * @throws URISyntaxException
 * @throws SAXException
 * @throws XMLStreamException
 * @throws LoginAuthenticationExceptionException
 * @throws AndesAdminServiceBrokerManagerAdminException
 * @throws LogoutAuthenticationExceptionException
 * @throws UserAdminUserAdminException
 */
public void updateQueueRoleConsumePublishPermission(String queueName,QueueRolePermission permissions) throws XPathExpressionException, IOException, URISyntaxException, SAXException, XMLStreamException, LoginAuthenticationExceptionException, AndesAdminServiceBrokerManagerAdminException, LogoutAuthenticationExceptionException, UserAdminUserAdminException, AutomationUtilException {
  LoginLogoutClient loginLogoutClientForAdmin=new LoginLogoutClient(super.automationContext);
  String sessionCookie=loginLogoutClientForAdmin.login();
  AndesAdminClient andesAdminClient=new AndesAdminClient(super.backendURL,sessionCookie);
  andesAdminClient.updatePermissionForQueue(queueName,permissions);
  loginLogoutClientForAdmin.logout();
}