From 57cd75cffc01a0a6a4e4e3e4e26c2615eb08e818 Mon Sep 17 00:00:00 2001 From: irengrig Date: Tue, 6 Mar 2012 13:17:42 +0400 Subject: [PATCH 01/41] IDEA-82240 Subversion: no login dialog is shown on attempt to share project to repository that doesn't require authentication for reading IDEA-82241 Subversion: BrowseRepository: no login dialog on attempt to add/delete/move remote folder in the repository that doesn't require authentication for reading fix: when creating any svnkit client providing connection pool, you have to set authentication manager to inner operation factory as well --- .../src/org/jetbrains/idea/svn/SvnVcs.java | 33 ++++++++++++++----- 1 file changed, 25 insertions(+), 8 deletions(-) diff --git a/plugins/svn4idea/src/org/jetbrains/idea/svn/SvnVcs.java b/plugins/svn4idea/src/org/jetbrains/idea/svn/SvnVcs.java index 0ded70085796..a8d7f2398a2f 100644 --- a/plugins/svn4idea/src/org/jetbrains/idea/svn/SvnVcs.java +++ b/plugins/svn4idea/src/org/jetbrains/idea/svn/SvnVcs.java @@ -591,41 +591,58 @@ public class SvnVcs extends AbstractVcs { } public SVNUpdateClient createUpdateClient() { - return new SVNUpdateClient(getPool(), myConfiguration.getOptions(myProject)); + final SVNUpdateClient client = new SVNUpdateClient(getPool(), myConfiguration.getOptions(myProject)); + client.getOperationsFactory().setAuthenticationManager(myConfiguration.getAuthenticationManager(this)); + return client; } public SVNStatusClient createStatusClient() { SVNStatusClient client = new SVNStatusClient(getPool(), myConfiguration.getOptions(myProject)); + client.getOperationsFactory().setAuthenticationManager(myConfiguration.getAuthenticationManager(this)); client.setIgnoreExternals(true); return client; } public SVNWCClient createWCClient() { - return new SVNWCClient(getPool(), myConfiguration.getOptions(myProject)); + final SVNWCClient client = new SVNWCClient(getPool(), myConfiguration.getOptions(myProject)); + client.getOperationsFactory().setAuthenticationManager(myConfiguration.getAuthenticationManager(this)); + return client; } public SVNCopyClient createCopyClient() { - return new SVNCopyClient(getPool(), myConfiguration.getOptions(myProject)); + final SVNCopyClient client = new SVNCopyClient(getPool(), myConfiguration.getOptions(myProject)); + client.getOperationsFactory().setAuthenticationManager(myConfiguration.getAuthenticationManager(this)); + return client; } public SVNMoveClient createMoveClient() { - return new SVNMoveClient(getPool(), myConfiguration.getOptions(myProject)); + final SVNMoveClient client = new SVNMoveClient(getPool(), myConfiguration.getOptions(myProject)); + client.getOperationsFactory().setAuthenticationManager(myConfiguration.getAuthenticationManager(this)); + return client; } public SVNLogClient createLogClient() { - return new SVNLogClient(getPool(), myConfiguration.getOptions(myProject)); + final SVNLogClient client = new SVNLogClient(getPool(), myConfiguration.getOptions(myProject)); + client.getOperationsFactory().setAuthenticationManager(myConfiguration.getAuthenticationManager(this)); + return client; } public SVNCommitClient createCommitClient() { - return new SVNCommitClient(getPool(), myConfiguration.getOptions(myProject)); + final SVNCommitClient client = new SVNCommitClient(getPool(), myConfiguration.getOptions(myProject)); + client.getOperationsFactory().setAuthenticationManager(myConfiguration.getAuthenticationManager(this)); + return client; } public SVNDiffClient createDiffClient() { - return new SVNDiffClient(getPool(), myConfiguration.getOptions(myProject)); + final SVNDiffClient client = new SVNDiffClient(getPool(), myConfiguration.getOptions(myProject)); + client.getOperationsFactory().setAuthenticationManager(myConfiguration.getAuthenticationManager(this)); + return client; } public SVNChangelistClient createChangelistClient() { - return new SVNChangelistClient(getPool(), myConfiguration.getOptions(myProject)); + final SVNChangelistClient client = new SVNChangelistClient(getPool(), myConfiguration.getOptions(myProject)); + client.getOperationsFactory().setAuthenticationManager(myConfiguration.getAuthenticationManager(this)); + return client; } public SVNWCAccess createWCAccess() { From b28d5be2a317487b3c1cb6d5546dd8e96bc0a939 Mon Sep 17 00:00:00 2001 From: "Denis.Zhdanov" Date: Tue, 6 Mar 2012 12:25:10 +0400 Subject: [PATCH 02/41] IDEA-76142: Gradle support - cannot update IDEA projects once one of build.gradle files changes Corrected tree node toolbar processing --- .../GradleProjectStructureChangesPanel.java | 128 ++++++++++++------ 1 file changed, 86 insertions(+), 42 deletions(-) diff --git a/plugins/gradle/src/org/jetbrains/plugins/gradle/sync/GradleProjectStructureChangesPanel.java b/plugins/gradle/src/org/jetbrains/plugins/gradle/sync/GradleProjectStructureChangesPanel.java index d42e72700c20..406da30961fe 100644 --- a/plugins/gradle/src/org/jetbrains/plugins/gradle/sync/GradleProjectStructureChangesPanel.java +++ b/plugins/gradle/src/org/jetbrains/plugins/gradle/sync/GradleProjectStructureChangesPanel.java @@ -43,13 +43,17 @@ import java.util.List; * @since 11/3/11 3:58 PM */ public class GradleProjectStructureChangesPanel extends GradleToolWindowPanel { + + private static final int TOOLTIP_DELAY_MILLIS = 500; - private final Alarm myToolbarAlarm = new Alarm(Alarm.ThreadToUse.SWING_THREAD); + private final Alarm myToolbarAppearanceAlarm = new Alarm(Alarm.ThreadToUse.SWING_THREAD); + private final Alarm myToolbarTrackingAlarm = new Alarm(Alarm.ThreadToUse.SWING_THREAD); private Tree myTree; private GradleProjectStructureTreeModel myTreeModel; private GradleProjectStructureContext myContext; private Object myNodeUnderMouse; + private Object myNodeWithActiveToolbar; private Balloon myToolbar; public GradleProjectStructureChangesPanel(@NotNull Project project, @NotNull GradleProjectStructureContext context) { @@ -109,7 +113,7 @@ public class GradleProjectStructureChangesPanel extends GradleToolWindowPanel { @Override public void afterActionPerformed(AnAction action, DataContext dataContext, AnActionEvent event) { if (event != null && GradleConstants.SYNC_TREE_FLOATING_TOOLBAR_PLACE.equals(event.getPlace())) { - hideHint(); + hideToolbar(); } } }, getProject()); @@ -124,59 +128,93 @@ public class GradleProjectStructureChangesPanel extends GradleToolWindowPanel { toolbarComponent.setBackground(myTree.getBackground()); myTree.addMouseMotionListener(new MouseMotionAdapter() { - - Object activeNode; - @Override public void mouseMoved(MouseEvent e) { final TreePath path = myTree.getPathForLocation(e.getX(), e.getY()); if (path == null) { - hideHint(); return; } - Balloon activeToolbar = myToolbar; - - // Do nothing if the toolbar action selection is in progress. - if (activeToolbar instanceof IdeTooltip.Ui && ((IdeTooltip.Ui)(activeToolbar)).isInside(new RelativePoint(e))) { - return; - } - final Object node = path.getLastPathComponent(); + final GradleProjectStructureNode node = (GradleProjectStructureNode)path.getLastPathComponent(); myNodeUnderMouse = node; - if (node == activeNode && activeToolbar != null && !activeToolbar.isDisposed()) { - return; - } - hideHint(); - if (!actionManager.isActionPopupStackEmpty()) { - return; - } - toolbar.updateActionsImmediately(); - if (!toolbar.hasVisibleActions()) { - activeNode = null; - return; - } - activeNode = node; - final Balloon balloon = JBPopupFactory.getInstance().createBalloonBuilder(toolbarComponent) - .setFillColor(myTree.getBackground()) - .createBalloon(); - Disposer.register(getProject(), balloon); - Point hintPosition = GradleUtil.getHintPosition((GradleProjectStructureNode)node, myTree); - myToolbar = balloon; - balloon.show(new RelativePoint(myTree, hintPosition), Balloon.Position.below); - startToolbarTracking(); + scheduleToolbar(node, toolbar, toolbarComponent); } }); myTree.addMouseListener(new MouseAdapter() { @Override public void mousePressed(MouseEvent e) { - hideHint(); + hideToolbar(); } }); } + /** + * The general idea is to do the following: + *
+   * 
    + *
  1. Detected that the mouse is located over particular node;
  2. + *
  3. Show toolbar for the target node after particular delay;
  4. + *
+ *
+ *

+ * This method schedules toolbar for the given node. + * + * @param node target node for which a toolbar should be shown + */ + private void scheduleToolbar(final @NotNull GradleProjectStructureNode node, + final @NotNull ActionToolbar toolbar, + final @NotNull JComponent toolbarComponent) + { + if (node == myNodeWithActiveToolbar) { + return; + } + myToolbarAppearanceAlarm.cancelAllRequests(); + myToolbarAppearanceAlarm.addRequest(new Runnable() { + @Override + public void run() { + if (myNodeUnderMouse != node) { + return; + } + final Point mouseLocation = MouseInfo.getPointerInfo().getLocation(); + SwingUtilities.convertPointFromScreen(mouseLocation, myTree); + final TreePath path = myTree.getPathForLocation(mouseLocation.x, mouseLocation.y); + if (path == null) { + hideToolbar(); + return; + } + Balloon activeToolbar = myToolbar; + + // Do nothing if the toolbar action selection is in progress. + if (activeToolbar instanceof IdeTooltip.Ui && ((IdeTooltip.Ui)(activeToolbar)).isInside(new RelativePoint(myTree, mouseLocation))) { + return; + } + hideToolbar(); + final ActionManagerEx actionManager = ActionManagerEx.getInstanceEx(); + if (!actionManager.isActionPopupStackEmpty()) { + hideToolbar(); + return; + } + toolbar.updateActionsImmediately(); + if (!toolbar.hasVisibleActions()) { + hideToolbar(); + return; + } + final Balloon balloon = JBPopupFactory.getInstance().createBalloonBuilder(toolbarComponent) + .setFillColor(myTree.getBackground()) + .createBalloon(); + Disposer.register(getProject(), balloon); + Point hintPosition = GradleUtil.getHintPosition(node, myTree); + myToolbar = balloon; + myNodeWithActiveToolbar = node; + balloon.show(new RelativePoint(myTree, hintPosition), Balloon.Position.below); + startToolbarTracking(); + } + }, TOOLTIP_DELAY_MILLIS); + } + private void startToolbarTracking() { - myToolbarAlarm.cancelAllRequests(); + myToolbarTrackingAlarm.cancelAllRequests(); final int delayMillis = 300; - myToolbarAlarm.addRequest(new Runnable() { + myToolbarTrackingAlarm.addRequest(new Runnable() { @Override public void run() { if (myToolbar == null) { @@ -185,21 +223,23 @@ public class GradleProjectStructureChangesPanel extends GradleToolWindowPanel { final Point location = MouseInfo.getPointerInfo().getLocation(); SwingUtilities.convertPointFromScreen(location, GradleProjectStructureChangesPanel.this); if (GradleProjectStructureChangesPanel.this.contains(location)) { - myToolbarAlarm.addRequest(this, delayMillis); + myToolbarTrackingAlarm.addRequest(this, delayMillis); } else { - hideHint(); + hideToolbar(); } } }, delayMillis); } - private void hideHint() { + private void hideToolbar() { final Balloon toolbar = myToolbar; if (toolbar != null && !toolbar.isDisposed()) { toolbar.hide(); myToolbar = null; - myToolbarAlarm.cancelAllRequests(); + myNodeWithActiveToolbar = null; + myToolbarAppearanceAlarm.cancelAllRequests(); + myToolbarTrackingAlarm.cancelAllRequests(); } } @@ -221,7 +261,11 @@ public class GradleProjectStructureChangesPanel extends GradleToolWindowPanel { return result; } else if (GradleDataKeys.SYNC_TREE_NODE_UNDER_MOUSE.is(dataId)) { - return myNodeUnderMouse; + Object result = myNodeWithActiveToolbar; + if (result == null) { + result = myNodeUnderMouse; + } + return result; } else { return super.getData(dataId); From 50b73b42e4296f8e22ba54a21bac8b832d908b34 Mon Sep 17 00:00:00 2001 From: "Denis.Zhdanov" Date: Tue, 6 Mar 2012 13:22:29 +0400 Subject: [PATCH 03/41] IDEA-76142: Gradle support - cannot update IDEA projects once one of build.gradle files changes Don't show node toolbar if 'conflict balloon' is shown --- .../GradleShowConflictDetailsAction.java | 11 +++++++++ .../GradleProjectStructureChangesPanel.java | 21 ++++++++++++----- .../plugins/gradle/ui/GradleUiListener.java | 23 +++++++++++++++++++ 3 files changed, 49 insertions(+), 6 deletions(-) create mode 100644 plugins/gradle/src/org/jetbrains/plugins/gradle/ui/GradleUiListener.java diff --git a/plugins/gradle/src/org/jetbrains/plugins/gradle/action/GradleShowConflictDetailsAction.java b/plugins/gradle/src/org/jetbrains/plugins/gradle/action/GradleShowConflictDetailsAction.java index a72e8444085e..2232352547d6 100644 --- a/plugins/gradle/src/org/jetbrains/plugins/gradle/action/GradleShowConflictDetailsAction.java +++ b/plugins/gradle/src/org/jetbrains/plugins/gradle/action/GradleShowConflictDetailsAction.java @@ -4,12 +4,15 @@ import com.intellij.codeInsight.hint.HintManager; import com.intellij.openapi.components.ServiceManager; import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.popup.Balloon; +import com.intellij.openapi.ui.popup.JBPopupAdapter; import com.intellij.openapi.ui.popup.JBPopupFactory; +import com.intellij.openapi.ui.popup.LightweightWindowEvent; import com.intellij.ui.awt.RelativePoint; import com.intellij.ui.treeStructure.Tree; import org.jetbrains.annotations.NotNull; import org.jetbrains.plugins.gradle.sync.conflict.GradleConflictControlFactory; import org.jetbrains.plugins.gradle.ui.GradleProjectStructureNode; +import org.jetbrains.plugins.gradle.ui.GradleUiListener; import org.jetbrains.plugins.gradle.util.GradleBundle; import org.jetbrains.plugins.gradle.util.GradleProjectStructureContext; import org.jetbrains.plugins.gradle.util.GradleUtil; @@ -68,6 +71,14 @@ public class GradleShowConflictDetailsAction extends AbstractGradleSyncTreeNodeA } final Point hintPosition = GradleUtil.getHintPosition(node, tree); final Balloon balloon = JBPopupFactory.getInstance().createBalloonBuilder(control).setFillColor(tree.getBackground()).createBalloon(); + final GradleUiListener publisher = project.getMessageBus().syncPublisher(GradleUiListener.TOPIC); + publisher.beforeConflictUiShown(); + balloon.addListener(new JBPopupAdapter() { + @Override + public void onClosed(LightweightWindowEvent event) { + publisher.afterConflictUiShown(); + } + }); balloon.show(new RelativePoint(tree, hintPosition), Balloon.Position.below); } } diff --git a/plugins/gradle/src/org/jetbrains/plugins/gradle/sync/GradleProjectStructureChangesPanel.java b/plugins/gradle/src/org/jetbrains/plugins/gradle/sync/GradleProjectStructureChangesPanel.java index 406da30961fe..994c9fb6f50d 100644 --- a/plugins/gradle/src/org/jetbrains/plugins/gradle/sync/GradleProjectStructureChangesPanel.java +++ b/plugins/gradle/src/org/jetbrains/plugins/gradle/sync/GradleProjectStructureChangesPanel.java @@ -21,6 +21,7 @@ import org.jetbrains.plugins.gradle.config.GradleToolWindowPanel; import org.jetbrains.plugins.gradle.diff.GradleProjectStructureChange; import org.jetbrains.plugins.gradle.ui.GradleDataKeys; import org.jetbrains.plugins.gradle.ui.GradleProjectStructureNode; +import org.jetbrains.plugins.gradle.ui.GradleUiListener; import org.jetbrains.plugins.gradle.util.GradleConstants; import org.jetbrains.plugins.gradle.util.GradleProjectStructureContext; import org.jetbrains.plugins.gradle.util.GradleUtil; @@ -55,6 +56,7 @@ public class GradleProjectStructureChangesPanel extends GradleToolWindowPanel { private Object myNodeUnderMouse; private Object myNodeWithActiveToolbar; private Balloon myToolbar; + private boolean mySuppressToolbar; public GradleProjectStructureChangesPanel(@NotNull Project project, @NotNull GradleProjectStructureContext context) { super(project, GradleConstants.TOOL_WINDOW_TOOLBAR_PLACE); @@ -97,7 +99,7 @@ public class GradleProjectStructureChangesPanel extends GradleToolWindowPanel { result.setBackground(myTree.getBackground()); CustomizationUtil.installPopupHandler(myTree, GradleConstants.ACTION_GROUP_SYNC_TREE, GradleConstants.SYNC_TREE_CONTEXT_MENU_PLACE); - setupActionHint(); + setupToolbar(); return result; } @@ -107,7 +109,7 @@ public class GradleProjectStructureChangesPanel extends GradleToolWindowPanel { int i = 1; } - private void setupActionHint() { + private void setupToolbar() { final ActionManagerEx actionManager = ActionManagerEx.getInstanceEx(); actionManager.addAnActionListener(new AnActionListener.Adapter() { @Override @@ -139,9 +141,16 @@ public class GradleProjectStructureChangesPanel extends GradleToolWindowPanel { scheduleToolbar(node, toolbar, toolbarComponent); } }); - myTree.addMouseListener(new MouseAdapter() { + getProject().getMessageBus().connect(getProject()).subscribe(GradleUiListener.TOPIC, new GradleUiListener() { @Override - public void mousePressed(MouseEvent e) { + public void beforeConflictUiShown() { + mySuppressToolbar = true; + hideToolbar(); + } + + @Override + public void afterConflictUiShown() { + mySuppressToolbar = false; hideToolbar(); } }); @@ -164,7 +173,7 @@ public class GradleProjectStructureChangesPanel extends GradleToolWindowPanel { final @NotNull ActionToolbar toolbar, final @NotNull JComponent toolbarComponent) { - if (node == myNodeWithActiveToolbar) { + if (mySuppressToolbar || node == myNodeWithActiveToolbar) { return; } myToolbarAppearanceAlarm.cancelAllRequests(); @@ -234,10 +243,10 @@ public class GradleProjectStructureChangesPanel extends GradleToolWindowPanel { private void hideToolbar() { final Balloon toolbar = myToolbar; + myNodeWithActiveToolbar = null; if (toolbar != null && !toolbar.isDisposed()) { toolbar.hide(); myToolbar = null; - myNodeWithActiveToolbar = null; myToolbarAppearanceAlarm.cancelAllRequests(); myToolbarTrackingAlarm.cancelAllRequests(); } diff --git a/plugins/gradle/src/org/jetbrains/plugins/gradle/ui/GradleUiListener.java b/plugins/gradle/src/org/jetbrains/plugins/gradle/ui/GradleUiListener.java new file mode 100644 index 000000000000..d5b8f514e617 --- /dev/null +++ b/plugins/gradle/src/org/jetbrains/plugins/gradle/ui/GradleUiListener.java @@ -0,0 +1,23 @@ +package org.jetbrains.plugins.gradle.ui; + +import com.intellij.util.messages.Topic; + +/** + * Defines various callbacks for the gradle integration UI processing. + *

+ * Implementations of this interface are not obliged to be thread-safe. + * + * @author Denis Zhdanov + * @since 3/6/12 11:59 AM + */ +public interface GradleUiListener { + + Topic TOPIC = Topic.create("Gradle UI", GradleUiListener.class); + + /** + * Is called before conflict changes UI is shown. + */ + void beforeConflictUiShown(); + + void afterConflictUiShown(); +} From 1b6564e37f5e490c4c619819befa26fdb9aef7f2 Mon Sep 17 00:00:00 2001 From: nik Date: Tue, 6 Mar 2012 11:31:26 +0400 Subject: [PATCH 04/41] xdebugger: add default breakpoints to new project --- .../xdebugger/impl/breakpoints/XBreakpointManagerImpl.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/breakpoints/XBreakpointManagerImpl.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/breakpoints/XBreakpointManagerImpl.java index df17bb4a726a..277facd9601b 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/breakpoints/XBreakpointManagerImpl.java +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/breakpoints/XBreakpointManagerImpl.java @@ -72,6 +72,9 @@ public class XBreakpointManagerImpl implements XBreakpointManager, PersistentSta } }; HttpFileSystem.getInstance().addFileListener(httpVirtualFileListener, project); + for (XBreakpointType type : XBreakpointUtil.getBreakpointTypes()) { + addDefaultBreakpoint(type); + } } } From 3577dc6eb9ed9f94e74f0df9a00b427292e53f92 Mon Sep 17 00:00:00 2001 From: nik Date: Tue, 6 Mar 2012 11:32:19 +0400 Subject: [PATCH 05/41] unused code removed --- .../common/InjectedLanguageBlockWrapper.java | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/psi/formatter/common/InjectedLanguageBlockWrapper.java b/platform/lang-impl/src/com/intellij/psi/formatter/common/InjectedLanguageBlockWrapper.java index 3711499e8080..717973a5c62c 100644 --- a/platform/lang-impl/src/com/intellij/psi/formatter/common/InjectedLanguageBlockWrapper.java +++ b/platform/lang-impl/src/com/intellij/psi/formatter/common/InjectedLanguageBlockWrapper.java @@ -153,17 +153,4 @@ public final class InjectedLanguageBlockWrapper implements Block { public boolean isLeaf() { return myOriginal.isLeaf(); } -} -class A { - private List myResult; - { - m(10, myResult); - } - - private void m(int i, List result) { - if (i > 0) { - m(i - 1, result); - } - result.add(i); - } } \ No newline at end of file From cbbffe7b16f792b512bcab3150327f45618ec3ad Mon Sep 17 00:00:00 2001 From: nik Date: Tue, 6 Mar 2012 13:32:15 +0400 Subject: [PATCH 06/41] compile server: artifact builder enabled and tests added --- ...g.jetbrains.jps.incremental.BuilderService | 1 + .../jps/incremental/BuildLoggingManager.java | 22 ++ .../jps/incremental/CompileContext.java | 8 +- .../jps/incremental/CompileScope.java | 4 + .../jps/incremental/IncProjectBuilder.java | 5 +- .../artifacts/ArtifactBuilderLogger.java | 12 + .../artifacts/ArtifactBuilderLoggerImpl.java | 25 ++ .../artifacts/ArtifactSourceFilesState.java | 19 +- .../artifacts/IncArtifactBuilder.java | 16 +- .../artifacts/impl/JarsBuilder.java | 54 ++- .../FileBasedArtifactSourceRoot.java | 2 +- .../instructions/JarDestinationInfo.java | 1 - .../jps/server/ProjectDescriptor.java | 15 +- .../org/jetbrains/jps/server/ServerState.java | 2 +- .../jetbrains/ether/IncrementalTestCase.java | 3 +- .../artifacts/ArtifactBuilderTest.java | 321 ++++++++++++++++++ .../artifacts/ArtifactBuilderTestCase.java | 291 ++++++++++++++++ .../IncrementalArtifactBuildingTest.java | 182 ++++++++++ .../artifacts/LayoutElementTestUtil.java | 119 +++++++ .../jps/artifacts/ComplexLayoutElement.groovy | 3 +- .../jps/artifacts/LayoutElement.groovy | 15 + .../util/io/TestFileSystemBuilder.java | 52 +++ .../intellij/util/io/TestFileSystemItem.java | 85 +++++ 23 files changed, 1217 insertions(+), 40 deletions(-) create mode 100644 jps/jps-builders/src/org/jetbrains/jps/incremental/BuildLoggingManager.java create mode 100644 jps/jps-builders/src/org/jetbrains/jps/incremental/artifacts/ArtifactBuilderLogger.java create mode 100644 jps/jps-builders/src/org/jetbrains/jps/incremental/artifacts/ArtifactBuilderLoggerImpl.java create mode 100644 jps/jps-builders/testSrc/org/jetbrains/jps/incremental/artifacts/ArtifactBuilderTest.java create mode 100644 jps/jps-builders/testSrc/org/jetbrains/jps/incremental/artifacts/ArtifactBuilderTestCase.java create mode 100644 jps/jps-builders/testSrc/org/jetbrains/jps/incremental/artifacts/IncrementalArtifactBuildingTest.java create mode 100644 jps/jps-builders/testSrc/org/jetbrains/jps/incremental/artifacts/LayoutElementTestUtil.java create mode 100644 platform/testFramework/src/com/intellij/util/io/TestFileSystemBuilder.java create mode 100644 platform/testFramework/src/com/intellij/util/io/TestFileSystemItem.java diff --git a/jps/jps-builders/src/META-INF/services/org.jetbrains.jps.incremental.BuilderService b/jps/jps-builders/src/META-INF/services/org.jetbrains.jps.incremental.BuilderService index 128f95ade09d..59cb6e43434f 100644 --- a/jps/jps-builders/src/META-INF/services/org.jetbrains.jps.incremental.BuilderService +++ b/jps/jps-builders/src/META-INF/services/org.jetbrains.jps.incremental.BuilderService @@ -1 +1,2 @@ org.jetbrains.jps.incremental.JavaBuilderService +org.jetbrains.jps.incremental.artifacts.ArtifactBuilderService diff --git a/jps/jps-builders/src/org/jetbrains/jps/incremental/BuildLoggingManager.java b/jps/jps-builders/src/org/jetbrains/jps/incremental/BuildLoggingManager.java new file mode 100644 index 000000000000..2ac290d0ae47 --- /dev/null +++ b/jps/jps-builders/src/org/jetbrains/jps/incremental/BuildLoggingManager.java @@ -0,0 +1,22 @@ +package org.jetbrains.jps.incremental; + +import org.jetbrains.annotations.NotNull; +import org.jetbrains.jps.incremental.artifacts.ArtifactBuilderLogger; +import org.jetbrains.jps.incremental.artifacts.ArtifactBuilderLoggerImpl; + +/** + * @author nik + */ +public class BuildLoggingManager { + public static final BuildLoggingManager DEFAULT = new BuildLoggingManager(new ArtifactBuilderLoggerImpl()); + private ArtifactBuilderLogger myArtifactBuilderLogger; + + public BuildLoggingManager(@NotNull ArtifactBuilderLogger artifactBuilderLogger) { + myArtifactBuilderLogger = artifactBuilderLogger; + } + + @NotNull + public ArtifactBuilderLogger getArtifactBuilderLogger() { + return myArtifactBuilderLogger; + } +} diff --git a/jps/jps-builders/src/org/jetbrains/jps/incremental/CompileContext.java b/jps/jps-builders/src/org/jetbrains/jps/incremental/CompileContext.java index 2b275e758552..4ef196b92838 100644 --- a/jps/jps-builders/src/org/jetbrains/jps/incremental/CompileContext.java +++ b/jps/jps-builders/src/org/jetbrains/jps/incremental/CompileContext.java @@ -41,6 +41,7 @@ public class CompileContext extends UserDataHolderBase implements MessageHandler private volatile boolean myErrorsFound = false; private final long myCompilationStartStamp; private final TimestampStorage myTsStorage; + private final BuildLoggingManager myLoggingManager; private final Map myBuilderParams; private final CanceledStatus myCancelStatus; private float myDone = -1.0f; @@ -55,9 +56,10 @@ public class CompileContext extends UserDataHolderBase implements MessageHandler TimestampStorage tsStorage, MessageHandler delegateMessageHandler, final ModuleRootsIndex rootsIndex, - Map builderParams, + BuildLoggingManager loggingManager, Map builderParams, CanceledStatus cancelStatus) throws ProjectBuildException { myTsStorage = tsStorage; + myLoggingManager = loggingManager; myBuilderParams = Collections.unmodifiableMap(builderParams); myCancelStatus = cancelStatus; myCompilationStartStamp = System.currentTimeMillis(); @@ -90,6 +92,10 @@ public class CompileContext extends UserDataHolderBase implements MessageHandler return myIsProjectRebuild; } + public BuildLoggingManager getLoggingManager() { + return myLoggingManager; + } + @Nullable public String getBuilderParameter(String paramName) { return myBuilderParams.get(paramName); diff --git a/jps/jps-builders/src/org/jetbrains/jps/incremental/CompileScope.java b/jps/jps-builders/src/org/jetbrains/jps/incremental/CompileScope.java index c5dda79b3208..72da3be0aad8 100644 --- a/jps/jps-builders/src/org/jetbrains/jps/incremental/CompileScope.java +++ b/jps/jps-builders/src/org/jetbrains/jps/incremental/CompileScope.java @@ -42,6 +42,10 @@ public abstract class CompileScope { return false; } + public Set getArtifacts() { + return myArtifacts; + } + @NotNull public final Project getProject() { return myProject; diff --git a/jps/jps-builders/src/org/jetbrains/jps/incremental/IncProjectBuilder.java b/jps/jps-builders/src/org/jetbrains/jps/incremental/IncProjectBuilder.java index d2ed95cbb8c1..ad7439a43bcb 100644 --- a/jps/jps-builders/src/org/jetbrains/jps/incremental/IncProjectBuilder.java +++ b/jps/jps-builders/src/org/jetbrains/jps/incremental/IncProjectBuilder.java @@ -10,7 +10,6 @@ import com.intellij.util.io.PersistentEnumerator; import org.jetbrains.jps.*; import org.jetbrains.jps.api.CanceledStatus; import org.jetbrains.jps.api.RequestFuture; -import org.jetbrains.jps.artifacts.Artifact; import org.jetbrains.jps.incremental.java.ExternalJavacDescriptor; import org.jetbrains.jps.incremental.java.JavaBuilder; import org.jetbrains.jps.incremental.messages.BuildMessage; @@ -101,7 +100,7 @@ public class IncProjectBuilder { ); flushContext(context); if (isMake || isProjectRebuild) { - context = createContext(new AllProjectScope(scope.getProject(), Collections.emptySet(), true), false, true); + context = createContext(new AllProjectScope(scope.getProject(), scope.getArtifacts(), true), false, true); } else { //in case of forced compilation keep the scope, but remove all caches @@ -208,7 +207,7 @@ public class IncProjectBuilder { final BuildDataManager dataManager = myProjectDescriptor.dataManager; return new CompileContext( scope, isMake, isProjectRebuild, myProductionChunks, myTestChunks, fsState, dataManager, tsStorage, myMessageDispatcher, rootsIndex, - myBuilderParams, myCancelStatus + myProjectDescriptor.getLoggingManager(), myBuilderParams, myCancelStatus ); } diff --git a/jps/jps-builders/src/org/jetbrains/jps/incremental/artifacts/ArtifactBuilderLogger.java b/jps/jps-builders/src/org/jetbrains/jps/incremental/artifacts/ArtifactBuilderLogger.java new file mode 100644 index 000000000000..8d601731387e --- /dev/null +++ b/jps/jps-builders/src/org/jetbrains/jps/incremental/artifacts/ArtifactBuilderLogger.java @@ -0,0 +1,12 @@ +package org.jetbrains.jps.incremental.artifacts; + +/** + * @author nik + */ +public interface ArtifactBuilderLogger { + void fileCopied(String sourceFilePath); + + void fileDeleted(String targetFilePath); + + boolean isEnabled(); +} diff --git a/jps/jps-builders/src/org/jetbrains/jps/incremental/artifacts/ArtifactBuilderLoggerImpl.java b/jps/jps-builders/src/org/jetbrains/jps/incremental/artifacts/ArtifactBuilderLoggerImpl.java new file mode 100644 index 000000000000..8b3c3a8e5b41 --- /dev/null +++ b/jps/jps-builders/src/org/jetbrains/jps/incremental/artifacts/ArtifactBuilderLoggerImpl.java @@ -0,0 +1,25 @@ +package org.jetbrains.jps.incremental.artifacts; + +import com.intellij.openapi.diagnostic.Logger; + +/** + * @author nik + */ +public class ArtifactBuilderLoggerImpl implements ArtifactBuilderLogger { + private static final Logger LOG = Logger.getInstance("#org.jetbrains.jps.incremental.artifacts.ArtifactBuilderLoggerImpl"); + + @Override + public void fileCopied(String sourceFilePath) { + LOG.debug("Copied:" + sourceFilePath); + } + + @Override + public void fileDeleted(String targetFilePath) { + LOG.debug("Deleted:" + targetFilePath); + } + + @Override + public boolean isEnabled() { + return LOG.isDebugEnabled(); + } +} diff --git a/jps/jps-builders/src/org/jetbrains/jps/incremental/artifacts/ArtifactSourceFilesState.java b/jps/jps-builders/src/org/jetbrains/jps/incremental/artifacts/ArtifactSourceFilesState.java index c8831e095f5c..cef1ab4aee52 100644 --- a/jps/jps-builders/src/org/jetbrains/jps/incremental/artifacts/ArtifactSourceFilesState.java +++ b/jps/jps-builders/src/org/jetbrains/jps/incremental/artifacts/ArtifactSourceFilesState.java @@ -44,7 +44,7 @@ public class ArtifactSourceFilesState { myRootsIndex = rootsIndex; myTimestampStorage = timestampStorage; myArtifactId = artifactId; - myMappingsFile = new File(mappingsDir, String.valueOf(artifactId)); + myMappingsFile = new File(new File(mappingsDir, String.valueOf(artifactId)), "src-out"); } public ArtifactSourceToOutputMapping getOrCreateMapping() throws IOException { @@ -97,10 +97,6 @@ public class ArtifactSourceFilesState { } } - public ArtifactSourceTimestampStorage getTimestampStorage() { - return myTimestampStorage; - } - private void processRecursively(File file, SourceFileFilter filter, Set currentPaths) throws IOException { final String filePath = FileUtil.toSystemIndependentName(FileUtil.toCanonicalPath(file.getPath())); if (!filter.accept(filePath)) return; @@ -148,24 +144,27 @@ public class ArtifactSourceFilesState { return instructionsBuilder; } - public void updateTimestamps(Set deletedFiles, Set changedFiles) throws IOException { - for (String filePath : deletedFiles) { + public void updateTimestamps() throws IOException { + for (String filePath : myDeletedFiles) { final ArtifactSourceTimestampStorage.PerArtifactTimestamp[] state = myTimestampStorage.getState(filePath); if (state == null) continue; for (int i = 0, length = state.length; i < length; i++) { if (state[i].myArtifactId == myArtifactId) { - ArrayUtil.remove(state, i); - myTimestampStorage.update(filePath, state); + final ArtifactSourceTimestampStorage.PerArtifactTimestamp[] newState = ArrayUtil.remove(state, i); + myTimestampStorage.update(filePath, newState.length > 0 ? newState : null); break; } } } - for (String filePath : changedFiles) { + for (String filePath : myChangedFiles) { final ArtifactSourceTimestampStorage.PerArtifactTimestamp[] state = myTimestampStorage.getState(filePath); File file = new File(FileUtil.toSystemDependentName(filePath)); final long timestamp = file.lastModified(); myTimestampStorage.update(filePath, updateTimestamp(state, timestamp)); } + } + + public void markUpToDate() { myDeletedFiles.clear(); myChangedFiles.clear(); } diff --git a/jps/jps-builders/src/org/jetbrains/jps/incremental/artifacts/IncArtifactBuilder.java b/jps/jps-builders/src/org/jetbrains/jps/incremental/artifacts/IncArtifactBuilder.java index 83a60f1cda2b..f0776ee871af 100644 --- a/jps/jps-builders/src/org/jetbrains/jps/incremental/artifacts/IncArtifactBuilder.java +++ b/jps/jps-builders/src/org/jetbrains/jps/incremental/artifacts/IncArtifactBuilder.java @@ -67,7 +67,7 @@ public class IncArtifactBuilder extends ProjectLevelBuilder { } } - private static void buildArtifact(Artifact artifact, CompileContext context) throws ProjectBuildException { + private static void buildArtifact(Artifact artifact, final CompileContext context) throws ProjectBuildException { final BuildDataManager dataManager = context.getDataManager(); try { final ArtifactSourceFilesState state = dataManager.getArtifactsBuildData().getOrCreateState(artifact, @@ -96,10 +96,11 @@ public class IncArtifactBuilder extends ProjectLevelBuilder { public void process(ArtifactSourceRoot root, Collection destinations) throws IOException { for (DestinationInfo destination : destinations) { if (destination instanceof ExplodedDestinationInfo) { + context.getLoggingManager().getArtifactBuilderLogger().fileCopied(filePath); root.copyFromRoot(filePath, destination.getOutputPath(), outputs); } else { - outputs.add(destination.getOutputFilePath()); + outputs.add(destination.getOutputFilePath() + JarPathUtil.JAR_SEPARATOR); changedJars.add(((JarDestinationInfo)destination).getJarInfo()); } } @@ -114,10 +115,14 @@ public class IncArtifactBuilder extends ProjectLevelBuilder { return; } - state.updateTimestamps(deletedFiles, changedFiles); - for (Map.Entry entry : updatedMappings.entrySet()) { - mapping.appendData(entry.getKey(), entry.getValue()); + state.updateTimestamps(); + for (String filePath : deletedFiles) { + mapping.remove(filePath); } + for (Map.Entry entry : updatedMappings.entrySet()) { + mapping.update(entry.getKey(), entry.getValue()); + } + state.markUpToDate(); context.processMessage(UptoDateFilesSavedEvent.INSTANCE); } catch (IOException e) { @@ -158,6 +163,7 @@ public class IncArtifactBuilder extends ProjectLevelBuilder { } if (deleted) { + context.getLoggingManager().getArtifactBuilderLogger().fileDeleted(filePath); if (isJar) { deletedJars.add(filePath); } diff --git a/jps/jps-builders/src/org/jetbrains/jps/incremental/artifacts/impl/JarsBuilder.java b/jps/jps-builders/src/org/jetbrains/jps/incremental/artifacts/impl/JarsBuilder.java index 1aa7c878c77c..e145ad3b3d6e 100644 --- a/jps/jps-builders/src/org/jetbrains/jps/incremental/artifacts/impl/JarsBuilder.java +++ b/jps/jps-builders/src/org/jetbrains/jps/incremental/artifacts/impl/JarsBuilder.java @@ -31,6 +31,7 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.jps.PathUtil; import org.jetbrains.jps.incremental.CompileContext; +import org.jetbrains.jps.incremental.artifacts.ArtifactBuilderLogger; import org.jetbrains.jps.incremental.artifacts.IncArtifactBuilder; import org.jetbrains.jps.incremental.artifacts.instructions.*; import org.jetbrains.jps.incremental.messages.BuildMessage; @@ -160,10 +161,12 @@ public class JarsBuilder { final THashSet writtenPaths = new THashSet(); for (Pair pair : jar.getPackedRoots()) { final ArtifactSourceRoot root = pair.getSecond(); + final ArtifactBuilderLogger logger = myContext.getLoggingManager().getArtifactBuilderLogger(); if (root instanceof FileBasedArtifactSourceRoot) { addFileToJar(jarOutputStream, jarFile, root.getRootFile(), pair.getFirst(), writtenPaths); } else { + logger.fileCopied(FileUtil.toSystemIndependentName(root.getRootFile().getAbsolutePath())); extractFileAndAddToJar(jarOutputStream, (JarBasedArtifactSourceRoot)root, pair.getFirst(), writtenPaths); } } @@ -184,57 +187,80 @@ public class JarsBuilder { } private static void extractFileAndAddToJar(final JarOutputStream jarOutputStream, final JarBasedArtifactSourceRoot root, - final String relativeOutputPath, final THashSet writtenPaths) + final String relativeOutputPath, final Set writtenPaths) throws IOException { final long timestamp = root.getRootFile().lastModified(); root.processEntries(new JarBasedArtifactSourceRoot.EntryProcessor() { @Override public void process(@Nullable InputStream inputStream, @NotNull String relativePath) throws IOException { String pathInJar = addParentDirectories(jarOutputStream, writtenPaths, PathUtil.appendToPath(relativeOutputPath, relativePath)); - if (!writtenPaths.add(pathInJar)) return; - if (inputStream != null) { + if (inputStream == null) { + addDirectoryEntry(jarOutputStream, pathInJar + "/", writtenPaths); + } + else if (writtenPaths.add(pathInJar)) { ZipEntry entry = new ZipEntry(pathInJar); entry.setTime(timestamp); jarOutputStream.putNextEntry(entry); FileUtil.copy(inputStream, jarOutputStream); jarOutputStream.closeEntry(); } - else { - addDirectoryEntry(jarOutputStream, pathInJar + "/"); - } } }); } private void addFileToJar(final @NotNull JarOutputStream jarOutputStream, final @NotNull File jarFile, @NotNull File file, - @NotNull String relativePath, final @NotNull THashSet writtenPaths) throws IOException { - if (!file.exists()) { + @NotNull String relativePath, final @NotNull Set writtenPaths) throws IOException { + if (!file.exists() || FileUtil.isAncestor(file, jarFile, false)) { return; } relativePath = addParentDirectories(jarOutputStream, writtenPaths, relativePath); - ZipUtil.addFileOrDirRecursively(jarOutputStream, jarFile, file, relativePath, myFileFilter, writtenPaths); + addFileOrDirRecursively(jarOutputStream, file, relativePath, writtenPaths); } - private static String addParentDirectories(JarOutputStream jarOutputStream, THashSet writtenPaths, String relativePath) throws IOException { + private void addFileOrDirRecursively(@NotNull ZipOutputStream jarOutputStream, @NotNull File file, @NotNull String relativePath, + @NotNull Set writtenItemRelativePaths) throws IOException { + if (file.isDirectory()) { + final String directoryPath = relativePath.length() == 0 ? "" : relativePath + "/"; + if (!directoryPath.isEmpty()) { + addDirectoryEntry(jarOutputStream, directoryPath, writtenItemRelativePaths); + } + final File[] children = file.listFiles(); + if (children != null) { + for (File child : children) { + addFileOrDirRecursively(jarOutputStream, child, directoryPath + child.getName(), writtenItemRelativePaths); + } + } + return; + } + + final boolean added = ZipUtil.addFileToZip(jarOutputStream, file, relativePath, writtenItemRelativePaths, myFileFilter); + if (added) { + myContext.getLoggingManager().getArtifactBuilderLogger().fileCopied(FileUtil.toSystemIndependentName(file.getAbsolutePath())); + } + } + + + private static String addParentDirectories(JarOutputStream jarOutputStream, Set writtenPaths, String relativePath) throws IOException { while (StringUtil.startsWithChar(relativePath, '/')) { relativePath = relativePath.substring(1); } int i = relativePath.indexOf('/'); while (i != -1) { String prefix = relativePath.substring(0, i+1); - if (!writtenPaths.contains(prefix) && prefix.length() > 1) { - addDirectoryEntry(jarOutputStream, prefix); - writtenPaths.add(prefix); + if (prefix.length() > 1) { + addDirectoryEntry(jarOutputStream, prefix, writtenPaths); } i = relativePath.indexOf('/', i + 1); } return relativePath; } - private static void addDirectoryEntry(final ZipOutputStream output, @NonNls final String relativePath) throws IOException { + private static void addDirectoryEntry(final ZipOutputStream output, @NonNls final String relativePath, Set writtenPaths) throws IOException { + if (!writtenPaths.add(relativePath)) return; + ZipEntry e = new ZipEntry(relativePath); e.setMethod(ZipEntry.STORED); e.setSize(0); diff --git a/jps/jps-builders/src/org/jetbrains/jps/incremental/artifacts/instructions/FileBasedArtifactSourceRoot.java b/jps/jps-builders/src/org/jetbrains/jps/incremental/artifacts/instructions/FileBasedArtifactSourceRoot.java index e07e0305c3e9..e2096693bdb0 100644 --- a/jps/jps-builders/src/org/jetbrains/jps/incremental/artifacts/instructions/FileBasedArtifactSourceRoot.java +++ b/jps/jps-builders/src/org/jetbrains/jps/incremental/artifacts/instructions/FileBasedArtifactSourceRoot.java @@ -61,6 +61,6 @@ public class FileBasedArtifactSourceRoot extends ArtifactSourceRoot { } final File targetFile = new File(FileUtil.toSystemDependentName(targetPath)); FileUtil.copyContent(file, targetFile); - outputs.add(outputPath); + outputs.add(targetPath); } } diff --git a/jps/jps-builders/src/org/jetbrains/jps/incremental/artifacts/instructions/JarDestinationInfo.java b/jps/jps-builders/src/org/jetbrains/jps/incremental/artifacts/instructions/JarDestinationInfo.java index 61553f7bd440..d4ec9465b3a2 100644 --- a/jps/jps-builders/src/org/jetbrains/jps/incremental/artifacts/instructions/JarDestinationInfo.java +++ b/jps/jps-builders/src/org/jetbrains/jps/incremental/artifacts/instructions/JarDestinationInfo.java @@ -36,7 +36,6 @@ public class JarDestinationInfo extends DestinationInfo { private static String appendPathInJar(String outputPath, String pathInJar) { LOG.assertTrue(outputPath.length() > 0 && outputPath.charAt(outputPath.length() - 1) != '/'); - LOG.assertTrue(pathInJar.length() > 0 && pathInJar.charAt(0) != '/'); return outputPath + "!/" + pathInJar; } diff --git a/jps/jps-builders/src/org/jetbrains/jps/server/ProjectDescriptor.java b/jps/jps-builders/src/org/jetbrains/jps/server/ProjectDescriptor.java index 5b86f56f2951..456f57f4964e 100644 --- a/jps/jps-builders/src/org/jetbrains/jps/server/ProjectDescriptor.java +++ b/jps/jps-builders/src/org/jetbrains/jps/server/ProjectDescriptor.java @@ -1,6 +1,7 @@ package org.jetbrains.jps.server; import org.jetbrains.jps.Project; +import org.jetbrains.jps.incremental.BuildLoggingManager; import org.jetbrains.jps.incremental.FSState; import org.jetbrains.jps.incremental.ModuleRootsIndex; import org.jetbrains.jps.incremental.storage.BuildDataManager; @@ -17,17 +18,27 @@ public final class ProjectDescriptor { public final FSState fsState; public final ProjectTimestamps timestamps; public final BuildDataManager dataManager; + private final BuildLoggingManager myLoggingManager; public ModuleRootsIndex rootsIndex; - private int myUseCounter = 1; - public ProjectDescriptor(Project project, FSState fsState, ProjectTimestamps timestamps, BuildDataManager dataManager) { + public ProjectDescriptor(Project project, + FSState fsState, + ProjectTimestamps timestamps, + BuildDataManager dataManager, + BuildLoggingManager loggingManager) { this.project = project; this.fsState = fsState; this.timestamps = timestamps; this.dataManager = dataManager; + myLoggingManager = loggingManager; this.rootsIndex = new ModuleRootsIndex(project); } + + public BuildLoggingManager getLoggingManager() { + return myLoggingManager; + } + public synchronized void incUsageCounter() { myUseCounter++; } diff --git a/jps/jps-builders/src/org/jetbrains/jps/server/ServerState.java b/jps/jps-builders/src/org/jetbrains/jps/server/ServerState.java index 40210375c592..cb344ae16820 100644 --- a/jps/jps-builders/src/org/jetbrains/jps/server/ServerState.java +++ b/jps/jps-builders/src/org/jetbrains/jps/server/ServerState.java @@ -157,7 +157,7 @@ class ServerState { msgHandler.processMessage(new CompilerMessage("compile-server", BuildMessage.Kind.INFO, "Project rebuild forced: " + e.getMessage())); } - pd = new ProjectDescriptor(project, fsState, timestamps, dataManager); + pd = new ProjectDescriptor(project, fsState, timestamps, dataManager, BuildLoggingManager.DEFAULT); myProjects.put(projectPath, pd); } pd.incUsageCounter(); diff --git a/jps/jps-builders/testSrc/org/jetbrains/ether/IncrementalTestCase.java b/jps/jps-builders/testSrc/org/jetbrains/ether/IncrementalTestCase.java index bbd7eb697a46..3aa91554f3a8 100644 --- a/jps/jps-builders/testSrc/org/jetbrains/ether/IncrementalTestCase.java +++ b/jps/jps-builders/testSrc/org/jetbrains/ether/IncrementalTestCase.java @@ -320,7 +320,8 @@ public abstract class IncrementalTestCase extends TestCase { final File dataStorageRoot = Paths.getDataStorageRoot(project); final ProjectDescriptor projectDescriptor = - new ProjectDescriptor(project, new FSState(true), new ProjectTimestamps(dataStorageRoot), new BuildDataManager(dataStorageRoot, true)); + new ProjectDescriptor(project, new FSState(true), new ProjectTimestamps(dataStorageRoot), + new BuildDataManager(dataStorageRoot, true), BuildLoggingManager.DEFAULT); try { new IncProjectBuilder( diff --git a/jps/jps-builders/testSrc/org/jetbrains/jps/incremental/artifacts/ArtifactBuilderTest.java b/jps/jps-builders/testSrc/org/jetbrains/jps/incremental/artifacts/ArtifactBuilderTest.java new file mode 100644 index 000000000000..afaa4de9d6ff --- /dev/null +++ b/jps/jps-builders/testSrc/org/jetbrains/jps/incremental/artifacts/ArtifactBuilderTest.java @@ -0,0 +1,321 @@ +package org.jetbrains.jps.incremental.artifacts; + +import com.intellij.openapi.util.io.FileUtil; +import com.intellij.util.PathUtil; +import org.jetbrains.jps.Library; +import org.jetbrains.jps.Module; +import org.jetbrains.jps.artifacts.Artifact; + +import java.io.File; +import java.io.IOException; +import java.util.Enumeration; +import java.util.jar.JarEntry; +import java.util.jar.JarFile; + +import static com.intellij.util.io.TestFileSystemBuilder.fs; +import static org.jetbrains.jps.incremental.artifacts.LayoutElementTestUtil.archive; +import static org.jetbrains.jps.incremental.artifacts.LayoutElementTestUtil.root; + +/** + * @author nik + */ +public class ArtifactBuilderTest extends ArtifactBuilderTestCase { + public void testFileCopy() { + final Artifact a = addArtifact(root().fileCopy(createFile("file.txt", "foo"))); + buildAll(); + assertOutput(a, fs().file("file.txt", "foo")); + } + + public void testDir() { + final Artifact a = addArtifact( + root() + .fileCopy(createFile("abc.txt")) + .dir("dir") + .fileCopy(createFile("xxx.txt", "bar")) + ); + buildAll(); + assertOutput(a, fs() + .file("abc.txt") + .dir("dir") + .file("xxx.txt", "bar") + ); + } + + public void testArchive() { + final Artifact a = addArtifact( + root() + .archive("xxx.zip") + .fileCopy(createFile("X.class", "data")) + .dir("dir") + .fileCopy(createFile("Y.class")) + ); + buildAll(); + assertOutput(a, fs() + .archive("xxx.zip") + .file("X.class", "data") + .dir("dir") + .file("Y.class") + ); + } + + public void testTwoDirsInArchive() { + final String dir1 = PathUtil.getParentPath(PathUtil.getParentPath(createFile("dir1/a/x.txt"))); + final String dir2 = PathUtil.getParentPath(PathUtil.getParentPath(createFile("dir2/a/y.txt"))); + final Artifact a = addArtifact( + root() + .archive("a.jar") + .dirCopy(dir1) + .dirCopy(dir2) + .dir("a").fileCopy(createFile("z.txt")) + ); + buildAll(); + assertOutput(a, fs() + .archive("a.jar") + .dir("a") + .file("x.txt") + .file("y.txt") + .file("z.txt") + ); + } + + public void testArchiveInArchive() { + final Artifact a = addArtifact( + root() + .archive("a.jar") + .archive("b.jar") + .fileCopy(createFile("xxx.txt", "foo")) + ); + buildAll(); + assertOutput(a, fs() + .archive("a.jar") + .archive("b.jar") + .file("xxx.txt", "foo") + ); + } + + public void testIncludedArtifact() { + final Artifact included = addArtifact("included", + root() + .fileCopy(createFile("aaa.txt"))); + final Artifact a = addArtifact( + root() + .dir("dir") + .artifact(included) + .end() + .fileCopy(createFile("bbb.txt")) + ); + buildAll(); + + assertOutput(included, fs().file("aaa.txt")); + assertOutput(a, fs() + .dir("dir") + .file("aaa.txt") + .end() + .file("bbb.txt") + ); + } + + public void testMergeDirectories() { + final Artifact included = addArtifact("included", + root().dir("dir").fileCopy(createFile("aaa.class"))); + final Artifact a = addArtifact( + root() + .artifact(included) + .dir("dir") + .fileCopy(createFile("bbb.class"))); + buildAll(); + assertOutput(a, fs() + .dir("dir") + .file("aaa.class") + .file("bbb.class") + ); + } + + public void testOverwriteArchives() { + final Artifact included = addArtifact("included", + root().archive("x.jar").fileCopy(createFile("aaa.class"))); + final Artifact a = addArtifact( + root() + .artifact(included) + .archive("x.jar") + .fileCopy(createFile("bbb.class"))); + buildAll(); + assertOutput(a, fs() + .archive("x.jar") + .file("aaa.class") + ); + } + + public void testOverwriteNestedArchive() { + final Artifact included = addArtifact("included", root().archive("a.jar").archive("b.jar").fileCopy(createFile("c.class"))); + final Artifact a = addArtifact( + root() + .artifact(included) + .archive("a.jar").archive("d.jar").fileCopy(createFile("e.class"))); + buildAll(); + assertOutput(a, fs().archive("a.jar").archive("b.jar").file("c.class")); + } + + public void testOverwriteFileByArchive() { + final Library library = addProjectLibrary("lib", getJUnitJarPath()); + Artifact included = addArtifact("included", root().archive("junit.jar").fileCopy(createFile("x.class"))); + Artifact a = addArtifact(root() + .artifact(included) + .lib(library)); + buildAll(); + assertOutput(a, fs().archive("junit.jar").file("x.class")); + } + + //todo[nik] fix ordering + public void _testOverwriteArchiveByFile() { + Artifact included = addArtifact("included", root().archive("jdom.jar").fileCopy(createFile("x.class"))); + Artifact a = addArtifact(root() + .fileCopy(createFile("jdom.jar", "123")) + .artifact(included)); + buildAll(); + assertOutput(a, fs().file("jdom.jar", "123")); + } + + public void testCopyLibrary() { + final Library library = addProjectLibrary("lib", getJUnitJarPath()); + final Artifact a = addArtifact(root().lib(library)); + buildAll(); + assertOutput(a, fs().file("junit.jar")); + } + + //todo[nik] fix ordering + public void _testFileOrder() { + final Artifact a1 = addArtifact("included1", + root().dir("ddd").fileCopy(createFile("d1/xxx.txt", "first"))); + final Artifact a2 = addArtifact("included2", + root().dir("ddd").fileCopy(createFile("d2/xxx.txt", "second"))); + final Artifact a = addArtifact( + root() + .artifact(a1) + .dir("ddd") + .fileCopy(createFile("d3/xxx.txt", "foo")) + .end() + .artifact(a2) + ); + buildAll(); + assertOutput(a, fs().dir("ddd").file("xxx.txt", "first")); + } + + public void testModuleOutput() { + final String file = createFile("src/A.java", "public class A {}"); + final Module module = addModule("a", PathUtil.getParentPath(file)); + final Artifact artifact = addArtifact(root().module(module)); + + buildArtifacts(artifact); + assertOutput(artifact, fs().file("A.class")); + } + + //todo[nik] support ignored names + public void _testIgnoredFile() { + final String file = createFile("a/.svn/a.txt"); + createFile("a/svn/b.txt"); + final Artifact a = addArtifact(root().dirCopy(PathUtil.getParentPath(PathUtil.getParentPath(file)))); + buildAll(); + assertOutput(a, fs().dir("svn").file("b.txt")); + } + + //todo[nik] support ignored names + public void _testCopyExcludedFolder() { + //explicitly added excluded files should be copied (e.g. compile output) + final String file = createFile("xxx/excluded/a.txt"); + createFile("xxx/excluded/CVS"); + final String excluded = PathUtil.getParentPath(file); + final String dir = PathUtil.getParentPath(excluded); + + final Module module = addModule("myModule", null); + module.getContentRoots().add(dir); + module.getExcludes().add(excluded); + + final Artifact a = addArtifact(root().dirCopy(excluded)); + buildAll(); + assertOutput(a, fs().file("a.txt")); + } + + //todo[nik] support ignored names + public void _testCopyExcludedFile() { + //excluded files under non-excluded directory should not be copied + final String file = createFile("xxx/excluded/a.txt"); + createFile("xxx/b.txt"); + createFile("xxx/CVS"); + final String dir = PathUtil.getParentPath(PathUtil.getParentPath(file)); + + Module module = addModule("myModule", null); + module.getContentRoots().add(dir); + module.getExcludes().add(PathUtil.getParentPath(file)); + + final Artifact a = addArtifact(root().dirCopy(dir)); + buildAll(); + assertOutput(a, fs().file("b.txt")); + } + + public void testExtractDirectory() { + final Artifact a = addArtifact("a", root().dir("dir").extractedDir(getJUnitJarPath(), "/junit/textui/")); + buildAll(); + assertOutput(a, fs().dir("dir") + .file("ResultPrinter.class") + .file("TestRunner.class")); + } + + public void testPackExtractedDirectory() { + final Artifact a = addArtifact("a", root().archive("a.jar").extractedDir(getJUnitJarPath(), "/junit/textui/")); + buildAll(); + assertOutput(a, fs().archive("a.jar") + .file("ResultPrinter.class") + .file("TestRunner.class")); + } + + public void testSelfIncludingArtifact() { + final Artifact a = addArtifact("a", root()); + LayoutElementTestUtil.addArtifactToLayout(a, a); + assertBuildFailed(a); + } + + public void testCircularInclusion() { + final Artifact a = addArtifact("a", root()); + final Artifact b = addArtifact("b", root()); + LayoutElementTestUtil.addArtifactToLayout(a, b); + LayoutElementTestUtil.addArtifactToLayout(b, a); + assertBuildFailed(a); + assertBuildFailed(b); + } + + public void testArtifactContainingSelfIncludingArtifact() { + Artifact c = addArtifact("c", root()); + final Artifact a = addArtifact("a", root().artifact(c)); + LayoutElementTestUtil.addArtifactToLayout(a, a); + final Artifact b = addArtifact("b", root().artifact(a)); + + buildArtifacts(c); + assertBuildFailed(b); + assertBuildFailed(a); + } + + //todo[nik] + //IDEA-73893 + public void _testManifestFileIsFirstEntry() throws IOException { + final String firstFile = createFile("src/A.txt"); + final String manifestFile = createFile("src/MANIFEST.MF"); + final String lastFile = createFile("src/Z.txt"); + final Artifact a = addArtifact(archive("a.jar").dir("META-INF") + .fileCopy(firstFile).fileCopy(manifestFile).fileCopy(lastFile)); + buildArtifacts(a); + final String jarPath = a.getOutputPath() + "/a.jar"; + assertNotNull(jarPath); + JarFile jarFile = new JarFile(new File(FileUtil.toSystemDependentName(jarPath))); + try { + final Enumeration entries = jarFile.entries(); + assertTrue(entries.hasMoreElements()); + final JarEntry firstEntry = entries.nextElement(); + assertEquals(JarFile.MANIFEST_NAME, firstEntry.getName()); + } + finally { + jarFile.close(); + } + } + +} diff --git a/jps/jps-builders/testSrc/org/jetbrains/jps/incremental/artifacts/ArtifactBuilderTestCase.java b/jps/jps-builders/testSrc/org/jetbrains/jps/incremental/artifacts/ArtifactBuilderTestCase.java new file mode 100644 index 000000000000..36916eda7fe9 --- /dev/null +++ b/jps/jps-builders/testSrc/org/jetbrains/jps/incremental/artifacts/ArtifactBuilderTestCase.java @@ -0,0 +1,291 @@ +/* + * Copyright 2000-2012 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.jetbrains.jps.incremental.artifacts; + +import com.intellij.openapi.application.PathManager; +import com.intellij.openapi.util.Ref; +import com.intellij.openapi.util.io.FileUtil; +import com.intellij.testFramework.UsefulTestCase; +import com.intellij.util.io.TestFileSystemBuilder; +import com.intellij.util.text.UniqueNameGenerator; +import groovy.lang.Closure; +import org.jetbrains.annotations.Nullable; +import org.jetbrains.jps.Library; +import org.jetbrains.jps.Module; +import org.jetbrains.jps.Project; +import org.jetbrains.jps.api.CanceledStatus; +import org.jetbrains.jps.artifacts.Artifact; +import org.jetbrains.jps.incremental.*; +import org.jetbrains.jps.incremental.messages.BuildMessage; +import org.jetbrains.jps.incremental.storage.BuildDataManager; +import org.jetbrains.jps.incremental.storage.ProjectTimestamps; +import org.jetbrains.jps.server.ProjectDescriptor; + +import java.io.File; +import java.io.IOException; +import java.util.*; + +import static com.intellij.util.io.TestFileSystemItem.fs; + +/** + * @author nik + */ +public abstract class ArtifactBuilderTestCase extends UsefulTestCase { + private ProjectDescriptor myDescriptor; + private Project myProject; + private File myProjectDir; + private TestArtifactBuilderLogger myArtifactBuilderLogger; + + protected void setUp() throws Exception { + super.setUp(); + myProject = new Project(); + myProject.setProjectName(getProjectName()); + final File serverRoot = FileUtil.createTempDirectory("compile-server", null); + Paths.getInstance().setSystemRoot(serverRoot); + myArtifactBuilderLogger = new TestArtifactBuilderLogger(); + } + + @Override + protected void tearDown() throws Exception { + for (Artifact artifact : myProject.getArtifacts().values()) { + FileUtil.delete(new File(FileUtil.toSystemDependentName(artifact.getOutputPath()))); + } + myDescriptor.release(); + myProjectDir = null; + super.tearDown(); + } + + protected String createFile(String relativePath) { + return createFile(relativePath, ""); + } + + protected String createFile(String relativePath, final String text) { + try { + File file = new File(getOrCreateProjectDir(), relativePath); + FileUtil.writeToFile(file, text); + return FileUtil.toSystemIndependentName(file.getAbsolutePath()); + } + catch (IOException e) { + throw new RuntimeException(e); + } + } + + protected Artifact addArtifact(LayoutElementTestUtil.LayoutElementCreator root) { + final String name = UniqueNameGenerator.generateUniqueName("a", myProject.getArtifacts().keySet()); + return addArtifact(name, root); + } + + private File getOrCreateProjectDir() { + if (myProjectDir == null) { + try { + myProjectDir = FileUtil.createTempDirectory("prj", null); + } + catch (IOException e) { + throw new RuntimeException(e); + } + } + return myProjectDir; + } + + protected Artifact addArtifact(String name, LayoutElementTestUtil.LayoutElementCreator root) { + assertFalse("Artifact " + name + " already exists", myProject.getArtifacts().containsKey(name)); + Artifact artifact = new Artifact(); + artifact.setName(name); + artifact.setRootElement(root.buildElement()); + + artifact.setOutputPath(FileUtil.toSystemIndependentName(new File(getOrCreateProjectDir(), "out/artifacts/" + name).getAbsolutePath())); + myProject.getArtifacts().put(name, artifact); + return artifact; + } + + protected Module addModule(String moduleName, @Nullable String srcPath) { + final Module module = myProject.createModule(moduleName, Closure.IDENTITY); + module.forceInit(); + if (srcPath != null) { + module.getContentRoots().add(srcPath); + module.getSourceRoots().add(srcPath); + module.setOutputPath("out/production/" + moduleName); + } + return module; + } + + protected Library addProjectLibrary(String name, String jarPath) { + final Library library = myProject.createLibrary(name, Closure.IDENTITY); + library.forceInit(); + library.getClasspath().add(jarPath); + return library; + } + + protected void buildAll() { + Collection artifacts = myProject.getArtifacts().values(); + buildArtifacts(artifacts.toArray(new Artifact[artifacts.size()])); + } + + protected void buildArtifacts(Artifact... artifact) { + doBuild(false, false, artifact); + } + + private ProjectDescriptor createProjectDescriptor() { + try { + final File dataStorageRoot = Paths.getDataStorageRoot(myProject); + ProjectTimestamps timestamps = new ProjectTimestamps(dataStorageRoot); + BuildDataManager dataManager = new BuildDataManager(dataStorageRoot, true); + return new ProjectDescriptor(myProject, new FSState(true), timestamps, dataManager, new BuildLoggingManager(myArtifactBuilderLogger)); + } + catch (IOException e) { + throw new RuntimeException(e); + } + } + + private String getProjectName() { + return getTestName(true); + } + + private void doBuild(boolean force, final boolean shouldFail, Artifact... artifacts) { + if (myDescriptor == null) { + myDescriptor = createProjectDescriptor(); + myDescriptor.incUsageCounter(); + } + myArtifactBuilderLogger.clear(); + IncProjectBuilder builder = new IncProjectBuilder(myDescriptor, BuilderRegistry.getInstance(), Collections.emptyMap(), CanceledStatus.NULL); + final Ref errorMessage = Ref.create(null); + builder.addMessageHandler(new MessageHandler() { + @Override + public void processMessage(BuildMessage msg) { + if (msg.getKind() == BuildMessage.Kind.ERROR && errorMessage.isNull()) { + errorMessage.set(msg); + } + } + }); + builder.build(new AllProjectScope(myDescriptor.project, new HashSet(Arrays.asList(artifacts)), force), !force, false); + if (shouldFail) { + assertFalse("Build not failed as expected", errorMessage.isNull()); + } + else { + assertNull("Build failed: " + errorMessage.get(), errorMessage.get()); + } + } + + protected static String getJUnitJarPath() { + final File file = PathManager.findFileInLibDirectory("junit.jar"); + assertTrue("File " + file.getAbsolutePath() + " doesn't exist", file.exists()); + return FileUtil.toSystemIndependentName(file.getAbsolutePath()); + } + + protected static void assertEmptyOutput(Artifact a1) { + assertOutput(a1, fs()); + } + + protected void assertBuildFailed(Artifact a) { + doBuild(false, true, a); + } + + protected static void change(String filePath) { + change(filePath, null); + } + + protected static void change(String filePath, final @Nullable String newContent) { + try { + File file = new File(FileUtil.toSystemDependentName(filePath)); + assertTrue("File " + file.getAbsolutePath() + " doesn't exist", file.exists()); + if (newContent != null) { + FileUtil.writeToFile(file, newContent); + } + boolean updated = file.setLastModified(file.lastModified() + 1000); + assertTrue("Cannot modify timestamp for " + file.getAbsolutePath(), updated); + } + catch (IOException e) { + throw new RuntimeException(e); + } + } + + protected static void delete(String filePath) { + File file = new File(FileUtil.toSystemDependentName(filePath)); + assertTrue("File " + file.getAbsolutePath() + " doesn't exist", file.exists()); + final boolean deleted = FileUtil.delete(file); + assertTrue("Cannot delete file " + file.getAbsolutePath(), deleted); + } + + protected void assertCopied(String... filePaths) { + assertSameElements(myArtifactBuilderLogger.myCopiedFilePaths, filePaths); + assertEmpty(myArtifactBuilderLogger.myDeletedFilePaths); + } + + protected void assertDeletedAndCopied(String deletedPath, String... copiedPaths) { + assertSameElements(myArtifactBuilderLogger.myDeletedFilePaths, deletedPath); + assertSameElements(myArtifactBuilderLogger.myCopiedFilePaths, copiedPaths); + } + + protected static void assertOutput(Artifact a, TestFileSystemBuilder expected) { + expected.build().assertDirectoryEqual(new File(FileUtil.toSystemDependentName(a.getOutputPath()))); + } + + protected void assertDeleted(String... filePaths) { + assertSameElements(myArtifactBuilderLogger.myDeletedFilePaths, filePaths); + assertEmpty(myArtifactBuilderLogger.myCopiedFilePaths); + } + + protected void buildAllAndAssertUpToDate() { + buildAll(); + assertUpToDate(); + } + + protected void assertUpToDate() { + assertCopied(); + } + + private String getProjectRelativePath(String path) { + assertNotNull(myProjectDir); + final String projectDir = FileUtil.toSystemIndependentName(myProjectDir.getAbsolutePath()); + return FileUtil.getRelativePath(projectDir, path, '/'); + } + + protected static void rename(String path, String newName) { + try { + File file = new File(FileUtil.toSystemDependentName(path)); + assertTrue("File " + file.getAbsolutePath() + " doesn't exist", file.exists()); + FileUtil.rename(file, new File(file.getParentFile(), newName)); + } + catch (IOException e) { + throw new RuntimeException(e); + } + } + + private class TestArtifactBuilderLogger implements ArtifactBuilderLogger { + private Set myCopiedFilePaths = new LinkedHashSet(); + private Set myDeletedFilePaths = new LinkedHashSet(); + + @Override + public void fileCopied(String sourceFilePath) { + myCopiedFilePaths.add(getProjectRelativePath(sourceFilePath)); + } + + @Override + public void fileDeleted(String targetFilePath) { + myDeletedFilePaths.add(getProjectRelativePath(targetFilePath)); + } + + @Override + public boolean isEnabled() { + return true; + } + + public void clear() { + myCopiedFilePaths.clear(); + myDeletedFilePaths.clear(); + } + } +} diff --git a/jps/jps-builders/testSrc/org/jetbrains/jps/incremental/artifacts/IncrementalArtifactBuildingTest.java b/jps/jps-builders/testSrc/org/jetbrains/jps/incremental/artifacts/IncrementalArtifactBuildingTest.java new file mode 100644 index 000000000000..3b2af9f18b8a --- /dev/null +++ b/jps/jps-builders/testSrc/org/jetbrains/jps/incremental/artifacts/IncrementalArtifactBuildingTest.java @@ -0,0 +1,182 @@ +/* + * Copyright 2000-2012 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.jetbrains.jps.incremental.artifacts; + +import com.intellij.util.PathUtil; +import org.jetbrains.jps.artifacts.Artifact; + +import static com.intellij.util.io.TestFileSystemItem.fs; +import static org.jetbrains.jps.incremental.artifacts.LayoutElementTestUtil.archive; +import static org.jetbrains.jps.incremental.artifacts.LayoutElementTestUtil.root; + +/** + * @author nik + */ +public class IncrementalArtifactBuildingTest extends ArtifactBuilderTestCase { + public void testCopyChangedFile() { + String file1 = createFile("a.txt", "aaa"); + String file2 = createFile("b.txt", "bbb"); + final Artifact a = addArtifact(root().fileCopy(file1).fileCopy(file2)); + buildAll(); + assertOutput(a, fs().file("a.txt", "aaa").file("b.txt", "bbb")); + + buildAllAndAssertUpToDate(); + + change(file1, "xxx"); + buildAll(); + assertCopied("a.txt"); + assertOutput(a, fs().file("a.txt", "xxx").file("b.txt", "bbb")); + buildAllAndAssertUpToDate(); + } + + public void testRemoveDeletedFile() { + String file1 = createFile("a.txt"); + String file2 = createFile("b.txt"); + final Artifact a = addArtifact("a", root().fileCopy(file1).fileCopy(file2)); + buildAll(); + assertOutput(a, fs().file("a.txt").file("b.txt")); + + delete(file1); + buildAll(); + assertDeleted("out/artifacts/a/a.txt"); + assertOutput(a, fs().file("b.txt")); + buildAllAndAssertUpToDate(); + } + + public void testPackChangedFile() { + String file1 = createFile("a.txt", "aaa"); + String file2 = createFile("b.txt", "bbb"); + final Artifact a = addArtifact(archive("a.jar").fileCopy(file1).fileCopy(file2)); + buildAll(); + assertOutput(a, fs().archive("a.jar").file("a.txt", "aaa").file("b.txt", "bbb")); + buildAllAndAssertUpToDate(); + + change(file1, "xxx"); + buildAll(); + assertCopied("a.txt", "b.txt"); + assertOutput(a, fs().archive("a.jar").file("a.txt", "xxx").file("b.txt", "bbb")); + buildAllAndAssertUpToDate(); + } + + public void testRemoveDeletedFileFromArchive() { + String file1 = createFile("a.txt"); + String file2 = createFile("b.txt"); + final Artifact a = addArtifact("a", archive("a.jar").fileCopy(file1).fileCopy(file2)); + buildAll(); + assertOutput(a, fs().archive("a.jar").file("a.txt").file("b.txt")); + + delete(file1); + buildAll(); + assertDeletedAndCopied("out/artifacts/a/a.jar", "b.txt"); + assertOutput(a, fs().archive("a.jar").file("b.txt")); + buildAllAndAssertUpToDate(); + } + + public void testOneFileInTwoArtifacts() { + final String file = createFile("file.txt"); + final Artifact a1 = addArtifact("a1", root().dir("dir").fileCopy(file)); + final Artifact a2 = addArtifact("a2", root().dir("dir2").fileCopy(file)); + + buildAll(); + buildArtifacts(a1); assertUpToDate(); + buildArtifacts(a2); assertUpToDate(); + buildAllAndAssertUpToDate(); + + change(file); + buildArtifacts(a1); assertCopied("file.txt"); + buildArtifacts(a1); assertUpToDate(); + buildArtifacts(a2); assertCopied("file.txt"); + buildArtifacts(a2); assertUpToDate(); + buildArtifacts(a1); assertUpToDate(); + buildAllAndAssertUpToDate(); + } + + //IDEADEV-40714 + public void testOverwriteFileInArchive() { + final String file1 = createFile("a/a.txt", "a"); + final String file2 = createFile("b/a.txt", "b"); + addArtifact(root() + .archive("x.jar") + .fileCopy(file1) + .fileCopy(file2)); + buildAll(); + change(file1); + buildAll(); + assertCopied("a/a.txt"); + } + + public void testRenameFile() throws Exception { + final String file = createFile("a/a.txt"); + final Artifact a = addArtifact(root().dirCopy(PathUtil.getParentPath(file))); + buildAll(); + + assertOutput(a, fs().file("a.txt")); + rename(file, "b.txt"); + buildAll(); + assertOutput(a, fs().file("b.txt")); + } + + //IDEADEV-25840 + public void testUpdateFileIfCaseOfLetterInNameChanged() throws Exception { + final String file = createFile("a/a.txt"); + final Artifact a = addArtifact("a", root().dirCopy(PathUtil.getParentPath(file))); + buildAll(); + + assertOutput(a, fs().file("a.txt")); + rename(file, "A.txt"); + buildAll(); + assertOutput(a, fs().file("A.txt")); + } + + //IDEADEV-41556 + public void testDeleteFilesFromSelectedArtifactsOnly() throws Exception { + final String file = createFile("a/a.txt"); + final Artifact a1 = addArtifact("a1", root().dirCopy(PathUtil.getParentPath(file))); + final Artifact a2 = addArtifact("a2", root().dirCopy(PathUtil.getParentPath(file))); + + buildAll(); + assertOutput(a1, fs().file("a.txt")); + assertOutput(a2, fs().file("a.txt")); + + delete(file); + buildArtifacts(a1); assertDeleted("out/artifacts/a1/a.txt"); + assertEmptyOutput(a1); + assertOutput(a2, fs().file("a.txt")); + + buildArtifacts(a2); assertDeleted("out/artifacts/a2/a.txt"); + assertEmptyOutput(a1); + assertEmptyOutput(a2); + } + + //IDEA-51910 + public void testTwoArtifactsWithSameOutput() throws Exception { + final String res1 = PathUtil.getParentPath(createFile("res1/a.txt", "1")); + final String res2 = PathUtil.getParentPath(createFile("res2/a.txt", "2")); + final Artifact a1 = addArtifact("a1", root().dirCopy(res1)); + final Artifact a2 = addArtifact("a2", root().dirCopy(res2)); + a2.setOutputPath(a1.getOutputPath()); + assertEquals(a1.getOutputPath(), a2.getOutputPath()); + + buildArtifacts(a1); + assertOutput(a1, fs().file("a.txt", "1")); + assertOutput(a2, fs().file("a.txt", "1")); + buildArtifacts(a1); assertUpToDate(); + + buildArtifacts(a2); + assertOutput(a2, fs().file("a.txt", "2")); + } + +} diff --git a/jps/jps-builders/testSrc/org/jetbrains/jps/incremental/artifacts/LayoutElementTestUtil.java b/jps/jps-builders/testSrc/org/jetbrains/jps/incremental/artifacts/LayoutElementTestUtil.java new file mode 100644 index 000000000000..70b1fb7563c9 --- /dev/null +++ b/jps/jps-builders/testSrc/org/jetbrains/jps/incremental/artifacts/LayoutElementTestUtil.java @@ -0,0 +1,119 @@ +/* + * Copyright 2000-2012 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.jetbrains.jps.incremental.artifacts; + +import org.jetbrains.annotations.Nullable; +import org.jetbrains.jps.Library; +import org.jetbrains.jps.Module; +import org.jetbrains.jps.artifacts.*; + +import java.util.Collections; + +/** + * @author nik + */ +public class LayoutElementTestUtil { + public static LayoutElementCreator root() { + return new LayoutElementCreator(new RootElement(Collections.emptyList()), null); + } + + public static LayoutElementCreator archive(String name) { + return new LayoutElementCreator(new ArchiveElement(name, Collections.emptyList()), null); + } + + public static void addArtifactToLayout(Artifact main, Artifact included) { + final ArtifactLayoutElement element = new ArtifactLayoutElement(); + element.setArtifactName(included.getName()); + ((CompositeLayoutElement)main.getRootElement()).getChildren().add(element); + } + + public static class LayoutElementCreator { + private CompositeLayoutElement myElement; + private LayoutElementCreator myParent; + + public LayoutElementCreator(CompositeLayoutElement element, LayoutElementCreator parent) { + myElement = element; + myParent = parent; + } + + public LayoutElementCreator dir(String name) { + DirectoryElement dir = new DirectoryElement(name, Collections.emptyList()); + myElement.getChildren().add(dir); + return new LayoutElementCreator(dir, this); + } + + public LayoutElementCreator archive(String name) { + ArchiveElement archive = new ArchiveElement(name, Collections.emptyList()); + myElement.getChildren().add(archive); + return new LayoutElementCreator(archive, this); + } + + public LayoutElementCreator fileCopy(String filePath) { + return fileCopy(filePath, null); + } + + public LayoutElementCreator fileCopy(String filePath, @Nullable String outputFileName) { + myElement.getChildren().add(new FileCopyElement(filePath, outputFileName)); + return this; + } + + public LayoutElementCreator dirCopy(String dirPath) { + myElement.getChildren().add(new DirectoryCopyElement(dirPath)); + return this; + } + + public LayoutElementCreator module(Module module) { + final ModuleOutputElement element = new ModuleOutputElement(); + element.setModuleName(module.getName()); + myElement.getChildren().add(element); + return this; + } + + public LayoutElementCreator lib(Library library) { + final LibraryFilesElement element = new LibraryFilesElement(); + element.setLibraryName(library.getName()); + element.setLibraryLevel(LibraryFilesElement.PROJECT_LEVEL); + myElement.getChildren().add(element); + return this; + } + + public LayoutElementCreator extractedDir(String jarPath, String pathInJar) { + ExtractedDirectoryElement dir = new ExtractedDirectoryElement(); + dir.setJarPath(jarPath); + dir.setPathInJar(pathInJar); + myElement.getChildren().add(dir); + return this; + } + + public LayoutElementCreator artifact(Artifact included) { + final ArtifactLayoutElement element = new ArtifactLayoutElement(); + element.setArtifactName(included.getName()); + myElement.getChildren().add(element); + return this; + } + + public LayoutElementCreator end() { + return myParent; + } + + public CompositeLayoutElement buildElement() { + if (myParent != null) { + return myParent.buildElement(); + } + return myElement; + } + } +} diff --git a/jps/model/src/org/jetbrains/jps/artifacts/ComplexLayoutElement.groovy b/jps/model/src/org/jetbrains/jps/artifacts/ComplexLayoutElement.groovy index 2404c7b889f4..a609540e3745 100644 --- a/jps/model/src/org/jetbrains/jps/artifacts/ComplexLayoutElement.groovy +++ b/jps/model/src/org/jetbrains/jps/artifacts/ComplexLayoutElement.groovy @@ -18,6 +18,7 @@ abstract class ComplexLayoutElement extends LayoutElement { } class LibraryFilesElement extends ComplexLayoutElement { + public static final String PROJECT_LEVEL = "project" String moduleName String libraryName String libraryLevel @@ -25,7 +26,7 @@ class LibraryFilesElement extends ComplexLayoutElement { List getSubstitution(Project project) { Library library switch (libraryLevel) { - case "project": + case PROJECT_LEVEL: library = project.libraries[libraryName] break case "module": diff --git a/jps/model/src/org/jetbrains/jps/artifacts/LayoutElement.groovy b/jps/model/src/org/jetbrains/jps/artifacts/LayoutElement.groovy index 48215c4582a1..6efeee99ef7a 100644 --- a/jps/model/src/org/jetbrains/jps/artifacts/LayoutElement.groovy +++ b/jps/model/src/org/jetbrains/jps/artifacts/LayoutElement.groovy @@ -14,9 +14,24 @@ abstract class LayoutElement { class FileCopyElement extends LayoutElement { String filePath String outputFileName + + FileCopyElement() { + } + + FileCopyElement(String filePath, String outputFileName) { + this.filePath = filePath + this.outputFileName = outputFileName + } } class DirectoryCopyElement extends LayoutElement { + DirectoryCopyElement() { + } + + DirectoryCopyElement(String dirPath) { + this.dirPath = dirPath + } + String dirPath } diff --git a/platform/testFramework/src/com/intellij/util/io/TestFileSystemBuilder.java b/platform/testFramework/src/com/intellij/util/io/TestFileSystemBuilder.java new file mode 100644 index 000000000000..da7dc5cfa162 --- /dev/null +++ b/platform/testFramework/src/com/intellij/util/io/TestFileSystemBuilder.java @@ -0,0 +1,52 @@ +package com.intellij.util.io; + +/** + * @author nik + */ +public class TestFileSystemBuilder { + private final TestFileSystemItem myItem; + private final TestFileSystemBuilder myParent; + + private TestFileSystemBuilder(TestFileSystemItem item, TestFileSystemBuilder parent) { + myItem = item; + myParent = parent; + } + + public TestFileSystemItem build() { + TestFileSystemBuilder builder = this; + while (builder.myParent != null) { + builder = builder.myParent; + } + return builder.myItem; + } + + public TestFileSystemBuilder dir(String name) { + final TestFileSystemItem item = new TestFileSystemItem(name, false, true); + myItem.addChild(item); + return new TestFileSystemBuilder(item, this); + } + + public TestFileSystemBuilder archive(String name) { + final TestFileSystemItem item = new TestFileSystemItem(name, true, false); + myItem.addChild(item); + return new TestFileSystemBuilder(item, this); + } + + public TestFileSystemBuilder file(String name) { + myItem.addChild(new TestFileSystemItem(name, false, false)); + return this; + } + + public TestFileSystemBuilder file(String name, String content) { + myItem.addChild(new TestFileSystemItem(name, false, false, content)); + return this; + } + + public TestFileSystemBuilder end() { + return myParent; + } + + public static TestFileSystemBuilder fs() { + return new TestFileSystemBuilder(new TestFileSystemItem("root", false, true), null); + } +} diff --git a/platform/testFramework/src/com/intellij/util/io/TestFileSystemItem.java b/platform/testFramework/src/com/intellij/util/io/TestFileSystemItem.java new file mode 100644 index 000000000000..852dc08c2547 --- /dev/null +++ b/platform/testFramework/src/com/intellij/util/io/TestFileSystemItem.java @@ -0,0 +1,85 @@ +package com.intellij.util.io; + +import com.intellij.openapi.util.io.FileUtil; +import junit.framework.Assert; +import org.jetbrains.annotations.Nullable; + +import java.io.File; +import java.io.IOException; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; + +/** + * @author nik + */ +public class TestFileSystemItem { + private final boolean myDirectory; + private final boolean myArchive; + private final String myName; + @Nullable private final String myContent; + private final Map myChildren = new HashMap(); + + TestFileSystemItem(String name, boolean archive, boolean directory, @Nullable String content) { + myDirectory = directory; + myArchive = archive; + myName = name; + myContent = content; + } + + TestFileSystemItem(String name, boolean archive, boolean directory) { + this(name, archive, directory, null); + } + + void addChild(TestFileSystemItem item) { + Assert.assertFalse(item.myName + " already added", myChildren.containsKey(item.myName)); + myChildren.put(item.myName, item); + } + + public void assertDirectoryEqual(final File file) { + assertDirectoryEqual(file, "/"); + } + + private void assertDirectoryEqual(File file, String relativePath) { + final File[] actualChildren = file.listFiles(); + Set notFound = new HashSet(myChildren.keySet()); + if (actualChildren != null) { + for (File child : actualChildren) { + final String name = child.getName(); + final TestFileSystemItem item = myChildren.get(name); + Assert.assertNotNull("unexpected file: " + relativePath + name, item); + item.assertFileEqual(child, relativePath + name + "/"); + notFound.remove(name); + } + } + Assert.assertTrue("files " + notFound.toString() + " not found in " + relativePath, notFound.isEmpty()); + } + + private void assertFileEqual(File file, String relativePath) { + try { + Assert.assertEquals("in " + relativePath, myName, file.getName()); + if (myArchive) { + final File dirForExtracted = FileUtil.createTempDirectory("extracted_archive", null); + ZipUtil.extract(file, dirForExtracted, null); + assertDirectoryEqual(dirForExtracted, relativePath); + FileUtil.delete(dirForExtracted); + } + else if (myDirectory) { + Assert.assertTrue(relativePath + file.getName() + " is not a directory", file.isDirectory()); + assertDirectoryEqual(file, relativePath); + } + else if (myContent != null) { + final String content = FileUtil.loadFile(file); + Assert.assertEquals("content mismatch for " + relativePath, myContent, content); + } + } + catch (IOException e) { + throw new RuntimeException(e); + } + } + + public static TestFileSystemBuilder fs() { + return TestFileSystemBuilder.fs(); + } +} From 86f2d66929b726a9d6d02b51e880bc31dba40d0b Mon Sep 17 00:00:00 2001 From: peter Date: Tue, 6 Mar 2012 13:45:20 +0400 Subject: [PATCH 07/41] an utility to pass proxy settings to another java process --- .../com/intellij/util/net/HttpConfigurable.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/platform/platform-api/src/com/intellij/util/net/HttpConfigurable.java b/platform/platform-api/src/com/intellij/util/net/HttpConfigurable.java index beae5a64be92..ab0e758c0024 100644 --- a/platform/platform-api/src/com/intellij/util/net/HttpConfigurable.java +++ b/platform/platform-api/src/com/intellij/util/net/HttpConfigurable.java @@ -32,6 +32,8 @@ import org.jdom.Element; import javax.swing.*; import java.io.IOException; import java.net.*; +import java.util.ArrayList; +import java.util.List; /** * Created by IntelliJ IDEA. @@ -169,4 +171,17 @@ public class HttpConfigurable implements PersistentStateComponent getProxyCmdLineProperties() { + List proxy = new ArrayList(); + HttpConfigurable httpConfigurable = getInstance(); + if (httpConfigurable.USE_HTTP_PROXY) { + proxy.add("-DproxySet=true"); + proxy.add("-Dhttp.proxyHost=" + httpConfigurable.PROXY_HOST); + proxy.add("-Dhttp.proxyPort=" + httpConfigurable.PROXY_PORT); + proxy.add("-Dhttps.proxyHost=" + httpConfigurable.PROXY_HOST); + proxy.add("-Dhttps.proxyPort=" + Integer.toString(httpConfigurable.PROXY_PORT)); + } + return proxy; + } } From af0af4462ebedcc8dcb25eb35e14837029703484 Mon Sep 17 00:00:00 2001 From: peter Date: Tue, 6 Mar 2012 13:49:16 +0400 Subject: [PATCH 08/41] suggest packages in play groovy --- .../expressions/CompleteReferenceExpression.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/expressions/CompleteReferenceExpression.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/expressions/CompleteReferenceExpression.java index 431bd788388b..080bc3d9e4cc 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/expressions/CompleteReferenceExpression.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/expressions/CompleteReferenceExpression.java @@ -29,6 +29,7 @@ import com.intellij.util.Consumer; import com.intellij.util.containers.hash.HashSet; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import org.jetbrains.plugins.groovy.GroovyFileType; import org.jetbrains.plugins.groovy.GroovyIcons; import org.jetbrains.plugins.groovy.lang.completion.GroovyCompletionUtil; import org.jetbrains.plugins.groovy.lang.lexer.GroovyTokenTypes; @@ -351,7 +352,7 @@ public class CompleteReferenceExpression { myMatcher = matcher; myParameters = parameters; myPreferredFieldNames = addAllRestrictedProperties(place); - mySkipPackages = PsiImplUtil.getRuntimeQualifier(place) == null; + mySkipPackages = shouldSkipPackages(place); myEventListener = JavaPsiFacade.getInstance(place.getProject()).findClass("java.util.EventListener", place.getResolveScope()); myPropertyNames.addAll(addAllRestrictedProperties(place)); @@ -359,6 +360,15 @@ public class CompleteReferenceExpression { myMethodPointerOperator = place.getDotTokenType() == GroovyTokenTypes.mMEMBER_POINTER; } + private static boolean shouldSkipPackages(GrReferenceExpression place) { + if (PsiImplUtil.getRuntimeQualifier(place) != null) { + return false; + } + + PsiElement parent = place.getParent(); + return parent == null || parent.getLanguage().isKindOf(GroovyFileType.GROOVY_LANGUAGE); //don't skip in Play! + } + @Override public boolean execute(PsiElement element, ResolveState state) { if (element instanceof PsiMethod && ((PsiMethod)element).isConstructor()) return true; From 065ccf95abb478e6173ce0a40f5f619e2b357a16 Mon Sep 17 00:00:00 2001 From: Dmitry Avdeev Date: Tue, 6 Mar 2012 14:07:26 +0400 Subject: [PATCH 09/41] IDEA-79902 Integration with JIRA 3.12.2 doesn't work --- build/scripts/libLicenses.gant | 1 + .../tasks/jira-connector/jira-connector.iml | 10 + .../soap/axis/AbstractNamedRemoteEntity.java | 148 + .../soap/axis/AbstractRemoteConstant.java | 170 + .../jira/soap/axis/AbstractRemoteEntity.java | 127 + .../IssueServiceImpl$RemoteWorklogImpl.java | 117 + .../jira/soap/axis/JiraSoapService.java | 495 + .../soap/axis/JiraSoapServiceService.java | 18 + .../axis/JiraSoapServiceServiceLocator.java | 179 + .../JirasoapserviceV2SoapBindingStub.java | 8670 +++++++++++++++++ .../jira/soap/axis/RemoteAttachment.java | 275 + .../axis/RemoteAuthenticationException.java | 98 + .../commons/jira/soap/axis/RemoteComment.java | 379 + .../jira/soap/axis/RemoteComponent.java | 97 + .../jira/soap/axis/RemoteConfiguration.java | 411 + .../soap/axis/RemoteCustomFieldValue.java | 208 + .../commons/jira/soap/axis/RemoteEntity.java | 88 + .../jira/soap/axis/RemoteException.java | 96 + .../commons/jira/soap/axis/RemoteField.java | 97 + .../jira/soap/axis/RemoteFieldValue.java | 171 + .../commons/jira/soap/axis/RemoteFilter.java | 241 + .../commons/jira/soap/axis/RemoteGroup.java | 171 + .../commons/jira/soap/axis/RemoteIssue.java | 856 ++ .../jira/soap/axis/RemoteIssueType.java | 133 + .../jira/soap/axis/RemoteNamedObject.java | 97 + .../jira/soap/axis/RemotePermission.java | 163 + .../soap/axis/RemotePermissionException.java | 98 + .../soap/axis/RemotePermissionMapping.java | 172 + .../soap/axis/RemotePermissionScheme.java | 147 + .../jira/soap/axis/RemotePriority.java | 137 + .../commons/jira/soap/axis/RemoteProject.java | 386 + .../jira/soap/axis/RemoteProjectRole.java | 199 + .../soap/axis/RemoteProjectRoleActors.java | 136 + .../jira/soap/axis/RemoteResolution.java | 101 + .../jira/soap/axis/RemoteRoleActor.java | 279 + .../jira/soap/axis/RemoteRoleActors.java | 215 + .../commons/jira/soap/axis/RemoteScheme.java | 235 + .../jira/soap/axis/RemoteSecurityLevel.java | 133 + .../jira/soap/axis/RemoteServerInfo.java | 307 + .../commons/jira/soap/axis/RemoteStatus.java | 101 + .../jira/soap/axis/RemoteTimeInfo.java | 163 + .../commons/jira/soap/axis/RemoteUser.java | 199 + .../soap/axis/RemoteValidationException.java | 98 + .../commons/jira/soap/axis/RemoteVersion.java | 233 + .../commons/jira/soap/axis/RemoteWorklog.java | 483 + .../jira/soap/axis/jirasoapservice-v2.wsdl | 6936 +++++++++++++ .../jira/AtlassianConfigurableAdapter.java | 66 + .../intellij/tasks/jira/JiraRepository.java | 65 +- .../tasks-core/lib/commons-discovery-0.4.jar | Bin 0 -> 76685 bytes .../intellij/tasks/impl/TaskManagerImpl.java | 58 +- plugins/tasks/tasks-core/tasks-core.iml | 1 + 51 files changed, 24426 insertions(+), 38 deletions(-) create mode 100644 plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/AbstractNamedRemoteEntity.java create mode 100644 plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/AbstractRemoteConstant.java create mode 100644 plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/AbstractRemoteEntity.java create mode 100644 plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/IssueServiceImpl$RemoteWorklogImpl.java create mode 100644 plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/JiraSoapService.java create mode 100644 plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/JiraSoapServiceService.java create mode 100644 plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/JiraSoapServiceServiceLocator.java create mode 100644 plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/JirasoapserviceV2SoapBindingStub.java create mode 100644 plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteAttachment.java create mode 100644 plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteAuthenticationException.java create mode 100644 plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteComment.java create mode 100644 plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteComponent.java create mode 100644 plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteConfiguration.java create mode 100644 plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteCustomFieldValue.java create mode 100644 plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteEntity.java create mode 100644 plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteException.java create mode 100644 plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteField.java create mode 100644 plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteFieldValue.java create mode 100644 plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteFilter.java create mode 100644 plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteGroup.java create mode 100644 plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteIssue.java create mode 100644 plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteIssueType.java create mode 100644 plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteNamedObject.java create mode 100644 plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemotePermission.java create mode 100644 plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemotePermissionException.java create mode 100644 plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemotePermissionMapping.java create mode 100644 plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemotePermissionScheme.java create mode 100644 plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemotePriority.java create mode 100644 plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteProject.java create mode 100644 plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteProjectRole.java create mode 100644 plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteProjectRoleActors.java create mode 100644 plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteResolution.java create mode 100644 plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteRoleActor.java create mode 100644 plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteRoleActors.java create mode 100644 plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteScheme.java create mode 100644 plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteSecurityLevel.java create mode 100644 plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteServerInfo.java create mode 100644 plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteStatus.java create mode 100644 plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteTimeInfo.java create mode 100644 plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteUser.java create mode 100644 plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteValidationException.java create mode 100644 plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteVersion.java create mode 100644 plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteWorklog.java create mode 100644 plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/jirasoapservice-v2.wsdl create mode 100644 plugins/tasks/jira-connector/src/main/java/com/intellij/tasks/jira/AtlassianConfigurableAdapter.java create mode 100644 plugins/tasks/tasks-core/lib/commons-discovery-0.4.jar diff --git a/build/scripts/libLicenses.gant b/build/scripts/libLicenses.gant index 1b57a0740e26..e2b5afc23595 100644 --- a/build/scripts/libLicenses.gant +++ b/build/scripts/libLicenses.gant @@ -161,6 +161,7 @@ libraryLicense(name: "Android SDK Tools JPS", libraryName: "android-sdk-tools-jp libraryLicense(name: "Apache Commons BeanUtils", libraryName: "commons-beanutils.jar", version: "1.6", license: "Apache 2.0", url: "http://commons.apache.org/beanutils/") libraryLicense(name: "Apache Commons Codec", libraryName: "commons-codec", version: "1.3", license: "Apache 2.0", url: "http://commons.apache.org/codec/", licenseUrl: "http://commons.apache.org/license.html") libraryLicense(name: "Apache Commons Collections", libraryName: "commons-collections", version: "3.1", license: "Apache 2.0", url: "http://commons.apache.org/collections/", licenseUrl: "http://commons.apache.org/license.html") +libraryLicense(name: "Apache Commons Discovery", libraryName: "commons-discovery-0.4.jar", version: "0.4", license: "Apache 2.0", url: "http://jakarta.apache.org/commons/discovery/", licenseUrl: "http://commons.apache.org/license.html") libraryLicense(name: "Apache Commons HTTPClient", libraryName: "http-client-3.1", version: "3.1  (with patch by JetBrains)", license: "Apache 2.0", url: "http://hc.apache.org/httpclient-3.x") libraryLicense(name: "Apache Commons Net", libraryName: "commons-net", version: "2.0", license: "Apache 2.0", url: "http://commons.apache.org/net/") libraryLicense(name: "Apache Commons Lang", libraryName: "commons-lang", version: "2.4", license: "Apache 2.0", url: "http://commons.apache.org/lang/", licenseUrl: "http://commons.apache.org/lang/license.html") diff --git a/plugins/tasks/jira-connector/jira-connector.iml b/plugins/tasks/jira-connector/jira-connector.iml index 8be54150f15d..bbb334be6e71 100644 --- a/plugins/tasks/jira-connector/jira-connector.iml +++ b/plugins/tasks/jira-connector/jira-connector.iml @@ -14,6 +14,16 @@ + + + + + + + + + + diff --git a/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/AbstractNamedRemoteEntity.java b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/AbstractNamedRemoteEntity.java new file mode 100644 index 000000000000..6733a6611ce4 --- /dev/null +++ b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/AbstractNamedRemoteEntity.java @@ -0,0 +1,148 @@ +/* + * Copyright 2000-2012 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * AbstractNamedRemoteEntity.java + * + * This file was auto-generated from WSDL + * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter. + */ + +package com.atlassian.connector.commons.jira.soap.axis; + +public abstract class AbstractNamedRemoteEntity extends AbstractRemoteEntity + implements java.io.Serializable { + private String name; + + public AbstractNamedRemoteEntity() { + } + + public AbstractNamedRemoteEntity( + String id, + String name) { + super( + id); + this.name = name; + } + + + /** + * Gets the name value for this AbstractNamedRemoteEntity. + * + * @return name + */ + public String getName() { + return name; + } + + + /** + * Sets the name value for this AbstractNamedRemoteEntity. + * + * @param name + */ + public void setName(String name) { + this.name = name; + } + + private Object __equalsCalc = null; + + public synchronized boolean equals(Object obj) { + if (!(obj instanceof AbstractNamedRemoteEntity)) { + return false; + } + AbstractNamedRemoteEntity other = (AbstractNamedRemoteEntity) obj; + if (obj == null) { + return false; + } + if (this == obj) { + return true; + } + if (__equalsCalc != null) { + return (__equalsCalc == obj); + } + __equalsCalc = obj; + boolean _equals; + _equals = super.equals(obj) && + ((this.name == null && other.getName() == null) || + (this.name != null && + this.name.equals(other.getName()))); + __equalsCalc = null; + return _equals; + } + + private boolean __hashCodeCalc = false; + + public synchronized int hashCode() { + if (__hashCodeCalc) { + return 0; + } + __hashCodeCalc = true; + int _hashCode = super.hashCode(); + if (getName() != null) { + _hashCode += getName().hashCode(); + } + __hashCodeCalc = false; + return _hashCode; + } + + // Type metadata + private static org.apache.axis.description.TypeDesc typeDesc = + new org.apache.axis.description.TypeDesc(AbstractNamedRemoteEntity.class, true); + + static { + typeDesc.setXmlType( + new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "AbstractNamedRemoteEntity")); + org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("name"); + elemField.setXmlName(new javax.xml.namespace.QName("", "name")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + } + + /** + * Return type metadata object + */ + public static org.apache.axis.description.TypeDesc getTypeDesc() { + return typeDesc; + } + + /** + * Get Custom Serializer + */ + public static org.apache.axis.encoding.Serializer getSerializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanSerializer( + _javaType, _xmlType, typeDesc); + } + + /** + * Get Custom Deserializer + */ + public static org.apache.axis.encoding.Deserializer getDeserializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanDeserializer( + _javaType, _xmlType, typeDesc); + } + +} diff --git a/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/AbstractRemoteConstant.java b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/AbstractRemoteConstant.java new file mode 100644 index 000000000000..a54d82ef6bf6 --- /dev/null +++ b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/AbstractRemoteConstant.java @@ -0,0 +1,170 @@ +/** + * AbstractRemoteConstant.java + * + * This file was auto-generated from WSDL + * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter. + */ + +package com.atlassian.connector.commons.jira.soap.axis; + +public abstract class AbstractRemoteConstant extends AbstractNamedRemoteEntity + implements java.io.Serializable { + private String description; + + private String icon; + + public AbstractRemoteConstant() { + } + + public AbstractRemoteConstant( + String id, + String name, + String description, + String icon) { + super( + id, + name); + this.description = description; + this.icon = icon; + } + + + /** + * Gets the description value for this AbstractRemoteConstant. + * + * @return description + */ + public String getDescription() { + return description; + } + + + /** + * Sets the description value for this AbstractRemoteConstant. + * + * @param description + */ + public void setDescription(String description) { + this.description = description; + } + + + /** + * Gets the icon value for this AbstractRemoteConstant. + * + * @return icon + */ + public String getIcon() { + return icon; + } + + + /** + * Sets the icon value for this AbstractRemoteConstant. + * + * @param icon + */ + public void setIcon(String icon) { + this.icon = icon; + } + + private Object __equalsCalc = null; + + public synchronized boolean equals(Object obj) { + if (!(obj instanceof AbstractRemoteConstant)) { + return false; + } + AbstractRemoteConstant other = (AbstractRemoteConstant) obj; + if (obj == null) { + return false; + } + if (this == obj) { + return true; + } + if (__equalsCalc != null) { + return (__equalsCalc == obj); + } + __equalsCalc = obj; + boolean _equals; + _equals = super.equals(obj) && + ((this.description == null && other.getDescription() == null) || + (this.description != null && + this.description.equals(other.getDescription()))) && + ((this.icon == null && other.getIcon() == null) || + (this.icon != null && + this.icon.equals(other.getIcon()))); + __equalsCalc = null; + return _equals; + } + + private boolean __hashCodeCalc = false; + + public synchronized int hashCode() { + if (__hashCodeCalc) { + return 0; + } + __hashCodeCalc = true; + int _hashCode = super.hashCode(); + if (getDescription() != null) { + _hashCode += getDescription().hashCode(); + } + if (getIcon() != null) { + _hashCode += getIcon().hashCode(); + } + __hashCodeCalc = false; + return _hashCode; + } + + // Type metadata + private static org.apache.axis.description.TypeDesc typeDesc = + new org.apache.axis.description.TypeDesc(AbstractRemoteConstant.class, true); + + static { + typeDesc.setXmlType( + new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "AbstractRemoteConstant")); + org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("description"); + elemField.setXmlName(new javax.xml.namespace.QName("", "description")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("icon"); + elemField.setXmlName(new javax.xml.namespace.QName("", "icon")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + } + + /** + * Return type metadata object + */ + public static org.apache.axis.description.TypeDesc getTypeDesc() { + return typeDesc; + } + + /** + * Get Custom Serializer + */ + public static org.apache.axis.encoding.Serializer getSerializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanSerializer( + _javaType, _xmlType, typeDesc); + } + + /** + * Get Custom Deserializer + */ + public static org.apache.axis.encoding.Deserializer getDeserializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanDeserializer( + _javaType, _xmlType, typeDesc); + } + +} diff --git a/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/AbstractRemoteEntity.java b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/AbstractRemoteEntity.java new file mode 100644 index 000000000000..045ab56611d3 --- /dev/null +++ b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/AbstractRemoteEntity.java @@ -0,0 +1,127 @@ +/** + * AbstractRemoteEntity.java + * + * This file was auto-generated from WSDL + * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter. + */ + +package com.atlassian.connector.commons.jira.soap.axis; + +public abstract class AbstractRemoteEntity implements java.io.Serializable { + private String id; + + public AbstractRemoteEntity() { + } + + public AbstractRemoteEntity( + String id) { + this.id = id; + } + + + /** + * Gets the id value for this AbstractRemoteEntity. + * + * @return id + */ + public String getId() { + return id; + } + + + /** + * Sets the id value for this AbstractRemoteEntity. + * + * @param id + */ + public void setId(String id) { + this.id = id; + } + + private Object __equalsCalc = null; + + public synchronized boolean equals(Object obj) { + if (!(obj instanceof AbstractRemoteEntity)) { + return false; + } + AbstractRemoteEntity other = (AbstractRemoteEntity) obj; + if (obj == null) { + return false; + } + if (this == obj) { + return true; + } + if (__equalsCalc != null) { + return (__equalsCalc == obj); + } + __equalsCalc = obj; + boolean _equals; + _equals = true && + ((this.id == null && other.getId() == null) || + (this.id != null && + this.id.equals(other.getId()))); + __equalsCalc = null; + return _equals; + } + + private boolean __hashCodeCalc = false; + + public synchronized int hashCode() { + if (__hashCodeCalc) { + return 0; + } + __hashCodeCalc = true; + int _hashCode = 1; + if (getId() != null) { + _hashCode += getId().hashCode(); + } + __hashCodeCalc = false; + return _hashCode; + } + + // Type metadata + private static org.apache.axis.description.TypeDesc typeDesc = + new org.apache.axis.description.TypeDesc(AbstractRemoteEntity.class, true); + + static { + typeDesc.setXmlType(new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "AbstractRemoteEntity")); + org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("id"); + elemField.setXmlName(new javax.xml.namespace.QName("", "id")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + } + + /** + * Return type metadata object + */ + public static org.apache.axis.description.TypeDesc getTypeDesc() { + return typeDesc; + } + + /** + * Get Custom Serializer + */ + public static org.apache.axis.encoding.Serializer getSerializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanSerializer( + _javaType, _xmlType, typeDesc); + } + + /** + * Get Custom Deserializer + */ + public static org.apache.axis.encoding.Deserializer getDeserializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanDeserializer( + _javaType, _xmlType, typeDesc); + } + +} diff --git a/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/IssueServiceImpl$RemoteWorklogImpl.java b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/IssueServiceImpl$RemoteWorklogImpl.java new file mode 100644 index 000000000000..a2df6fce14c6 --- /dev/null +++ b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/IssueServiceImpl$RemoteWorklogImpl.java @@ -0,0 +1,117 @@ +/** + * IssueServiceImpl$RemoteWorklogImpl.java + * + * This file was auto-generated from WSDL + * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter. + */ + +package com.atlassian.connector.commons.jira.soap.axis; + + +public class IssueServiceImpl$RemoteWorklogImpl extends RemoteWorklog + implements java.io.Serializable { + public IssueServiceImpl$RemoteWorklogImpl() { + } + + public IssueServiceImpl$RemoteWorklogImpl( + String author, + String comment, + java.util.Calendar created, + String groupLevel, + String id, + String roleLevelId, + java.util.Calendar startDate, + String timeSpent, + long timeSpentInSeconds, + String updateAuthor, + java.util.Calendar updated) { + super( + author, + comment, + created, + groupLevel, + id, + roleLevelId, + startDate, + timeSpent, + timeSpentInSeconds, + updateAuthor, + updated); + } + + private Object __equalsCalc = null; + + public synchronized boolean equals(Object obj) { + if (!(obj instanceof IssueServiceImpl$RemoteWorklogImpl)) { + return false; + } + IssueServiceImpl$RemoteWorklogImpl other = (IssueServiceImpl$RemoteWorklogImpl) obj; + if (obj == null) { + return false; + } + if (this == obj) { + return true; + } + if (__equalsCalc != null) { + return (__equalsCalc == obj); + } + __equalsCalc = obj; + boolean _equals; + _equals = super.equals(obj); + __equalsCalc = null; + return _equals; + } + + private boolean __hashCodeCalc = false; + + public synchronized int hashCode() { + if (__hashCodeCalc) { + return 0; + } + __hashCodeCalc = true; + int _hashCode = super.hashCode(); + __hashCodeCalc = false; + return _hashCode; + } + + // Type metadata + private static org.apache.axis.description.TypeDesc typeDesc = + new org.apache.axis.description.TypeDesc(IssueServiceImpl$RemoteWorklogImpl.class, true); + + static { + typeDesc.setXmlType(new javax.xml.namespace.QName("http://service.soap.rpc.jira.atlassian.com", + "IssueServiceImpl$RemoteWorklogImpl")); + } + + /** + * Return type metadata object + */ + public static org.apache.axis.description.TypeDesc getTypeDesc() { + return typeDesc; + } + + /** + * Get Custom Serializer + */ + public static org.apache.axis.encoding.Serializer getSerializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanSerializer( + _javaType, _xmlType, typeDesc); + } + + /** + * Get Custom Deserializer + */ + public static org.apache.axis.encoding.Deserializer getDeserializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanDeserializer( + _javaType, _xmlType, typeDesc); + } + +} diff --git a/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/JiraSoapService.java b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/JiraSoapService.java new file mode 100644 index 000000000000..98dbe7f72902 --- /dev/null +++ b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/JiraSoapService.java @@ -0,0 +1,495 @@ +/** + * JiraSoapService.java + * + * This file was auto-generated from WSDL + * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter. + */ + +package com.atlassian.connector.commons.jira.soap.axis; + +public interface JiraSoapService extends java.rmi.Remote { + public RemoteComment getComment(String in0, long in1) + throws java.rmi.RemoteException, RemoteException; + + public RemoteGroup createGroup(String in0, String in1, + RemoteUser in2) throws java.rmi.RemoteException, + RemotePermissionException, + RemoteValidationException, + RemoteAuthenticationException, + RemoteException; + + public RemoteSecurityLevel getSecurityLevel(String in0, + String in1) throws java.rmi.RemoteException, + RemotePermissionException, + RemoteException; + + public RemoteServerInfo getServerInfo(String in0) + throws java.rmi.RemoteException; + + public RemoteGroup getGroup(String in0, String in1) throws + java.rmi.RemoteException, RemotePermissionException, + RemoteValidationException, + RemoteAuthenticationException, + RemoteException; + + public RemoteUser createUser(String in0, String in1, + String in2, String in3, String in4) throws java.rmi.RemoteException, + RemotePermissionException, + RemoteValidationException, + RemoteAuthenticationException, + RemoteException; + + public RemoteUser getUser(String in0, String in1) throws + java.rmi.RemoteException, RemotePermissionException, + RemoteAuthenticationException; + + public String login(String in0, String in1) throws java.rmi.RemoteException, + RemoteAuthenticationException, + RemoteException; + + public RemoteIssue getIssue(String in0, String in1) throws + java.rmi.RemoteException, RemotePermissionException, + RemoteAuthenticationException, + RemoteException; + + public RemoteIssue createIssue(String in0, + RemoteIssue in1) throws java.rmi.RemoteException, + RemotePermissionException, + RemoteValidationException, + RemoteAuthenticationException, + RemoteException; + + public RemoteNamedObject[] getAvailableActions(String in0, + String in1) throws java.rmi.RemoteException, RemoteException; + + public RemoteIssue updateIssue(String in0, String in1, + RemoteFieldValue[] in2) + throws java.rmi.RemoteException, RemoteException; + + public RemoteConfiguration getConfiguration(String in0) throws + java.rmi.RemoteException, RemotePermissionException, + RemoteAuthenticationException, + RemoteException; + + public RemoteComponent[] getComponents(String in0, + String in1) throws java.rmi.RemoteException, + RemotePermissionException, + RemoteAuthenticationException, + RemoteException; + + public RemoteProject updateProject(String in0, + RemoteProject in1) throws java.rmi.RemoteException, + RemotePermissionException, + RemoteValidationException, + RemoteAuthenticationException, + RemoteException; + + public RemoteProject getProjectByKey(String in0, String in1) + throws java.rmi.RemoteException, RemotePermissionException, + RemoteAuthenticationException, + RemoteException; + + public RemotePriority[] getPriorities(String in0) throws + java.rmi.RemoteException, RemotePermissionException, + RemoteAuthenticationException; + + public RemoteResolution[] getResolutions(String in0) throws + java.rmi.RemoteException, RemotePermissionException, + RemoteAuthenticationException; + + public RemoteIssueType[] getIssueTypes(String in0) throws + java.rmi.RemoteException, RemotePermissionException, + RemoteAuthenticationException; + + public RemoteStatus[] getStatuses(String in0) throws + java.rmi.RemoteException, RemotePermissionException, + RemoteAuthenticationException; + + public RemoteIssueType[] getSubTaskIssueTypes(String in0) throws + java.rmi.RemoteException, RemotePermissionException, + RemoteAuthenticationException; + + public RemoteProjectRole[] getProjectRoles(String in0) + throws java.rmi.RemoteException, RemoteException; + + public RemoteProjectRole getProjectRole(String in0, long in1) + throws java.rmi.RemoteException, RemoteException; + + public RemoteProjectRoleActors getProjectRoleActors(String in0, + RemoteProjectRole in1, + RemoteProject in2) + throws java.rmi.RemoteException, RemoteException; + + public RemoteRoleActors getDefaultRoleActors(String in0, + RemoteProjectRole in1) + throws java.rmi.RemoteException, RemoteException; + + public void removeAllRoleActorsByNameAndType(String in0, String in1, String in2) + throws java.rmi.RemoteException, RemoteException; + + public void removeAllRoleActorsByProject(String in0, RemoteProject in1) + throws java.rmi.RemoteException, RemoteException; + + public void deleteProjectRole(String in0, RemoteProjectRole in1, + boolean in2) throws java.rmi.RemoteException, RemoteException; + + public void updateProjectRole(String in0, RemoteProjectRole in1) + throws java.rmi.RemoteException, RemoteException; + + public RemoteProjectRole createProjectRole(String in0, + RemoteProjectRole in1) + throws java.rmi.RemoteException, RemoteException; + + public boolean isProjectRoleNameUnique(String in0, String in1) + throws java.rmi.RemoteException, RemoteException; + + public void addActorsToProjectRole(String in0, String[] in1, + RemoteProjectRole in2, + RemoteProject in3, String in4) + throws java.rmi.RemoteException, RemoteException; + + public void removeActorsFromProjectRole(String in0, String[] in1, + RemoteProjectRole in2, + RemoteProject in3, String in4) + throws java.rmi.RemoteException, RemoteException; + + public void addDefaultActorsToProjectRole(String in0, String[] in1, + RemoteProjectRole in2, String in3) + throws java.rmi.RemoteException, RemoteException; + + public void removeDefaultActorsFromProjectRole(String in0, String[] in1, + RemoteProjectRole in2, String in3) + throws java.rmi.RemoteException, RemoteException; + + public RemoteScheme[] getAssociatedNotificationSchemes(String in0, + RemoteProjectRole in1) + throws java.rmi.RemoteException, RemoteException; + + public RemoteScheme[] getAssociatedPermissionSchemes(String in0, + RemoteProjectRole in1) + throws java.rmi.RemoteException, RemoteException; + + public RemoteField[] getCustomFields(String in0) + throws java.rmi.RemoteException, RemoteException; + + public RemoteComment[] getComments(String in0, String in1) + throws java.rmi.RemoteException, RemotePermissionException, + RemoteAuthenticationException, + RemoteException; + + public RemoteFilter[] getFavouriteFilters(String in0) throws + java.rmi.RemoteException, RemotePermissionException, + RemoteAuthenticationException, + RemoteException; + + public void archiveVersion(String in0, String in1, String in2, boolean in3) + throws java.rmi.RemoteException, RemoteException; + + public RemoteVersion[] getVersions(String in0, String in1) + throws java.rmi.RemoteException, RemotePermissionException, + RemoteAuthenticationException, + RemoteException; + + public RemoteProject createProject(String in0, String in1, + String in2, String in3, String in4, String in5, + RemotePermissionScheme in6, + RemoteScheme in7, + RemoteScheme in8) throws java.rmi.RemoteException, + RemotePermissionException, + RemoteValidationException, + RemoteAuthenticationException, + RemoteException; + + public void addComment(String in0, String in1, + RemoteComment in2) throws java.rmi.RemoteException, + RemotePermissionException, + RemoteAuthenticationException, + RemoteException; + + public RemoteField[] getFieldsForEdit(String in0, String in1) + throws java.rmi.RemoteException, RemoteException; + + public RemoteIssueType[] getIssueTypesForProject(String in0, + String in1) throws java.rmi.RemoteException, + RemotePermissionException, + RemoteAuthenticationException; + + public RemoteIssueType[] getSubTaskIssueTypesForProject(String in0, + String in1) throws java.rmi.RemoteException, + RemotePermissionException, + RemoteAuthenticationException; + + public void addUserToGroup(String in0, RemoteGroup in1, + RemoteUser in2) throws java.rmi.RemoteException, + RemotePermissionException, + RemoteValidationException, + RemoteAuthenticationException, + RemoteException; + + public void removeUserFromGroup(String in0, RemoteGroup in1, + RemoteUser in2) throws java.rmi.RemoteException, + RemotePermissionException, + RemoteValidationException, + RemoteAuthenticationException, + RemoteException; + + public boolean logout(String in0) throws java.rmi.RemoteException; + + public RemoteProject getProjectById(String in0, long in1) throws + java.rmi.RemoteException, RemotePermissionException, + RemoteAuthenticationException, + RemoteException; + + public RemoteProject getProjectWithSchemesById(String in0, long in1) + throws java.rmi.RemoteException, RemoteException; + + public void deleteProject(String in0, String in1) throws java.rmi.RemoteException, + RemotePermissionException, + RemoteAuthenticationException, + RemoteException; + + public void releaseVersion(String in0, String in1, + RemoteVersion in2) + throws java.rmi.RemoteException, RemoteException; + + public RemoteSecurityLevel[] getSecurityLevels(String in0, + String in1) throws java.rmi.RemoteException, + RemotePermissionException, + RemoteException; + + public void deleteIssue(String in0, String in1) throws java.rmi.RemoteException, + RemotePermissionException, + RemoteAuthenticationException, + RemoteException; + + public RemoteIssue createIssueWithSecurityLevel(String in0, + RemoteIssue in1, long in2) throws java.rmi.RemoteException, + RemotePermissionException, + RemoteValidationException, + RemoteAuthenticationException, + RemoteException; + + public boolean addAttachmentsToIssue(String in0, String in1, String[] in2, byte[][] in3) + throws java.rmi.RemoteException, RemotePermissionException, + RemoteValidationException, + RemoteAuthenticationException, + RemoteException; + + public RemoteAttachment[] getAttachmentsFromIssue(String in0, + String in1) throws java.rmi.RemoteException, + RemotePermissionException, + RemoteValidationException, + RemoteAuthenticationException, + RemoteException; + + public boolean hasPermissionToEditComment(String in0, + RemoteComment in1) + throws java.rmi.RemoteException, RemoteException; + + public RemoteComment editComment(String in0, + RemoteComment in1) + throws java.rmi.RemoteException, RemoteException; + + public RemoteField[] getFieldsForAction(String in0, + String in1, String in2) + throws java.rmi.RemoteException, RemoteException; + + public RemoteIssue progressWorkflowAction(String in0, + String in1, String in2, RemoteFieldValue[] in3) + throws java.rmi.RemoteException, RemoteException; + + public RemoteIssue getIssueById(String in0, String in1) + throws java.rmi.RemoteException, RemotePermissionException, + RemoteAuthenticationException, + RemoteException; + + public RemoteWorklog addWorklogWithNewRemainingEstimate(String in0, + String in1, RemoteWorklog in2, String in3) throws + java.rmi.RemoteException, RemotePermissionException, + RemoteValidationException, + RemoteException; + + public RemoteWorklog addWorklogAndAutoAdjustRemainingEstimate( + String in0, String in1, RemoteWorklog in2) throws + java.rmi.RemoteException, RemotePermissionException, + RemoteValidationException, + RemoteException; + + public RemoteWorklog addWorklogAndRetainRemainingEstimate(String in0, + String in1, RemoteWorklog in2) throws java.rmi.RemoteException, + RemotePermissionException, + RemoteValidationException, + RemoteException; + + public void deleteWorklogWithNewRemainingEstimate(String in0, String in1, String in2) throws + java.rmi.RemoteException, RemotePermissionException, + RemoteValidationException, + RemoteException; + + public void deleteWorklogAndAutoAdjustRemainingEstimate(String in0, String in1) throws + java.rmi.RemoteException, RemotePermissionException, + RemoteValidationException, + RemoteException; + + public void deleteWorklogAndRetainRemainingEstimate(String in0, String in1) throws + java.rmi.RemoteException, RemotePermissionException, + RemoteValidationException, + RemoteException; + + public void updateWorklogWithNewRemainingEstimate(String in0, + RemoteWorklog in1, String in2) throws java.rmi.RemoteException, + RemotePermissionException, + RemoteValidationException, + RemoteException; + + public void updateWorklogAndAutoAdjustRemainingEstimate(String in0, + RemoteWorklog in1) throws java.rmi.RemoteException, + RemotePermissionException, + RemoteValidationException, + RemoteException; + + public void updateWorklogAndRetainRemainingEstimate(String in0, + RemoteWorklog in1) throws java.rmi.RemoteException, + RemotePermissionException, + RemoteValidationException, + RemoteException; + + public RemoteWorklog[] getWorklogs(String in0, String in1) + throws java.rmi.RemoteException, RemotePermissionException, + RemoteValidationException, + RemoteException; + + public boolean hasPermissionToCreateWorklog(String in0, String in1) throws java.rmi.RemoteException, + RemoteValidationException, + RemoteException; + + public boolean hasPermissionToDeleteWorklog(String in0, String in1) throws java.rmi.RemoteException, + RemoteValidationException, + RemoteException; + + public boolean hasPermissionToUpdateWorklog(String in0, String in1) throws java.rmi.RemoteException, + RemoteValidationException, + RemoteException; + + public RemoteScheme[] getNotificationSchemes(String in0) throws + java.rmi.RemoteException, RemotePermissionException, + RemoteAuthenticationException, + RemoteException; + + public RemotePermissionScheme[] getPermissionSchemes(String in0) throws + java.rmi.RemoteException, RemotePermissionException, + RemoteAuthenticationException, + RemoteException; + + public RemotePermissionScheme createPermissionScheme(String in0, + String in1, String in2) throws java.rmi.RemoteException, + RemotePermissionException, + RemoteValidationException, + RemoteAuthenticationException, + RemoteException; + + public void deletePermissionScheme(String in0, String in1) throws java.rmi.RemoteException, + RemotePermissionException, + RemoteValidationException, + RemoteAuthenticationException, + RemoteException; + + public RemotePermissionScheme addPermissionTo(String in0, + RemotePermissionScheme in1, + RemotePermission in2, + RemoteEntity in3) throws java.rmi.RemoteException, + RemotePermissionException, + RemoteValidationException, + RemoteAuthenticationException, + RemoteException; + + public RemotePermissionScheme deletePermissionFrom(String in0, + RemotePermissionScheme in1, + RemotePermission in2, + RemoteEntity in3) throws java.rmi.RemoteException, + RemotePermissionException, + RemoteValidationException, + RemoteAuthenticationException, + RemoteException; + + public RemotePermission[] getAllPermissions(String in0) throws + java.rmi.RemoteException, RemotePermissionException, + RemoteAuthenticationException, + RemoteException; + + public long getIssueCountForFilter(String in0, String in1) + throws java.rmi.RemoteException, RemoteException; + + public RemoteIssue[] getIssuesFromTextSearch(String in0, + String in1) throws java.rmi.RemoteException, RemoteException; + + public RemoteIssue[] getIssuesFromTextSearchWithProject(String in0, + String[] in1, String in2, int in3) + throws java.rmi.RemoteException, RemoteException; + + public void deleteUser(String in0, String in1) throws java.rmi.RemoteException, + RemotePermissionException, + RemoteValidationException, + RemoteAuthenticationException, + RemoteException; + + public RemoteGroup updateGroup(String in0, + RemoteGroup in1) throws java.rmi.RemoteException, + RemotePermissionException, + RemoteValidationException, + RemoteAuthenticationException, + RemoteException; + + public void deleteGroup(String in0, String in1, String in2) throws java.rmi.RemoteException, + RemotePermissionException, + RemoteValidationException, + RemoteAuthenticationException, + RemoteException; + + public void refreshCustomFields(String in0) + throws java.rmi.RemoteException, RemoteException; + + public RemoteProject[] getProjectsNoSchemes(String in0) throws + java.rmi.RemoteException, RemotePermissionException, + RemoteAuthenticationException, + RemoteException; + + public RemoteVersion addVersion(String in0, String in1, + RemoteVersion in2) + throws java.rmi.RemoteException, RemoteException; + + public RemoteFilter[] getSavedFilters(String in0) throws + java.rmi.RemoteException, RemotePermissionException, + RemoteAuthenticationException, + RemoteException; + + public boolean addBase64EncodedAttachmentsToIssue(String in0, String in1, String[] in2, + String[] in3) throws java.rmi.RemoteException, + RemotePermissionException, + RemoteValidationException, + RemoteAuthenticationException, + RemoteException; + + public RemoteProject createProjectFromObject(String in0, + RemoteProject in1) throws java.rmi.RemoteException, + RemotePermissionException, + RemoteValidationException, + RemoteAuthenticationException, + RemoteException; + + public RemoteScheme[] getSecuritySchemes(String in0) throws + java.rmi.RemoteException, RemotePermissionException, + RemoteAuthenticationException, + RemoteException; + + public RemoteIssue[] getIssuesFromFilter(String in0, + String in1) throws java.rmi.RemoteException, RemoteException; + + public RemoteIssue[] getIssuesFromFilterWithLimit(String in0, + String in1, int in2, int in3) + throws java.rmi.RemoteException, RemoteException; + + public RemoteIssue[] getIssuesFromTextSearchWithLimit(String in0, + String in1, int in2, int in3) + throws java.rmi.RemoteException, RemoteException; +} diff --git a/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/JiraSoapServiceService.java b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/JiraSoapServiceService.java new file mode 100644 index 000000000000..69943b244e45 --- /dev/null +++ b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/JiraSoapServiceService.java @@ -0,0 +1,18 @@ +/** + * JiraSoapServiceService.java + * + * This file was auto-generated from WSDL + * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter. + */ + +package com.atlassian.connector.commons.jira.soap.axis; + +public interface JiraSoapServiceService extends javax.xml.rpc.Service { + public String getJirasoapserviceV2Address(); + + public JiraSoapService getJirasoapserviceV2() + throws javax.xml.rpc.ServiceException; + + public JiraSoapService getJirasoapserviceV2(java.net.URL portAddress) + throws javax.xml.rpc.ServiceException; +} diff --git a/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/JiraSoapServiceServiceLocator.java b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/JiraSoapServiceServiceLocator.java new file mode 100644 index 000000000000..0f90c5d59b49 --- /dev/null +++ b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/JiraSoapServiceServiceLocator.java @@ -0,0 +1,179 @@ +/** + * JiraSoapServiceServiceLocator.java + * + * This file was auto-generated from WSDL + * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter. + */ + +package com.atlassian.connector.commons.jira.soap.axis; + +import org.apache.axis.EngineConfiguration; + +public class JiraSoapServiceServiceLocator extends org.apache.axis.client.Service + implements JiraSoapServiceService { + + public JiraSoapServiceServiceLocator() { + } + + + public JiraSoapServiceServiceLocator(EngineConfiguration config) { + super(config); + } + + public JiraSoapServiceServiceLocator(String wsdlLoc, javax.xml.namespace.QName sName) + throws javax.xml.rpc.ServiceException { + super(wsdlLoc, sName); + } + + // Use to get a proxy class for JirasoapserviceV2 + private String JirasoapserviceV2_address = "http://jira.atlassian.com/rpc/soap/jirasoapservice-v2"; + + public String getJirasoapserviceV2Address() { + return JirasoapserviceV2_address; + } + + // The WSDD service name defaults to the port name. + private String JirasoapserviceV2WSDDServiceName = "jirasoapservice-v2"; + + public String getJirasoapserviceV2WSDDServiceName() { + return JirasoapserviceV2WSDDServiceName; + } + + public void setJirasoapserviceV2WSDDServiceName(String name) { + JirasoapserviceV2WSDDServiceName = name; + } + + /* + overiden configuration from file client-config.wsdd + * */ + @Override + protected EngineConfiguration getEngineConfiguration() { + StringBuffer sb = new StringBuffer(); + + sb.append("\n" + + "\n" + + " \n" + + " \n" + + " \n" + + " "); + + sb.append("\r\n"); + sb.append("\r\n"); + sb.append("\r\n"); + sb.append("\r\n"); + org.apache.axis.configuration.XMLStringProvider config = + new org.apache.axis.configuration.XMLStringProvider(sb.toString()); + return config; + } + + + public JiraSoapService getJirasoapserviceV2() + throws javax.xml.rpc.ServiceException { + java.net.URL endpoint; + try { + endpoint = new java.net.URL(JirasoapserviceV2_address); + } catch (java.net.MalformedURLException e) { + throw new javax.xml.rpc.ServiceException(e); + } + return getJirasoapserviceV2(endpoint); + } + + public JiraSoapService getJirasoapserviceV2(java.net.URL portAddress) + throws javax.xml.rpc.ServiceException { + try { + JirasoapserviceV2SoapBindingStub _stub + = new JirasoapserviceV2SoapBindingStub(portAddress, + this); + _stub.setPortName(getJirasoapserviceV2WSDDServiceName()); + return _stub; + } catch (org.apache.axis.AxisFault e) { + return null; + } + } + + public void setJirasoapserviceV2EndpointAddress(String address) { + JirasoapserviceV2_address = address; + } + + /** + * For the given interface, get the stub implementation. + * If this service has no port for the given interface, + * then ServiceException is thrown. + */ + public java.rmi.Remote getPort(Class serviceEndpointInterface) throws javax.xml.rpc.ServiceException { + try { + if (JiraSoapService.class + .isAssignableFrom(serviceEndpointInterface)) { + JirasoapserviceV2SoapBindingStub _stub + = new JirasoapserviceV2SoapBindingStub( + new java.net.URL(JirasoapserviceV2_address), this); + _stub.setPortName(getJirasoapserviceV2WSDDServiceName()); + return _stub; + } + } catch (Throwable t) { + throw new javax.xml.rpc.ServiceException(t); + } + throw new javax.xml.rpc.ServiceException("There is no stub implementation for the interface: " + + (serviceEndpointInterface == null ? "null" : serviceEndpointInterface.getName())); + } + + /** + * For the given interface, get the stub implementation. + * If this service has no port for the given interface, + * then ServiceException is thrown. + */ + public java.rmi.Remote getPort(javax.xml.namespace.QName portName, Class serviceEndpointInterface) + throws javax.xml.rpc.ServiceException { + if (portName == null) { + return getPort(serviceEndpointInterface); + } + String inputPortName = portName.getLocalPart(); + if ("jirasoapservice-v2".equals(inputPortName)) { + return getJirasoapserviceV2(); + } else { + java.rmi.Remote _stub = getPort(serviceEndpointInterface); + ((org.apache.axis.client.Stub) _stub).setPortName(portName); + return _stub; + } + } + + public javax.xml.namespace.QName getServiceName() { + return new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", + "JiraSoapServiceService"); + } + + private java.util.HashSet ports = null; + + public java.util.Iterator getPorts() { + if (ports == null) { + ports = new java.util.HashSet(); + ports.add(new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", + "jirasoapservice-v2")); + } + return ports.iterator(); + } + + /** + * Set the endpoint address for the specified port name. + */ + public void setEndpointAddress(String portName, String address) + throws javax.xml.rpc.ServiceException { + + if ("JirasoapserviceV2".equals(portName)) { + setJirasoapserviceV2EndpointAddress(address); + } else { // Unknown Port Name + throw new javax.xml.rpc.ServiceException(" Cannot set Endpoint Address for Unknown Port" + portName); + } + } + + /** + * Set the endpoint address for the specified port name. + */ + public void setEndpointAddress(javax.xml.namespace.QName portName, String address) + throws javax.xml.rpc.ServiceException { + setEndpointAddress(portName.getLocalPart(), address); + } + +} diff --git a/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/JirasoapserviceV2SoapBindingStub.java b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/JirasoapserviceV2SoapBindingStub.java new file mode 100644 index 000000000000..17325590f8c7 --- /dev/null +++ b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/JirasoapserviceV2SoapBindingStub.java @@ -0,0 +1,8670 @@ +/** + * JirasoapserviceV2SoapBindingStub.java + * + * This file was auto-generated from WSDL + * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter. + * + * pstefaniak, 18 Jan 2010: + * there is one manual change to this auto-generated file, around line 6738 + * see PL-1918 for details... + */ + +package com.atlassian.connector.commons.jira.soap.axis; + +public class JirasoapserviceV2SoapBindingStub extends org.apache.axis.client.Stub + implements JiraSoapService { + private java.util.Vector cachedSerClasses = new java.util.Vector(); + private java.util.Vector cachedSerQNames = new java.util.Vector(); + private java.util.Vector cachedSerFactories = new java.util.Vector(); + private java.util.Vector cachedDeserFactories = new java.util.Vector(); + + static org.apache.axis.description.OperationDesc[] _operations; + + static { + _operations = new org.apache.axis.description.OperationDesc[100]; + _initOperationDesc1(); + _initOperationDesc2(); + _initOperationDesc3(); + _initOperationDesc4(); + _initOperationDesc5(); + _initOperationDesc6(); + _initOperationDesc7(); + _initOperationDesc8(); + _initOperationDesc9(); + _initOperationDesc10(); + } + + private static void _initOperationDesc1() { + org.apache.axis.description.OperationDesc oper; + org.apache.axis.description.ParameterDesc param; + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("getComment"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "long"), long.class, false, false); + oper.addParameter(param); + oper.setReturnType(new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteComment")); + oper.setReturnClass(RemoteComment.class); + oper.setReturnQName(new javax.xml.namespace.QName("", "getCommentReturn")); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[0] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("createGroup"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in2"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteUser"), + RemoteUser.class, false, false); + oper.addParameter(param); + oper.setReturnType(new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteGroup")); + oper.setReturnClass(RemoteGroup.class); + oper.setReturnQName(new javax.xml.namespace.QName("", "createGroupReturn")); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemotePermissionException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemotePermissionException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteValidationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteValidationException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteAuthenticationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteAuthenticationException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[1] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("getSecurityLevel"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + oper.setReturnType(new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteSecurityLevel")); + oper.setReturnClass(RemoteSecurityLevel.class); + oper.setReturnQName(new javax.xml.namespace.QName("", "getSecurityLevelReturn")); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemotePermissionException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemotePermissionException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[2] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("getServerInfo"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + oper.setReturnType(new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteServerInfo")); + oper.setReturnClass(RemoteServerInfo.class); + oper.setReturnQName(new javax.xml.namespace.QName("", "getServerInfoReturn")); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + _operations[3] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("getGroup"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + oper.setReturnType(new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteGroup")); + oper.setReturnClass(RemoteGroup.class); + oper.setReturnQName(new javax.xml.namespace.QName("", "getGroupReturn")); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemotePermissionException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemotePermissionException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteValidationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteValidationException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteAuthenticationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteAuthenticationException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[4] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("createUser"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in2"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in3"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in4"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + oper.setReturnType(new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteUser")); + oper.setReturnClass(RemoteUser.class); + oper.setReturnQName(new javax.xml.namespace.QName("", "createUserReturn")); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemotePermissionException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemotePermissionException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteValidationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteValidationException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteAuthenticationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteAuthenticationException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[5] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("getUser"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + oper.setReturnType(new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteUser")); + oper.setReturnClass(RemoteUser.class); + oper.setReturnQName(new javax.xml.namespace.QName("", "getUserReturn")); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemotePermissionException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemotePermissionException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteAuthenticationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteAuthenticationException"), + true + )); + _operations[6] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("login"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + oper.setReturnType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); + oper.setReturnClass(String.class); + oper.setReturnQName(new javax.xml.namespace.QName("", "loginReturn")); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteAuthenticationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteAuthenticationException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[7] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("getIssue"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + oper.setReturnType(new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteIssue")); + oper.setReturnClass(RemoteIssue.class); + oper.setReturnQName(new javax.xml.namespace.QName("", "getIssueReturn")); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemotePermissionException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemotePermissionException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteAuthenticationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteAuthenticationException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[8] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("createIssue"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteIssue"), + RemoteIssue.class, false, false); + oper.addParameter(param); + oper.setReturnType(new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteIssue")); + oper.setReturnClass(RemoteIssue.class); + oper.setReturnQName(new javax.xml.namespace.QName("", "createIssueReturn")); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemotePermissionException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemotePermissionException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteValidationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteValidationException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteAuthenticationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteAuthenticationException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[9] = oper; + + } + + private static void _initOperationDesc2() { + org.apache.axis.description.OperationDesc oper; + org.apache.axis.description.ParameterDesc param; + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("getAvailableActions"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + oper.setReturnType(new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", + "ArrayOf_tns1_RemoteNamedObject")); + oper.setReturnClass(RemoteNamedObject[].class); + oper.setReturnQName(new javax.xml.namespace.QName("", "getAvailableActionsReturn")); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[10] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("updateIssue"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in2"), + org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName( + "http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "ArrayOf_tns1_RemoteFieldValue"), + RemoteFieldValue[].class, false, false); + oper.addParameter(param); + oper.setReturnType(new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteIssue")); + oper.setReturnClass(RemoteIssue.class); + oper.setReturnQName(new javax.xml.namespace.QName("", "updateIssueReturn")); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[11] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("getConfiguration"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + oper.setReturnType(new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteConfiguration")); + oper.setReturnClass(RemoteConfiguration.class); + oper.setReturnQName(new javax.xml.namespace.QName("", "getConfigurationReturn")); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemotePermissionException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemotePermissionException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteAuthenticationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteAuthenticationException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[12] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("getComponents"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + oper.setReturnType(new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", + "ArrayOf_tns1_RemoteComponent")); + oper.setReturnClass(RemoteComponent[].class); + oper.setReturnQName(new javax.xml.namespace.QName("", "getComponentsReturn")); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemotePermissionException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemotePermissionException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteAuthenticationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteAuthenticationException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[13] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("updateProject"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteProject"), + RemoteProject.class, false, false); + oper.addParameter(param); + oper.setReturnType(new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteProject")); + oper.setReturnClass(RemoteProject.class); + oper.setReturnQName(new javax.xml.namespace.QName("", "updateProjectReturn")); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemotePermissionException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemotePermissionException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteValidationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteValidationException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteAuthenticationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteAuthenticationException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[14] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("getProjectByKey"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + oper.setReturnType(new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteProject")); + oper.setReturnClass(RemoteProject.class); + oper.setReturnQName(new javax.xml.namespace.QName("", "getProjectByKeyReturn")); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemotePermissionException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemotePermissionException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteAuthenticationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteAuthenticationException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[15] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("getPriorities"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + oper.setReturnType(new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", + "ArrayOf_tns1_RemotePriority")); + oper.setReturnClass(RemotePriority[].class); + oper.setReturnQName(new javax.xml.namespace.QName("", "getPrioritiesReturn")); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemotePermissionException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemotePermissionException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteAuthenticationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteAuthenticationException"), + true + )); + _operations[16] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("getResolutions"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + oper.setReturnType(new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", + "ArrayOf_tns1_RemoteResolution")); + oper.setReturnClass(RemoteResolution[].class); + oper.setReturnQName(new javax.xml.namespace.QName("", "getResolutionsReturn")); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemotePermissionException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemotePermissionException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteAuthenticationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteAuthenticationException"), + true + )); + _operations[17] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("getIssueTypes"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + oper.setReturnType(new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", + "ArrayOf_tns1_RemoteIssueType")); + oper.setReturnClass(RemoteIssueType[].class); + oper.setReturnQName(new javax.xml.namespace.QName("", "getIssueTypesReturn")); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemotePermissionException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemotePermissionException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteAuthenticationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteAuthenticationException"), + true + )); + _operations[18] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("getStatuses"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + oper.setReturnType(new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", + "ArrayOf_tns1_RemoteStatus")); + oper.setReturnClass(RemoteStatus[].class); + oper.setReturnQName(new javax.xml.namespace.QName("", "getStatusesReturn")); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemotePermissionException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemotePermissionException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteAuthenticationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteAuthenticationException"), + true + )); + _operations[19] = oper; + + } + + private static void _initOperationDesc3() { + org.apache.axis.description.OperationDesc oper; + org.apache.axis.description.ParameterDesc param; + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("getSubTaskIssueTypes"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + oper.setReturnType(new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", + "ArrayOf_tns1_RemoteIssueType")); + oper.setReturnClass(RemoteIssueType[].class); + oper.setReturnQName(new javax.xml.namespace.QName("", "getSubTaskIssueTypesReturn")); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemotePermissionException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemotePermissionException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteAuthenticationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteAuthenticationException"), + true + )); + _operations[20] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("getProjectRoles"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + oper.setReturnType(new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", + "ArrayOf_tns1_RemoteProjectRole")); + oper.setReturnClass(RemoteProjectRole[].class); + oper.setReturnQName(new javax.xml.namespace.QName("", "getProjectRolesReturn")); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[21] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("getProjectRole"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "long"), long.class, false, false); + oper.addParameter(param); + oper.setReturnType(new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteProjectRole")); + oper.setReturnClass(RemoteProjectRole.class); + oper.setReturnQName(new javax.xml.namespace.QName("", "getProjectRoleReturn")); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[22] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("getProjectRoleActors"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteProjectRole"), + RemoteProjectRole.class, false, false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in2"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteProject"), + RemoteProject.class, false, false); + oper.addParameter(param); + oper.setReturnType( + new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteProjectRoleActors")); + oper.setReturnClass(RemoteProjectRoleActors.class); + oper.setReturnQName(new javax.xml.namespace.QName("", "getProjectRoleActorsReturn")); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[23] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("getDefaultRoleActors"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteProjectRole"), + RemoteProjectRole.class, false, false); + oper.addParameter(param); + oper.setReturnType(new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteRoleActors")); + oper.setReturnClass(RemoteRoleActors.class); + oper.setReturnQName(new javax.xml.namespace.QName("", "getDefaultRoleActorsReturn")); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[24] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("removeAllRoleActorsByNameAndType"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in2"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + oper.setReturnType(org.apache.axis.encoding.XMLType.AXIS_VOID); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[25] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("removeAllRoleActorsByProject"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteProject"), + RemoteProject.class, false, false); + oper.addParameter(param); + oper.setReturnType(org.apache.axis.encoding.XMLType.AXIS_VOID); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[26] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("deleteProjectRole"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteProjectRole"), + RemoteProjectRole.class, false, false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in2"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "boolean"), boolean.class, false, false); + oper.addParameter(param); + oper.setReturnType(org.apache.axis.encoding.XMLType.AXIS_VOID); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[27] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("updateProjectRole"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteProjectRole"), + RemoteProjectRole.class, false, false); + oper.addParameter(param); + oper.setReturnType(org.apache.axis.encoding.XMLType.AXIS_VOID); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[28] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("createProjectRole"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteProjectRole"), + RemoteProjectRole.class, false, false); + oper.addParameter(param); + oper.setReturnType(new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteProjectRole")); + oper.setReturnClass(RemoteProjectRole.class); + oper.setReturnQName(new javax.xml.namespace.QName("", "createProjectRoleReturn")); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[29] = oper; + + } + + private static void _initOperationDesc4() { + org.apache.axis.description.OperationDesc oper; + org.apache.axis.description.ParameterDesc param; + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("isProjectRoleNameUnique"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + oper.setReturnType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "boolean")); + oper.setReturnClass(boolean.class); + oper.setReturnQName(new javax.xml.namespace.QName("", "isProjectRoleNameUniqueReturn")); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[30] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("addActorsToProjectRole"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "ArrayOf_xsd_string"), + String[].class, false, false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in2"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteProjectRole"), + RemoteProjectRole.class, false, false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in3"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteProject"), + RemoteProject.class, false, false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in4"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + oper.setReturnType(org.apache.axis.encoding.XMLType.AXIS_VOID); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[31] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("removeActorsFromProjectRole"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "ArrayOf_xsd_string"), + String[].class, false, false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in2"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteProjectRole"), + RemoteProjectRole.class, false, false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in3"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteProject"), + RemoteProject.class, false, false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in4"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + oper.setReturnType(org.apache.axis.encoding.XMLType.AXIS_VOID); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[32] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("addDefaultActorsToProjectRole"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "ArrayOf_xsd_string"), + String[].class, false, false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in2"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteProjectRole"), + RemoteProjectRole.class, false, false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in3"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + oper.setReturnType(org.apache.axis.encoding.XMLType.AXIS_VOID); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[33] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("removeDefaultActorsFromProjectRole"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "ArrayOf_xsd_string"), + String[].class, false, false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in2"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteProjectRole"), + RemoteProjectRole.class, false, false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in3"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + oper.setReturnType(org.apache.axis.encoding.XMLType.AXIS_VOID); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[34] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("getAssociatedNotificationSchemes"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteProjectRole"), + RemoteProjectRole.class, false, false); + oper.addParameter(param); + oper.setReturnType(new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", + "ArrayOf_tns1_RemoteScheme")); + oper.setReturnClass(RemoteScheme[].class); + oper.setReturnQName(new javax.xml.namespace.QName("", "getAssociatedNotificationSchemesReturn")); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[35] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("getAssociatedPermissionSchemes"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteProjectRole"), + RemoteProjectRole.class, false, false); + oper.addParameter(param); + oper.setReturnType(new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", + "ArrayOf_tns1_RemoteScheme")); + oper.setReturnClass(RemoteScheme[].class); + oper.setReturnQName(new javax.xml.namespace.QName("", "getAssociatedPermissionSchemesReturn")); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[36] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("getCustomFields"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + oper.setReturnType(new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", + "ArrayOf_tns1_RemoteField")); + oper.setReturnClass(RemoteField[].class); + oper.setReturnQName(new javax.xml.namespace.QName("", "getCustomFieldsReturn")); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[37] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("getComments"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + oper.setReturnType(new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", + "ArrayOf_tns1_RemoteComment")); + oper.setReturnClass(RemoteComment[].class); + oper.setReturnQName(new javax.xml.namespace.QName("", "getCommentsReturn")); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemotePermissionException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemotePermissionException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteAuthenticationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteAuthenticationException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[38] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("getFavouriteFilters"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + oper.setReturnType(new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", + "ArrayOf_tns1_RemoteFilter")); + oper.setReturnClass(RemoteFilter[].class); + oper.setReturnQName(new javax.xml.namespace.QName("", "getFavouriteFiltersReturn")); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemotePermissionException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemotePermissionException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteAuthenticationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteAuthenticationException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[39] = oper; + + } + + private static void _initOperationDesc5() { + org.apache.axis.description.OperationDesc oper; + org.apache.axis.description.ParameterDesc param; + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("archiveVersion"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in2"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in3"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "boolean"), boolean.class, false, false); + oper.addParameter(param); + oper.setReturnType(org.apache.axis.encoding.XMLType.AXIS_VOID); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[40] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("getVersions"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + oper.setReturnType(new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", + "ArrayOf_tns1_RemoteVersion")); + oper.setReturnClass(RemoteVersion[].class); + oper.setReturnQName(new javax.xml.namespace.QName("", "getVersionsReturn")); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemotePermissionException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemotePermissionException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteAuthenticationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteAuthenticationException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[41] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("createProject"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in2"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in3"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in4"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in5"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in6"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemotePermissionScheme"), + RemotePermissionScheme.class, false, false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in7"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteScheme"), + RemoteScheme.class, false, false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in8"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteScheme"), + RemoteScheme.class, false, false); + oper.addParameter(param); + oper.setReturnType(new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteProject")); + oper.setReturnClass(RemoteProject.class); + oper.setReturnQName(new javax.xml.namespace.QName("", "createProjectReturn")); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemotePermissionException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemotePermissionException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteValidationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteValidationException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteAuthenticationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteAuthenticationException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[42] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("addComment"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in2"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteComment"), + RemoteComment.class, false, false); + oper.addParameter(param); + oper.setReturnType(org.apache.axis.encoding.XMLType.AXIS_VOID); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemotePermissionException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemotePermissionException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteAuthenticationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteAuthenticationException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[43] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("getFieldsForEdit"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + oper.setReturnType(new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", + "ArrayOf_tns1_RemoteField")); + oper.setReturnClass(RemoteField[].class); + oper.setReturnQName(new javax.xml.namespace.QName("", "getFieldsForEditReturn")); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[44] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("getIssueTypesForProject"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + oper.setReturnType(new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", + "ArrayOf_tns1_RemoteIssueType")); + oper.setReturnClass(RemoteIssueType[].class); + oper.setReturnQName(new javax.xml.namespace.QName("", "getIssueTypesForProjectReturn")); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemotePermissionException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemotePermissionException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteAuthenticationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteAuthenticationException"), + true + )); + _operations[45] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("getSubTaskIssueTypesForProject"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + oper.setReturnType(new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", + "ArrayOf_tns1_RemoteIssueType")); + oper.setReturnClass(RemoteIssueType[].class); + oper.setReturnQName(new javax.xml.namespace.QName("", "getSubTaskIssueTypesForProjectReturn")); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemotePermissionException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemotePermissionException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteAuthenticationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteAuthenticationException"), + true + )); + _operations[46] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("addUserToGroup"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteGroup"), + RemoteGroup.class, false, false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in2"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteUser"), + RemoteUser.class, false, false); + oper.addParameter(param); + oper.setReturnType(org.apache.axis.encoding.XMLType.AXIS_VOID); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemotePermissionException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemotePermissionException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteValidationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteValidationException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteAuthenticationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteAuthenticationException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[47] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("removeUserFromGroup"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteGroup"), + RemoteGroup.class, false, false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in2"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteUser"), + RemoteUser.class, false, false); + oper.addParameter(param); + oper.setReturnType(org.apache.axis.encoding.XMLType.AXIS_VOID); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemotePermissionException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemotePermissionException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteValidationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteValidationException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteAuthenticationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteAuthenticationException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[48] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("logout"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + oper.setReturnType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "boolean")); + oper.setReturnClass(boolean.class); + oper.setReturnQName(new javax.xml.namespace.QName("", "logoutReturn")); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + _operations[49] = oper; + + } + + private static void _initOperationDesc6() { + org.apache.axis.description.OperationDesc oper; + org.apache.axis.description.ParameterDesc param; + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("getProjectById"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "long"), long.class, false, false); + oper.addParameter(param); + oper.setReturnType(new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteProject")); + oper.setReturnClass(RemoteProject.class); + oper.setReturnQName(new javax.xml.namespace.QName("", "getProjectByIdReturn")); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemotePermissionException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemotePermissionException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteAuthenticationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteAuthenticationException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[50] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("getProjectWithSchemesById"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "long"), long.class, false, false); + oper.addParameter(param); + oper.setReturnType(new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteProject")); + oper.setReturnClass(RemoteProject.class); + oper.setReturnQName(new javax.xml.namespace.QName("", "getProjectWithSchemesByIdReturn")); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[51] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("deleteProject"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + oper.setReturnType(org.apache.axis.encoding.XMLType.AXIS_VOID); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemotePermissionException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemotePermissionException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteAuthenticationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteAuthenticationException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[52] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("releaseVersion"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in2"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteVersion"), + RemoteVersion.class, false, false); + oper.addParameter(param); + oper.setReturnType(org.apache.axis.encoding.XMLType.AXIS_VOID); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[53] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("getSecurityLevels"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + oper.setReturnType(new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", + "ArrayOf_tns1_RemoteSecurityLevel")); + oper.setReturnClass(RemoteSecurityLevel[].class); + oper.setReturnQName(new javax.xml.namespace.QName("", "getSecurityLevelsReturn")); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemotePermissionException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemotePermissionException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[54] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("deleteIssue"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + oper.setReturnType(org.apache.axis.encoding.XMLType.AXIS_VOID); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemotePermissionException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemotePermissionException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteAuthenticationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteAuthenticationException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[55] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("createIssueWithSecurityLevel"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteIssue"), + RemoteIssue.class, false, false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in2"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "long"), long.class, false, false); + oper.addParameter(param); + oper.setReturnType(new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteIssue")); + oper.setReturnClass(RemoteIssue.class); + oper.setReturnQName(new javax.xml.namespace.QName("", "createIssueWithSecurityLevelReturn")); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemotePermissionException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemotePermissionException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteValidationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteValidationException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteAuthenticationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteAuthenticationException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[56] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("addAttachmentsToIssue"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in2"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "ArrayOf_xsd_string"), + String[].class, false, false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in3"), + org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName( + "http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "ArrayOf_xsd_base64Binary"), byte[][].class, false, + false); + oper.addParameter(param); + oper.setReturnType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "boolean")); + oper.setReturnClass(boolean.class); + oper.setReturnQName(new javax.xml.namespace.QName("", "addAttachmentsToIssueReturn")); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemotePermissionException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemotePermissionException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteValidationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteValidationException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteAuthenticationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteAuthenticationException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[57] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("getAttachmentsFromIssue"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + oper.setReturnType(new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", + "ArrayOf_tns1_RemoteAttachment")); + oper.setReturnClass(RemoteAttachment[].class); + oper.setReturnQName(new javax.xml.namespace.QName("", "getAttachmentsFromIssueReturn")); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemotePermissionException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemotePermissionException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteValidationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteValidationException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteAuthenticationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteAuthenticationException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[58] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("hasPermissionToEditComment"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteComment"), + RemoteComment.class, false, false); + oper.addParameter(param); + oper.setReturnType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "boolean")); + oper.setReturnClass(boolean.class); + oper.setReturnQName(new javax.xml.namespace.QName("", "hasPermissionToEditCommentReturn")); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[59] = oper; + + } + + private static void _initOperationDesc7() { + org.apache.axis.description.OperationDesc oper; + org.apache.axis.description.ParameterDesc param; + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("editComment"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteComment"), + RemoteComment.class, false, false); + oper.addParameter(param); + oper.setReturnType(new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteComment")); + oper.setReturnClass(RemoteComment.class); + oper.setReturnQName(new javax.xml.namespace.QName("", "editCommentReturn")); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[60] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("getFieldsForAction"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in2"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + oper.setReturnType(new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", + "ArrayOf_tns1_RemoteField")); + oper.setReturnClass(RemoteField[].class); + oper.setReturnQName(new javax.xml.namespace.QName("", "getFieldsForActionReturn")); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[61] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("progressWorkflowAction"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in2"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in3"), + org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName( + "http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "ArrayOf_tns1_RemoteFieldValue"), + RemoteFieldValue[].class, false, false); + oper.addParameter(param); + oper.setReturnType(new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteIssue")); + oper.setReturnClass(RemoteIssue.class); + oper.setReturnQName(new javax.xml.namespace.QName("", "progressWorkflowActionReturn")); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[62] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("getIssueById"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + oper.setReturnType(new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteIssue")); + oper.setReturnClass(RemoteIssue.class); + oper.setReturnQName(new javax.xml.namespace.QName("", "getIssueByIdReturn")); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemotePermissionException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemotePermissionException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteAuthenticationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteAuthenticationException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[63] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("addWorklogWithNewRemainingEstimate"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in2"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteWorklog"), + RemoteWorklog.class, false, false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in3"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + oper.setReturnType(new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteWorklog")); + oper.setReturnClass(RemoteWorklog.class); + oper.setReturnQName(new javax.xml.namespace.QName("", "addWorklogWithNewRemainingEstimateReturn")); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemotePermissionException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemotePermissionException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteValidationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteValidationException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[64] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("addWorklogAndAutoAdjustRemainingEstimate"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in2"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteWorklog"), + RemoteWorklog.class, false, false); + oper.addParameter(param); + oper.setReturnType(new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteWorklog")); + oper.setReturnClass(RemoteWorklog.class); + oper.setReturnQName(new javax.xml.namespace.QName("", "addWorklogAndAutoAdjustRemainingEstimateReturn")); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemotePermissionException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemotePermissionException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteValidationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteValidationException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[65] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("addWorklogAndRetainRemainingEstimate"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in2"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteWorklog"), + RemoteWorklog.class, false, false); + oper.addParameter(param); + oper.setReturnType(new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteWorklog")); + oper.setReturnClass(RemoteWorklog.class); + oper.setReturnQName(new javax.xml.namespace.QName("", "addWorklogAndRetainRemainingEstimateReturn")); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemotePermissionException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemotePermissionException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteValidationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteValidationException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[66] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("deleteWorklogWithNewRemainingEstimate"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in2"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + oper.setReturnType(org.apache.axis.encoding.XMLType.AXIS_VOID); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemotePermissionException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemotePermissionException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteValidationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteValidationException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[67] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("deleteWorklogAndAutoAdjustRemainingEstimate"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + oper.setReturnType(org.apache.axis.encoding.XMLType.AXIS_VOID); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemotePermissionException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemotePermissionException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteValidationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteValidationException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[68] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("deleteWorklogAndRetainRemainingEstimate"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + oper.setReturnType(org.apache.axis.encoding.XMLType.AXIS_VOID); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemotePermissionException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemotePermissionException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteValidationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteValidationException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[69] = oper; + + } + + private static void _initOperationDesc8() { + org.apache.axis.description.OperationDesc oper; + org.apache.axis.description.ParameterDesc param; + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("updateWorklogWithNewRemainingEstimate"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteWorklog"), + RemoteWorklog.class, false, false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in2"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + oper.setReturnType(org.apache.axis.encoding.XMLType.AXIS_VOID); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemotePermissionException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemotePermissionException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteValidationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteValidationException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[70] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("updateWorklogAndAutoAdjustRemainingEstimate"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteWorklog"), + RemoteWorklog.class, false, false); + oper.addParameter(param); + oper.setReturnType(org.apache.axis.encoding.XMLType.AXIS_VOID); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemotePermissionException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemotePermissionException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteValidationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteValidationException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[71] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("updateWorklogAndRetainRemainingEstimate"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteWorklog"), + RemoteWorklog.class, false, false); + oper.addParameter(param); + oper.setReturnType(org.apache.axis.encoding.XMLType.AXIS_VOID); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemotePermissionException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemotePermissionException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteValidationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteValidationException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[72] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("getWorklogs"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + oper.setReturnType(new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", + "ArrayOf_tns1_RemoteWorklog")); + oper.setReturnClass(RemoteWorklog[].class); + oper.setReturnQName(new javax.xml.namespace.QName("", "getWorklogsReturn")); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemotePermissionException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemotePermissionException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteValidationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteValidationException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[73] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("hasPermissionToCreateWorklog"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + oper.setReturnType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "boolean")); + oper.setReturnClass(boolean.class); + oper.setReturnQName(new javax.xml.namespace.QName("", "hasPermissionToCreateWorklogReturn")); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteValidationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteValidationException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[74] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("hasPermissionToDeleteWorklog"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + oper.setReturnType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "boolean")); + oper.setReturnClass(boolean.class); + oper.setReturnQName(new javax.xml.namespace.QName("", "hasPermissionToDeleteWorklogReturn")); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteValidationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteValidationException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[75] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("hasPermissionToUpdateWorklog"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + oper.setReturnType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "boolean")); + oper.setReturnClass(boolean.class); + oper.setReturnQName(new javax.xml.namespace.QName("", "hasPermissionToUpdateWorklogReturn")); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteValidationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteValidationException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[76] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("getNotificationSchemes"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + oper.setReturnType(new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", + "ArrayOf_tns1_RemoteScheme")); + oper.setReturnClass(RemoteScheme[].class); + oper.setReturnQName(new javax.xml.namespace.QName("", "getNotificationSchemesReturn")); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemotePermissionException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemotePermissionException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteAuthenticationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteAuthenticationException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[77] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("getPermissionSchemes"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + oper.setReturnType(new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", + "ArrayOf_tns1_RemotePermissionScheme")); + oper.setReturnClass(RemotePermissionScheme[].class); + oper.setReturnQName(new javax.xml.namespace.QName("", "getPermissionSchemesReturn")); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemotePermissionException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemotePermissionException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteAuthenticationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteAuthenticationException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[78] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("createPermissionScheme"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in2"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + oper.setReturnType(new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemotePermissionScheme")); + oper.setReturnClass(RemotePermissionScheme.class); + oper.setReturnQName(new javax.xml.namespace.QName("", "createPermissionSchemeReturn")); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemotePermissionException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemotePermissionException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteValidationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteValidationException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteAuthenticationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteAuthenticationException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[79] = oper; + + } + + private static void _initOperationDesc9() { + org.apache.axis.description.OperationDesc oper; + org.apache.axis.description.ParameterDesc param; + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("deletePermissionScheme"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + oper.setReturnType(org.apache.axis.encoding.XMLType.AXIS_VOID); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemotePermissionException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemotePermissionException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteValidationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteValidationException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteAuthenticationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteAuthenticationException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[80] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("addPermissionTo"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemotePermissionScheme"), + RemotePermissionScheme.class, false, false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in2"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemotePermission"), + RemotePermission.class, false, false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in3"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteEntity"), + RemoteEntity.class, false, false); + oper.addParameter(param); + oper.setReturnType(new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemotePermissionScheme")); + oper.setReturnClass(RemotePermissionScheme.class); + oper.setReturnQName(new javax.xml.namespace.QName("", "addPermissionToReturn")); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemotePermissionException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemotePermissionException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteValidationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteValidationException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteAuthenticationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteAuthenticationException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[81] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("deletePermissionFrom"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemotePermissionScheme"), + RemotePermissionScheme.class, false, false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in2"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemotePermission"), + RemotePermission.class, false, false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in3"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteEntity"), + RemoteEntity.class, false, false); + oper.addParameter(param); + oper.setReturnType(new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemotePermissionScheme")); + oper.setReturnClass(RemotePermissionScheme.class); + oper.setReturnQName(new javax.xml.namespace.QName("", "deletePermissionFromReturn")); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemotePermissionException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemotePermissionException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteValidationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteValidationException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteAuthenticationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteAuthenticationException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[82] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("getAllPermissions"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + oper.setReturnType(new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", + "ArrayOf_tns1_RemotePermission")); + oper.setReturnClass(RemotePermission[].class); + oper.setReturnQName(new javax.xml.namespace.QName("", "getAllPermissionsReturn")); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemotePermissionException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemotePermissionException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteAuthenticationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteAuthenticationException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[83] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("getIssueCountForFilter"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + oper.setReturnType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "long")); + oper.setReturnClass(long.class); + oper.setReturnQName(new javax.xml.namespace.QName("", "getIssueCountForFilterReturn")); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[84] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("getIssuesFromTextSearch"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + oper.setReturnType(new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", + "ArrayOf_tns1_RemoteIssue")); + oper.setReturnClass(RemoteIssue[].class); + oper.setReturnQName(new javax.xml.namespace.QName("", "getIssuesFromTextSearchReturn")); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[85] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("getIssuesFromTextSearchWithProject"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "ArrayOf_xsd_string"), + String[].class, false, false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in2"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in3"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "int"), int.class, false, false); + oper.addParameter(param); + oper.setReturnType(new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", + "ArrayOf_tns1_RemoteIssue")); + oper.setReturnClass(RemoteIssue[].class); + oper.setReturnQName(new javax.xml.namespace.QName("", "getIssuesFromTextSearchWithProjectReturn")); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[86] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("deleteUser"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + oper.setReturnType(org.apache.axis.encoding.XMLType.AXIS_VOID); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemotePermissionException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemotePermissionException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteValidationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteValidationException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteAuthenticationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteAuthenticationException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[87] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("updateGroup"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteGroup"), + RemoteGroup.class, false, false); + oper.addParameter(param); + oper.setReturnType(new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteGroup")); + oper.setReturnClass(RemoteGroup.class); + oper.setReturnQName(new javax.xml.namespace.QName("", "updateGroupReturn")); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemotePermissionException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemotePermissionException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteValidationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteValidationException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteAuthenticationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteAuthenticationException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[88] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("deleteGroup"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in2"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + oper.setReturnType(org.apache.axis.encoding.XMLType.AXIS_VOID); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemotePermissionException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemotePermissionException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteValidationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteValidationException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteAuthenticationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteAuthenticationException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[89] = oper; + + } + + private static void _initOperationDesc10() { + org.apache.axis.description.OperationDesc oper; + org.apache.axis.description.ParameterDesc param; + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("refreshCustomFields"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + oper.setReturnType(org.apache.axis.encoding.XMLType.AXIS_VOID); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[90] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("getProjectsNoSchemes"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + oper.setReturnType(new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", + "ArrayOf_tns1_RemoteProject")); + oper.setReturnClass(RemoteProject[].class); + oper.setReturnQName(new javax.xml.namespace.QName("", "getProjectsNoSchemesReturn")); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemotePermissionException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemotePermissionException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteAuthenticationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteAuthenticationException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[91] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("addVersion"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in2"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteVersion"), + RemoteVersion.class, false, false); + oper.addParameter(param); + oper.setReturnType(new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteVersion")); + oper.setReturnClass(RemoteVersion.class); + oper.setReturnQName(new javax.xml.namespace.QName("", "addVersionReturn")); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[92] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("getSavedFilters"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + oper.setReturnType(new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", + "ArrayOf_tns1_RemoteFilter")); + oper.setReturnClass(RemoteFilter[].class); + oper.setReturnQName(new javax.xml.namespace.QName("", "getSavedFiltersReturn")); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemotePermissionException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemotePermissionException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteAuthenticationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteAuthenticationException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[93] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("addBase64EncodedAttachmentsToIssue"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in2"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "ArrayOf_xsd_string"), + String[].class, false, false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in3"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "ArrayOf_xsd_string"), + String[].class, false, false); + oper.addParameter(param); + oper.setReturnType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "boolean")); + oper.setReturnClass(boolean.class); + oper.setReturnQName(new javax.xml.namespace.QName("", "addBase64EncodedAttachmentsToIssueReturn")); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemotePermissionException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemotePermissionException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteValidationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteValidationException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteAuthenticationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteAuthenticationException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[94] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("createProjectFromObject"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteProject"), + RemoteProject.class, false, false); + oper.addParameter(param); + oper.setReturnType(new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteProject")); + oper.setReturnClass(RemoteProject.class); + oper.setReturnQName(new javax.xml.namespace.QName("", "createProjectFromObjectReturn")); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemotePermissionException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemotePermissionException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteValidationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteValidationException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteAuthenticationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteAuthenticationException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[95] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("getSecuritySchemes"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + oper.setReturnType(new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", + "ArrayOf_tns1_RemoteScheme")); + oper.setReturnClass(RemoteScheme[].class); + oper.setReturnQName(new javax.xml.namespace.QName("", "getSecuritySchemesReturn")); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemotePermissionException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemotePermissionException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteAuthenticationException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteAuthenticationException"), + true + )); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[96] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("getIssuesFromFilter"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + oper.setReturnType(new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", + "ArrayOf_tns1_RemoteIssue")); + oper.setReturnClass(RemoteIssue[].class); + oper.setReturnQName(new javax.xml.namespace.QName("", "getIssuesFromFilterReturn")); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[97] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("getIssuesFromFilterWithLimit"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in2"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "int"), int.class, false, false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in3"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "int"), int.class, false, false); + oper.addParameter(param); + oper.setReturnType(new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", + "ArrayOf_tns1_RemoteIssue")); + oper.setReturnClass(RemoteIssue[].class); + oper.setReturnQName(new javax.xml.namespace.QName("", "getIssuesFromFilterWithLimitReturn")); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[98] = oper; + + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("getIssuesFromTextSearchWithLimit"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in1"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), String.class, false, + false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in2"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "int"), int.class, false, false); + oper.addParameter(param); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in3"), + org.apache.axis.description.ParameterDesc.IN, + new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "int"), int.class, false, false); + oper.addParameter(param); + oper.setReturnType(new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", + "ArrayOf_tns1_RemoteIssue")); + oper.setReturnClass(RemoteIssue[].class); + oper.setReturnQName(new javax.xml.namespace.QName("", "getIssuesFromTextSearchWithLimitReturn")); + oper.setStyle(org.apache.axis.constants.Style.RPC); + oper.setUse(org.apache.axis.constants.Use.ENCODED); + oper.addFault(new org.apache.axis.description.FaultDesc( + new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "fault"), + "com.atlassian.connector.commons.jira.soap.axis.RemoteException", + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"), + true + )); + _operations[99] = oper; + + } + + public JirasoapserviceV2SoapBindingStub() throws org.apache.axis.AxisFault { + this(null); + } + + public JirasoapserviceV2SoapBindingStub(java.net.URL endpointURL, javax.xml.rpc.Service service) + throws org.apache.axis.AxisFault { + this(service); + super.cachedEndpoint = endpointURL; + } + + public JirasoapserviceV2SoapBindingStub(javax.xml.rpc.Service service) throws org.apache.axis.AxisFault { + if (service == null) { + super.service = new org.apache.axis.client.Service(); + } else { + super.service = service; + } + ((org.apache.axis.client.Service) super.service).setTypeMappingVersion("1.1"); + Class cls; + javax.xml.namespace.QName qName; + javax.xml.namespace.QName qName2; + Class beansf = org.apache.axis.encoding.ser.BeanSerializerFactory.class; + Class beandf = org.apache.axis.encoding.ser.BeanDeserializerFactory.class; + Class enumsf = org.apache.axis.encoding.ser.EnumSerializerFactory.class; + Class enumdf = org.apache.axis.encoding.ser.EnumDeserializerFactory.class; + Class arraysf = org.apache.axis.encoding.ser.ArraySerializerFactory.class; + Class arraydf = org.apache.axis.encoding.ser.ArrayDeserializerFactory.class; + Class simplesf = org.apache.axis.encoding.ser.SimpleSerializerFactory.class; + Class simpledf = org.apache.axis.encoding.ser.SimpleDeserializerFactory.class; + Class simplelistsf = org.apache.axis.encoding.ser.SimpleListSerializerFactory.class; + Class simplelistdf = org.apache.axis.encoding.ser.SimpleListDeserializerFactory.class; + qName = new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "AbstractNamedRemoteEntity"); + cachedSerQNames.add(qName); + cls = AbstractNamedRemoteEntity.class; + cachedSerClasses.add(cls); + cachedSerFactories.add(beansf); + cachedDeserFactories.add(beandf); + + qName = new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "AbstractRemoteConstant"); + cachedSerQNames.add(qName); + cls = AbstractRemoteConstant.class; + cachedSerClasses.add(cls); + cachedSerFactories.add(beansf); + cachedDeserFactories.add(beandf); + + qName = new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "AbstractRemoteEntity"); + cachedSerQNames.add(qName); + cls = AbstractRemoteEntity.class; + cachedSerClasses.add(cls); + cachedSerFactories.add(beansf); + cachedDeserFactories.add(beandf); + + qName = new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteAttachment"); + cachedSerQNames.add(qName); + cls = RemoteAttachment.class; + cachedSerClasses.add(cls); + cachedSerFactories.add(beansf); + cachedDeserFactories.add(beandf); + + qName = new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteComment"); + cachedSerQNames.add(qName); + cls = RemoteComment.class; + cachedSerClasses.add(cls); + cachedSerFactories.add(beansf); + cachedDeserFactories.add(beandf); + + qName = new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteComponent"); + cachedSerQNames.add(qName); + cls = RemoteComponent.class; + cachedSerClasses.add(cls); + cachedSerFactories.add(beansf); + cachedDeserFactories.add(beandf); + + qName = new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteConfiguration"); + cachedSerQNames.add(qName); + cls = RemoteConfiguration.class; + cachedSerClasses.add(cls); + cachedSerFactories.add(beansf); + cachedDeserFactories.add(beandf); + + qName = new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteCustomFieldValue"); + cachedSerQNames.add(qName); + cls = RemoteCustomFieldValue.class; + cachedSerClasses.add(cls); + cachedSerFactories.add(beansf); + cachedDeserFactories.add(beandf); + + qName = new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteEntity"); + cachedSerQNames.add(qName); + cls = RemoteEntity.class; + cachedSerClasses.add(cls); + cachedSerFactories.add(beansf); + cachedDeserFactories.add(beandf); + + qName = new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteField"); + cachedSerQNames.add(qName); + cls = RemoteField.class; + cachedSerClasses.add(cls); + cachedSerFactories.add(beansf); + cachedDeserFactories.add(beandf); + + qName = new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteFieldValue"); + cachedSerQNames.add(qName); + cls = RemoteFieldValue.class; + cachedSerClasses.add(cls); + cachedSerFactories.add(beansf); + cachedDeserFactories.add(beandf); + + qName = new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteFilter"); + cachedSerQNames.add(qName); + cls = RemoteFilter.class; + cachedSerClasses.add(cls); + cachedSerFactories.add(beansf); + cachedDeserFactories.add(beandf); + + qName = new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteGroup"); + cachedSerQNames.add(qName); + cls = RemoteGroup.class; + cachedSerClasses.add(cls); + cachedSerFactories.add(beansf); + cachedDeserFactories.add(beandf); + + qName = new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteIssue"); + cachedSerQNames.add(qName); + cls = RemoteIssue.class; + cachedSerClasses.add(cls); + cachedSerFactories.add(beansf); + cachedDeserFactories.add(beandf); + + qName = new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteIssueType"); + cachedSerQNames.add(qName); + cls = RemoteIssueType.class; + cachedSerClasses.add(cls); + cachedSerFactories.add(beansf); + cachedDeserFactories.add(beandf); + + qName = new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteNamedObject"); + cachedSerQNames.add(qName); + cls = RemoteNamedObject.class; + cachedSerClasses.add(cls); + cachedSerFactories.add(beansf); + cachedDeserFactories.add(beandf); + + qName = new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemotePermission"); + cachedSerQNames.add(qName); + cls = RemotePermission.class; + cachedSerClasses.add(cls); + cachedSerFactories.add(beansf); + cachedDeserFactories.add(beandf); + + qName = new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemotePermissionMapping"); + cachedSerQNames.add(qName); + cls = RemotePermissionMapping.class; + cachedSerClasses.add(cls); + cachedSerFactories.add(beansf); + cachedDeserFactories.add(beandf); + + qName = new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemotePermissionScheme"); + cachedSerQNames.add(qName); + cls = RemotePermissionScheme.class; + cachedSerClasses.add(cls); + cachedSerFactories.add(beansf); + cachedDeserFactories.add(beandf); + + qName = new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemotePriority"); + cachedSerQNames.add(qName); + cls = RemotePriority.class; + cachedSerClasses.add(cls); + cachedSerFactories.add(beansf); + cachedDeserFactories.add(beandf); + + qName = new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteProject"); + cachedSerQNames.add(qName); + cls = RemoteProject.class; + cachedSerClasses.add(cls); + cachedSerFactories.add(beansf); + cachedDeserFactories.add(beandf); + + qName = new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteProjectRole"); + cachedSerQNames.add(qName); + cls = RemoteProjectRole.class; + cachedSerClasses.add(cls); + cachedSerFactories.add(beansf); + cachedDeserFactories.add(beandf); + + qName = new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteProjectRoleActors"); + cachedSerQNames.add(qName); + cls = RemoteProjectRoleActors.class; + cachedSerClasses.add(cls); + cachedSerFactories.add(beansf); + cachedDeserFactories.add(beandf); + + qName = new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteResolution"); + cachedSerQNames.add(qName); + cls = RemoteResolution.class; + cachedSerClasses.add(cls); + cachedSerFactories.add(beansf); + cachedDeserFactories.add(beandf); + + qName = new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteRoleActor"); + cachedSerQNames.add(qName); + cls = RemoteRoleActor.class; + cachedSerClasses.add(cls); + cachedSerFactories.add(beansf); + cachedDeserFactories.add(beandf); + + qName = new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteRoleActors"); + cachedSerQNames.add(qName); + cls = RemoteRoleActors.class; + cachedSerClasses.add(cls); + cachedSerFactories.add(beansf); + cachedDeserFactories.add(beandf); + + qName = new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteScheme"); + cachedSerQNames.add(qName); + cls = RemoteScheme.class; + cachedSerClasses.add(cls); + cachedSerFactories.add(beansf); + cachedDeserFactories.add(beandf); + + qName = new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteSecurityLevel"); + cachedSerQNames.add(qName); + cls = RemoteSecurityLevel.class; + cachedSerClasses.add(cls); + cachedSerFactories.add(beansf); + cachedDeserFactories.add(beandf); + + qName = new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteServerInfo"); + cachedSerQNames.add(qName); + cls = RemoteServerInfo.class; + cachedSerClasses.add(cls); + cachedSerFactories.add(beansf); + cachedDeserFactories.add(beandf); + + qName = new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteStatus"); + cachedSerQNames.add(qName); + cls = RemoteStatus.class; + cachedSerClasses.add(cls); + cachedSerFactories.add(beansf); + cachedDeserFactories.add(beandf); + + qName = new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteTimeInfo"); + cachedSerQNames.add(qName); + cls = RemoteTimeInfo.class; + cachedSerClasses.add(cls); + cachedSerFactories.add(beansf); + cachedDeserFactories.add(beandf); + + qName = new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteUser"); + cachedSerQNames.add(qName); + cls = RemoteUser.class; + cachedSerClasses.add(cls); + cachedSerFactories.add(beansf); + cachedDeserFactories.add(beandf); + + qName = new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteVersion"); + cachedSerQNames.add(qName); + cls = RemoteVersion.class; + cachedSerClasses.add(cls); + cachedSerFactories.add(beansf); + cachedDeserFactories.add(beandf); + + qName = new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteWorklog"); + cachedSerQNames.add(qName); + cls = RemoteWorklog.class; + cachedSerClasses.add(cls); + cachedSerFactories.add(beansf); + cachedDeserFactories.add(beandf); + + qName = new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteAuthenticationException"); + cachedSerQNames.add(qName); + cls = RemoteAuthenticationException.class; + cachedSerClasses.add(cls); + cachedSerFactories.add(beansf); + cachedDeserFactories.add(beandf); + + qName = new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException"); + cachedSerQNames.add(qName); + cls = RemoteException.class; + cachedSerClasses.add(cls); + cachedSerFactories.add(beansf); + cachedDeserFactories.add(beandf); + + qName = new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemotePermissionException"); + cachedSerQNames.add(qName); + cls = RemotePermissionException.class; + cachedSerClasses.add(cls); + cachedSerFactories.add(beansf); + cachedDeserFactories.add(beandf); + + qName = new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteValidationException"); + cachedSerQNames.add(qName); + cls = RemoteValidationException.class; + cachedSerClasses.add(cls); + cachedSerFactories.add(beansf); + cachedDeserFactories.add(beandf); + + qName = new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", + "ArrayOf_tns1_RemoteAttachment"); + cachedSerQNames.add(qName); + cls = RemoteAttachment[].class; + cachedSerClasses.add(cls); + qName = new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteAttachment"); + qName2 = null; + cachedSerFactories.add(new org.apache.axis.encoding.ser.ArraySerializerFactory(qName, qName2)); + cachedDeserFactories.add(new org.apache.axis.encoding.ser.ArrayDeserializerFactory()); + + qName = new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", + "ArrayOf_tns1_RemoteComment"); + cachedSerQNames.add(qName); + cls = RemoteComment[].class; + cachedSerClasses.add(cls); + qName = new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteComment"); + qName2 = null; + cachedSerFactories.add(new org.apache.axis.encoding.ser.ArraySerializerFactory(qName, qName2)); + cachedDeserFactories.add(new org.apache.axis.encoding.ser.ArrayDeserializerFactory()); + + qName = new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", + "ArrayOf_tns1_RemoteComponent"); + cachedSerQNames.add(qName); + cls = RemoteComponent[].class; + cachedSerClasses.add(cls); + qName = new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteComponent"); + qName2 = null; + cachedSerFactories.add(new org.apache.axis.encoding.ser.ArraySerializerFactory(qName, qName2)); + cachedDeserFactories.add(new org.apache.axis.encoding.ser.ArrayDeserializerFactory()); + + qName = new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", + "ArrayOf_tns1_RemoteCustomFieldValue"); + cachedSerQNames.add(qName); + cls = RemoteCustomFieldValue[].class; + cachedSerClasses.add(cls); + qName = new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteCustomFieldValue"); + qName2 = null; + cachedSerFactories.add(new org.apache.axis.encoding.ser.ArraySerializerFactory(qName, qName2)); + cachedDeserFactories.add(new org.apache.axis.encoding.ser.ArrayDeserializerFactory()); + + qName = new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", + "ArrayOf_tns1_RemoteEntity"); + cachedSerQNames.add(qName); + cls = RemoteEntity[].class; + cachedSerClasses.add(cls); + qName = new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteEntity"); + qName2 = null; + cachedSerFactories.add(new org.apache.axis.encoding.ser.ArraySerializerFactory(qName, qName2)); + cachedDeserFactories.add(new org.apache.axis.encoding.ser.ArrayDeserializerFactory()); + + qName = new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", + "ArrayOf_tns1_RemoteField"); + cachedSerQNames.add(qName); + cls = RemoteField[].class; + cachedSerClasses.add(cls); + qName = new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteField"); + qName2 = null; + cachedSerFactories.add(new org.apache.axis.encoding.ser.ArraySerializerFactory(qName, qName2)); + cachedDeserFactories.add(new org.apache.axis.encoding.ser.ArrayDeserializerFactory()); + + qName = new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", + "ArrayOf_tns1_RemoteFieldValue"); + cachedSerQNames.add(qName); + cls = RemoteFieldValue[].class; + cachedSerClasses.add(cls); + qName = new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteFieldValue"); + qName2 = null; + cachedSerFactories.add(new org.apache.axis.encoding.ser.ArraySerializerFactory(qName, qName2)); + cachedDeserFactories.add(new org.apache.axis.encoding.ser.ArrayDeserializerFactory()); + + qName = new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", + "ArrayOf_tns1_RemoteFilter"); + cachedSerQNames.add(qName); + cls = RemoteFilter[].class; + cachedSerClasses.add(cls); + qName = new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteFilter"); + qName2 = null; + cachedSerFactories.add(new org.apache.axis.encoding.ser.ArraySerializerFactory(qName, qName2)); + cachedDeserFactories.add(new org.apache.axis.encoding.ser.ArrayDeserializerFactory()); + + qName = new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", + "ArrayOf_tns1_RemoteIssue"); + cachedSerQNames.add(qName); + cls = RemoteIssue[].class; + cachedSerClasses.add(cls); + qName = new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteIssue"); + qName2 = null; + cachedSerFactories.add(new org.apache.axis.encoding.ser.ArraySerializerFactory(qName, qName2)); + cachedDeserFactories.add(new org.apache.axis.encoding.ser.ArrayDeserializerFactory()); + + qName = new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", + "ArrayOf_tns1_RemoteIssueType"); + cachedSerQNames.add(qName); + cls = RemoteIssueType[].class; + cachedSerClasses.add(cls); + qName = new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteIssueType"); + qName2 = null; + cachedSerFactories.add(new org.apache.axis.encoding.ser.ArraySerializerFactory(qName, qName2)); + cachedDeserFactories.add(new org.apache.axis.encoding.ser.ArrayDeserializerFactory()); + + qName = new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", + "ArrayOf_tns1_RemoteNamedObject"); + cachedSerQNames.add(qName); + cls = RemoteNamedObject[].class; + cachedSerClasses.add(cls); + qName = new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteNamedObject"); + qName2 = null; + cachedSerFactories.add(new org.apache.axis.encoding.ser.ArraySerializerFactory(qName, qName2)); + cachedDeserFactories.add(new org.apache.axis.encoding.ser.ArrayDeserializerFactory()); + + qName = new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", + "ArrayOf_tns1_RemotePermission"); + cachedSerQNames.add(qName); + cls = RemotePermission[].class; + cachedSerClasses.add(cls); + qName = new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemotePermission"); + qName2 = null; + cachedSerFactories.add(new org.apache.axis.encoding.ser.ArraySerializerFactory(qName, qName2)); + cachedDeserFactories.add(new org.apache.axis.encoding.ser.ArrayDeserializerFactory()); + + qName = new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", + "ArrayOf_tns1_RemotePermissionMapping"); + cachedSerQNames.add(qName); + cls = RemotePermissionMapping[].class; + cachedSerClasses.add(cls); + qName = new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemotePermissionMapping"); + qName2 = null; + cachedSerFactories.add(new org.apache.axis.encoding.ser.ArraySerializerFactory(qName, qName2)); + cachedDeserFactories.add(new org.apache.axis.encoding.ser.ArrayDeserializerFactory()); + + qName = new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", + "ArrayOf_tns1_RemotePermissionScheme"); + cachedSerQNames.add(qName); + cls = RemotePermissionScheme[].class; + cachedSerClasses.add(cls); + qName = new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemotePermissionScheme"); + qName2 = null; + cachedSerFactories.add(new org.apache.axis.encoding.ser.ArraySerializerFactory(qName, qName2)); + cachedDeserFactories.add(new org.apache.axis.encoding.ser.ArrayDeserializerFactory()); + + qName = new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", + "ArrayOf_tns1_RemotePriority"); + cachedSerQNames.add(qName); + cls = RemotePriority[].class; + cachedSerClasses.add(cls); + qName = new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemotePriority"); + qName2 = null; + cachedSerFactories.add(new org.apache.axis.encoding.ser.ArraySerializerFactory(qName, qName2)); + cachedDeserFactories.add(new org.apache.axis.encoding.ser.ArrayDeserializerFactory()); + + qName = new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", + "ArrayOf_tns1_RemoteProject"); + cachedSerQNames.add(qName); + cls = RemoteProject[].class; + cachedSerClasses.add(cls); + qName = new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteProject"); + qName2 = null; + cachedSerFactories.add(new org.apache.axis.encoding.ser.ArraySerializerFactory(qName, qName2)); + cachedDeserFactories.add(new org.apache.axis.encoding.ser.ArrayDeserializerFactory()); + + qName = new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", + "ArrayOf_tns1_RemoteProjectRole"); + cachedSerQNames.add(qName); + cls = RemoteProjectRole[].class; + cachedSerClasses.add(cls); + qName = new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteProjectRole"); + qName2 = null; + cachedSerFactories.add(new org.apache.axis.encoding.ser.ArraySerializerFactory(qName, qName2)); + cachedDeserFactories.add(new org.apache.axis.encoding.ser.ArrayDeserializerFactory()); + + qName = new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", + "ArrayOf_tns1_RemoteResolution"); + cachedSerQNames.add(qName); + cls = RemoteResolution[].class; + cachedSerClasses.add(cls); + qName = new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteResolution"); + qName2 = null; + cachedSerFactories.add(new org.apache.axis.encoding.ser.ArraySerializerFactory(qName, qName2)); + cachedDeserFactories.add(new org.apache.axis.encoding.ser.ArrayDeserializerFactory()); + + qName = new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", + "ArrayOf_tns1_RemoteRoleActor"); + cachedSerQNames.add(qName); + cls = RemoteRoleActor[].class; + cachedSerClasses.add(cls); + qName = new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteRoleActor"); + qName2 = null; + cachedSerFactories.add(new org.apache.axis.encoding.ser.ArraySerializerFactory(qName, qName2)); + cachedDeserFactories.add(new org.apache.axis.encoding.ser.ArrayDeserializerFactory()); + + qName = new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", + "ArrayOf_tns1_RemoteScheme"); + cachedSerQNames.add(qName); + cls = RemoteScheme[].class; + cachedSerClasses.add(cls); + qName = new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteScheme"); + qName2 = null; + cachedSerFactories.add(new org.apache.axis.encoding.ser.ArraySerializerFactory(qName, qName2)); + cachedDeserFactories.add(new org.apache.axis.encoding.ser.ArrayDeserializerFactory()); + + qName = new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", + "ArrayOf_tns1_RemoteSecurityLevel"); + cachedSerQNames.add(qName); + cls = RemoteSecurityLevel[].class; + cachedSerClasses.add(cls); + qName = new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteSecurityLevel"); + qName2 = null; + cachedSerFactories.add(new org.apache.axis.encoding.ser.ArraySerializerFactory(qName, qName2)); + cachedDeserFactories.add(new org.apache.axis.encoding.ser.ArrayDeserializerFactory()); + + qName = new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", + "ArrayOf_tns1_RemoteStatus"); + cachedSerQNames.add(qName); + cls = RemoteStatus[].class; + cachedSerClasses.add(cls); + qName = new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteStatus"); + qName2 = null; + cachedSerFactories.add(new org.apache.axis.encoding.ser.ArraySerializerFactory(qName, qName2)); + cachedDeserFactories.add(new org.apache.axis.encoding.ser.ArrayDeserializerFactory()); + + qName = new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", + "ArrayOf_tns1_RemoteUser"); + cachedSerQNames.add(qName); + cls = RemoteUser[].class; + cachedSerClasses.add(cls); + qName = new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteUser"); + qName2 = null; + cachedSerFactories.add(new org.apache.axis.encoding.ser.ArraySerializerFactory(qName, qName2)); + cachedDeserFactories.add(new org.apache.axis.encoding.ser.ArrayDeserializerFactory()); + + qName = new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", + "ArrayOf_tns1_RemoteVersion"); + cachedSerQNames.add(qName); + cls = RemoteVersion[].class; + cachedSerClasses.add(cls); + qName = new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteVersion"); + qName2 = null; + cachedSerFactories.add(new org.apache.axis.encoding.ser.ArraySerializerFactory(qName, qName2)); + cachedDeserFactories.add(new org.apache.axis.encoding.ser.ArrayDeserializerFactory()); + + qName = new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", + "ArrayOf_tns1_RemoteWorklog"); + cachedSerQNames.add(qName); + cls = RemoteWorklog[].class; + cachedSerClasses.add(cls); + qName = new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteWorklog"); + qName2 = null; + cachedSerFactories.add(new org.apache.axis.encoding.ser.ArraySerializerFactory(qName, qName2)); + cachedDeserFactories.add(new org.apache.axis.encoding.ser.ArrayDeserializerFactory()); + + qName = new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", + "ArrayOf_xsd_base64Binary"); + cachedSerQNames.add(qName); + cls = byte[][].class; + cachedSerClasses.add(cls); + qName = new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "byte"); + qName2 = null; + cachedSerFactories.add(new org.apache.axis.encoding.ser.ArraySerializerFactory(qName, qName2)); + cachedDeserFactories.add(new org.apache.axis.encoding.ser.ArrayDeserializerFactory()); + + qName = new javax.xml.namespace.QName("http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "ArrayOf_xsd_string"); + cachedSerQNames.add(qName); + cls = String[].class; + cachedSerClasses.add(cls); + qName = new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"); + qName2 = null; + cachedSerFactories.add(new org.apache.axis.encoding.ser.ArraySerializerFactory(qName, qName2)); + cachedDeserFactories.add(new org.apache.axis.encoding.ser.ArrayDeserializerFactory()); + + qName = new javax.xml.namespace.QName("http://service.soap.rpc.jira.atlassian.com", + "IssueServiceImpl$RemoteWorklogImpl"); + cachedSerQNames.add(qName); + cls = IssueServiceImpl$RemoteWorklogImpl.class; + cachedSerClasses.add(cls); + cachedSerFactories.add(beansf); + cachedDeserFactories.add(beandf); + + } + + protected org.apache.axis.client.Call createCall() throws java.rmi.RemoteException { + try { + org.apache.axis.client.Call _call = super._createCall(); + if (super.maintainSessionSet) { + _call.setMaintainSession(super.maintainSession); + } + if (super.cachedUsername != null) { + _call.setUsername(super.cachedUsername); + } + if (super.cachedPassword != null) { + _call.setPassword(super.cachedPassword); + } + if (super.cachedEndpoint != null) { + _call.setTargetEndpointAddress(super.cachedEndpoint); + } + if (super.cachedTimeout != null) { + _call.setTimeout(super.cachedTimeout); + } + if (super.cachedPortName != null) { + _call.setPortName(super.cachedPortName); + } + java.util.Enumeration keys = super.cachedProperties.keys(); + while (keys.hasMoreElements()) { + String key = (String) keys.nextElement(); + _call.setProperty(key, super.cachedProperties.get(key)); + } + // All the type mapping information is registered + // when the first call is made. + // The type mapping information is actually registered in + // the TypeMappingRegistry of the service, which + // is the reason why registration is only needed for the first call. + synchronized (this) { + if (firstCall()) { + // must set encoding style before registering serializers + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setEncodingStyle(org.apache.axis.Constants.URI_SOAP11_ENC); + for (int i = 0; i < cachedSerFactories.size(); ++i) { + Class cls = (Class) cachedSerClasses.get(i); + javax.xml.namespace.QName qName = + (javax.xml.namespace.QName) cachedSerQNames.get(i); + Object x = cachedSerFactories.get(i); + if (x instanceof Class) { + Class sf = (Class) + cachedSerFactories.get(i); + Class df = (Class) + cachedDeserFactories.get(i); + _call.registerTypeMapping(cls, qName, sf, df, false); + } else if (x instanceof javax.xml.rpc.encoding.SerializerFactory) { + org.apache.axis.encoding.SerializerFactory sf = (org.apache.axis.encoding.SerializerFactory) + cachedSerFactories.get(i); + org.apache.axis.encoding.DeserializerFactory df = (org.apache.axis.encoding.DeserializerFactory) + cachedDeserFactories.get(i); + _call.registerTypeMapping(cls, qName, sf, df, false); + } + } + } + } + return _call; + } + catch (Throwable _t) { + throw new org.apache.axis.AxisFault("Failure trying to get the Call object", _t); + } + } + + public RemoteComment getComment(String in0, long in1) + throws java.rmi.RemoteException, RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[0]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "getComment")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, new Long(in1)}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } else { + extractAttachments(_call); + try { + return (RemoteComment) _resp; + } catch (Exception _exception) { + return (RemoteComment) org.apache.axis.utils.JavaUtils + .convert(_resp, RemoteComment.class); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public RemoteGroup createGroup(String in0, String in1, + RemoteUser in2) throws java.rmi.RemoteException, + RemotePermissionException, + RemoteValidationException, + RemoteAuthenticationException, + RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[1]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "createGroup")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1, in2}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } else { + extractAttachments(_call); + try { + return (RemoteGroup) _resp; + } catch (Exception _exception) { + return (RemoteGroup) org.apache.axis.utils.JavaUtils + .convert(_resp, RemoteGroup.class); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemotePermissionException) { + throw (RemotePermissionException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteValidationException) { + throw (RemoteValidationException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteAuthenticationException) { + throw (RemoteAuthenticationException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public RemoteSecurityLevel getSecurityLevel(String in0, + String in1) throws java.rmi.RemoteException, + RemotePermissionException, + RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[2]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "getSecurityLevel")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } else { + extractAttachments(_call); + try { + return (RemoteSecurityLevel) _resp; + } catch (Exception _exception) { + return (RemoteSecurityLevel) org.apache.axis.utils.JavaUtils + .convert(_resp, RemoteSecurityLevel.class); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemotePermissionException) { + throw (RemotePermissionException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public RemoteServerInfo getServerInfo(String in0) + throws java.rmi.RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[3]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "getServerInfo")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } else { + extractAttachments(_call); + try { + return (RemoteServerInfo) _resp; + } catch (Exception _exception) { + return (RemoteServerInfo) org.apache.axis.utils.JavaUtils + .convert(_resp, RemoteServerInfo.class); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + throw axisFaultException; + } + } + + public RemoteGroup getGroup(String in0, String in1) throws + java.rmi.RemoteException, RemotePermissionException, + RemoteValidationException, + RemoteAuthenticationException, + RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[4]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "getGroup")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } else { + extractAttachments(_call); + try { + return (RemoteGroup) _resp; + } catch (Exception _exception) { + return (RemoteGroup) org.apache.axis.utils.JavaUtils + .convert(_resp, RemoteGroup.class); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemotePermissionException) { + throw (RemotePermissionException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteValidationException) { + throw (RemoteValidationException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteAuthenticationException) { + throw (RemoteAuthenticationException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public RemoteUser createUser(String in0, String in1, + String in2, String in3, String in4) throws java.rmi.RemoteException, + RemotePermissionException, + RemoteValidationException, + RemoteAuthenticationException, + RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[5]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "createUser")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1, in2, in3, in4}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } else { + extractAttachments(_call); + try { + return (RemoteUser) _resp; + } catch (Exception _exception) { + return (RemoteUser) org.apache.axis.utils.JavaUtils + .convert(_resp, RemoteUser.class); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemotePermissionException) { + throw (RemotePermissionException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteValidationException) { + throw (RemoteValidationException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteAuthenticationException) { + throw (RemoteAuthenticationException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public RemoteUser getUser(String in0, String in1) throws + java.rmi.RemoteException, RemotePermissionException, + RemoteAuthenticationException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[6]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "getUser")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } else { + extractAttachments(_call); + try { + return (RemoteUser) _resp; + } catch (Exception _exception) { + return (RemoteUser) org.apache.axis.utils.JavaUtils + .convert(_resp, RemoteUser.class); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemotePermissionException) { + throw (RemotePermissionException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteAuthenticationException) { + throw (RemoteAuthenticationException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public String login(String in0, String in1) throws java.rmi.RemoteException, + RemoteAuthenticationException, + RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[7]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "login")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } else { + extractAttachments(_call); + try { + return (String) _resp; + } catch (Exception _exception) { + return (String) org.apache.axis.utils.JavaUtils.convert(_resp, String.class); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteAuthenticationException) { + throw (RemoteAuthenticationException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public RemoteIssue getIssue(String in0, String in1) throws + java.rmi.RemoteException, RemotePermissionException, + RemoteAuthenticationException, + RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[8]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "getIssue")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } else { + extractAttachments(_call); + try { + return (RemoteIssue) _resp; + } catch (Exception _exception) { + return (RemoteIssue) org.apache.axis.utils.JavaUtils + .convert(_resp, RemoteIssue.class); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemotePermissionException) { + throw (RemotePermissionException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteAuthenticationException) { + throw (RemoteAuthenticationException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public RemoteIssue createIssue(String in0, + RemoteIssue in1) throws java.rmi.RemoteException, + RemotePermissionException, + RemoteValidationException, + RemoteAuthenticationException, + RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[9]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "createIssue")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } else { + extractAttachments(_call); + try { + return (RemoteIssue) _resp; + } catch (Exception _exception) { + return (RemoteIssue) org.apache.axis.utils.JavaUtils + .convert(_resp, RemoteIssue.class); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemotePermissionException) { + throw (RemotePermissionException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteValidationException) { + throw (RemoteValidationException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteAuthenticationException) { + throw (RemoteAuthenticationException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public RemoteNamedObject[] getAvailableActions(String in0, + String in1) throws java.rmi.RemoteException, RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[10]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "getAvailableActions")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } else { + extractAttachments(_call); + try { + return (RemoteNamedObject[]) _resp; + } catch (Exception _exception) { + return (RemoteNamedObject[]) org.apache.axis.utils.JavaUtils + .convert(_resp, RemoteNamedObject[].class); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public RemoteIssue updateIssue(String in0, String in1, + RemoteFieldValue[] in2) + throws java.rmi.RemoteException, RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[11]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "updateIssue")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1, in2}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } else { + extractAttachments(_call); + try { + return (RemoteIssue) _resp; + } catch (Exception _exception) { + return (RemoteIssue) org.apache.axis.utils.JavaUtils + .convert(_resp, RemoteIssue.class); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public RemoteConfiguration getConfiguration(String in0) throws + java.rmi.RemoteException, RemotePermissionException, + RemoteAuthenticationException, + RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[12]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "getConfiguration")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } else { + extractAttachments(_call); + try { + return (RemoteConfiguration) _resp; + } catch (Exception _exception) { + return (RemoteConfiguration) org.apache.axis.utils.JavaUtils + .convert(_resp, RemoteConfiguration.class); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemotePermissionException) { + throw (RemotePermissionException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteAuthenticationException) { + throw (RemoteAuthenticationException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public RemoteComponent[] getComponents(String in0, + String in1) throws java.rmi.RemoteException, + RemotePermissionException, + RemoteAuthenticationException, + RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[13]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "getComponents")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } else { + extractAttachments(_call); + try { + return (RemoteComponent[]) _resp; + } catch (Exception _exception) { + return (RemoteComponent[]) org.apache.axis.utils.JavaUtils + .convert(_resp, RemoteComponent[].class); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemotePermissionException) { + throw (RemotePermissionException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteAuthenticationException) { + throw (RemoteAuthenticationException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public RemoteProject updateProject(String in0, + RemoteProject in1) throws java.rmi.RemoteException, + RemotePermissionException, + RemoteValidationException, + RemoteAuthenticationException, + RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[14]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "updateProject")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } else { + extractAttachments(_call); + try { + return (RemoteProject) _resp; + } catch (Exception _exception) { + return (RemoteProject) org.apache.axis.utils.JavaUtils + .convert(_resp, RemoteProject.class); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemotePermissionException) { + throw (RemotePermissionException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteValidationException) { + throw (RemoteValidationException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteAuthenticationException) { + throw (RemoteAuthenticationException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public RemoteProject getProjectByKey(String in0, String in1) + throws java.rmi.RemoteException, RemotePermissionException, + RemoteAuthenticationException, + RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[15]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "getProjectByKey")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } else { + extractAttachments(_call); + try { + return (RemoteProject) _resp; + } catch (Exception _exception) { + return (RemoteProject) org.apache.axis.utils.JavaUtils + .convert(_resp, RemoteProject.class); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemotePermissionException) { + throw (RemotePermissionException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteAuthenticationException) { + throw (RemoteAuthenticationException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public RemotePriority[] getPriorities(String in0) throws + java.rmi.RemoteException, RemotePermissionException, + RemoteAuthenticationException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[16]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "getPriorities")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } else { + extractAttachments(_call); + try { + return (RemotePriority[]) _resp; + } catch (Exception _exception) { + return (RemotePriority[]) org.apache.axis.utils.JavaUtils + .convert(_resp, RemotePriority[].class); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemotePermissionException) { + throw (RemotePermissionException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteAuthenticationException) { + throw (RemoteAuthenticationException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public RemoteResolution[] getResolutions(String in0) throws + java.rmi.RemoteException, RemotePermissionException, + RemoteAuthenticationException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[17]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "getResolutions")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } else { + extractAttachments(_call); + try { + return (RemoteResolution[]) _resp; + } catch (Exception _exception) { + return (RemoteResolution[]) org.apache.axis.utils.JavaUtils + .convert(_resp, RemoteResolution[].class); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemotePermissionException) { + throw (RemotePermissionException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteAuthenticationException) { + throw (RemoteAuthenticationException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public RemoteIssueType[] getIssueTypes(String in0) throws + java.rmi.RemoteException, RemotePermissionException, + RemoteAuthenticationException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[18]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "getIssueTypes")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } else { + extractAttachments(_call); + try { + return (RemoteIssueType[]) _resp; + } catch (Exception _exception) { + return (RemoteIssueType[]) org.apache.axis.utils.JavaUtils + .convert(_resp, RemoteIssueType[].class); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemotePermissionException) { + throw (RemotePermissionException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteAuthenticationException) { + throw (RemoteAuthenticationException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public RemoteStatus[] getStatuses(String in0) throws + java.rmi.RemoteException, RemotePermissionException, + RemoteAuthenticationException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[19]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "getStatuses")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } else { + extractAttachments(_call); + try { + return (RemoteStatus[]) _resp; + } catch (Exception _exception) { + return (RemoteStatus[]) org.apache.axis.utils.JavaUtils + .convert(_resp, RemoteStatus[].class); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemotePermissionException) { + throw (RemotePermissionException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteAuthenticationException) { + throw (RemoteAuthenticationException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public RemoteIssueType[] getSubTaskIssueTypes(String in0) throws + java.rmi.RemoteException, RemotePermissionException, + RemoteAuthenticationException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[20]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "getSubTaskIssueTypes")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } else { + extractAttachments(_call); + try { + return (RemoteIssueType[]) _resp; + } catch (Exception _exception) { + return (RemoteIssueType[]) org.apache.axis.utils.JavaUtils + .convert(_resp, RemoteIssueType[].class); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemotePermissionException) { + throw (RemotePermissionException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteAuthenticationException) { + throw (RemoteAuthenticationException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public RemoteProjectRole[] getProjectRoles(String in0) + throws java.rmi.RemoteException, RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[21]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "getProjectRoles")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } else { + extractAttachments(_call); + try { + return (RemoteProjectRole[]) _resp; + } catch (Exception _exception) { + return (RemoteProjectRole[]) org.apache.axis.utils.JavaUtils + .convert(_resp, RemoteProjectRole[].class); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public RemoteProjectRole getProjectRole(String in0, long in1) + throws java.rmi.RemoteException, RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[22]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "getProjectRole")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, new Long(in1)}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } else { + extractAttachments(_call); + try { + return (RemoteProjectRole) _resp; + } catch (Exception _exception) { + return (RemoteProjectRole) org.apache.axis.utils.JavaUtils + .convert(_resp, RemoteProjectRole.class); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public RemoteProjectRoleActors getProjectRoleActors(String in0, + RemoteProjectRole in1, + RemoteProject in2) + throws java.rmi.RemoteException, RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[23]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "getProjectRoleActors")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1, in2}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } else { + extractAttachments(_call); + try { + return (RemoteProjectRoleActors) _resp; + } catch (Exception _exception) { + return (RemoteProjectRoleActors) org.apache.axis.utils.JavaUtils + .convert(_resp, RemoteProjectRoleActors.class); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public RemoteRoleActors getDefaultRoleActors(String in0, + RemoteProjectRole in1) + throws java.rmi.RemoteException, RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[24]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "getDefaultRoleActors")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } else { + extractAttachments(_call); + try { + return (RemoteRoleActors) _resp; + } catch (Exception _exception) { + return (RemoteRoleActors) org.apache.axis.utils.JavaUtils + .convert(_resp, RemoteRoleActors.class); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public void removeAllRoleActorsByNameAndType(String in0, String in1, String in2) + throws java.rmi.RemoteException, RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[25]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName( + new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "removeAllRoleActorsByNameAndType")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1, in2}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } + extractAttachments(_call); + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public void removeAllRoleActorsByProject(String in0, RemoteProject in1) + throws java.rmi.RemoteException, RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[26]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName( + new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "removeAllRoleActorsByProject")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } + extractAttachments(_call); + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public void deleteProjectRole(String in0, RemoteProjectRole in1, + boolean in2) throws java.rmi.RemoteException, RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[27]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "deleteProjectRole")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1, new Boolean(in2)}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } + extractAttachments(_call); + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public void updateProjectRole(String in0, RemoteProjectRole in1) + throws java.rmi.RemoteException, RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[28]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "updateProjectRole")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } + extractAttachments(_call); + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public RemoteProjectRole createProjectRole(String in0, + RemoteProjectRole in1) + throws java.rmi.RemoteException, RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[29]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "createProjectRole")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } else { + extractAttachments(_call); + try { + return (RemoteProjectRole) _resp; + } catch (Exception _exception) { + return (RemoteProjectRole) org.apache.axis.utils.JavaUtils + .convert(_resp, RemoteProjectRole.class); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public boolean isProjectRoleNameUnique(String in0, String in1) + throws java.rmi.RemoteException, RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[30]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "isProjectRoleNameUnique")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } else { + extractAttachments(_call); + try { + return ((Boolean) _resp).booleanValue(); + } catch (Exception _exception) { + return ((Boolean) org.apache.axis.utils.JavaUtils.convert(_resp, boolean.class)).booleanValue(); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public void addActorsToProjectRole(String in0, String[] in1, + RemoteProjectRole in2, + RemoteProject in3, String in4) + throws java.rmi.RemoteException, RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[31]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "addActorsToProjectRole")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1, in2, in3, in4}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } + extractAttachments(_call); + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public void removeActorsFromProjectRole(String in0, String[] in1, + RemoteProjectRole in2, + RemoteProject in3, String in4) + throws java.rmi.RemoteException, RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[32]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName( + new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "removeActorsFromProjectRole")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1, in2, in3, in4}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } + extractAttachments(_call); + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public void addDefaultActorsToProjectRole(String in0, String[] in1, + RemoteProjectRole in2, String in3) + throws java.rmi.RemoteException, RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[33]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName( + new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "addDefaultActorsToProjectRole")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1, in2, in3}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } + extractAttachments(_call); + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public void removeDefaultActorsFromProjectRole(String in0, String[] in1, + RemoteProjectRole in2, String in3) + throws java.rmi.RemoteException, RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[34]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName( + new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "removeDefaultActorsFromProjectRole")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1, in2, in3}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } + extractAttachments(_call); + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public RemoteScheme[] getAssociatedNotificationSchemes(String in0, + RemoteProjectRole in1) + throws java.rmi.RemoteException, RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[35]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName( + new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "getAssociatedNotificationSchemes")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } else { + extractAttachments(_call); + try { + return (RemoteScheme[]) _resp; + } catch (Exception _exception) { + return (RemoteScheme[]) org.apache.axis.utils.JavaUtils + .convert(_resp, RemoteScheme[].class); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public RemoteScheme[] getAssociatedPermissionSchemes(String in0, + RemoteProjectRole in1) + throws java.rmi.RemoteException, RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[36]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName( + new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "getAssociatedPermissionSchemes")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } else { + extractAttachments(_call); + try { + return (RemoteScheme[]) _resp; + } catch (Exception _exception) { + return (RemoteScheme[]) org.apache.axis.utils.JavaUtils + .convert(_resp, RemoteScheme[].class); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public RemoteField[] getCustomFields(String in0) + throws java.rmi.RemoteException, RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[37]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "getCustomFields")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } else { + extractAttachments(_call); + try { + return (RemoteField[]) _resp; + } catch (Exception _exception) { + return (RemoteField[]) org.apache.axis.utils.JavaUtils + .convert(_resp, RemoteField[].class); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public RemoteComment[] getComments(String in0, String in1) + throws java.rmi.RemoteException, RemotePermissionException, + RemoteAuthenticationException, + RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[38]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "getComments")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } else { + extractAttachments(_call); + try { + return (RemoteComment[]) _resp; + } catch (Exception _exception) { + return (RemoteComment[]) org.apache.axis.utils.JavaUtils + .convert(_resp, RemoteComment[].class); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemotePermissionException) { + throw (RemotePermissionException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteAuthenticationException) { + throw (RemoteAuthenticationException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public RemoteFilter[] getFavouriteFilters(String in0) throws + java.rmi.RemoteException, RemotePermissionException, + RemoteAuthenticationException, + RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[39]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "getFavouriteFilters")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } else { + extractAttachments(_call); + try { + return (RemoteFilter[]) _resp; + } catch (Exception _exception) { + return (RemoteFilter[]) org.apache.axis.utils.JavaUtils + .convert(_resp, RemoteFilter[].class); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemotePermissionException) { + throw (RemotePermissionException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteAuthenticationException) { + throw (RemoteAuthenticationException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public void archiveVersion(String in0, String in1, String in2, boolean in3) + throws java.rmi.RemoteException, RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[40]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "archiveVersion")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1, in2, new Boolean(in3)}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } + extractAttachments(_call); + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public RemoteVersion[] getVersions(String in0, String in1) + throws java.rmi.RemoteException, RemotePermissionException, + RemoteAuthenticationException, + RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[41]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "getVersions")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } else { + extractAttachments(_call); + try { + return (RemoteVersion[]) _resp; + } catch (Exception _exception) { + return (RemoteVersion[]) org.apache.axis.utils.JavaUtils + .convert(_resp, RemoteVersion[].class); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemotePermissionException) { + throw (RemotePermissionException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteAuthenticationException) { + throw (RemoteAuthenticationException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public RemoteProject createProject(String in0, String in1, + String in2, String in3, String in4, String in5, + RemotePermissionScheme in6, + RemoteScheme in7, + RemoteScheme in8) throws java.rmi.RemoteException, + RemotePermissionException, + RemoteValidationException, + RemoteAuthenticationException, + RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[42]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "createProject")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1, in2, in3, in4, in5, in6, in7, in8}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } else { + extractAttachments(_call); + try { + return (RemoteProject) _resp; + } catch (Exception _exception) { + return (RemoteProject) org.apache.axis.utils.JavaUtils + .convert(_resp, RemoteProject.class); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemotePermissionException) { + throw (RemotePermissionException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteValidationException) { + throw (RemoteValidationException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteAuthenticationException) { + throw (RemoteAuthenticationException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public void addComment(String in0, String in1, + RemoteComment in2) throws java.rmi.RemoteException, + RemotePermissionException, + RemoteAuthenticationException, + RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[43]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "addComment")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1, in2}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } + extractAttachments(_call); + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemotePermissionException) { + throw (RemotePermissionException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteAuthenticationException) { + throw (RemoteAuthenticationException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public RemoteField[] getFieldsForEdit(String in0, String in1) + throws java.rmi.RemoteException, RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[44]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "getFieldsForEdit")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } else { + extractAttachments(_call); + try { + return (RemoteField[]) _resp; + } catch (Exception _exception) { + return (RemoteField[]) org.apache.axis.utils.JavaUtils + .convert(_resp, RemoteField[].class); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public RemoteIssueType[] getIssueTypesForProject(String in0, + String in1) throws java.rmi.RemoteException, + RemotePermissionException, + RemoteAuthenticationException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[45]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "getIssueTypesForProject")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } else { + extractAttachments(_call); + try { + return (RemoteIssueType[]) _resp; + } catch (Exception _exception) { + return (RemoteIssueType[]) org.apache.axis.utils.JavaUtils + .convert(_resp, RemoteIssueType[].class); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemotePermissionException) { + throw (RemotePermissionException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteAuthenticationException) { + throw (RemoteAuthenticationException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public RemoteIssueType[] getSubTaskIssueTypesForProject(String in0, + String in1) throws java.rmi.RemoteException, + RemotePermissionException, + RemoteAuthenticationException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[46]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName( + new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "getSubTaskIssueTypesForProject")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } else { + extractAttachments(_call); + try { + return (RemoteIssueType[]) _resp; + } catch (Exception _exception) { + return (RemoteIssueType[]) org.apache.axis.utils.JavaUtils + .convert(_resp, RemoteIssueType[].class); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemotePermissionException) { + throw (RemotePermissionException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteAuthenticationException) { + throw (RemoteAuthenticationException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public void addUserToGroup(String in0, RemoteGroup in1, + RemoteUser in2) throws java.rmi.RemoteException, + RemotePermissionException, + RemoteValidationException, + RemoteAuthenticationException, + RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[47]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "addUserToGroup")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1, in2}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } + extractAttachments(_call); + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemotePermissionException) { + throw (RemotePermissionException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteValidationException) { + throw (RemoteValidationException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteAuthenticationException) { + throw (RemoteAuthenticationException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public void removeUserFromGroup(String in0, RemoteGroup in1, + RemoteUser in2) throws java.rmi.RemoteException, + RemotePermissionException, + RemoteValidationException, + RemoteAuthenticationException, + RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[48]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "removeUserFromGroup")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1, in2}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } + extractAttachments(_call); + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemotePermissionException) { + throw (RemotePermissionException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteValidationException) { + throw (RemoteValidationException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteAuthenticationException) { + throw (RemoteAuthenticationException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public boolean logout(String in0) throws java.rmi.RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[49]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "logout")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } else { + extractAttachments(_call); + try { + return ((Boolean) _resp).booleanValue(); + } catch (Exception _exception) { + return ((Boolean) org.apache.axis.utils.JavaUtils.convert(_resp, boolean.class)).booleanValue(); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + throw axisFaultException; + } + } + + public RemoteProject getProjectById(String in0, long in1) throws + java.rmi.RemoteException, RemotePermissionException, + RemoteAuthenticationException, + RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[50]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "getProjectById")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, new Long(in1)}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } else { + extractAttachments(_call); + try { + return (RemoteProject) _resp; + } catch (Exception _exception) { + return (RemoteProject) org.apache.axis.utils.JavaUtils + .convert(_resp, RemoteProject.class); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemotePermissionException) { + throw (RemotePermissionException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteAuthenticationException) { + throw (RemoteAuthenticationException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public RemoteProject getProjectWithSchemesById(String in0, long in1) + throws java.rmi.RemoteException, RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[51]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName( + new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "getProjectWithSchemesById")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, new Long(in1)}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } else { + extractAttachments(_call); + try { + return (RemoteProject) _resp; + } catch (Exception _exception) { + return (RemoteProject) org.apache.axis.utils.JavaUtils + .convert(_resp, RemoteProject.class); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public void deleteProject(String in0, String in1) throws java.rmi.RemoteException, + RemotePermissionException, + RemoteAuthenticationException, + RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[52]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "deleteProject")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } + extractAttachments(_call); + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemotePermissionException) { + throw (RemotePermissionException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteAuthenticationException) { + throw (RemoteAuthenticationException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public void releaseVersion(String in0, String in1, + RemoteVersion in2) + throws java.rmi.RemoteException, RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[53]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "releaseVersion")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1, in2}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } + extractAttachments(_call); + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public RemoteSecurityLevel[] getSecurityLevels(String in0, + String in1) throws java.rmi.RemoteException, + RemotePermissionException, + RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[54]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "getSecurityLevels")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } else { + extractAttachments(_call); + try { + return (RemoteSecurityLevel[]) _resp; + } catch (Exception _exception) { + return (RemoteSecurityLevel[]) org.apache.axis.utils.JavaUtils + .convert(_resp, RemoteSecurityLevel[].class); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemotePermissionException) { + throw (RemotePermissionException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public void deleteIssue(String in0, String in1) throws java.rmi.RemoteException, + RemotePermissionException, + RemoteAuthenticationException, + RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[55]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "deleteIssue")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } + extractAttachments(_call); + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemotePermissionException) { + throw (RemotePermissionException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteAuthenticationException) { + throw (RemoteAuthenticationException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public RemoteIssue createIssueWithSecurityLevel(String in0, + RemoteIssue in1, long in2) throws java.rmi.RemoteException, + RemotePermissionException, + RemoteValidationException, + RemoteAuthenticationException, + RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[56]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName( + new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "createIssueWithSecurityLevel")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1, new Long(in2)}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } else { + extractAttachments(_call); + try { + return (RemoteIssue) _resp; + } catch (Exception _exception) { + return (RemoteIssue) org.apache.axis.utils.JavaUtils + .convert(_resp, RemoteIssue.class); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemotePermissionException) { + throw (RemotePermissionException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteValidationException) { + throw (RemoteValidationException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteAuthenticationException) { + throw (RemoteAuthenticationException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public boolean addAttachmentsToIssue(String in0, String in1, String[] in2, byte[][] in3) + throws java.rmi.RemoteException, RemotePermissionException, + RemoteValidationException, + RemoteAuthenticationException, + RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[57]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "addAttachmentsToIssue")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1, in2, in3}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } else { + extractAttachments(_call); + try { + return ((Boolean) _resp).booleanValue(); + } catch (Exception _exception) { + return ((Boolean) org.apache.axis.utils.JavaUtils.convert(_resp, boolean.class)).booleanValue(); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemotePermissionException) { + throw (RemotePermissionException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteValidationException) { + throw (RemoteValidationException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteAuthenticationException) { + throw (RemoteAuthenticationException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public RemoteAttachment[] getAttachmentsFromIssue(String in0, + String in1) throws java.rmi.RemoteException, + RemotePermissionException, + RemoteValidationException, + RemoteAuthenticationException, + RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[58]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "getAttachmentsFromIssue")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } else { + extractAttachments(_call); + try { + return (RemoteAttachment[]) _resp; + } catch (ClassCastException e) { + throw e; // see PL-1918 for further information why this manual modification is needed here + } catch (Exception _exception) { + return (RemoteAttachment[]) org.apache.axis.utils.JavaUtils + .convert(_resp, RemoteAttachment[].class); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemotePermissionException) { + throw (RemotePermissionException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteValidationException) { + throw (RemoteValidationException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteAuthenticationException) { + throw (RemoteAuthenticationException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public boolean hasPermissionToEditComment(String in0, + RemoteComment in1) + throws java.rmi.RemoteException, RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[59]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName( + new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "hasPermissionToEditComment")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } else { + extractAttachments(_call); + try { + return ((Boolean) _resp).booleanValue(); + } catch (Exception _exception) { + return ((Boolean) org.apache.axis.utils.JavaUtils.convert(_resp, boolean.class)).booleanValue(); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public RemoteComment editComment(String in0, + RemoteComment in1) + throws java.rmi.RemoteException, RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[60]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "editComment")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } else { + extractAttachments(_call); + try { + return (RemoteComment) _resp; + } catch (Exception _exception) { + return (RemoteComment) org.apache.axis.utils.JavaUtils + .convert(_resp, RemoteComment.class); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public RemoteField[] getFieldsForAction(String in0, + String in1, String in2) + throws java.rmi.RemoteException, RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[61]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "getFieldsForAction")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1, in2}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } else { + extractAttachments(_call); + try { + return (RemoteField[]) _resp; + } catch (Exception _exception) { + return (RemoteField[]) org.apache.axis.utils.JavaUtils + .convert(_resp, RemoteField[].class); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public RemoteIssue progressWorkflowAction(String in0, + String in1, String in2, RemoteFieldValue[] in3) + throws java.rmi.RemoteException, RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[62]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "progressWorkflowAction")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1, in2, in3}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } else { + extractAttachments(_call); + try { + return (RemoteIssue) _resp; + } catch (Exception _exception) { + return (RemoteIssue) org.apache.axis.utils.JavaUtils + .convert(_resp, RemoteIssue.class); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public RemoteIssue getIssueById(String in0, String in1) + throws java.rmi.RemoteException, RemotePermissionException, + RemoteAuthenticationException, + RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[63]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "getIssueById")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } else { + extractAttachments(_call); + try { + return (RemoteIssue) _resp; + } catch (Exception _exception) { + return (RemoteIssue) org.apache.axis.utils.JavaUtils + .convert(_resp, RemoteIssue.class); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemotePermissionException) { + throw (RemotePermissionException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteAuthenticationException) { + throw (RemoteAuthenticationException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public RemoteWorklog addWorklogWithNewRemainingEstimate(String in0, + String in1, RemoteWorklog in2, String in3) throws + java.rmi.RemoteException, RemotePermissionException, + RemoteValidationException, + RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[64]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName( + new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "addWorklogWithNewRemainingEstimate")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1, in2, in3}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } else { + extractAttachments(_call); + try { + return (RemoteWorklog) _resp; + } catch (Exception _exception) { + return (RemoteWorklog) org.apache.axis.utils.JavaUtils + .convert(_resp, RemoteWorklog.class); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemotePermissionException) { + throw (RemotePermissionException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteValidationException) { + throw (RemoteValidationException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public RemoteWorklog addWorklogAndAutoAdjustRemainingEstimate( + String in0, String in1, RemoteWorklog in2) throws + java.rmi.RemoteException, RemotePermissionException, + RemoteValidationException, + RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[65]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", + "addWorklogAndAutoAdjustRemainingEstimate")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1, in2}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } else { + extractAttachments(_call); + try { + return (RemoteWorklog) _resp; + } catch (Exception _exception) { + return (RemoteWorklog) org.apache.axis.utils.JavaUtils + .convert(_resp, RemoteWorklog.class); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemotePermissionException) { + throw (RemotePermissionException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteValidationException) { + throw (RemoteValidationException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public RemoteWorklog addWorklogAndRetainRemainingEstimate(String in0, + String in1, RemoteWorklog in2) throws java.rmi.RemoteException, + RemotePermissionException, + RemoteValidationException, + RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[66]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName( + new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "addWorklogAndRetainRemainingEstimate")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1, in2}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } else { + extractAttachments(_call); + try { + return (RemoteWorklog) _resp; + } catch (Exception _exception) { + return (RemoteWorklog) org.apache.axis.utils.JavaUtils + .convert(_resp, RemoteWorklog.class); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemotePermissionException) { + throw (RemotePermissionException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteValidationException) { + throw (RemoteValidationException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public void deleteWorklogWithNewRemainingEstimate(String in0, String in1, String in2) throws + java.rmi.RemoteException, RemotePermissionException, + RemoteValidationException, + RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[67]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName( + new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "deleteWorklogWithNewRemainingEstimate")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1, in2}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } + extractAttachments(_call); + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemotePermissionException) { + throw (RemotePermissionException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteValidationException) { + throw (RemoteValidationException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public void deleteWorklogAndAutoAdjustRemainingEstimate(String in0, String in1) throws + java.rmi.RemoteException, RemotePermissionException, + RemoteValidationException, + RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[68]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", + "deleteWorklogAndAutoAdjustRemainingEstimate")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } + extractAttachments(_call); + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemotePermissionException) { + throw (RemotePermissionException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteValidationException) { + throw (RemoteValidationException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public void deleteWorklogAndRetainRemainingEstimate(String in0, String in1) throws + java.rmi.RemoteException, RemotePermissionException, + RemoteValidationException, + RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[69]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName( + new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "deleteWorklogAndRetainRemainingEstimate")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } + extractAttachments(_call); + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemotePermissionException) { + throw (RemotePermissionException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteValidationException) { + throw (RemoteValidationException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public void updateWorklogWithNewRemainingEstimate(String in0, + RemoteWorklog in1, String in2) throws java.rmi.RemoteException, + RemotePermissionException, + RemoteValidationException, + RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[70]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName( + new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "updateWorklogWithNewRemainingEstimate")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1, in2}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } + extractAttachments(_call); + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemotePermissionException) { + throw (RemotePermissionException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteValidationException) { + throw (RemoteValidationException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public void updateWorklogAndAutoAdjustRemainingEstimate(String in0, + RemoteWorklog in1) throws java.rmi.RemoteException, + RemotePermissionException, + RemoteValidationException, + RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[71]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", + "updateWorklogAndAutoAdjustRemainingEstimate")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } + extractAttachments(_call); + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemotePermissionException) { + throw (RemotePermissionException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteValidationException) { + throw (RemoteValidationException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public void updateWorklogAndRetainRemainingEstimate(String in0, + RemoteWorklog in1) throws java.rmi.RemoteException, + RemotePermissionException, + RemoteValidationException, + RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[72]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName( + new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "updateWorklogAndRetainRemainingEstimate")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } + extractAttachments(_call); + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemotePermissionException) { + throw (RemotePermissionException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteValidationException) { + throw (RemoteValidationException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public RemoteWorklog[] getWorklogs(String in0, String in1) + throws java.rmi.RemoteException, RemotePermissionException, + RemoteValidationException, + RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[73]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "getWorklogs")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } else { + extractAttachments(_call); + try { + return (RemoteWorklog[]) _resp; + } catch (Exception _exception) { + return (RemoteWorklog[]) org.apache.axis.utils.JavaUtils + .convert(_resp, RemoteWorklog[].class); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemotePermissionException) { + throw (RemotePermissionException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteValidationException) { + throw (RemoteValidationException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public boolean hasPermissionToCreateWorklog(String in0, String in1) throws java.rmi.RemoteException, + RemoteValidationException, + RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[74]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName( + new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "hasPermissionToCreateWorklog")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } else { + extractAttachments(_call); + try { + return ((Boolean) _resp).booleanValue(); + } catch (Exception _exception) { + return ((Boolean) org.apache.axis.utils.JavaUtils.convert(_resp, boolean.class)).booleanValue(); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteValidationException) { + throw (RemoteValidationException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public boolean hasPermissionToDeleteWorklog(String in0, String in1) throws java.rmi.RemoteException, + RemoteValidationException, + RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[75]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName( + new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "hasPermissionToDeleteWorklog")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } else { + extractAttachments(_call); + try { + return ((Boolean) _resp).booleanValue(); + } catch (Exception _exception) { + return ((Boolean) org.apache.axis.utils.JavaUtils.convert(_resp, boolean.class)).booleanValue(); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteValidationException) { + throw (RemoteValidationException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public boolean hasPermissionToUpdateWorklog(String in0, String in1) throws java.rmi.RemoteException, + RemoteValidationException, + RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[76]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName( + new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "hasPermissionToUpdateWorklog")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } else { + extractAttachments(_call); + try { + return ((Boolean) _resp).booleanValue(); + } catch (Exception _exception) { + return ((Boolean) org.apache.axis.utils.JavaUtils.convert(_resp, boolean.class)).booleanValue(); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteValidationException) { + throw (RemoteValidationException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public RemoteScheme[] getNotificationSchemes(String in0) throws + java.rmi.RemoteException, RemotePermissionException, + RemoteAuthenticationException, + RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[77]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "getNotificationSchemes")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } else { + extractAttachments(_call); + try { + return (RemoteScheme[]) _resp; + } catch (Exception _exception) { + return (RemoteScheme[]) org.apache.axis.utils.JavaUtils + .convert(_resp, RemoteScheme[].class); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemotePermissionException) { + throw (RemotePermissionException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteAuthenticationException) { + throw (RemoteAuthenticationException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public RemotePermissionScheme[] getPermissionSchemes(String in0) throws + java.rmi.RemoteException, RemotePermissionException, + RemoteAuthenticationException, + RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[78]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "getPermissionSchemes")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } else { + extractAttachments(_call); + try { + return (RemotePermissionScheme[]) _resp; + } catch (Exception _exception) { + return (RemotePermissionScheme[]) org.apache.axis.utils.JavaUtils + .convert(_resp, RemotePermissionScheme[].class); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemotePermissionException) { + throw (RemotePermissionException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteAuthenticationException) { + throw (RemoteAuthenticationException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public RemotePermissionScheme createPermissionScheme(String in0, + String in1, String in2) throws java.rmi.RemoteException, + RemotePermissionException, + RemoteValidationException, + RemoteAuthenticationException, + RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[79]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "createPermissionScheme")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1, in2}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } else { + extractAttachments(_call); + try { + return (RemotePermissionScheme) _resp; + } catch (Exception _exception) { + return (RemotePermissionScheme) org.apache.axis.utils.JavaUtils + .convert(_resp, RemotePermissionScheme.class); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemotePermissionException) { + throw (RemotePermissionException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteValidationException) { + throw (RemoteValidationException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteAuthenticationException) { + throw (RemoteAuthenticationException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public void deletePermissionScheme(String in0, String in1) throws java.rmi.RemoteException, + RemotePermissionException, + RemoteValidationException, + RemoteAuthenticationException, + RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[80]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "deletePermissionScheme")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } + extractAttachments(_call); + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemotePermissionException) { + throw (RemotePermissionException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteValidationException) { + throw (RemoteValidationException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteAuthenticationException) { + throw (RemoteAuthenticationException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public RemotePermissionScheme addPermissionTo(String in0, + RemotePermissionScheme in1, + RemotePermission in2, + RemoteEntity in3) throws java.rmi.RemoteException, + RemotePermissionException, + RemoteValidationException, + RemoteAuthenticationException, + RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[81]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "addPermissionTo")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1, in2, in3}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } else { + extractAttachments(_call); + try { + return (RemotePermissionScheme) _resp; + } catch (Exception _exception) { + return (RemotePermissionScheme) org.apache.axis.utils.JavaUtils + .convert(_resp, RemotePermissionScheme.class); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemotePermissionException) { + throw (RemotePermissionException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteValidationException) { + throw (RemoteValidationException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteAuthenticationException) { + throw (RemoteAuthenticationException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public RemotePermissionScheme deletePermissionFrom(String in0, + RemotePermissionScheme in1, + RemotePermission in2, + RemoteEntity in3) throws java.rmi.RemoteException, + RemotePermissionException, + RemoteValidationException, + RemoteAuthenticationException, + RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[82]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "deletePermissionFrom")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1, in2, in3}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } else { + extractAttachments(_call); + try { + return (RemotePermissionScheme) _resp; + } catch (Exception _exception) { + return (RemotePermissionScheme) org.apache.axis.utils.JavaUtils + .convert(_resp, RemotePermissionScheme.class); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemotePermissionException) { + throw (RemotePermissionException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteValidationException) { + throw (RemoteValidationException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteAuthenticationException) { + throw (RemoteAuthenticationException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public RemotePermission[] getAllPermissions(String in0) throws + java.rmi.RemoteException, RemotePermissionException, + RemoteAuthenticationException, + RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[83]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "getAllPermissions")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } else { + extractAttachments(_call); + try { + return (RemotePermission[]) _resp; + } catch (Exception _exception) { + return (RemotePermission[]) org.apache.axis.utils.JavaUtils + .convert(_resp, RemotePermission[].class); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemotePermissionException) { + throw (RemotePermissionException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteAuthenticationException) { + throw (RemoteAuthenticationException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public long getIssueCountForFilter(String in0, String in1) + throws java.rmi.RemoteException, RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[84]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "getIssueCountForFilter")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } else { + extractAttachments(_call); + try { + return ((Long) _resp).longValue(); + } catch (Exception _exception) { + return ((Long) org.apache.axis.utils.JavaUtils.convert(_resp, long.class)).longValue(); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public RemoteIssue[] getIssuesFromTextSearch(String in0, + String in1) throws java.rmi.RemoteException, RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[85]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "getIssuesFromTextSearch")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } else { + extractAttachments(_call); + try { + return (RemoteIssue[]) _resp; + } catch (Exception _exception) { + return (RemoteIssue[]) org.apache.axis.utils.JavaUtils + .convert(_resp, RemoteIssue[].class); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public RemoteIssue[] getIssuesFromTextSearchWithProject(String in0, + String[] in1, String in2, int in3) + throws java.rmi.RemoteException, RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[86]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName( + new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "getIssuesFromTextSearchWithProject")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1, in2, new Integer(in3)}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } else { + extractAttachments(_call); + try { + return (RemoteIssue[]) _resp; + } catch (Exception _exception) { + return (RemoteIssue[]) org.apache.axis.utils.JavaUtils + .convert(_resp, RemoteIssue[].class); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public void deleteUser(String in0, String in1) throws java.rmi.RemoteException, + RemotePermissionException, + RemoteValidationException, + RemoteAuthenticationException, + RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[87]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "deleteUser")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } + extractAttachments(_call); + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemotePermissionException) { + throw (RemotePermissionException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteValidationException) { + throw (RemoteValidationException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteAuthenticationException) { + throw (RemoteAuthenticationException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public RemoteGroup updateGroup(String in0, + RemoteGroup in1) throws java.rmi.RemoteException, + RemotePermissionException, + RemoteValidationException, + RemoteAuthenticationException, + RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[88]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "updateGroup")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } else { + extractAttachments(_call); + try { + return (RemoteGroup) _resp; + } catch (Exception _exception) { + return (RemoteGroup) org.apache.axis.utils.JavaUtils + .convert(_resp, RemoteGroup.class); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemotePermissionException) { + throw (RemotePermissionException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteValidationException) { + throw (RemoteValidationException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteAuthenticationException) { + throw (RemoteAuthenticationException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public void deleteGroup(String in0, String in1, String in2) throws java.rmi.RemoteException, + RemotePermissionException, + RemoteValidationException, + RemoteAuthenticationException, + RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[89]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "deleteGroup")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1, in2}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } + extractAttachments(_call); + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemotePermissionException) { + throw (RemotePermissionException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteValidationException) { + throw (RemoteValidationException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteAuthenticationException) { + throw (RemoteAuthenticationException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public void refreshCustomFields(String in0) + throws java.rmi.RemoteException, RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[90]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "refreshCustomFields")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } + extractAttachments(_call); + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public RemoteProject[] getProjectsNoSchemes(String in0) throws + java.rmi.RemoteException, RemotePermissionException, + RemoteAuthenticationException, + RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[91]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "getProjectsNoSchemes")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } else { + extractAttachments(_call); + try { + return (RemoteProject[]) _resp; + } catch (Exception _exception) { + return (RemoteProject[]) org.apache.axis.utils.JavaUtils + .convert(_resp, RemoteProject[].class); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemotePermissionException) { + throw (RemotePermissionException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteAuthenticationException) { + throw (RemoteAuthenticationException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public RemoteVersion addVersion(String in0, String in1, + RemoteVersion in2) + throws java.rmi.RemoteException, RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[92]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "addVersion")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1, in2}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } else { + extractAttachments(_call); + try { + return (RemoteVersion) _resp; + } catch (Exception _exception) { + return (RemoteVersion) org.apache.axis.utils.JavaUtils + .convert(_resp, RemoteVersion.class); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public RemoteFilter[] getSavedFilters(String in0) throws + java.rmi.RemoteException, RemotePermissionException, + RemoteAuthenticationException, + RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[93]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "getSavedFilters")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } else { + extractAttachments(_call); + try { + return (RemoteFilter[]) _resp; + } catch (Exception _exception) { + return (RemoteFilter[]) org.apache.axis.utils.JavaUtils + .convert(_resp, RemoteFilter[].class); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemotePermissionException) { + throw (RemotePermissionException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteAuthenticationException) { + throw (RemoteAuthenticationException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public boolean addBase64EncodedAttachmentsToIssue(String in0, String in1, String[] in2, + String[] in3) throws java.rmi.RemoteException, + RemotePermissionException, + RemoteValidationException, + RemoteAuthenticationException, + RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[94]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName( + new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "addBase64EncodedAttachmentsToIssue")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1, in2, in3}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } else { + extractAttachments(_call); + try { + return ((Boolean) _resp).booleanValue(); + } catch (Exception _exception) { + return ((Boolean) org.apache.axis.utils.JavaUtils.convert(_resp, boolean.class)).booleanValue(); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemotePermissionException) { + throw (RemotePermissionException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteValidationException) { + throw (RemoteValidationException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteAuthenticationException) { + throw (RemoteAuthenticationException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public RemoteProject createProjectFromObject(String in0, + RemoteProject in1) throws java.rmi.RemoteException, + RemotePermissionException, + RemoteValidationException, + RemoteAuthenticationException, + RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[95]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "createProjectFromObject")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } else { + extractAttachments(_call); + try { + return (RemoteProject) _resp; + } catch (Exception _exception) { + return (RemoteProject) org.apache.axis.utils.JavaUtils + .convert(_resp, RemoteProject.class); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemotePermissionException) { + throw (RemotePermissionException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteValidationException) { + throw (RemoteValidationException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteAuthenticationException) { + throw (RemoteAuthenticationException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public RemoteScheme[] getSecuritySchemes(String in0) throws + java.rmi.RemoteException, RemotePermissionException, + RemoteAuthenticationException, + RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[96]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "getSecuritySchemes")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } else { + extractAttachments(_call); + try { + return (RemoteScheme[]) _resp; + } catch (Exception _exception) { + return (RemoteScheme[]) org.apache.axis.utils.JavaUtils + .convert(_resp, RemoteScheme[].class); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemotePermissionException) { + throw (RemotePermissionException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteAuthenticationException) { + throw (RemoteAuthenticationException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public RemoteIssue[] getIssuesFromFilter(String in0, + String in1) throws java.rmi.RemoteException, RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[97]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "getIssuesFromFilter")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call.invoke(new Object[]{in0, in1}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } else { + extractAttachments(_call); + try { + return (RemoteIssue[]) _resp; + } catch (Exception _exception) { + return (RemoteIssue[]) org.apache.axis.utils.JavaUtils + .convert(_resp, RemoteIssue[].class); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public RemoteIssue[] getIssuesFromFilterWithLimit(String in0, + String in1, int in2, int in3) + throws java.rmi.RemoteException, RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[98]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName( + new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "getIssuesFromFilterWithLimit")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call + .invoke(new Object[]{in0, in1, new Integer(in2), new Integer(in3)}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } else { + extractAttachments(_call); + try { + return (RemoteIssue[]) _resp; + } catch (Exception _exception) { + return (RemoteIssue[]) org.apache.axis.utils.JavaUtils + .convert(_resp, RemoteIssue[].class); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + + public RemoteIssue[] getIssuesFromTextSearchWithLimit(String in0, + String in1, int in2, int in3) + throws java.rmi.RemoteException, RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[99]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName( + new javax.xml.namespace.QName("http://soap.rpc.jira.atlassian.com", "getIssuesFromTextSearchWithLimit")); + + setRequestHeaders(_call); + setAttachments(_call); + try { + Object _resp = _call + .invoke(new Object[]{in0, in1, new Integer(in2), new Integer(in3)}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) _resp; + } else { + extractAttachments(_call); + try { + return (RemoteIssue[]) _resp; + } catch (Exception _exception) { + return (RemoteIssue[]) org.apache.axis.utils.JavaUtils + .convert(_resp, RemoteIssue[].class); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + if (axisFaultException.detail != null) { + if (axisFaultException.detail instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException) axisFaultException.detail; + } + if (axisFaultException.detail instanceof RemoteException) { + throw (RemoteException) axisFaultException.detail; + } + } + throw axisFaultException; + } + } + +} diff --git a/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteAttachment.java b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteAttachment.java new file mode 100644 index 000000000000..08e1e3056726 --- /dev/null +++ b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteAttachment.java @@ -0,0 +1,275 @@ +/** + * RemoteAttachment.java + * + * This file was auto-generated from WSDL + * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter. + */ + +package com.atlassian.connector.commons.jira.soap.axis; + +public class RemoteAttachment extends AbstractRemoteEntity + implements java.io.Serializable { + private String author; + + private java.util.Calendar created; + + private String filename; + + private Long filesize; + + private String mimetype; + + public RemoteAttachment() { + } + + public RemoteAttachment( + String id, + String author, + java.util.Calendar created, + String filename, + Long filesize, + String mimetype) { + super( + id); + this.author = author; + this.created = created; + this.filename = filename; + this.filesize = filesize; + this.mimetype = mimetype; + } + + + /** + * Gets the author value for this RemoteAttachment. + * + * @return author + */ + public String getAuthor() { + return author; + } + + + /** + * Sets the author value for this RemoteAttachment. + * + * @param author + */ + public void setAuthor(String author) { + this.author = author; + } + + + /** + * Gets the created value for this RemoteAttachment. + * + * @return created + */ + public java.util.Calendar getCreated() { + return created; + } + + + /** + * Sets the created value for this RemoteAttachment. + * + * @param created + */ + public void setCreated(java.util.Calendar created) { + this.created = created; + } + + + /** + * Gets the filename value for this RemoteAttachment. + * + * @return filename + */ + public String getFilename() { + return filename; + } + + + /** + * Sets the filename value for this RemoteAttachment. + * + * @param filename + */ + public void setFilename(String filename) { + this.filename = filename; + } + + + /** + * Gets the filesize value for this RemoteAttachment. + * + * @return filesize + */ + public Long getFilesize() { + return filesize; + } + + + /** + * Sets the filesize value for this RemoteAttachment. + * + * @param filesize + */ + public void setFilesize(Long filesize) { + this.filesize = filesize; + } + + + /** + * Gets the mimetype value for this RemoteAttachment. + * + * @return mimetype + */ + public String getMimetype() { + return mimetype; + } + + + /** + * Sets the mimetype value for this RemoteAttachment. + * + * @param mimetype + */ + public void setMimetype(String mimetype) { + this.mimetype = mimetype; + } + + private Object __equalsCalc = null; + + public synchronized boolean equals(Object obj) { + if (!(obj instanceof RemoteAttachment)) { + return false; + } + RemoteAttachment other = (RemoteAttachment) obj; + if (obj == null) { + return false; + } + if (this == obj) { + return true; + } + if (__equalsCalc != null) { + return (__equalsCalc == obj); + } + __equalsCalc = obj; + boolean _equals; + _equals = super.equals(obj) && + ((this.author == null && other.getAuthor() == null) || + (this.author != null && + this.author.equals(other.getAuthor()))) && + ((this.created == null && other.getCreated() == null) || + (this.created != null && + this.created.equals(other.getCreated()))) && + ((this.filename == null && other.getFilename() == null) || + (this.filename != null && + this.filename.equals(other.getFilename()))) && + ((this.filesize == null && other.getFilesize() == null) || + (this.filesize != null && + this.filesize.equals(other.getFilesize()))) && + ((this.mimetype == null && other.getMimetype() == null) || + (this.mimetype != null && + this.mimetype.equals(other.getMimetype()))); + __equalsCalc = null; + return _equals; + } + + private boolean __hashCodeCalc = false; + + public synchronized int hashCode() { + if (__hashCodeCalc) { + return 0; + } + __hashCodeCalc = true; + int _hashCode = super.hashCode(); + if (getAuthor() != null) { + _hashCode += getAuthor().hashCode(); + } + if (getCreated() != null) { + _hashCode += getCreated().hashCode(); + } + if (getFilename() != null) { + _hashCode += getFilename().hashCode(); + } + if (getFilesize() != null) { + _hashCode += getFilesize().hashCode(); + } + if (getMimetype() != null) { + _hashCode += getMimetype().hashCode(); + } + __hashCodeCalc = false; + return _hashCode; + } + + // Type metadata + private static org.apache.axis.description.TypeDesc typeDesc = + new org.apache.axis.description.TypeDesc(RemoteAttachment.class, true); + + static { + typeDesc.setXmlType(new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteAttachment")); + org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("author"); + elemField.setXmlName(new javax.xml.namespace.QName("", "author")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("created"); + elemField.setXmlName(new javax.xml.namespace.QName("", "created")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "dateTime")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("filename"); + elemField.setXmlName(new javax.xml.namespace.QName("", "filename")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("filesize"); + elemField.setXmlName(new javax.xml.namespace.QName("", "filesize")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "long")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("mimetype"); + elemField.setXmlName(new javax.xml.namespace.QName("", "mimetype")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + } + + /** + * Return type metadata object + */ + public static org.apache.axis.description.TypeDesc getTypeDesc() { + return typeDesc; + } + + /** + * Get Custom Serializer + */ + public static org.apache.axis.encoding.Serializer getSerializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanSerializer( + _javaType, _xmlType, typeDesc); + } + + /** + * Get Custom Deserializer + */ + public static org.apache.axis.encoding.Deserializer getDeserializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanDeserializer( + _javaType, _xmlType, typeDesc); + } + +} diff --git a/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteAuthenticationException.java b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteAuthenticationException.java new file mode 100644 index 000000000000..0436e949c890 --- /dev/null +++ b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteAuthenticationException.java @@ -0,0 +1,98 @@ +/** + * RemoteAuthenticationException.java + * + * This file was auto-generated from WSDL + * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter. + */ + +package com.atlassian.connector.commons.jira.soap.axis; + +public class RemoteAuthenticationException extends RemoteException + implements java.io.Serializable { + public RemoteAuthenticationException() { + } + + private Object __equalsCalc = null; + + public synchronized boolean equals(Object obj) { + if (!(obj instanceof RemoteAuthenticationException)) { + return false; + } + RemoteAuthenticationException other = (RemoteAuthenticationException) obj; + if (obj == null) { + return false; + } + if (this == obj) { + return true; + } + if (__equalsCalc != null) { + return (__equalsCalc == obj); + } + __equalsCalc = obj; + boolean _equals; + _equals = super.equals(obj); + __equalsCalc = null; + return _equals; + } + + private boolean __hashCodeCalc = false; + + public synchronized int hashCode() { + if (__hashCodeCalc) { + return 0; + } + __hashCodeCalc = true; + int _hashCode = super.hashCode(); + __hashCodeCalc = false; + return _hashCode; + } + + // Type metadata + private static org.apache.axis.description.TypeDesc typeDesc = + new org.apache.axis.description.TypeDesc(RemoteAuthenticationException.class, true); + + static { + typeDesc.setXmlType( + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteAuthenticationException")); + } + + /** + * Return type metadata object + */ + public static org.apache.axis.description.TypeDesc getTypeDesc() { + return typeDesc; + } + + /** + * Get Custom Serializer + */ + public static org.apache.axis.encoding.Serializer getSerializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanSerializer( + _javaType, _xmlType, typeDesc); + } + + /** + * Get Custom Deserializer + */ + public static org.apache.axis.encoding.Deserializer getDeserializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanDeserializer( + _javaType, _xmlType, typeDesc); + } + + + /** + * Writes the exception data to the faultDetails + */ + public void writeDetails(javax.xml.namespace.QName qname, org.apache.axis.encoding.SerializationContext context) + throws java.io.IOException { + context.serialize(qname, null, this); + } +} diff --git a/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteComment.java b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteComment.java new file mode 100644 index 000000000000..f18f6c462917 --- /dev/null +++ b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteComment.java @@ -0,0 +1,379 @@ +/** + * RemoteComment.java + * + * This file was auto-generated from WSDL + * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter. + */ + +package com.atlassian.connector.commons.jira.soap.axis; + +public class RemoteComment implements java.io.Serializable { + private String author; + + private String body; + + private java.util.Calendar created; + + private String groupLevel; + + private String id; + + private String roleLevel; + + private String updateAuthor; + + private java.util.Calendar updated; + + public RemoteComment() { + } + + public RemoteComment( + String author, + String body, + java.util.Calendar created, + String groupLevel, + String id, + String roleLevel, + String updateAuthor, + java.util.Calendar updated) { + this.author = author; + this.body = body; + this.created = created; + this.groupLevel = groupLevel; + this.id = id; + this.roleLevel = roleLevel; + this.updateAuthor = updateAuthor; + this.updated = updated; + } + + + /** + * Gets the author value for this RemoteComment. + * + * @return author + */ + public String getAuthor() { + return author; + } + + + /** + * Sets the author value for this RemoteComment. + * + * @param author + */ + public void setAuthor(String author) { + this.author = author; + } + + + /** + * Gets the body value for this RemoteComment. + * + * @return body + */ + public String getBody() { + return body; + } + + + /** + * Sets the body value for this RemoteComment. + * + * @param body + */ + public void setBody(String body) { + this.body = body; + } + + + /** + * Gets the created value for this RemoteComment. + * + * @return created + */ + public java.util.Calendar getCreated() { + return created; + } + + + /** + * Sets the created value for this RemoteComment. + * + * @param created + */ + public void setCreated(java.util.Calendar created) { + this.created = created; + } + + + /** + * Gets the groupLevel value for this RemoteComment. + * + * @return groupLevel + */ + public String getGroupLevel() { + return groupLevel; + } + + + /** + * Sets the groupLevel value for this RemoteComment. + * + * @param groupLevel + */ + public void setGroupLevel(String groupLevel) { + this.groupLevel = groupLevel; + } + + + /** + * Gets the id value for this RemoteComment. + * + * @return id + */ + public String getId() { + return id; + } + + + /** + * Sets the id value for this RemoteComment. + * + * @param id + */ + public void setId(String id) { + this.id = id; + } + + + /** + * Gets the roleLevel value for this RemoteComment. + * + * @return roleLevel + */ + public String getRoleLevel() { + return roleLevel; + } + + + /** + * Sets the roleLevel value for this RemoteComment. + * + * @param roleLevel + */ + public void setRoleLevel(String roleLevel) { + this.roleLevel = roleLevel; + } + + + /** + * Gets the updateAuthor value for this RemoteComment. + * + * @return updateAuthor + */ + public String getUpdateAuthor() { + return updateAuthor; + } + + + /** + * Sets the updateAuthor value for this RemoteComment. + * + * @param updateAuthor + */ + public void setUpdateAuthor(String updateAuthor) { + this.updateAuthor = updateAuthor; + } + + + /** + * Gets the updated value for this RemoteComment. + * + * @return updated + */ + public java.util.Calendar getUpdated() { + return updated; + } + + + /** + * Sets the updated value for this RemoteComment. + * + * @param updated + */ + public void setUpdated(java.util.Calendar updated) { + this.updated = updated; + } + + private Object __equalsCalc = null; + + public synchronized boolean equals(Object obj) { + if (!(obj instanceof RemoteComment)) { + return false; + } + RemoteComment other = (RemoteComment) obj; + if (obj == null) { + return false; + } + if (this == obj) { + return true; + } + if (__equalsCalc != null) { + return (__equalsCalc == obj); + } + __equalsCalc = obj; + boolean _equals; + _equals = true && + ((this.author == null && other.getAuthor() == null) || + (this.author != null && + this.author.equals(other.getAuthor()))) && + ((this.body == null && other.getBody() == null) || + (this.body != null && + this.body.equals(other.getBody()))) && + ((this.created == null && other.getCreated() == null) || + (this.created != null && + this.created.equals(other.getCreated()))) && + ((this.groupLevel == null && other.getGroupLevel() == null) || + (this.groupLevel != null && + this.groupLevel.equals(other.getGroupLevel()))) && + ((this.id == null && other.getId() == null) || + (this.id != null && + this.id.equals(other.getId()))) && + ((this.roleLevel == null && other.getRoleLevel() == null) || + (this.roleLevel != null && + this.roleLevel.equals(other.getRoleLevel()))) && + ((this.updateAuthor == null && other.getUpdateAuthor() == null) || + (this.updateAuthor != null && + this.updateAuthor.equals(other.getUpdateAuthor()))) && + ((this.updated == null && other.getUpdated() == null) || + (this.updated != null && + this.updated.equals(other.getUpdated()))); + __equalsCalc = null; + return _equals; + } + + private boolean __hashCodeCalc = false; + + public synchronized int hashCode() { + if (__hashCodeCalc) { + return 0; + } + __hashCodeCalc = true; + int _hashCode = 1; + if (getAuthor() != null) { + _hashCode += getAuthor().hashCode(); + } + if (getBody() != null) { + _hashCode += getBody().hashCode(); + } + if (getCreated() != null) { + _hashCode += getCreated().hashCode(); + } + if (getGroupLevel() != null) { + _hashCode += getGroupLevel().hashCode(); + } + if (getId() != null) { + _hashCode += getId().hashCode(); + } + if (getRoleLevel() != null) { + _hashCode += getRoleLevel().hashCode(); + } + if (getUpdateAuthor() != null) { + _hashCode += getUpdateAuthor().hashCode(); + } + if (getUpdated() != null) { + _hashCode += getUpdated().hashCode(); + } + __hashCodeCalc = false; + return _hashCode; + } + + // Type metadata + private static org.apache.axis.description.TypeDesc typeDesc = + new org.apache.axis.description.TypeDesc(RemoteComment.class, true); + + static { + typeDesc.setXmlType(new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteComment")); + org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("author"); + elemField.setXmlName(new javax.xml.namespace.QName("", "author")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("body"); + elemField.setXmlName(new javax.xml.namespace.QName("", "body")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("created"); + elemField.setXmlName(new javax.xml.namespace.QName("", "created")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "dateTime")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("groupLevel"); + elemField.setXmlName(new javax.xml.namespace.QName("", "groupLevel")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("id"); + elemField.setXmlName(new javax.xml.namespace.QName("", "id")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("roleLevel"); + elemField.setXmlName(new javax.xml.namespace.QName("", "roleLevel")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("updateAuthor"); + elemField.setXmlName(new javax.xml.namespace.QName("", "updateAuthor")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("updated"); + elemField.setXmlName(new javax.xml.namespace.QName("", "updated")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "dateTime")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + } + + /** + * Return type metadata object + */ + public static org.apache.axis.description.TypeDesc getTypeDesc() { + return typeDesc; + } + + /** + * Get Custom Serializer + */ + public static org.apache.axis.encoding.Serializer getSerializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanSerializer( + _javaType, _xmlType, typeDesc); + } + + /** + * Get Custom Deserializer + */ + public static org.apache.axis.encoding.Deserializer getDeserializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanDeserializer( + _javaType, _xmlType, typeDesc); + } + +} diff --git a/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteComponent.java b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteComponent.java new file mode 100644 index 000000000000..96a8595474d5 --- /dev/null +++ b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteComponent.java @@ -0,0 +1,97 @@ +/** + * RemoteComponent.java + * + * This file was auto-generated from WSDL + * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter. + */ + +package com.atlassian.connector.commons.jira.soap.axis; + +public class RemoteComponent extends AbstractNamedRemoteEntity + implements java.io.Serializable { + public RemoteComponent() { + } + + public RemoteComponent( + String id, + String name) { + super( + id, + name); + } + + private Object __equalsCalc = null; + + public synchronized boolean equals(Object obj) { + if (!(obj instanceof RemoteComponent)) { + return false; + } + RemoteComponent other = (RemoteComponent) obj; + if (obj == null) { + return false; + } + if (this == obj) { + return true; + } + if (__equalsCalc != null) { + return (__equalsCalc == obj); + } + __equalsCalc = obj; + boolean _equals; + _equals = super.equals(obj); + __equalsCalc = null; + return _equals; + } + + private boolean __hashCodeCalc = false; + + public synchronized int hashCode() { + if (__hashCodeCalc) { + return 0; + } + __hashCodeCalc = true; + int _hashCode = super.hashCode(); + __hashCodeCalc = false; + return _hashCode; + } + + // Type metadata + private static org.apache.axis.description.TypeDesc typeDesc = + new org.apache.axis.description.TypeDesc(RemoteComponent.class, true); + + static { + typeDesc.setXmlType(new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteComponent")); + } + + /** + * Return type metadata object + */ + public static org.apache.axis.description.TypeDesc getTypeDesc() { + return typeDesc; + } + + /** + * Get Custom Serializer + */ + public static org.apache.axis.encoding.Serializer getSerializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanSerializer( + _javaType, _xmlType, typeDesc); + } + + /** + * Get Custom Deserializer + */ + public static org.apache.axis.encoding.Deserializer getDeserializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanDeserializer( + _javaType, _xmlType, typeDesc); + } + +} diff --git a/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteConfiguration.java b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteConfiguration.java new file mode 100644 index 000000000000..2272318e8f8e --- /dev/null +++ b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteConfiguration.java @@ -0,0 +1,411 @@ +/** + * RemoteConfiguration.java + * + * This file was auto-generated from WSDL + * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter. + */ + +package com.atlassian.connector.commons.jira.soap.axis; + +public class RemoteConfiguration implements java.io.Serializable { + private boolean allowAttachments; + + private boolean allowExternalUserManagment; + + private boolean allowIssueLinking; + + private boolean allowSubTasks; + + private boolean allowTimeTracking; + + private boolean allowUnassignedIssues; + + private boolean allowVoting; + + private boolean allowWatching; + + private int timeTrackingDaysPerWeek; + + private int timeTrackingHoursPerDay; + + public RemoteConfiguration() { + } + + public RemoteConfiguration( + boolean allowAttachments, + boolean allowExternalUserManagment, + boolean allowIssueLinking, + boolean allowSubTasks, + boolean allowTimeTracking, + boolean allowUnassignedIssues, + boolean allowVoting, + boolean allowWatching, + int timeTrackingDaysPerWeek, + int timeTrackingHoursPerDay) { + this.allowAttachments = allowAttachments; + this.allowExternalUserManagment = allowExternalUserManagment; + this.allowIssueLinking = allowIssueLinking; + this.allowSubTasks = allowSubTasks; + this.allowTimeTracking = allowTimeTracking; + this.allowUnassignedIssues = allowUnassignedIssues; + this.allowVoting = allowVoting; + this.allowWatching = allowWatching; + this.timeTrackingDaysPerWeek = timeTrackingDaysPerWeek; + this.timeTrackingHoursPerDay = timeTrackingHoursPerDay; + } + + + /** + * Gets the allowAttachments value for this RemoteConfiguration. + * + * @return allowAttachments + */ + public boolean isAllowAttachments() { + return allowAttachments; + } + + + /** + * Sets the allowAttachments value for this RemoteConfiguration. + * + * @param allowAttachments + */ + public void setAllowAttachments(boolean allowAttachments) { + this.allowAttachments = allowAttachments; + } + + + /** + * Gets the allowExternalUserManagment value for this RemoteConfiguration. + * + * @return allowExternalUserManagment + */ + public boolean isAllowExternalUserManagment() { + return allowExternalUserManagment; + } + + + /** + * Sets the allowExternalUserManagment value for this RemoteConfiguration. + * + * @param allowExternalUserManagment + */ + public void setAllowExternalUserManagment(boolean allowExternalUserManagment) { + this.allowExternalUserManagment = allowExternalUserManagment; + } + + + /** + * Gets the allowIssueLinking value for this RemoteConfiguration. + * + * @return allowIssueLinking + */ + public boolean isAllowIssueLinking() { + return allowIssueLinking; + } + + + /** + * Sets the allowIssueLinking value for this RemoteConfiguration. + * + * @param allowIssueLinking + */ + public void setAllowIssueLinking(boolean allowIssueLinking) { + this.allowIssueLinking = allowIssueLinking; + } + + + /** + * Gets the allowSubTasks value for this RemoteConfiguration. + * + * @return allowSubTasks + */ + public boolean isAllowSubTasks() { + return allowSubTasks; + } + + + /** + * Sets the allowSubTasks value for this RemoteConfiguration. + * + * @param allowSubTasks + */ + public void setAllowSubTasks(boolean allowSubTasks) { + this.allowSubTasks = allowSubTasks; + } + + + /** + * Gets the allowTimeTracking value for this RemoteConfiguration. + * + * @return allowTimeTracking + */ + public boolean isAllowTimeTracking() { + return allowTimeTracking; + } + + + /** + * Sets the allowTimeTracking value for this RemoteConfiguration. + * + * @param allowTimeTracking + */ + public void setAllowTimeTracking(boolean allowTimeTracking) { + this.allowTimeTracking = allowTimeTracking; + } + + + /** + * Gets the allowUnassignedIssues value for this RemoteConfiguration. + * + * @return allowUnassignedIssues + */ + public boolean isAllowUnassignedIssues() { + return allowUnassignedIssues; + } + + + /** + * Sets the allowUnassignedIssues value for this RemoteConfiguration. + * + * @param allowUnassignedIssues + */ + public void setAllowUnassignedIssues(boolean allowUnassignedIssues) { + this.allowUnassignedIssues = allowUnassignedIssues; + } + + + /** + * Gets the allowVoting value for this RemoteConfiguration. + * + * @return allowVoting + */ + public boolean isAllowVoting() { + return allowVoting; + } + + + /** + * Sets the allowVoting value for this RemoteConfiguration. + * + * @param allowVoting + */ + public void setAllowVoting(boolean allowVoting) { + this.allowVoting = allowVoting; + } + + + /** + * Gets the allowWatching value for this RemoteConfiguration. + * + * @return allowWatching + */ + public boolean isAllowWatching() { + return allowWatching; + } + + + /** + * Sets the allowWatching value for this RemoteConfiguration. + * + * @param allowWatching + */ + public void setAllowWatching(boolean allowWatching) { + this.allowWatching = allowWatching; + } + + + /** + * Gets the timeTrackingDaysPerWeek value for this RemoteConfiguration. + * + * @return timeTrackingDaysPerWeek + */ + public int getTimeTrackingDaysPerWeek() { + return timeTrackingDaysPerWeek; + } + + + /** + * Sets the timeTrackingDaysPerWeek value for this RemoteConfiguration. + * + * @param timeTrackingDaysPerWeek + */ + public void setTimeTrackingDaysPerWeek(int timeTrackingDaysPerWeek) { + this.timeTrackingDaysPerWeek = timeTrackingDaysPerWeek; + } + + + /** + * Gets the timeTrackingHoursPerDay value for this RemoteConfiguration. + * + * @return timeTrackingHoursPerDay + */ + public int getTimeTrackingHoursPerDay() { + return timeTrackingHoursPerDay; + } + + + /** + * Sets the timeTrackingHoursPerDay value for this RemoteConfiguration. + * + * @param timeTrackingHoursPerDay + */ + public void setTimeTrackingHoursPerDay(int timeTrackingHoursPerDay) { + this.timeTrackingHoursPerDay = timeTrackingHoursPerDay; + } + + private Object __equalsCalc = null; + + public synchronized boolean equals(Object obj) { + if (!(obj instanceof RemoteConfiguration)) { + return false; + } + RemoteConfiguration other = (RemoteConfiguration) obj; + if (obj == null) { + return false; + } + if (this == obj) { + return true; + } + if (__equalsCalc != null) { + return (__equalsCalc == obj); + } + __equalsCalc = obj; + boolean _equals; + _equals = true && + this.allowAttachments == other.isAllowAttachments() && + this.allowExternalUserManagment == other.isAllowExternalUserManagment() && + this.allowIssueLinking == other.isAllowIssueLinking() && + this.allowSubTasks == other.isAllowSubTasks() && + this.allowTimeTracking == other.isAllowTimeTracking() && + this.allowUnassignedIssues == other.isAllowUnassignedIssues() && + this.allowVoting == other.isAllowVoting() && + this.allowWatching == other.isAllowWatching() && + this.timeTrackingDaysPerWeek == other.getTimeTrackingDaysPerWeek() && + this.timeTrackingHoursPerDay == other.getTimeTrackingHoursPerDay(); + __equalsCalc = null; + return _equals; + } + + private boolean __hashCodeCalc = false; + + public synchronized int hashCode() { + if (__hashCodeCalc) { + return 0; + } + __hashCodeCalc = true; + int _hashCode = 1; + _hashCode += (isAllowAttachments() ? Boolean.TRUE : Boolean.FALSE).hashCode(); + _hashCode += (isAllowExternalUserManagment() ? Boolean.TRUE : Boolean.FALSE).hashCode(); + _hashCode += (isAllowIssueLinking() ? Boolean.TRUE : Boolean.FALSE).hashCode(); + _hashCode += (isAllowSubTasks() ? Boolean.TRUE : Boolean.FALSE).hashCode(); + _hashCode += (isAllowTimeTracking() ? Boolean.TRUE : Boolean.FALSE).hashCode(); + _hashCode += (isAllowUnassignedIssues() ? Boolean.TRUE : Boolean.FALSE).hashCode(); + _hashCode += (isAllowVoting() ? Boolean.TRUE : Boolean.FALSE).hashCode(); + _hashCode += (isAllowWatching() ? Boolean.TRUE : Boolean.FALSE).hashCode(); + _hashCode += getTimeTrackingDaysPerWeek(); + _hashCode += getTimeTrackingHoursPerDay(); + __hashCodeCalc = false; + return _hashCode; + } + + // Type metadata + private static org.apache.axis.description.TypeDesc typeDesc = + new org.apache.axis.description.TypeDesc(RemoteConfiguration.class, true); + + static { + typeDesc.setXmlType(new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteConfiguration")); + org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("allowAttachments"); + elemField.setXmlName(new javax.xml.namespace.QName("", "allowAttachments")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "boolean")); + elemField.setNillable(false); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("allowExternalUserManagment"); + elemField.setXmlName(new javax.xml.namespace.QName("", "allowExternalUserManagment")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "boolean")); + elemField.setNillable(false); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("allowIssueLinking"); + elemField.setXmlName(new javax.xml.namespace.QName("", "allowIssueLinking")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "boolean")); + elemField.setNillable(false); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("allowSubTasks"); + elemField.setXmlName(new javax.xml.namespace.QName("", "allowSubTasks")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "boolean")); + elemField.setNillable(false); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("allowTimeTracking"); + elemField.setXmlName(new javax.xml.namespace.QName("", "allowTimeTracking")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "boolean")); + elemField.setNillable(false); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("allowUnassignedIssues"); + elemField.setXmlName(new javax.xml.namespace.QName("", "allowUnassignedIssues")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "boolean")); + elemField.setNillable(false); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("allowVoting"); + elemField.setXmlName(new javax.xml.namespace.QName("", "allowVoting")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "boolean")); + elemField.setNillable(false); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("allowWatching"); + elemField.setXmlName(new javax.xml.namespace.QName("", "allowWatching")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "boolean")); + elemField.setNillable(false); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("timeTrackingDaysPerWeek"); + elemField.setXmlName(new javax.xml.namespace.QName("", "timeTrackingDaysPerWeek")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "int")); + elemField.setNillable(false); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("timeTrackingHoursPerDay"); + elemField.setXmlName(new javax.xml.namespace.QName("", "timeTrackingHoursPerDay")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "int")); + elemField.setNillable(false); + typeDesc.addFieldDesc(elemField); + } + + /** + * Return type metadata object + */ + public static org.apache.axis.description.TypeDesc getTypeDesc() { + return typeDesc; + } + + /** + * Get Custom Serializer + */ + public static org.apache.axis.encoding.Serializer getSerializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanSerializer( + _javaType, _xmlType, typeDesc); + } + + /** + * Get Custom Deserializer + */ + public static org.apache.axis.encoding.Deserializer getDeserializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanDeserializer( + _javaType, _xmlType, typeDesc); + } + +} diff --git a/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteCustomFieldValue.java b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteCustomFieldValue.java new file mode 100644 index 000000000000..5ee9e2032d51 --- /dev/null +++ b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteCustomFieldValue.java @@ -0,0 +1,208 @@ +/** + * RemoteCustomFieldValue.java + * + * This file was auto-generated from WSDL + * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter. + */ + +package com.atlassian.connector.commons.jira.soap.axis; + +public class RemoteCustomFieldValue implements java.io.Serializable { + private String customfieldId; + + private String key; + + private String[] values; + + public RemoteCustomFieldValue() { + } + + public RemoteCustomFieldValue( + String customfieldId, + String key, + String[] values) { + this.customfieldId = customfieldId; + this.key = key; + this.values = values; + } + + + /** + * Gets the customfieldId value for this RemoteCustomFieldValue. + * + * @return customfieldId + */ + public String getCustomfieldId() { + return customfieldId; + } + + + /** + * Sets the customfieldId value for this RemoteCustomFieldValue. + * + * @param customfieldId + */ + public void setCustomfieldId(String customfieldId) { + this.customfieldId = customfieldId; + } + + + /** + * Gets the key value for this RemoteCustomFieldValue. + * + * @return key + */ + public String getKey() { + return key; + } + + + /** + * Sets the key value for this RemoteCustomFieldValue. + * + * @param key + */ + public void setKey(String key) { + this.key = key; + } + + + /** + * Gets the values value for this RemoteCustomFieldValue. + * + * @return values + */ + public String[] getValues() { + return values; + } + + + /** + * Sets the values value for this RemoteCustomFieldValue. + * + * @param values + */ + public void setValues(String[] values) { + this.values = values; + } + + private Object __equalsCalc = null; + + public synchronized boolean equals(Object obj) { + if (!(obj instanceof RemoteCustomFieldValue)) { + return false; + } + RemoteCustomFieldValue other = (RemoteCustomFieldValue) obj; + if (obj == null) { + return false; + } + if (this == obj) { + return true; + } + if (__equalsCalc != null) { + return (__equalsCalc == obj); + } + __equalsCalc = obj; + boolean _equals; + _equals = true && + ((this.customfieldId == null && other.getCustomfieldId() == null) || + (this.customfieldId != null && + this.customfieldId.equals(other.getCustomfieldId()))) && + ((this.key == null && other.getKey() == null) || + (this.key != null && + this.key.equals(other.getKey()))) && + ((this.values == null && other.getValues() == null) || + (this.values != null && + java.util.Arrays.equals(this.values, other.getValues()))); + __equalsCalc = null; + return _equals; + } + + private boolean __hashCodeCalc = false; + + public synchronized int hashCode() { + if (__hashCodeCalc) { + return 0; + } + __hashCodeCalc = true; + int _hashCode = 1; + if (getCustomfieldId() != null) { + _hashCode += getCustomfieldId().hashCode(); + } + if (getKey() != null) { + _hashCode += getKey().hashCode(); + } + if (getValues() != null) { + for (int i = 0; + i < java.lang.reflect.Array.getLength(getValues()); + i++) { + Object obj = java.lang.reflect.Array.get(getValues(), i); + if (obj != null && + !obj.getClass().isArray()) { + _hashCode += obj.hashCode(); + } + } + } + __hashCodeCalc = false; + return _hashCode; + } + + // Type metadata + private static org.apache.axis.description.TypeDesc typeDesc = + new org.apache.axis.description.TypeDesc(RemoteCustomFieldValue.class, true); + + static { + typeDesc.setXmlType( + new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteCustomFieldValue")); + org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("customfieldId"); + elemField.setXmlName(new javax.xml.namespace.QName("", "customfieldId")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("key"); + elemField.setXmlName(new javax.xml.namespace.QName("", "key")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("values"); + elemField.setXmlName(new javax.xml.namespace.QName("", "values")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + } + + /** + * Return type metadata object + */ + public static org.apache.axis.description.TypeDesc getTypeDesc() { + return typeDesc; + } + + /** + * Get Custom Serializer + */ + public static org.apache.axis.encoding.Serializer getSerializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanSerializer( + _javaType, _xmlType, typeDesc); + } + + /** + * Get Custom Deserializer + */ + public static org.apache.axis.encoding.Deserializer getDeserializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanDeserializer( + _javaType, _xmlType, typeDesc); + } + +} diff --git a/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteEntity.java b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteEntity.java new file mode 100644 index 000000000000..e1bbdb5602c2 --- /dev/null +++ b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteEntity.java @@ -0,0 +1,88 @@ +/** + * RemoteEntity.java + * + * This file was auto-generated from WSDL + * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter. + */ + +package com.atlassian.connector.commons.jira.soap.axis; + +public class RemoteEntity implements java.io.Serializable { + public RemoteEntity() { + } + + private Object __equalsCalc = null; + + public synchronized boolean equals(Object obj) { + if (!(obj instanceof RemoteEntity)) { + return false; + } + RemoteEntity other = (RemoteEntity) obj; + if (obj == null) { + return false; + } + if (this == obj) { + return true; + } + if (__equalsCalc != null) { + return (__equalsCalc == obj); + } + __equalsCalc = obj; + boolean _equals; + _equals = true; + __equalsCalc = null; + return _equals; + } + + private boolean __hashCodeCalc = false; + + public synchronized int hashCode() { + if (__hashCodeCalc) { + return 0; + } + __hashCodeCalc = true; + int _hashCode = 1; + __hashCodeCalc = false; + return _hashCode; + } + + // Type metadata + private static org.apache.axis.description.TypeDesc typeDesc = + new org.apache.axis.description.TypeDesc(RemoteEntity.class, true); + + static { + typeDesc.setXmlType(new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteEntity")); + } + + /** + * Return type metadata object + */ + public static org.apache.axis.description.TypeDesc getTypeDesc() { + return typeDesc; + } + + /** + * Get Custom Serializer + */ + public static org.apache.axis.encoding.Serializer getSerializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanSerializer( + _javaType, _xmlType, typeDesc); + } + + /** + * Get Custom Deserializer + */ + public static org.apache.axis.encoding.Deserializer getDeserializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanDeserializer( + _javaType, _xmlType, typeDesc); + } + +} diff --git a/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteException.java b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteException.java new file mode 100644 index 000000000000..1858c1cc9e8a --- /dev/null +++ b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteException.java @@ -0,0 +1,96 @@ +/** + * RemoteException.java + * + * This file was auto-generated from WSDL + * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter. + */ + +package com.atlassian.connector.commons.jira.soap.axis; + +public class RemoteException extends org.apache.axis.AxisFault implements java.io.Serializable { + public RemoteException() { + } + + private Object __equalsCalc = null; + + public synchronized boolean equals(Object obj) { + if (!(obj instanceof RemoteException)) { + return false; + } + RemoteException other = (RemoteException) obj; + if (obj == null) { + return false; + } + if (this == obj) { + return true; + } + if (__equalsCalc != null) { + return (__equalsCalc == obj); + } + __equalsCalc = obj; + boolean _equals; + _equals = true; + __equalsCalc = null; + return _equals; + } + + private boolean __hashCodeCalc = false; + + public synchronized int hashCode() { + if (__hashCodeCalc) { + return 0; + } + __hashCodeCalc = true; + int _hashCode = 1; + __hashCodeCalc = false; + return _hashCode; + } + + // Type metadata + private static org.apache.axis.description.TypeDesc typeDesc = + new org.apache.axis.description.TypeDesc(RemoteException.class, true); + + static { + typeDesc.setXmlType(new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteException")); + } + + /** + * Return type metadata object + */ + public static org.apache.axis.description.TypeDesc getTypeDesc() { + return typeDesc; + } + + /** + * Get Custom Serializer + */ + public static org.apache.axis.encoding.Serializer getSerializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanSerializer( + _javaType, _xmlType, typeDesc); + } + + /** + * Get Custom Deserializer + */ + public static org.apache.axis.encoding.Deserializer getDeserializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanDeserializer( + _javaType, _xmlType, typeDesc); + } + + + /** + * Writes the exception data to the faultDetails + */ + public void writeDetails(javax.xml.namespace.QName qname, org.apache.axis.encoding.SerializationContext context) + throws java.io.IOException { + context.serialize(qname, null, this); + } +} diff --git a/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteField.java b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteField.java new file mode 100644 index 000000000000..f96464104d66 --- /dev/null +++ b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteField.java @@ -0,0 +1,97 @@ +/** + * RemoteField.java + * + * This file was auto-generated from WSDL + * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter. + */ + +package com.atlassian.connector.commons.jira.soap.axis; + +public class RemoteField extends AbstractNamedRemoteEntity + implements java.io.Serializable { + public RemoteField() { + } + + public RemoteField( + String id, + String name) { + super( + id, + name); + } + + private Object __equalsCalc = null; + + public synchronized boolean equals(Object obj) { + if (!(obj instanceof RemoteField)) { + return false; + } + RemoteField other = (RemoteField) obj; + if (obj == null) { + return false; + } + if (this == obj) { + return true; + } + if (__equalsCalc != null) { + return (__equalsCalc == obj); + } + __equalsCalc = obj; + boolean _equals; + _equals = super.equals(obj); + __equalsCalc = null; + return _equals; + } + + private boolean __hashCodeCalc = false; + + public synchronized int hashCode() { + if (__hashCodeCalc) { + return 0; + } + __hashCodeCalc = true; + int _hashCode = super.hashCode(); + __hashCodeCalc = false; + return _hashCode; + } + + // Type metadata + private static org.apache.axis.description.TypeDesc typeDesc = + new org.apache.axis.description.TypeDesc(RemoteField.class, true); + + static { + typeDesc.setXmlType(new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteField")); + } + + /** + * Return type metadata object + */ + public static org.apache.axis.description.TypeDesc getTypeDesc() { + return typeDesc; + } + + /** + * Get Custom Serializer + */ + public static org.apache.axis.encoding.Serializer getSerializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanSerializer( + _javaType, _xmlType, typeDesc); + } + + /** + * Get Custom Deserializer + */ + public static org.apache.axis.encoding.Deserializer getDeserializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanDeserializer( + _javaType, _xmlType, typeDesc); + } + +} diff --git a/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteFieldValue.java b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteFieldValue.java new file mode 100644 index 000000000000..942cc3dae319 --- /dev/null +++ b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteFieldValue.java @@ -0,0 +1,171 @@ +/** + * RemoteFieldValue.java + * + * This file was auto-generated from WSDL + * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter. + */ + +package com.atlassian.connector.commons.jira.soap.axis; + +public class RemoteFieldValue implements java.io.Serializable { + private String id; + + private String[] values; + + public RemoteFieldValue() { + } + + public RemoteFieldValue( + String id, + String[] values) { + this.id = id; + this.values = values; + } + + + /** + * Gets the id value for this RemoteFieldValue. + * + * @return id + */ + public String getId() { + return id; + } + + + /** + * Sets the id value for this RemoteFieldValue. + * + * @param id + */ + public void setId(String id) { + this.id = id; + } + + + /** + * Gets the values value for this RemoteFieldValue. + * + * @return values + */ + public String[] getValues() { + return values; + } + + + /** + * Sets the values value for this RemoteFieldValue. + * + * @param values + */ + public void setValues(String[] values) { + this.values = values; + } + + private Object __equalsCalc = null; + + public synchronized boolean equals(Object obj) { + if (!(obj instanceof RemoteFieldValue)) { + return false; + } + RemoteFieldValue other = (RemoteFieldValue) obj; + if (obj == null) { + return false; + } + if (this == obj) { + return true; + } + if (__equalsCalc != null) { + return (__equalsCalc == obj); + } + __equalsCalc = obj; + boolean _equals; + _equals = true && + ((this.id == null && other.getId() == null) || + (this.id != null && + this.id.equals(other.getId()))) && + ((this.values == null && other.getValues() == null) || + (this.values != null && + java.util.Arrays.equals(this.values, other.getValues()))); + __equalsCalc = null; + return _equals; + } + + private boolean __hashCodeCalc = false; + + public synchronized int hashCode() { + if (__hashCodeCalc) { + return 0; + } + __hashCodeCalc = true; + int _hashCode = 1; + if (getId() != null) { + _hashCode += getId().hashCode(); + } + if (getValues() != null) { + for (int i = 0; + i < java.lang.reflect.Array.getLength(getValues()); + i++) { + Object obj = java.lang.reflect.Array.get(getValues(), i); + if (obj != null && + !obj.getClass().isArray()) { + _hashCode += obj.hashCode(); + } + } + } + __hashCodeCalc = false; + return _hashCode; + } + + // Type metadata + private static org.apache.axis.description.TypeDesc typeDesc = + new org.apache.axis.description.TypeDesc(RemoteFieldValue.class, true); + + static { + typeDesc.setXmlType(new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteFieldValue")); + org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("id"); + elemField.setXmlName(new javax.xml.namespace.QName("", "id")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("values"); + elemField.setXmlName(new javax.xml.namespace.QName("", "values")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + } + + /** + * Return type metadata object + */ + public static org.apache.axis.description.TypeDesc getTypeDesc() { + return typeDesc; + } + + /** + * Get Custom Serializer + */ + public static org.apache.axis.encoding.Serializer getSerializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanSerializer( + _javaType, _xmlType, typeDesc); + } + + /** + * Get Custom Deserializer + */ + public static org.apache.axis.encoding.Deserializer getDeserializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanDeserializer( + _javaType, _xmlType, typeDesc); + } + +} diff --git a/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteFilter.java b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteFilter.java new file mode 100644 index 000000000000..647b4d067abf --- /dev/null +++ b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteFilter.java @@ -0,0 +1,241 @@ +/** + * RemoteFilter.java + * + * This file was auto-generated from WSDL + * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter. + */ + +package com.atlassian.connector.commons.jira.soap.axis; + +public class RemoteFilter extends AbstractNamedRemoteEntity + implements java.io.Serializable { + private String author; + + private String description; + + private String project; + + private String xml; + + public RemoteFilter() { + } + + public RemoteFilter( + String id, + String name, + String author, + String description, + String project, + String xml) { + super( + id, + name); + this.author = author; + this.description = description; + this.project = project; + this.xml = xml; + } + + + /** + * Gets the author value for this RemoteFilter. + * + * @return author + */ + public String getAuthor() { + return author; + } + + + /** + * Sets the author value for this RemoteFilter. + * + * @param author + */ + public void setAuthor(String author) { + this.author = author; + } + + + /** + * Gets the description value for this RemoteFilter. + * + * @return description + */ + public String getDescription() { + return description; + } + + + /** + * Sets the description value for this RemoteFilter. + * + * @param description + */ + public void setDescription(String description) { + this.description = description; + } + + + /** + * Gets the project value for this RemoteFilter. + * + * @return project + */ + public String getProject() { + return project; + } + + + /** + * Sets the project value for this RemoteFilter. + * + * @param project + */ + public void setProject(String project) { + this.project = project; + } + + + /** + * Gets the xml value for this RemoteFilter. + * + * @return xml + */ + public String getXml() { + return xml; + } + + + /** + * Sets the xml value for this RemoteFilter. + * + * @param xml + */ + public void setXml(String xml) { + this.xml = xml; + } + + private Object __equalsCalc = null; + + public synchronized boolean equals(Object obj) { + if (!(obj instanceof RemoteFilter)) { + return false; + } + RemoteFilter other = (RemoteFilter) obj; + if (obj == null) { + return false; + } + if (this == obj) { + return true; + } + if (__equalsCalc != null) { + return (__equalsCalc == obj); + } + __equalsCalc = obj; + boolean _equals; + _equals = super.equals(obj) && + ((this.author == null && other.getAuthor() == null) || + (this.author != null && + this.author.equals(other.getAuthor()))) && + ((this.description == null && other.getDescription() == null) || + (this.description != null && + this.description.equals(other.getDescription()))) && + ((this.project == null && other.getProject() == null) || + (this.project != null && + this.project.equals(other.getProject()))) && + ((this.xml == null && other.getXml() == null) || + (this.xml != null && + this.xml.equals(other.getXml()))); + __equalsCalc = null; + return _equals; + } + + private boolean __hashCodeCalc = false; + + public synchronized int hashCode() { + if (__hashCodeCalc) { + return 0; + } + __hashCodeCalc = true; + int _hashCode = super.hashCode(); + if (getAuthor() != null) { + _hashCode += getAuthor().hashCode(); + } + if (getDescription() != null) { + _hashCode += getDescription().hashCode(); + } + if (getProject() != null) { + _hashCode += getProject().hashCode(); + } + if (getXml() != null) { + _hashCode += getXml().hashCode(); + } + __hashCodeCalc = false; + return _hashCode; + } + + // Type metadata + private static org.apache.axis.description.TypeDesc typeDesc = + new org.apache.axis.description.TypeDesc(RemoteFilter.class, true); + + static { + typeDesc.setXmlType(new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteFilter")); + org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("author"); + elemField.setXmlName(new javax.xml.namespace.QName("", "author")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("description"); + elemField.setXmlName(new javax.xml.namespace.QName("", "description")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("project"); + elemField.setXmlName(new javax.xml.namespace.QName("", "project")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("xml"); + elemField.setXmlName(new javax.xml.namespace.QName("", "xml")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + } + + /** + * Return type metadata object + */ + public static org.apache.axis.description.TypeDesc getTypeDesc() { + return typeDesc; + } + + /** + * Get Custom Serializer + */ + public static org.apache.axis.encoding.Serializer getSerializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanSerializer( + _javaType, _xmlType, typeDesc); + } + + /** + * Get Custom Deserializer + */ + public static org.apache.axis.encoding.Deserializer getDeserializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanDeserializer( + _javaType, _xmlType, typeDesc); + } + +} diff --git a/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteGroup.java b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteGroup.java new file mode 100644 index 000000000000..2f3d442513c8 --- /dev/null +++ b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteGroup.java @@ -0,0 +1,171 @@ +/** + * RemoteGroup.java + * + * This file was auto-generated from WSDL + * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter. + */ + +package com.atlassian.connector.commons.jira.soap.axis; + +public class RemoteGroup extends RemoteEntity implements java.io.Serializable { + private String name; + + private RemoteUser[] users; + + public RemoteGroup() { + } + + public RemoteGroup( + String name, + RemoteUser[] users) { + this.name = name; + this.users = users; + } + + + /** + * Gets the name value for this RemoteGroup. + * + * @return name + */ + public String getName() { + return name; + } + + + /** + * Sets the name value for this RemoteGroup. + * + * @param name + */ + public void setName(String name) { + this.name = name; + } + + + /** + * Gets the users value for this RemoteGroup. + * + * @return users + */ + public RemoteUser[] getUsers() { + return users; + } + + + /** + * Sets the users value for this RemoteGroup. + * + * @param users + */ + public void setUsers(RemoteUser[] users) { + this.users = users; + } + + private Object __equalsCalc = null; + + public synchronized boolean equals(Object obj) { + if (!(obj instanceof RemoteGroup)) { + return false; + } + RemoteGroup other = (RemoteGroup) obj; + if (obj == null) { + return false; + } + if (this == obj) { + return true; + } + if (__equalsCalc != null) { + return (__equalsCalc == obj); + } + __equalsCalc = obj; + boolean _equals; + _equals = super.equals(obj) && + ((this.name == null && other.getName() == null) || + (this.name != null && + this.name.equals(other.getName()))) && + ((this.users == null && other.getUsers() == null) || + (this.users != null && + java.util.Arrays.equals(this.users, other.getUsers()))); + __equalsCalc = null; + return _equals; + } + + private boolean __hashCodeCalc = false; + + public synchronized int hashCode() { + if (__hashCodeCalc) { + return 0; + } + __hashCodeCalc = true; + int _hashCode = super.hashCode(); + if (getName() != null) { + _hashCode += getName().hashCode(); + } + if (getUsers() != null) { + for (int i = 0; + i < java.lang.reflect.Array.getLength(getUsers()); + i++) { + Object obj = java.lang.reflect.Array.get(getUsers(), i); + if (obj != null && + !obj.getClass().isArray()) { + _hashCode += obj.hashCode(); + } + } + } + __hashCodeCalc = false; + return _hashCode; + } + + // Type metadata + private static org.apache.axis.description.TypeDesc typeDesc = + new org.apache.axis.description.TypeDesc(RemoteGroup.class, true); + + static { + typeDesc.setXmlType(new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteGroup")); + org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("name"); + elemField.setXmlName(new javax.xml.namespace.QName("", "name")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("users"); + elemField.setXmlName(new javax.xml.namespace.QName("", "users")); + elemField.setXmlType(new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteUser")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + } + + /** + * Return type metadata object + */ + public static org.apache.axis.description.TypeDesc getTypeDesc() { + return typeDesc; + } + + /** + * Get Custom Serializer + */ + public static org.apache.axis.encoding.Serializer getSerializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanSerializer( + _javaType, _xmlType, typeDesc); + } + + /** + * Get Custom Deserializer + */ + public static org.apache.axis.encoding.Deserializer getDeserializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanDeserializer( + _javaType, _xmlType, typeDesc); + } + +} diff --git a/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteIssue.java b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteIssue.java new file mode 100644 index 000000000000..39c3caf3b8c9 --- /dev/null +++ b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteIssue.java @@ -0,0 +1,856 @@ +/** + * RemoteIssue.java + * + * This file was auto-generated from WSDL + * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter. + */ + +package com.atlassian.connector.commons.jira.soap.axis; + +public class RemoteIssue extends AbstractRemoteEntity + implements java.io.Serializable { + private RemoteVersion[] affectsVersions; + + private String assignee; + + private String[] attachmentNames; + + private RemoteComponent[] components; + + private java.util.Calendar created; + + private RemoteCustomFieldValue[] customFieldValues; + + private String description; + + private java.util.Calendar duedate; + + private String environment; + + private RemoteVersion[] fixVersions; + + private String key; + + private String priority; + + private String project; + + private String reporter; + + private String resolution; + + private String status; + + private String summary; + + private String type; + + private java.util.Calendar updated; + + private Long votes; + + public RemoteIssue() { + } + + public RemoteIssue( + String id, + RemoteVersion[] affectsVersions, + String assignee, + String[] attachmentNames, + RemoteComponent[] components, + java.util.Calendar created, + RemoteCustomFieldValue[] customFieldValues, + String description, + java.util.Calendar duedate, + String environment, + RemoteVersion[] fixVersions, + String key, + String priority, + String project, + String reporter, + String resolution, + String status, + String summary, + String type, + java.util.Calendar updated, + Long votes) { + super( + id); + this.affectsVersions = affectsVersions; + this.assignee = assignee; + this.attachmentNames = attachmentNames; + this.components = components; + this.created = created; + this.customFieldValues = customFieldValues; + this.description = description; + this.duedate = duedate; + this.environment = environment; + this.fixVersions = fixVersions; + this.key = key; + this.priority = priority; + this.project = project; + this.reporter = reporter; + this.resolution = resolution; + this.status = status; + this.summary = summary; + this.type = type; + this.updated = updated; + this.votes = votes; + } + + + /** + * Gets the affectsVersions value for this RemoteIssue. + * + * @return affectsVersions + */ + public RemoteVersion[] getAffectsVersions() { + return affectsVersions; + } + + + /** + * Sets the affectsVersions value for this RemoteIssue. + * + * @param affectsVersions + */ + public void setAffectsVersions(RemoteVersion[] affectsVersions) { + this.affectsVersions = affectsVersions; + } + + + /** + * Gets the assignee value for this RemoteIssue. + * + * @return assignee + */ + public String getAssignee() { + return assignee; + } + + + /** + * Sets the assignee value for this RemoteIssue. + * + * @param assignee + */ + public void setAssignee(String assignee) { + this.assignee = assignee; + } + + + /** + * Gets the attachmentNames value for this RemoteIssue. + * + * @return attachmentNames + */ + public String[] getAttachmentNames() { + return attachmentNames; + } + + + /** + * Sets the attachmentNames value for this RemoteIssue. + * + * @param attachmentNames + */ + public void setAttachmentNames(String[] attachmentNames) { + this.attachmentNames = attachmentNames; + } + + + /** + * Gets the components value for this RemoteIssue. + * + * @return components + */ + public RemoteComponent[] getComponents() { + return components; + } + + + /** + * Sets the components value for this RemoteIssue. + * + * @param components + */ + public void setComponents(RemoteComponent[] components) { + this.components = components; + } + + + /** + * Gets the created value for this RemoteIssue. + * + * @return created + */ + public java.util.Calendar getCreated() { + return created; + } + + + /** + * Sets the created value for this RemoteIssue. + * + * @param created + */ + public void setCreated(java.util.Calendar created) { + this.created = created; + } + + + /** + * Gets the customFieldValues value for this RemoteIssue. + * + * @return customFieldValues + */ + public RemoteCustomFieldValue[] getCustomFieldValues() { + return customFieldValues; + } + + + /** + * Sets the customFieldValues value for this RemoteIssue. + * + * @param customFieldValues + */ + public void setCustomFieldValues(RemoteCustomFieldValue[] customFieldValues) { + this.customFieldValues = customFieldValues; + } + + + /** + * Gets the description value for this RemoteIssue. + * + * @return description + */ + public String getDescription() { + return description; + } + + + /** + * Sets the description value for this RemoteIssue. + * + * @param description + */ + public void setDescription(String description) { + this.description = description; + } + + + /** + * Gets the duedate value for this RemoteIssue. + * + * @return duedate + */ + public java.util.Calendar getDuedate() { + return duedate; + } + + + /** + * Sets the duedate value for this RemoteIssue. + * + * @param duedate + */ + public void setDuedate(java.util.Calendar duedate) { + this.duedate = duedate; + } + + + /** + * Gets the environment value for this RemoteIssue. + * + * @return environment + */ + public String getEnvironment() { + return environment; + } + + + /** + * Sets the environment value for this RemoteIssue. + * + * @param environment + */ + public void setEnvironment(String environment) { + this.environment = environment; + } + + + /** + * Gets the fixVersions value for this RemoteIssue. + * + * @return fixVersions + */ + public RemoteVersion[] getFixVersions() { + return fixVersions; + } + + + /** + * Sets the fixVersions value for this RemoteIssue. + * + * @param fixVersions + */ + public void setFixVersions(RemoteVersion[] fixVersions) { + this.fixVersions = fixVersions; + } + + + /** + * Gets the key value for this RemoteIssue. + * + * @return key + */ + public String getKey() { + return key; + } + + + /** + * Sets the key value for this RemoteIssue. + * + * @param key + */ + public void setKey(String key) { + this.key = key; + } + + + /** + * Gets the priority value for this RemoteIssue. + * + * @return priority + */ + public String getPriority() { + return priority; + } + + + /** + * Sets the priority value for this RemoteIssue. + * + * @param priority + */ + public void setPriority(String priority) { + this.priority = priority; + } + + + /** + * Gets the project value for this RemoteIssue. + * + * @return project + */ + public String getProject() { + return project; + } + + + /** + * Sets the project value for this RemoteIssue. + * + * @param project + */ + public void setProject(String project) { + this.project = project; + } + + + /** + * Gets the reporter value for this RemoteIssue. + * + * @return reporter + */ + public String getReporter() { + return reporter; + } + + + /** + * Sets the reporter value for this RemoteIssue. + * + * @param reporter + */ + public void setReporter(String reporter) { + this.reporter = reporter; + } + + + /** + * Gets the resolution value for this RemoteIssue. + * + * @return resolution + */ + public String getResolution() { + return resolution; + } + + + /** + * Sets the resolution value for this RemoteIssue. + * + * @param resolution + */ + public void setResolution(String resolution) { + this.resolution = resolution; + } + + + /** + * Gets the status value for this RemoteIssue. + * + * @return status + */ + public String getStatus() { + return status; + } + + + /** + * Sets the status value for this RemoteIssue. + * + * @param status + */ + public void setStatus(String status) { + this.status = status; + } + + + /** + * Gets the summary value for this RemoteIssue. + * + * @return summary + */ + public String getSummary() { + return summary; + } + + + /** + * Sets the summary value for this RemoteIssue. + * + * @param summary + */ + public void setSummary(String summary) { + this.summary = summary; + } + + + /** + * Gets the type value for this RemoteIssue. + * + * @return type + */ + public String getType() { + return type; + } + + + /** + * Sets the type value for this RemoteIssue. + * + * @param type + */ + public void setType(String type) { + this.type = type; + } + + + /** + * Gets the updated value for this RemoteIssue. + * + * @return updated + */ + public java.util.Calendar getUpdated() { + return updated; + } + + + /** + * Sets the updated value for this RemoteIssue. + * + * @param updated + */ + public void setUpdated(java.util.Calendar updated) { + this.updated = updated; + } + + + /** + * Gets the votes value for this RemoteIssue. + * + * @return votes + */ + public Long getVotes() { + return votes; + } + + + /** + * Sets the votes value for this RemoteIssue. + * + * @param votes + */ + public void setVotes(Long votes) { + this.votes = votes; + } + + private Object __equalsCalc = null; + + public synchronized boolean equals(Object obj) { + if (!(obj instanceof RemoteIssue)) { + return false; + } + RemoteIssue other = (RemoteIssue) obj; + if (obj == null) { + return false; + } + if (this == obj) { + return true; + } + if (__equalsCalc != null) { + return (__equalsCalc == obj); + } + __equalsCalc = obj; + boolean _equals; + _equals = super.equals(obj) && + ((this.affectsVersions == null && other.getAffectsVersions() == null) || + (this.affectsVersions != null && + java.util.Arrays.equals(this.affectsVersions, other.getAffectsVersions()))) && + ((this.assignee == null && other.getAssignee() == null) || + (this.assignee != null && + this.assignee.equals(other.getAssignee()))) && + ((this.attachmentNames == null && other.getAttachmentNames() == null) || + (this.attachmentNames != null && + java.util.Arrays.equals(this.attachmentNames, other.getAttachmentNames()))) && + ((this.components == null && other.getComponents() == null) || + (this.components != null && + java.util.Arrays.equals(this.components, other.getComponents()))) && + ((this.created == null && other.getCreated() == null) || + (this.created != null && + this.created.equals(other.getCreated()))) && + ((this.customFieldValues == null && other.getCustomFieldValues() == null) || + (this.customFieldValues != null && + java.util.Arrays.equals(this.customFieldValues, other.getCustomFieldValues()))) && + ((this.description == null && other.getDescription() == null) || + (this.description != null && + this.description.equals(other.getDescription()))) && + ((this.duedate == null && other.getDuedate() == null) || + (this.duedate != null && + this.duedate.equals(other.getDuedate()))) && + ((this.environment == null && other.getEnvironment() == null) || + (this.environment != null && + this.environment.equals(other.getEnvironment()))) && + ((this.fixVersions == null && other.getFixVersions() == null) || + (this.fixVersions != null && + java.util.Arrays.equals(this.fixVersions, other.getFixVersions()))) && + ((this.key == null && other.getKey() == null) || + (this.key != null && + this.key.equals(other.getKey()))) && + ((this.priority == null && other.getPriority() == null) || + (this.priority != null && + this.priority.equals(other.getPriority()))) && + ((this.project == null && other.getProject() == null) || + (this.project != null && + this.project.equals(other.getProject()))) && + ((this.reporter == null && other.getReporter() == null) || + (this.reporter != null && + this.reporter.equals(other.getReporter()))) && + ((this.resolution == null && other.getResolution() == null) || + (this.resolution != null && + this.resolution.equals(other.getResolution()))) && + ((this.status == null && other.getStatus() == null) || + (this.status != null && + this.status.equals(other.getStatus()))) && + ((this.summary == null && other.getSummary() == null) || + (this.summary != null && + this.summary.equals(other.getSummary()))) && + ((this.type == null && other.getType() == null) || + (this.type != null && + this.type.equals(other.getType()))) && + ((this.updated == null && other.getUpdated() == null) || + (this.updated != null && + this.updated.equals(other.getUpdated()))) && + ((this.votes == null && other.getVotes() == null) || + (this.votes != null && + this.votes.equals(other.getVotes()))); + __equalsCalc = null; + return _equals; + } + + private boolean __hashCodeCalc = false; + + public synchronized int hashCode() { + if (__hashCodeCalc) { + return 0; + } + __hashCodeCalc = true; + int _hashCode = super.hashCode(); + if (getAffectsVersions() != null) { + for (int i = 0; + i < java.lang.reflect.Array.getLength(getAffectsVersions()); + i++) { + Object obj = java.lang.reflect.Array.get(getAffectsVersions(), i); + if (obj != null && + !obj.getClass().isArray()) { + _hashCode += obj.hashCode(); + } + } + } + if (getAssignee() != null) { + _hashCode += getAssignee().hashCode(); + } + if (getAttachmentNames() != null) { + for (int i = 0; + i < java.lang.reflect.Array.getLength(getAttachmentNames()); + i++) { + Object obj = java.lang.reflect.Array.get(getAttachmentNames(), i); + if (obj != null && + !obj.getClass().isArray()) { + _hashCode += obj.hashCode(); + } + } + } + if (getComponents() != null) { + for (int i = 0; + i < java.lang.reflect.Array.getLength(getComponents()); + i++) { + Object obj = java.lang.reflect.Array.get(getComponents(), i); + if (obj != null && + !obj.getClass().isArray()) { + _hashCode += obj.hashCode(); + } + } + } + if (getCreated() != null) { + _hashCode += getCreated().hashCode(); + } + if (getCustomFieldValues() != null) { + for (int i = 0; + i < java.lang.reflect.Array.getLength(getCustomFieldValues()); + i++) { + Object obj = java.lang.reflect.Array.get(getCustomFieldValues(), i); + if (obj != null && + !obj.getClass().isArray()) { + _hashCode += obj.hashCode(); + } + } + } + if (getDescription() != null) { + _hashCode += getDescription().hashCode(); + } + if (getDuedate() != null) { + _hashCode += getDuedate().hashCode(); + } + if (getEnvironment() != null) { + _hashCode += getEnvironment().hashCode(); + } + if (getFixVersions() != null) { + for (int i = 0; + i < java.lang.reflect.Array.getLength(getFixVersions()); + i++) { + Object obj = java.lang.reflect.Array.get(getFixVersions(), i); + if (obj != null && + !obj.getClass().isArray()) { + _hashCode += obj.hashCode(); + } + } + } + if (getKey() != null) { + _hashCode += getKey().hashCode(); + } + if (getPriority() != null) { + _hashCode += getPriority().hashCode(); + } + if (getProject() != null) { + _hashCode += getProject().hashCode(); + } + if (getReporter() != null) { + _hashCode += getReporter().hashCode(); + } + if (getResolution() != null) { + _hashCode += getResolution().hashCode(); + } + if (getStatus() != null) { + _hashCode += getStatus().hashCode(); + } + if (getSummary() != null) { + _hashCode += getSummary().hashCode(); + } + if (getType() != null) { + _hashCode += getType().hashCode(); + } + if (getUpdated() != null) { + _hashCode += getUpdated().hashCode(); + } + if (getVotes() != null) { + _hashCode += getVotes().hashCode(); + } + __hashCodeCalc = false; + return _hashCode; + } + + // Type metadata + private static org.apache.axis.description.TypeDesc typeDesc = + new org.apache.axis.description.TypeDesc(RemoteIssue.class, true); + + static { + typeDesc.setXmlType(new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteIssue")); + org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("affectsVersions"); + elemField.setXmlName(new javax.xml.namespace.QName("", "affectsVersions")); + elemField.setXmlType(new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteVersion")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("assignee"); + elemField.setXmlName(new javax.xml.namespace.QName("", "assignee")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("attachmentNames"); + elemField.setXmlName(new javax.xml.namespace.QName("", "attachmentNames")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("components"); + elemField.setXmlName(new javax.xml.namespace.QName("", "components")); + elemField.setXmlType(new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteComponent")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("created"); + elemField.setXmlName(new javax.xml.namespace.QName("", "created")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "dateTime")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("customFieldValues"); + elemField.setXmlName(new javax.xml.namespace.QName("", "customFieldValues")); + elemField.setXmlType( + new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteCustomFieldValue")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("description"); + elemField.setXmlName(new javax.xml.namespace.QName("", "description")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("duedate"); + elemField.setXmlName(new javax.xml.namespace.QName("", "duedate")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "dateTime")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("environment"); + elemField.setXmlName(new javax.xml.namespace.QName("", "environment")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("fixVersions"); + elemField.setXmlName(new javax.xml.namespace.QName("", "fixVersions")); + elemField.setXmlType(new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteVersion")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("key"); + elemField.setXmlName(new javax.xml.namespace.QName("", "key")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("priority"); + elemField.setXmlName(new javax.xml.namespace.QName("", "priority")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("project"); + elemField.setXmlName(new javax.xml.namespace.QName("", "project")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("reporter"); + elemField.setXmlName(new javax.xml.namespace.QName("", "reporter")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("resolution"); + elemField.setXmlName(new javax.xml.namespace.QName("", "resolution")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("status"); + elemField.setXmlName(new javax.xml.namespace.QName("", "status")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("summary"); + elemField.setXmlName(new javax.xml.namespace.QName("", "summary")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("type"); + elemField.setXmlName(new javax.xml.namespace.QName("", "type")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("updated"); + elemField.setXmlName(new javax.xml.namespace.QName("", "updated")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "dateTime")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("votes"); + elemField.setXmlName(new javax.xml.namespace.QName("", "votes")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "long")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + } + + /** + * Return type metadata object + */ + public static org.apache.axis.description.TypeDesc getTypeDesc() { + return typeDesc; + } + + /** + * Get Custom Serializer + */ + public static org.apache.axis.encoding.Serializer getSerializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanSerializer( + _javaType, _xmlType, typeDesc); + } + + /** + * Get Custom Deserializer + */ + public static org.apache.axis.encoding.Deserializer getDeserializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanDeserializer( + _javaType, _xmlType, typeDesc); + } + +} diff --git a/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteIssueType.java b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteIssueType.java new file mode 100644 index 000000000000..217af21408d7 --- /dev/null +++ b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteIssueType.java @@ -0,0 +1,133 @@ +/** + * RemoteIssueType.java + * + * This file was auto-generated from WSDL + * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter. + */ + +package com.atlassian.connector.commons.jira.soap.axis; + +public class RemoteIssueType extends AbstractRemoteConstant + implements java.io.Serializable { + private boolean subTask; + + public RemoteIssueType() { + } + + public RemoteIssueType( + String id, + String name, + String description, + String icon, + boolean subTask) { + super( + id, + name, + description, + icon); + this.subTask = subTask; + } + + + /** + * Gets the subTask value for this RemoteIssueType. + * + * @return subTask + */ + public boolean isSubTask() { + return subTask; + } + + + /** + * Sets the subTask value for this RemoteIssueType. + * + * @param subTask + */ + public void setSubTask(boolean subTask) { + this.subTask = subTask; + } + + private Object __equalsCalc = null; + + public synchronized boolean equals(Object obj) { + if (!(obj instanceof RemoteIssueType)) { + return false; + } + RemoteIssueType other = (RemoteIssueType) obj; + if (obj == null) { + return false; + } + if (this == obj) { + return true; + } + if (__equalsCalc != null) { + return (__equalsCalc == obj); + } + __equalsCalc = obj; + boolean _equals; + _equals = super.equals(obj) && + this.subTask == other.isSubTask(); + __equalsCalc = null; + return _equals; + } + + private boolean __hashCodeCalc = false; + + public synchronized int hashCode() { + if (__hashCodeCalc) { + return 0; + } + __hashCodeCalc = true; + int _hashCode = super.hashCode(); + _hashCode += (isSubTask() ? Boolean.TRUE : Boolean.FALSE).hashCode(); + __hashCodeCalc = false; + return _hashCode; + } + + // Type metadata + private static org.apache.axis.description.TypeDesc typeDesc = + new org.apache.axis.description.TypeDesc(RemoteIssueType.class, true); + + static { + typeDesc.setXmlType(new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteIssueType")); + org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("subTask"); + elemField.setXmlName(new javax.xml.namespace.QName("", "subTask")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "boolean")); + elemField.setNillable(false); + typeDesc.addFieldDesc(elemField); + } + + /** + * Return type metadata object + */ + public static org.apache.axis.description.TypeDesc getTypeDesc() { + return typeDesc; + } + + /** + * Get Custom Serializer + */ + public static org.apache.axis.encoding.Serializer getSerializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanSerializer( + _javaType, _xmlType, typeDesc); + } + + /** + * Get Custom Deserializer + */ + public static org.apache.axis.encoding.Deserializer getDeserializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanDeserializer( + _javaType, _xmlType, typeDesc); + } + +} diff --git a/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteNamedObject.java b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteNamedObject.java new file mode 100644 index 000000000000..709479f3a389 --- /dev/null +++ b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteNamedObject.java @@ -0,0 +1,97 @@ +/** + * RemoteNamedObject.java + * + * This file was auto-generated from WSDL + * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter. + */ + +package com.atlassian.connector.commons.jira.soap.axis; + +public class RemoteNamedObject extends AbstractNamedRemoteEntity + implements java.io.Serializable { + public RemoteNamedObject() { + } + + public RemoteNamedObject( + String id, + String name) { + super( + id, + name); + } + + private Object __equalsCalc = null; + + public synchronized boolean equals(Object obj) { + if (!(obj instanceof RemoteNamedObject)) { + return false; + } + RemoteNamedObject other = (RemoteNamedObject) obj; + if (obj == null) { + return false; + } + if (this == obj) { + return true; + } + if (__equalsCalc != null) { + return (__equalsCalc == obj); + } + __equalsCalc = obj; + boolean _equals; + _equals = super.equals(obj); + __equalsCalc = null; + return _equals; + } + + private boolean __hashCodeCalc = false; + + public synchronized int hashCode() { + if (__hashCodeCalc) { + return 0; + } + __hashCodeCalc = true; + int _hashCode = super.hashCode(); + __hashCodeCalc = false; + return _hashCode; + } + + // Type metadata + private static org.apache.axis.description.TypeDesc typeDesc = + new org.apache.axis.description.TypeDesc(RemoteNamedObject.class, true); + + static { + typeDesc.setXmlType(new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteNamedObject")); + } + + /** + * Return type metadata object + */ + public static org.apache.axis.description.TypeDesc getTypeDesc() { + return typeDesc; + } + + /** + * Get Custom Serializer + */ + public static org.apache.axis.encoding.Serializer getSerializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanSerializer( + _javaType, _xmlType, typeDesc); + } + + /** + * Get Custom Deserializer + */ + public static org.apache.axis.encoding.Deserializer getDeserializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanDeserializer( + _javaType, _xmlType, typeDesc); + } + +} diff --git a/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemotePermission.java b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemotePermission.java new file mode 100644 index 000000000000..68db863f39ac --- /dev/null +++ b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemotePermission.java @@ -0,0 +1,163 @@ +/** + * RemotePermission.java + * + * This file was auto-generated from WSDL + * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter. + */ + +package com.atlassian.connector.commons.jira.soap.axis; + +public class RemotePermission implements java.io.Serializable { + private String name; + + private Long permission; + + public RemotePermission() { + } + + public RemotePermission( + String name, + Long permission) { + this.name = name; + this.permission = permission; + } + + + /** + * Gets the name value for this RemotePermission. + * + * @return name + */ + public String getName() { + return name; + } + + + /** + * Sets the name value for this RemotePermission. + * + * @param name + */ + public void setName(String name) { + this.name = name; + } + + + /** + * Gets the permission value for this RemotePermission. + * + * @return permission + */ + public Long getPermission() { + return permission; + } + + + /** + * Sets the permission value for this RemotePermission. + * + * @param permission + */ + public void setPermission(Long permission) { + this.permission = permission; + } + + private Object __equalsCalc = null; + + public synchronized boolean equals(Object obj) { + if (!(obj instanceof RemotePermission)) { + return false; + } + RemotePermission other = (RemotePermission) obj; + if (obj == null) { + return false; + } + if (this == obj) { + return true; + } + if (__equalsCalc != null) { + return (__equalsCalc == obj); + } + __equalsCalc = obj; + boolean _equals; + _equals = true && + ((this.name == null && other.getName() == null) || + (this.name != null && + this.name.equals(other.getName()))) && + ((this.permission == null && other.getPermission() == null) || + (this.permission != null && + this.permission.equals(other.getPermission()))); + __equalsCalc = null; + return _equals; + } + + private boolean __hashCodeCalc = false; + + public synchronized int hashCode() { + if (__hashCodeCalc) { + return 0; + } + __hashCodeCalc = true; + int _hashCode = 1; + if (getName() != null) { + _hashCode += getName().hashCode(); + } + if (getPermission() != null) { + _hashCode += getPermission().hashCode(); + } + __hashCodeCalc = false; + return _hashCode; + } + + // Type metadata + private static org.apache.axis.description.TypeDesc typeDesc = + new org.apache.axis.description.TypeDesc(RemotePermission.class, true); + + static { + typeDesc.setXmlType(new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemotePermission")); + org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("name"); + elemField.setXmlName(new javax.xml.namespace.QName("", "name")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("permission"); + elemField.setXmlName(new javax.xml.namespace.QName("", "permission")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "long")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + } + + /** + * Return type metadata object + */ + public static org.apache.axis.description.TypeDesc getTypeDesc() { + return typeDesc; + } + + /** + * Get Custom Serializer + */ + public static org.apache.axis.encoding.Serializer getSerializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanSerializer( + _javaType, _xmlType, typeDesc); + } + + /** + * Get Custom Deserializer + */ + public static org.apache.axis.encoding.Deserializer getDeserializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanDeserializer( + _javaType, _xmlType, typeDesc); + } + +} diff --git a/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemotePermissionException.java b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemotePermissionException.java new file mode 100644 index 000000000000..81397a14af87 --- /dev/null +++ b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemotePermissionException.java @@ -0,0 +1,98 @@ +/** + * RemotePermissionException.java + * + * This file was auto-generated from WSDL + * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter. + */ + +package com.atlassian.connector.commons.jira.soap.axis; + +public class RemotePermissionException extends RemoteException + implements java.io.Serializable { + public RemotePermissionException() { + } + + private Object __equalsCalc = null; + + public synchronized boolean equals(Object obj) { + if (!(obj instanceof RemotePermissionException)) { + return false; + } + RemotePermissionException other = (RemotePermissionException) obj; + if (obj == null) { + return false; + } + if (this == obj) { + return true; + } + if (__equalsCalc != null) { + return (__equalsCalc == obj); + } + __equalsCalc = obj; + boolean _equals; + _equals = super.equals(obj); + __equalsCalc = null; + return _equals; + } + + private boolean __hashCodeCalc = false; + + public synchronized int hashCode() { + if (__hashCodeCalc) { + return 0; + } + __hashCodeCalc = true; + int _hashCode = super.hashCode(); + __hashCodeCalc = false; + return _hashCode; + } + + // Type metadata + private static org.apache.axis.description.TypeDesc typeDesc = + new org.apache.axis.description.TypeDesc(RemotePermissionException.class, true); + + static { + typeDesc.setXmlType( + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemotePermissionException")); + } + + /** + * Return type metadata object + */ + public static org.apache.axis.description.TypeDesc getTypeDesc() { + return typeDesc; + } + + /** + * Get Custom Serializer + */ + public static org.apache.axis.encoding.Serializer getSerializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanSerializer( + _javaType, _xmlType, typeDesc); + } + + /** + * Get Custom Deserializer + */ + public static org.apache.axis.encoding.Deserializer getDeserializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanDeserializer( + _javaType, _xmlType, typeDesc); + } + + + /** + * Writes the exception data to the faultDetails + */ + public void writeDetails(javax.xml.namespace.QName qname, org.apache.axis.encoding.SerializationContext context) + throws java.io.IOException { + context.serialize(qname, null, this); + } +} diff --git a/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemotePermissionMapping.java b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemotePermissionMapping.java new file mode 100644 index 000000000000..7ae7016ace56 --- /dev/null +++ b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemotePermissionMapping.java @@ -0,0 +1,172 @@ +/** + * RemotePermissionMapping.java + * + * This file was auto-generated from WSDL + * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter. + */ + +package com.atlassian.connector.commons.jira.soap.axis; + +public class RemotePermissionMapping implements java.io.Serializable { + private RemotePermission permission; + + private RemoteEntity[] remoteEntities; + + public RemotePermissionMapping() { + } + + public RemotePermissionMapping( + RemotePermission permission, + RemoteEntity[] remoteEntities) { + this.permission = permission; + this.remoteEntities = remoteEntities; + } + + + /** + * Gets the permission value for this RemotePermissionMapping. + * + * @return permission + */ + public RemotePermission getPermission() { + return permission; + } + + + /** + * Sets the permission value for this RemotePermissionMapping. + * + * @param permission + */ + public void setPermission(RemotePermission permission) { + this.permission = permission; + } + + + /** + * Gets the remoteEntities value for this RemotePermissionMapping. + * + * @return remoteEntities + */ + public RemoteEntity[] getRemoteEntities() { + return remoteEntities; + } + + + /** + * Sets the remoteEntities value for this RemotePermissionMapping. + * + * @param remoteEntities + */ + public void setRemoteEntities(RemoteEntity[] remoteEntities) { + this.remoteEntities = remoteEntities; + } + + private Object __equalsCalc = null; + + public synchronized boolean equals(Object obj) { + if (!(obj instanceof RemotePermissionMapping)) { + return false; + } + RemotePermissionMapping other = (RemotePermissionMapping) obj; + if (obj == null) { + return false; + } + if (this == obj) { + return true; + } + if (__equalsCalc != null) { + return (__equalsCalc == obj); + } + __equalsCalc = obj; + boolean _equals; + _equals = true && + ((this.permission == null && other.getPermission() == null) || + (this.permission != null && + this.permission.equals(other.getPermission()))) && + ((this.remoteEntities == null && other.getRemoteEntities() == null) || + (this.remoteEntities != null && + java.util.Arrays.equals(this.remoteEntities, other.getRemoteEntities()))); + __equalsCalc = null; + return _equals; + } + + private boolean __hashCodeCalc = false; + + public synchronized int hashCode() { + if (__hashCodeCalc) { + return 0; + } + __hashCodeCalc = true; + int _hashCode = 1; + if (getPermission() != null) { + _hashCode += getPermission().hashCode(); + } + if (getRemoteEntities() != null) { + for (int i = 0; + i < java.lang.reflect.Array.getLength(getRemoteEntities()); + i++) { + Object obj = java.lang.reflect.Array.get(getRemoteEntities(), i); + if (obj != null && + !obj.getClass().isArray()) { + _hashCode += obj.hashCode(); + } + } + } + __hashCodeCalc = false; + return _hashCode; + } + + // Type metadata + private static org.apache.axis.description.TypeDesc typeDesc = + new org.apache.axis.description.TypeDesc(RemotePermissionMapping.class, true); + + static { + typeDesc.setXmlType( + new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemotePermissionMapping")); + org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("permission"); + elemField.setXmlName(new javax.xml.namespace.QName("", "permission")); + elemField.setXmlType(new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemotePermission")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("remoteEntities"); + elemField.setXmlName(new javax.xml.namespace.QName("", "remoteEntities")); + elemField.setXmlType(new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteEntity")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + } + + /** + * Return type metadata object + */ + public static org.apache.axis.description.TypeDesc getTypeDesc() { + return typeDesc; + } + + /** + * Get Custom Serializer + */ + public static org.apache.axis.encoding.Serializer getSerializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanSerializer( + _javaType, _xmlType, typeDesc); + } + + /** + * Get Custom Deserializer + */ + public static org.apache.axis.encoding.Deserializer getDeserializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanDeserializer( + _javaType, _xmlType, typeDesc); + } + +} diff --git a/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemotePermissionScheme.java b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemotePermissionScheme.java new file mode 100644 index 000000000000..26fa9517ec5d --- /dev/null +++ b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemotePermissionScheme.java @@ -0,0 +1,147 @@ +/** + * RemotePermissionScheme.java + * + * This file was auto-generated from WSDL + * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter. + */ + +package com.atlassian.connector.commons.jira.soap.axis; + +public class RemotePermissionScheme extends RemoteScheme + implements java.io.Serializable { + private RemotePermissionMapping[] permissionMappings; + + public RemotePermissionScheme() { + } + + public RemotePermissionScheme( + String description, + Long id, + String name, + String type, + RemotePermissionMapping[] permissionMappings) { + super( + description, + id, + name, + type); + this.permissionMappings = permissionMappings; + } + + + /** + * Gets the permissionMappings value for this RemotePermissionScheme. + * + * @return permissionMappings + */ + public RemotePermissionMapping[] getPermissionMappings() { + return permissionMappings; + } + + + /** + * Sets the permissionMappings value for this RemotePermissionScheme. + * + * @param permissionMappings + */ + public void setPermissionMappings(RemotePermissionMapping[] permissionMappings) { + this.permissionMappings = permissionMappings; + } + + private Object __equalsCalc = null; + + public synchronized boolean equals(Object obj) { + if (!(obj instanceof RemotePermissionScheme)) { + return false; + } + RemotePermissionScheme other = (RemotePermissionScheme) obj; + if (obj == null) { + return false; + } + if (this == obj) { + return true; + } + if (__equalsCalc != null) { + return (__equalsCalc == obj); + } + __equalsCalc = obj; + boolean _equals; + _equals = super.equals(obj) && + ((this.permissionMappings == null && other.getPermissionMappings() == null) || + (this.permissionMappings != null && + java.util.Arrays.equals(this.permissionMappings, other.getPermissionMappings()))); + __equalsCalc = null; + return _equals; + } + + private boolean __hashCodeCalc = false; + + public synchronized int hashCode() { + if (__hashCodeCalc) { + return 0; + } + __hashCodeCalc = true; + int _hashCode = super.hashCode(); + if (getPermissionMappings() != null) { + for (int i = 0; + i < java.lang.reflect.Array.getLength(getPermissionMappings()); + i++) { + Object obj = java.lang.reflect.Array.get(getPermissionMappings(), i); + if (obj != null && + !obj.getClass().isArray()) { + _hashCode += obj.hashCode(); + } + } + } + __hashCodeCalc = false; + return _hashCode; + } + + // Type metadata + private static org.apache.axis.description.TypeDesc typeDesc = + new org.apache.axis.description.TypeDesc(RemotePermissionScheme.class, true); + + static { + typeDesc.setXmlType( + new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemotePermissionScheme")); + org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("permissionMappings"); + elemField.setXmlName(new javax.xml.namespace.QName("", "permissionMappings")); + elemField.setXmlType( + new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemotePermissionMapping")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + } + + /** + * Return type metadata object + */ + public static org.apache.axis.description.TypeDesc getTypeDesc() { + return typeDesc; + } + + /** + * Get Custom Serializer + */ + public static org.apache.axis.encoding.Serializer getSerializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanSerializer( + _javaType, _xmlType, typeDesc); + } + + /** + * Get Custom Deserializer + */ + public static org.apache.axis.encoding.Deserializer getDeserializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanDeserializer( + _javaType, _xmlType, typeDesc); + } + +} diff --git a/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemotePriority.java b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemotePriority.java new file mode 100644 index 000000000000..2fc230561403 --- /dev/null +++ b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemotePriority.java @@ -0,0 +1,137 @@ +/** + * RemotePriority.java + * + * This file was auto-generated from WSDL + * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter. + */ + +package com.atlassian.connector.commons.jira.soap.axis; + +public class RemotePriority extends AbstractRemoteConstant + implements java.io.Serializable { + private String color; + + public RemotePriority() { + } + + public RemotePriority( + String id, + String name, + String description, + String icon, + String color) { + super( + id, + name, + description, + icon); + this.color = color; + } + + + /** + * Gets the color value for this RemotePriority. + * + * @return color + */ + public String getColor() { + return color; + } + + + /** + * Sets the color value for this RemotePriority. + * + * @param color + */ + public void setColor(String color) { + this.color = color; + } + + private Object __equalsCalc = null; + + public synchronized boolean equals(Object obj) { + if (!(obj instanceof RemotePriority)) { + return false; + } + RemotePriority other = (RemotePriority) obj; + if (obj == null) { + return false; + } + if (this == obj) { + return true; + } + if (__equalsCalc != null) { + return (__equalsCalc == obj); + } + __equalsCalc = obj; + boolean _equals; + _equals = super.equals(obj) && + ((this.color == null && other.getColor() == null) || + (this.color != null && + this.color.equals(other.getColor()))); + __equalsCalc = null; + return _equals; + } + + private boolean __hashCodeCalc = false; + + public synchronized int hashCode() { + if (__hashCodeCalc) { + return 0; + } + __hashCodeCalc = true; + int _hashCode = super.hashCode(); + if (getColor() != null) { + _hashCode += getColor().hashCode(); + } + __hashCodeCalc = false; + return _hashCode; + } + + // Type metadata + private static org.apache.axis.description.TypeDesc typeDesc = + new org.apache.axis.description.TypeDesc(RemotePriority.class, true); + + static { + typeDesc.setXmlType(new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemotePriority")); + org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("color"); + elemField.setXmlName(new javax.xml.namespace.QName("", "color")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + } + + /** + * Return type metadata object + */ + public static org.apache.axis.description.TypeDesc getTypeDesc() { + return typeDesc; + } + + /** + * Get Custom Serializer + */ + public static org.apache.axis.encoding.Serializer getSerializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanSerializer( + _javaType, _xmlType, typeDesc); + } + + /** + * Get Custom Deserializer + */ + public static org.apache.axis.encoding.Deserializer getDeserializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanDeserializer( + _javaType, _xmlType, typeDesc); + } + +} diff --git a/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteProject.java b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteProject.java new file mode 100644 index 000000000000..fbf94f8ee264 --- /dev/null +++ b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteProject.java @@ -0,0 +1,386 @@ +/** + * RemoteProject.java + * + * This file was auto-generated from WSDL + * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter. + */ + +package com.atlassian.connector.commons.jira.soap.axis; + +public class RemoteProject extends AbstractNamedRemoteEntity + implements java.io.Serializable { + private String description; + + private RemoteScheme issueSecurityScheme; + + private String key; + + private String lead; + + private RemoteScheme notificationScheme; + + private RemotePermissionScheme permissionScheme; + + private String projectUrl; + + private String url; + + public RemoteProject() { + } + + public RemoteProject( + String id, + String name, + String description, + RemoteScheme issueSecurityScheme, + String key, + String lead, + RemoteScheme notificationScheme, + RemotePermissionScheme permissionScheme, + String projectUrl, + String url) { + super( + id, + name); + this.description = description; + this.issueSecurityScheme = issueSecurityScheme; + this.key = key; + this.lead = lead; + this.notificationScheme = notificationScheme; + this.permissionScheme = permissionScheme; + this.projectUrl = projectUrl; + this.url = url; + } + + + /** + * Gets the description value for this RemoteProject. + * + * @return description + */ + public String getDescription() { + return description; + } + + + /** + * Sets the description value for this RemoteProject. + * + * @param description + */ + public void setDescription(String description) { + this.description = description; + } + + + /** + * Gets the issueSecurityScheme value for this RemoteProject. + * + * @return issueSecurityScheme + */ + public RemoteScheme getIssueSecurityScheme() { + return issueSecurityScheme; + } + + + /** + * Sets the issueSecurityScheme value for this RemoteProject. + * + * @param issueSecurityScheme + */ + public void setIssueSecurityScheme(RemoteScheme issueSecurityScheme) { + this.issueSecurityScheme = issueSecurityScheme; + } + + + /** + * Gets the key value for this RemoteProject. + * + * @return key + */ + public String getKey() { + return key; + } + + + /** + * Sets the key value for this RemoteProject. + * + * @param key + */ + public void setKey(String key) { + this.key = key; + } + + + /** + * Gets the lead value for this RemoteProject. + * + * @return lead + */ + public String getLead() { + return lead; + } + + + /** + * Sets the lead value for this RemoteProject. + * + * @param lead + */ + public void setLead(String lead) { + this.lead = lead; + } + + + /** + * Gets the notificationScheme value for this RemoteProject. + * + * @return notificationScheme + */ + public RemoteScheme getNotificationScheme() { + return notificationScheme; + } + + + /** + * Sets the notificationScheme value for this RemoteProject. + * + * @param notificationScheme + */ + public void setNotificationScheme(RemoteScheme notificationScheme) { + this.notificationScheme = notificationScheme; + } + + + /** + * Gets the permissionScheme value for this RemoteProject. + * + * @return permissionScheme + */ + public RemotePermissionScheme getPermissionScheme() { + return permissionScheme; + } + + + /** + * Sets the permissionScheme value for this RemoteProject. + * + * @param permissionScheme + */ + public void setPermissionScheme(RemotePermissionScheme permissionScheme) { + this.permissionScheme = permissionScheme; + } + + + /** + * Gets the projectUrl value for this RemoteProject. + * + * @return projectUrl + */ + public String getProjectUrl() { + return projectUrl; + } + + + /** + * Sets the projectUrl value for this RemoteProject. + * + * @param projectUrl + */ + public void setProjectUrl(String projectUrl) { + this.projectUrl = projectUrl; + } + + + /** + * Gets the url value for this RemoteProject. + * + * @return url + */ + public String getUrl() { + return url; + } + + + /** + * Sets the url value for this RemoteProject. + * + * @param url + */ + public void setUrl(String url) { + this.url = url; + } + + private Object __equalsCalc = null; + + public synchronized boolean equals(Object obj) { + if (!(obj instanceof RemoteProject)) { + return false; + } + RemoteProject other = (RemoteProject) obj; + if (obj == null) { + return false; + } + if (this == obj) { + return true; + } + if (__equalsCalc != null) { + return (__equalsCalc == obj); + } + __equalsCalc = obj; + boolean _equals; + _equals = super.equals(obj) && + ((this.description == null && other.getDescription() == null) || + (this.description != null && + this.description.equals(other.getDescription()))) && + ((this.issueSecurityScheme == null && other.getIssueSecurityScheme() == null) || + (this.issueSecurityScheme != null && + this.issueSecurityScheme.equals(other.getIssueSecurityScheme()))) && + ((this.key == null && other.getKey() == null) || + (this.key != null && + this.key.equals(other.getKey()))) && + ((this.lead == null && other.getLead() == null) || + (this.lead != null && + this.lead.equals(other.getLead()))) && + ((this.notificationScheme == null && other.getNotificationScheme() == null) || + (this.notificationScheme != null && + this.notificationScheme.equals(other.getNotificationScheme()))) && + ((this.permissionScheme == null && other.getPermissionScheme() == null) || + (this.permissionScheme != null && + this.permissionScheme.equals(other.getPermissionScheme()))) && + ((this.projectUrl == null && other.getProjectUrl() == null) || + (this.projectUrl != null && + this.projectUrl.equals(other.getProjectUrl()))) && + ((this.url == null && other.getUrl() == null) || + (this.url != null && + this.url.equals(other.getUrl()))); + __equalsCalc = null; + return _equals; + } + + private boolean __hashCodeCalc = false; + + public synchronized int hashCode() { + if (__hashCodeCalc) { + return 0; + } + __hashCodeCalc = true; + int _hashCode = super.hashCode(); + if (getDescription() != null) { + _hashCode += getDescription().hashCode(); + } + if (getIssueSecurityScheme() != null) { + _hashCode += getIssueSecurityScheme().hashCode(); + } + if (getKey() != null) { + _hashCode += getKey().hashCode(); + } + if (getLead() != null) { + _hashCode += getLead().hashCode(); + } + if (getNotificationScheme() != null) { + _hashCode += getNotificationScheme().hashCode(); + } + if (getPermissionScheme() != null) { + _hashCode += getPermissionScheme().hashCode(); + } + if (getProjectUrl() != null) { + _hashCode += getProjectUrl().hashCode(); + } + if (getUrl() != null) { + _hashCode += getUrl().hashCode(); + } + __hashCodeCalc = false; + return _hashCode; + } + + // Type metadata + private static org.apache.axis.description.TypeDesc typeDesc = + new org.apache.axis.description.TypeDesc(RemoteProject.class, true); + + static { + typeDesc.setXmlType(new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteProject")); + org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("description"); + elemField.setXmlName(new javax.xml.namespace.QName("", "description")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("issueSecurityScheme"); + elemField.setXmlName(new javax.xml.namespace.QName("", "issueSecurityScheme")); + elemField.setXmlType(new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteScheme")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("key"); + elemField.setXmlName(new javax.xml.namespace.QName("", "key")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("lead"); + elemField.setXmlName(new javax.xml.namespace.QName("", "lead")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("notificationScheme"); + elemField.setXmlName(new javax.xml.namespace.QName("", "notificationScheme")); + elemField.setXmlType(new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteScheme")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("permissionScheme"); + elemField.setXmlName(new javax.xml.namespace.QName("", "permissionScheme")); + elemField.setXmlType( + new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemotePermissionScheme")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("projectUrl"); + elemField.setXmlName(new javax.xml.namespace.QName("", "projectUrl")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("url"); + elemField.setXmlName(new javax.xml.namespace.QName("", "url")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + } + + /** + * Return type metadata object + */ + public static org.apache.axis.description.TypeDesc getTypeDesc() { + return typeDesc; + } + + /** + * Get Custom Serializer + */ + public static org.apache.axis.encoding.Serializer getSerializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanSerializer( + _javaType, _xmlType, typeDesc); + } + + /** + * Get Custom Deserializer + */ + public static org.apache.axis.encoding.Deserializer getDeserializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanDeserializer( + _javaType, _xmlType, typeDesc); + } + +} diff --git a/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteProjectRole.java b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteProjectRole.java new file mode 100644 index 000000000000..f239e0be25bb --- /dev/null +++ b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteProjectRole.java @@ -0,0 +1,199 @@ +/** + * RemoteProjectRole.java + * + * This file was auto-generated from WSDL + * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter. + */ + +package com.atlassian.connector.commons.jira.soap.axis; + +public class RemoteProjectRole implements java.io.Serializable { + private String description; + + private Long id; + + private String name; + + public RemoteProjectRole() { + } + + public RemoteProjectRole( + String description, + Long id, + String name) { + this.description = description; + this.id = id; + this.name = name; + } + + + /** + * Gets the description value for this RemoteProjectRole. + * + * @return description + */ + public String getDescription() { + return description; + } + + + /** + * Sets the description value for this RemoteProjectRole. + * + * @param description + */ + public void setDescription(String description) { + this.description = description; + } + + + /** + * Gets the id value for this RemoteProjectRole. + * + * @return id + */ + public Long getId() { + return id; + } + + + /** + * Sets the id value for this RemoteProjectRole. + * + * @param id + */ + public void setId(Long id) { + this.id = id; + } + + + /** + * Gets the name value for this RemoteProjectRole. + * + * @return name + */ + public String getName() { + return name; + } + + + /** + * Sets the name value for this RemoteProjectRole. + * + * @param name + */ + public void setName(String name) { + this.name = name; + } + + private Object __equalsCalc = null; + + public synchronized boolean equals(Object obj) { + if (!(obj instanceof RemoteProjectRole)) { + return false; + } + RemoteProjectRole other = (RemoteProjectRole) obj; + if (obj == null) { + return false; + } + if (this == obj) { + return true; + } + if (__equalsCalc != null) { + return (__equalsCalc == obj); + } + __equalsCalc = obj; + boolean _equals; + _equals = true && + ((this.description == null && other.getDescription() == null) || + (this.description != null && + this.description.equals(other.getDescription()))) && + ((this.id == null && other.getId() == null) || + (this.id != null && + this.id.equals(other.getId()))) && + ((this.name == null && other.getName() == null) || + (this.name != null && + this.name.equals(other.getName()))); + __equalsCalc = null; + return _equals; + } + + private boolean __hashCodeCalc = false; + + public synchronized int hashCode() { + if (__hashCodeCalc) { + return 0; + } + __hashCodeCalc = true; + int _hashCode = 1; + if (getDescription() != null) { + _hashCode += getDescription().hashCode(); + } + if (getId() != null) { + _hashCode += getId().hashCode(); + } + if (getName() != null) { + _hashCode += getName().hashCode(); + } + __hashCodeCalc = false; + return _hashCode; + } + + // Type metadata + private static org.apache.axis.description.TypeDesc typeDesc = + new org.apache.axis.description.TypeDesc(RemoteProjectRole.class, true); + + static { + typeDesc.setXmlType(new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteProjectRole")); + org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("description"); + elemField.setXmlName(new javax.xml.namespace.QName("", "description")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("id"); + elemField.setXmlName(new javax.xml.namespace.QName("", "id")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "long")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("name"); + elemField.setXmlName(new javax.xml.namespace.QName("", "name")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + } + + /** + * Return type metadata object + */ + public static org.apache.axis.description.TypeDesc getTypeDesc() { + return typeDesc; + } + + /** + * Get Custom Serializer + */ + public static org.apache.axis.encoding.Serializer getSerializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanSerializer( + _javaType, _xmlType, typeDesc); + } + + /** + * Get Custom Deserializer + */ + public static org.apache.axis.encoding.Deserializer getDeserializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanDeserializer( + _javaType, _xmlType, typeDesc); + } + +} diff --git a/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteProjectRoleActors.java b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteProjectRoleActors.java new file mode 100644 index 000000000000..42c182324675 --- /dev/null +++ b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteProjectRoleActors.java @@ -0,0 +1,136 @@ +/** + * RemoteProjectRoleActors.java + * + * This file was auto-generated from WSDL + * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter. + */ + +package com.atlassian.connector.commons.jira.soap.axis; + +public class RemoteProjectRoleActors extends RemoteRoleActors + implements java.io.Serializable { + private RemoteProject project; + + public RemoteProjectRoleActors() { + } + + public RemoteProjectRoleActors( + RemoteProjectRole projectRole, + RemoteRoleActor[] roleActors, + RemoteUser[] users, + RemoteProject project) { + super( + projectRole, + roleActors, + users); + this.project = project; + } + + + /** + * Gets the project value for this RemoteProjectRoleActors. + * + * @return project + */ + public RemoteProject getProject() { + return project; + } + + + /** + * Sets the project value for this RemoteProjectRoleActors. + * + * @param project + */ + public void setProject(RemoteProject project) { + this.project = project; + } + + private Object __equalsCalc = null; + + public synchronized boolean equals(Object obj) { + if (!(obj instanceof RemoteProjectRoleActors)) { + return false; + } + RemoteProjectRoleActors other = (RemoteProjectRoleActors) obj; + if (obj == null) { + return false; + } + if (this == obj) { + return true; + } + if (__equalsCalc != null) { + return (__equalsCalc == obj); + } + __equalsCalc = obj; + boolean _equals; + _equals = super.equals(obj) && + ((this.project == null && other.getProject() == null) || + (this.project != null && + this.project.equals(other.getProject()))); + __equalsCalc = null; + return _equals; + } + + private boolean __hashCodeCalc = false; + + public synchronized int hashCode() { + if (__hashCodeCalc) { + return 0; + } + __hashCodeCalc = true; + int _hashCode = super.hashCode(); + if (getProject() != null) { + _hashCode += getProject().hashCode(); + } + __hashCodeCalc = false; + return _hashCode; + } + + // Type metadata + private static org.apache.axis.description.TypeDesc typeDesc = + new org.apache.axis.description.TypeDesc(RemoteProjectRoleActors.class, true); + + static { + typeDesc.setXmlType( + new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteProjectRoleActors")); + org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("project"); + elemField.setXmlName(new javax.xml.namespace.QName("", "project")); + elemField.setXmlType(new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteProject")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + } + + /** + * Return type metadata object + */ + public static org.apache.axis.description.TypeDesc getTypeDesc() { + return typeDesc; + } + + /** + * Get Custom Serializer + */ + public static org.apache.axis.encoding.Serializer getSerializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanSerializer( + _javaType, _xmlType, typeDesc); + } + + /** + * Get Custom Deserializer + */ + public static org.apache.axis.encoding.Deserializer getDeserializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanDeserializer( + _javaType, _xmlType, typeDesc); + } + +} diff --git a/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteResolution.java b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteResolution.java new file mode 100644 index 000000000000..75492b3c1c49 --- /dev/null +++ b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteResolution.java @@ -0,0 +1,101 @@ +/** + * RemoteResolution.java + * + * This file was auto-generated from WSDL + * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter. + */ + +package com.atlassian.connector.commons.jira.soap.axis; + +public class RemoteResolution extends AbstractRemoteConstant + implements java.io.Serializable { + public RemoteResolution() { + } + + public RemoteResolution( + String id, + String name, + String description, + String icon) { + super( + id, + name, + description, + icon); + } + + private Object __equalsCalc = null; + + public synchronized boolean equals(Object obj) { + if (!(obj instanceof RemoteResolution)) { + return false; + } + RemoteResolution other = (RemoteResolution) obj; + if (obj == null) { + return false; + } + if (this == obj) { + return true; + } + if (__equalsCalc != null) { + return (__equalsCalc == obj); + } + __equalsCalc = obj; + boolean _equals; + _equals = super.equals(obj); + __equalsCalc = null; + return _equals; + } + + private boolean __hashCodeCalc = false; + + public synchronized int hashCode() { + if (__hashCodeCalc) { + return 0; + } + __hashCodeCalc = true; + int _hashCode = super.hashCode(); + __hashCodeCalc = false; + return _hashCode; + } + + // Type metadata + private static org.apache.axis.description.TypeDesc typeDesc = + new org.apache.axis.description.TypeDesc(RemoteResolution.class, true); + + static { + typeDesc.setXmlType(new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteResolution")); + } + + /** + * Return type metadata object + */ + public static org.apache.axis.description.TypeDesc getTypeDesc() { + return typeDesc; + } + + /** + * Get Custom Serializer + */ + public static org.apache.axis.encoding.Serializer getSerializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanSerializer( + _javaType, _xmlType, typeDesc); + } + + /** + * Get Custom Deserializer + */ + public static org.apache.axis.encoding.Deserializer getDeserializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanDeserializer( + _javaType, _xmlType, typeDesc); + } + +} diff --git a/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteRoleActor.java b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteRoleActor.java new file mode 100644 index 000000000000..bfb617d9b368 --- /dev/null +++ b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteRoleActor.java @@ -0,0 +1,279 @@ +/** + * RemoteRoleActor.java + * + * This file was auto-generated from WSDL + * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter. + */ + +package com.atlassian.connector.commons.jira.soap.axis; + +public class RemoteRoleActor implements java.io.Serializable { + private String descriptor; + + private String parameter; + + private RemoteProjectRole projectRole; + + private String type; + + private RemoteUser[] users; + + public RemoteRoleActor() { + } + + public RemoteRoleActor( + String descriptor, + String parameter, + RemoteProjectRole projectRole, + String type, + RemoteUser[] users) { + this.descriptor = descriptor; + this.parameter = parameter; + this.projectRole = projectRole; + this.type = type; + this.users = users; + } + + + /** + * Gets the descriptor value for this RemoteRoleActor. + * + * @return descriptor + */ + public String getDescriptor() { + return descriptor; + } + + + /** + * Sets the descriptor value for this RemoteRoleActor. + * + * @param descriptor + */ + public void setDescriptor(String descriptor) { + this.descriptor = descriptor; + } + + + /** + * Gets the parameter value for this RemoteRoleActor. + * + * @return parameter + */ + public String getParameter() { + return parameter; + } + + + /** + * Sets the parameter value for this RemoteRoleActor. + * + * @param parameter + */ + public void setParameter(String parameter) { + this.parameter = parameter; + } + + + /** + * Gets the projectRole value for this RemoteRoleActor. + * + * @return projectRole + */ + public RemoteProjectRole getProjectRole() { + return projectRole; + } + + + /** + * Sets the projectRole value for this RemoteRoleActor. + * + * @param projectRole + */ + public void setProjectRole(RemoteProjectRole projectRole) { + this.projectRole = projectRole; + } + + + /** + * Gets the type value for this RemoteRoleActor. + * + * @return type + */ + public String getType() { + return type; + } + + + /** + * Sets the type value for this RemoteRoleActor. + * + * @param type + */ + public void setType(String type) { + this.type = type; + } + + + /** + * Gets the users value for this RemoteRoleActor. + * + * @return users + */ + public RemoteUser[] getUsers() { + return users; + } + + + /** + * Sets the users value for this RemoteRoleActor. + * + * @param users + */ + public void setUsers(RemoteUser[] users) { + this.users = users; + } + + private Object __equalsCalc = null; + + public synchronized boolean equals(Object obj) { + if (!(obj instanceof RemoteRoleActor)) { + return false; + } + RemoteRoleActor other = (RemoteRoleActor) obj; + if (obj == null) { + return false; + } + if (this == obj) { + return true; + } + if (__equalsCalc != null) { + return (__equalsCalc == obj); + } + __equalsCalc = obj; + boolean _equals; + _equals = true && + ((this.descriptor == null && other.getDescriptor() == null) || + (this.descriptor != null && + this.descriptor.equals(other.getDescriptor()))) && + ((this.parameter == null && other.getParameter() == null) || + (this.parameter != null && + this.parameter.equals(other.getParameter()))) && + ((this.projectRole == null && other.getProjectRole() == null) || + (this.projectRole != null && + this.projectRole.equals(other.getProjectRole()))) && + ((this.type == null && other.getType() == null) || + (this.type != null && + this.type.equals(other.getType()))) && + ((this.users == null && other.getUsers() == null) || + (this.users != null && + java.util.Arrays.equals(this.users, other.getUsers()))); + __equalsCalc = null; + return _equals; + } + + private boolean __hashCodeCalc = false; + + public synchronized int hashCode() { + if (__hashCodeCalc) { + return 0; + } + __hashCodeCalc = true; + int _hashCode = 1; + if (getDescriptor() != null) { + _hashCode += getDescriptor().hashCode(); + } + if (getParameter() != null) { + _hashCode += getParameter().hashCode(); + } + if (getProjectRole() != null) { + _hashCode += getProjectRole().hashCode(); + } + if (getType() != null) { + _hashCode += getType().hashCode(); + } + if (getUsers() != null) { + for (int i = 0; + i < java.lang.reflect.Array.getLength(getUsers()); + i++) { + Object obj = java.lang.reflect.Array.get(getUsers(), i); + if (obj != null && + !obj.getClass().isArray()) { + _hashCode += obj.hashCode(); + } + } + } + __hashCodeCalc = false; + return _hashCode; + } + + // Type metadata + private static org.apache.axis.description.TypeDesc typeDesc = + new org.apache.axis.description.TypeDesc(RemoteRoleActor.class, true); + + static { + typeDesc.setXmlType(new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteRoleActor")); + org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("descriptor"); + elemField.setXmlName(new javax.xml.namespace.QName("", "descriptor")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("parameter"); + elemField.setXmlName(new javax.xml.namespace.QName("", "parameter")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("projectRole"); + elemField.setXmlName(new javax.xml.namespace.QName("", "projectRole")); + elemField.setXmlType(new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteProjectRole")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("type"); + elemField.setXmlName(new javax.xml.namespace.QName("", "type")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("users"); + elemField.setXmlName(new javax.xml.namespace.QName("", "users")); + elemField.setXmlType(new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteUser")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + } + + /** + * Return type metadata object + */ + public static org.apache.axis.description.TypeDesc getTypeDesc() { + return typeDesc; + } + + /** + * Get Custom Serializer + */ + public static org.apache.axis.encoding.Serializer getSerializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanSerializer( + _javaType, _xmlType, typeDesc); + } + + /** + * Get Custom Deserializer + */ + public static org.apache.axis.encoding.Deserializer getDeserializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanDeserializer( + _javaType, _xmlType, typeDesc); + } + +} diff --git a/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteRoleActors.java b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteRoleActors.java new file mode 100644 index 000000000000..0b8b552a753a --- /dev/null +++ b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteRoleActors.java @@ -0,0 +1,215 @@ +/** + * RemoteRoleActors.java + * + * This file was auto-generated from WSDL + * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter. + */ + +package com.atlassian.connector.commons.jira.soap.axis; + +public class RemoteRoleActors implements java.io.Serializable { + private RemoteProjectRole projectRole; + + private RemoteRoleActor[] roleActors; + + private RemoteUser[] users; + + public RemoteRoleActors() { + } + + public RemoteRoleActors( + RemoteProjectRole projectRole, + RemoteRoleActor[] roleActors, + RemoteUser[] users) { + this.projectRole = projectRole; + this.roleActors = roleActors; + this.users = users; + } + + + /** + * Gets the projectRole value for this RemoteRoleActors. + * + * @return projectRole + */ + public RemoteProjectRole getProjectRole() { + return projectRole; + } + + + /** + * Sets the projectRole value for this RemoteRoleActors. + * + * @param projectRole + */ + public void setProjectRole(RemoteProjectRole projectRole) { + this.projectRole = projectRole; + } + + + /** + * Gets the roleActors value for this RemoteRoleActors. + * + * @return roleActors + */ + public RemoteRoleActor[] getRoleActors() { + return roleActors; + } + + + /** + * Sets the roleActors value for this RemoteRoleActors. + * + * @param roleActors + */ + public void setRoleActors(RemoteRoleActor[] roleActors) { + this.roleActors = roleActors; + } + + + /** + * Gets the users value for this RemoteRoleActors. + * + * @return users + */ + public RemoteUser[] getUsers() { + return users; + } + + + /** + * Sets the users value for this RemoteRoleActors. + * + * @param users + */ + public void setUsers(RemoteUser[] users) { + this.users = users; + } + + private Object __equalsCalc = null; + + public synchronized boolean equals(Object obj) { + if (!(obj instanceof RemoteRoleActors)) { + return false; + } + RemoteRoleActors other = (RemoteRoleActors) obj; + if (obj == null) { + return false; + } + if (this == obj) { + return true; + } + if (__equalsCalc != null) { + return (__equalsCalc == obj); + } + __equalsCalc = obj; + boolean _equals; + _equals = true && + ((this.projectRole == null && other.getProjectRole() == null) || + (this.projectRole != null && + this.projectRole.equals(other.getProjectRole()))) && + ((this.roleActors == null && other.getRoleActors() == null) || + (this.roleActors != null && + java.util.Arrays.equals(this.roleActors, other.getRoleActors()))) && + ((this.users == null && other.getUsers() == null) || + (this.users != null && + java.util.Arrays.equals(this.users, other.getUsers()))); + __equalsCalc = null; + return _equals; + } + + private boolean __hashCodeCalc = false; + + public synchronized int hashCode() { + if (__hashCodeCalc) { + return 0; + } + __hashCodeCalc = true; + int _hashCode = 1; + if (getProjectRole() != null) { + _hashCode += getProjectRole().hashCode(); + } + if (getRoleActors() != null) { + for (int i = 0; + i < java.lang.reflect.Array.getLength(getRoleActors()); + i++) { + Object obj = java.lang.reflect.Array.get(getRoleActors(), i); + if (obj != null && + !obj.getClass().isArray()) { + _hashCode += obj.hashCode(); + } + } + } + if (getUsers() != null) { + for (int i = 0; + i < java.lang.reflect.Array.getLength(getUsers()); + i++) { + Object obj = java.lang.reflect.Array.get(getUsers(), i); + if (obj != null && + !obj.getClass().isArray()) { + _hashCode += obj.hashCode(); + } + } + } + __hashCodeCalc = false; + return _hashCode; + } + + // Type metadata + private static org.apache.axis.description.TypeDesc typeDesc = + new org.apache.axis.description.TypeDesc(RemoteRoleActors.class, true); + + static { + typeDesc.setXmlType(new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteRoleActors")); + org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("projectRole"); + elemField.setXmlName(new javax.xml.namespace.QName("", "projectRole")); + elemField.setXmlType(new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteProjectRole")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("roleActors"); + elemField.setXmlName(new javax.xml.namespace.QName("", "roleActors")); + elemField.setXmlType(new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteRoleActor")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("users"); + elemField.setXmlName(new javax.xml.namespace.QName("", "users")); + elemField.setXmlType(new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteUser")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + } + + /** + * Return type metadata object + */ + public static org.apache.axis.description.TypeDesc getTypeDesc() { + return typeDesc; + } + + /** + * Get Custom Serializer + */ + public static org.apache.axis.encoding.Serializer getSerializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanSerializer( + _javaType, _xmlType, typeDesc); + } + + /** + * Get Custom Deserializer + */ + public static org.apache.axis.encoding.Deserializer getDeserializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanDeserializer( + _javaType, _xmlType, typeDesc); + } + +} diff --git a/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteScheme.java b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteScheme.java new file mode 100644 index 000000000000..26c2702d71ef --- /dev/null +++ b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteScheme.java @@ -0,0 +1,235 @@ +/** + * RemoteScheme.java + * + * This file was auto-generated from WSDL + * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter. + */ + +package com.atlassian.connector.commons.jira.soap.axis; + +public class RemoteScheme implements java.io.Serializable { + private String description; + + private Long id; + + private String name; + + private String type; + + public RemoteScheme() { + } + + public RemoteScheme( + String description, + Long id, + String name, + String type) { + this.description = description; + this.id = id; + this.name = name; + this.type = type; + } + + + /** + * Gets the description value for this RemoteScheme. + * + * @return description + */ + public String getDescription() { + return description; + } + + + /** + * Sets the description value for this RemoteScheme. + * + * @param description + */ + public void setDescription(String description) { + this.description = description; + } + + + /** + * Gets the id value for this RemoteScheme. + * + * @return id + */ + public Long getId() { + return id; + } + + + /** + * Sets the id value for this RemoteScheme. + * + * @param id + */ + public void setId(Long id) { + this.id = id; + } + + + /** + * Gets the name value for this RemoteScheme. + * + * @return name + */ + public String getName() { + return name; + } + + + /** + * Sets the name value for this RemoteScheme. + * + * @param name + */ + public void setName(String name) { + this.name = name; + } + + + /** + * Gets the type value for this RemoteScheme. + * + * @return type + */ + public String getType() { + return type; + } + + + /** + * Sets the type value for this RemoteScheme. + * + * @param type + */ + public void setType(String type) { + this.type = type; + } + + private Object __equalsCalc = null; + + public synchronized boolean equals(Object obj) { + if (!(obj instanceof RemoteScheme)) { + return false; + } + RemoteScheme other = (RemoteScheme) obj; + if (obj == null) { + return false; + } + if (this == obj) { + return true; + } + if (__equalsCalc != null) { + return (__equalsCalc == obj); + } + __equalsCalc = obj; + boolean _equals; + _equals = true && + ((this.description == null && other.getDescription() == null) || + (this.description != null && + this.description.equals(other.getDescription()))) && + ((this.id == null && other.getId() == null) || + (this.id != null && + this.id.equals(other.getId()))) && + ((this.name == null && other.getName() == null) || + (this.name != null && + this.name.equals(other.getName()))) && + ((this.type == null && other.getType() == null) || + (this.type != null && + this.type.equals(other.getType()))); + __equalsCalc = null; + return _equals; + } + + private boolean __hashCodeCalc = false; + + public synchronized int hashCode() { + if (__hashCodeCalc) { + return 0; + } + __hashCodeCalc = true; + int _hashCode = 1; + if (getDescription() != null) { + _hashCode += getDescription().hashCode(); + } + if (getId() != null) { + _hashCode += getId().hashCode(); + } + if (getName() != null) { + _hashCode += getName().hashCode(); + } + if (getType() != null) { + _hashCode += getType().hashCode(); + } + __hashCodeCalc = false; + return _hashCode; + } + + // Type metadata + private static org.apache.axis.description.TypeDesc typeDesc = + new org.apache.axis.description.TypeDesc(RemoteScheme.class, true); + + static { + typeDesc.setXmlType(new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteScheme")); + org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("description"); + elemField.setXmlName(new javax.xml.namespace.QName("", "description")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("id"); + elemField.setXmlName(new javax.xml.namespace.QName("", "id")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "long")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("name"); + elemField.setXmlName(new javax.xml.namespace.QName("", "name")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("type"); + elemField.setXmlName(new javax.xml.namespace.QName("", "type")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + } + + /** + * Return type metadata object + */ + public static org.apache.axis.description.TypeDesc getTypeDesc() { + return typeDesc; + } + + /** + * Get Custom Serializer + */ + public static org.apache.axis.encoding.Serializer getSerializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanSerializer( + _javaType, _xmlType, typeDesc); + } + + /** + * Get Custom Deserializer + */ + public static org.apache.axis.encoding.Deserializer getDeserializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanDeserializer( + _javaType, _xmlType, typeDesc); + } + +} diff --git a/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteSecurityLevel.java b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteSecurityLevel.java new file mode 100644 index 000000000000..e8d20ff5cd39 --- /dev/null +++ b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteSecurityLevel.java @@ -0,0 +1,133 @@ +/** + * RemoteSecurityLevel.java + * + * This file was auto-generated from WSDL + * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter. + */ + +package com.atlassian.connector.commons.jira.soap.axis; + +public class RemoteSecurityLevel extends AbstractNamedRemoteEntity + implements java.io.Serializable { + private String description; + + public RemoteSecurityLevel() { + } + + public RemoteSecurityLevel( + String id, + String name, + String description) { + super( + id, + name); + this.description = description; + } + + + /** + * Gets the description value for this RemoteSecurityLevel. + * + * @return description + */ + public String getDescription() { + return description; + } + + + /** + * Sets the description value for this RemoteSecurityLevel. + * + * @param description + */ + public void setDescription(String description) { + this.description = description; + } + + private Object __equalsCalc = null; + + public synchronized boolean equals(Object obj) { + if (!(obj instanceof RemoteSecurityLevel)) { + return false; + } + RemoteSecurityLevel other = (RemoteSecurityLevel) obj; + if (obj == null) { + return false; + } + if (this == obj) { + return true; + } + if (__equalsCalc != null) { + return (__equalsCalc == obj); + } + __equalsCalc = obj; + boolean _equals; + _equals = super.equals(obj) && + ((this.description == null && other.getDescription() == null) || + (this.description != null && + this.description.equals(other.getDescription()))); + __equalsCalc = null; + return _equals; + } + + private boolean __hashCodeCalc = false; + + public synchronized int hashCode() { + if (__hashCodeCalc) { + return 0; + } + __hashCodeCalc = true; + int _hashCode = super.hashCode(); + if (getDescription() != null) { + _hashCode += getDescription().hashCode(); + } + __hashCodeCalc = false; + return _hashCode; + } + + // Type metadata + private static org.apache.axis.description.TypeDesc typeDesc = + new org.apache.axis.description.TypeDesc(RemoteSecurityLevel.class, true); + + static { + typeDesc.setXmlType(new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteSecurityLevel")); + org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("description"); + elemField.setXmlName(new javax.xml.namespace.QName("", "description")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + } + + /** + * Return type metadata object + */ + public static org.apache.axis.description.TypeDesc getTypeDesc() { + return typeDesc; + } + + /** + * Get Custom Serializer + */ + public static org.apache.axis.encoding.Serializer getSerializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanSerializer( + _javaType, _xmlType, typeDesc); + } + + /** + * Get Custom Deserializer + */ + public static org.apache.axis.encoding.Deserializer getDeserializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanDeserializer( + _javaType, _xmlType, typeDesc); + } + +} diff --git a/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteServerInfo.java b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteServerInfo.java new file mode 100644 index 000000000000..d1711106da3c --- /dev/null +++ b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteServerInfo.java @@ -0,0 +1,307 @@ +/** + * RemoteServerInfo.java + * + * This file was auto-generated from WSDL + * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter. + */ + +package com.atlassian.connector.commons.jira.soap.axis; + +public class RemoteServerInfo implements java.io.Serializable { + private String baseUrl; + + private java.util.Calendar buildDate; + + private String buildNumber; + + private String edition; + + private RemoteTimeInfo serverTime; + + private String version; + + public RemoteServerInfo() { + } + + public RemoteServerInfo( + String baseUrl, + java.util.Calendar buildDate, + String buildNumber, + String edition, + RemoteTimeInfo serverTime, + String version) { + this.baseUrl = baseUrl; + this.buildDate = buildDate; + this.buildNumber = buildNumber; + this.edition = edition; + this.serverTime = serverTime; + this.version = version; + } + + + /** + * Gets the baseUrl value for this RemoteServerInfo. + * + * @return baseUrl + */ + public String getBaseUrl() { + return baseUrl; + } + + + /** + * Sets the baseUrl value for this RemoteServerInfo. + * + * @param baseUrl + */ + public void setBaseUrl(String baseUrl) { + this.baseUrl = baseUrl; + } + + + /** + * Gets the buildDate value for this RemoteServerInfo. + * + * @return buildDate + */ + public java.util.Calendar getBuildDate() { + return buildDate; + } + + + /** + * Sets the buildDate value for this RemoteServerInfo. + * + * @param buildDate + */ + public void setBuildDate(java.util.Calendar buildDate) { + this.buildDate = buildDate; + } + + + /** + * Gets the buildNumber value for this RemoteServerInfo. + * + * @return buildNumber + */ + public String getBuildNumber() { + return buildNumber; + } + + + /** + * Sets the buildNumber value for this RemoteServerInfo. + * + * @param buildNumber + */ + public void setBuildNumber(String buildNumber) { + this.buildNumber = buildNumber; + } + + + /** + * Gets the edition value for this RemoteServerInfo. + * + * @return edition + */ + public String getEdition() { + return edition; + } + + + /** + * Sets the edition value for this RemoteServerInfo. + * + * @param edition + */ + public void setEdition(String edition) { + this.edition = edition; + } + + + /** + * Gets the serverTime value for this RemoteServerInfo. + * + * @return serverTime + */ + public RemoteTimeInfo getServerTime() { + return serverTime; + } + + + /** + * Sets the serverTime value for this RemoteServerInfo. + * + * @param serverTime + */ + public void setServerTime(RemoteTimeInfo serverTime) { + this.serverTime = serverTime; + } + + + /** + * Gets the version value for this RemoteServerInfo. + * + * @return version + */ + public String getVersion() { + return version; + } + + + /** + * Sets the version value for this RemoteServerInfo. + * + * @param version + */ + public void setVersion(String version) { + this.version = version; + } + + private Object __equalsCalc = null; + + public synchronized boolean equals(Object obj) { + if (!(obj instanceof RemoteServerInfo)) { + return false; + } + RemoteServerInfo other = (RemoteServerInfo) obj; + if (obj == null) { + return false; + } + if (this == obj) { + return true; + } + if (__equalsCalc != null) { + return (__equalsCalc == obj); + } + __equalsCalc = obj; + boolean _equals; + _equals = true && + ((this.baseUrl == null && other.getBaseUrl() == null) || + (this.baseUrl != null && + this.baseUrl.equals(other.getBaseUrl()))) && + ((this.buildDate == null && other.getBuildDate() == null) || + (this.buildDate != null && + this.buildDate.equals(other.getBuildDate()))) && + ((this.buildNumber == null && other.getBuildNumber() == null) || + (this.buildNumber != null && + this.buildNumber.equals(other.getBuildNumber()))) && + ((this.edition == null && other.getEdition() == null) || + (this.edition != null && + this.edition.equals(other.getEdition()))) && + ((this.serverTime == null && other.getServerTime() == null) || + (this.serverTime != null && + this.serverTime.equals(other.getServerTime()))) && + ((this.version == null && other.getVersion() == null) || + (this.version != null && + this.version.equals(other.getVersion()))); + __equalsCalc = null; + return _equals; + } + + private boolean __hashCodeCalc = false; + + public synchronized int hashCode() { + if (__hashCodeCalc) { + return 0; + } + __hashCodeCalc = true; + int _hashCode = 1; + if (getBaseUrl() != null) { + _hashCode += getBaseUrl().hashCode(); + } + if (getBuildDate() != null) { + _hashCode += getBuildDate().hashCode(); + } + if (getBuildNumber() != null) { + _hashCode += getBuildNumber().hashCode(); + } + if (getEdition() != null) { + _hashCode += getEdition().hashCode(); + } + if (getServerTime() != null) { + _hashCode += getServerTime().hashCode(); + } + if (getVersion() != null) { + _hashCode += getVersion().hashCode(); + } + __hashCodeCalc = false; + return _hashCode; + } + + // Type metadata + private static org.apache.axis.description.TypeDesc typeDesc = + new org.apache.axis.description.TypeDesc(RemoteServerInfo.class, true); + + static { + typeDesc.setXmlType(new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteServerInfo")); + org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("baseUrl"); + elemField.setXmlName(new javax.xml.namespace.QName("", "baseUrl")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("buildDate"); + elemField.setXmlName(new javax.xml.namespace.QName("", "buildDate")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "dateTime")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("buildNumber"); + elemField.setXmlName(new javax.xml.namespace.QName("", "buildNumber")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("edition"); + elemField.setXmlName(new javax.xml.namespace.QName("", "edition")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("serverTime"); + elemField.setXmlName(new javax.xml.namespace.QName("", "serverTime")); + elemField.setXmlType(new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteTimeInfo")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("version"); + elemField.setXmlName(new javax.xml.namespace.QName("", "version")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + } + + /** + * Return type metadata object + */ + public static org.apache.axis.description.TypeDesc getTypeDesc() { + return typeDesc; + } + + /** + * Get Custom Serializer + */ + public static org.apache.axis.encoding.Serializer getSerializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanSerializer( + _javaType, _xmlType, typeDesc); + } + + /** + * Get Custom Deserializer + */ + public static org.apache.axis.encoding.Deserializer getDeserializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanDeserializer( + _javaType, _xmlType, typeDesc); + } + +} diff --git a/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteStatus.java b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteStatus.java new file mode 100644 index 000000000000..7bc949b13e46 --- /dev/null +++ b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteStatus.java @@ -0,0 +1,101 @@ +/** + * RemoteStatus.java + * + * This file was auto-generated from WSDL + * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter. + */ + +package com.atlassian.connector.commons.jira.soap.axis; + +public class RemoteStatus extends AbstractRemoteConstant + implements java.io.Serializable { + public RemoteStatus() { + } + + public RemoteStatus( + String id, + String name, + String description, + String icon) { + super( + id, + name, + description, + icon); + } + + private Object __equalsCalc = null; + + public synchronized boolean equals(Object obj) { + if (!(obj instanceof RemoteStatus)) { + return false; + } + RemoteStatus other = (RemoteStatus) obj; + if (obj == null) { + return false; + } + if (this == obj) { + return true; + } + if (__equalsCalc != null) { + return (__equalsCalc == obj); + } + __equalsCalc = obj; + boolean _equals; + _equals = super.equals(obj); + __equalsCalc = null; + return _equals; + } + + private boolean __hashCodeCalc = false; + + public synchronized int hashCode() { + if (__hashCodeCalc) { + return 0; + } + __hashCodeCalc = true; + int _hashCode = super.hashCode(); + __hashCodeCalc = false; + return _hashCode; + } + + // Type metadata + private static org.apache.axis.description.TypeDesc typeDesc = + new org.apache.axis.description.TypeDesc(RemoteStatus.class, true); + + static { + typeDesc.setXmlType(new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteStatus")); + } + + /** + * Return type metadata object + */ + public static org.apache.axis.description.TypeDesc getTypeDesc() { + return typeDesc; + } + + /** + * Get Custom Serializer + */ + public static org.apache.axis.encoding.Serializer getSerializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanSerializer( + _javaType, _xmlType, typeDesc); + } + + /** + * Get Custom Deserializer + */ + public static org.apache.axis.encoding.Deserializer getDeserializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanDeserializer( + _javaType, _xmlType, typeDesc); + } + +} diff --git a/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteTimeInfo.java b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteTimeInfo.java new file mode 100644 index 000000000000..1a41ce6bd778 --- /dev/null +++ b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteTimeInfo.java @@ -0,0 +1,163 @@ +/** + * RemoteTimeInfo.java + * + * This file was auto-generated from WSDL + * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter. + */ + +package com.atlassian.connector.commons.jira.soap.axis; + +public class RemoteTimeInfo implements java.io.Serializable { + private String serverTime; + + private String timeZoneId; + + public RemoteTimeInfo() { + } + + public RemoteTimeInfo( + String serverTime, + String timeZoneId) { + this.serverTime = serverTime; + this.timeZoneId = timeZoneId; + } + + + /** + * Gets the serverTime value for this RemoteTimeInfo. + * + * @return serverTime + */ + public String getServerTime() { + return serverTime; + } + + + /** + * Sets the serverTime value for this RemoteTimeInfo. + * + * @param serverTime + */ + public void setServerTime(String serverTime) { + this.serverTime = serverTime; + } + + + /** + * Gets the timeZoneId value for this RemoteTimeInfo. + * + * @return timeZoneId + */ + public String getTimeZoneId() { + return timeZoneId; + } + + + /** + * Sets the timeZoneId value for this RemoteTimeInfo. + * + * @param timeZoneId + */ + public void setTimeZoneId(String timeZoneId) { + this.timeZoneId = timeZoneId; + } + + private Object __equalsCalc = null; + + public synchronized boolean equals(Object obj) { + if (!(obj instanceof RemoteTimeInfo)) { + return false; + } + RemoteTimeInfo other = (RemoteTimeInfo) obj; + if (obj == null) { + return false; + } + if (this == obj) { + return true; + } + if (__equalsCalc != null) { + return (__equalsCalc == obj); + } + __equalsCalc = obj; + boolean _equals; + _equals = true && + ((this.serverTime == null && other.getServerTime() == null) || + (this.serverTime != null && + this.serverTime.equals(other.getServerTime()))) && + ((this.timeZoneId == null && other.getTimeZoneId() == null) || + (this.timeZoneId != null && + this.timeZoneId.equals(other.getTimeZoneId()))); + __equalsCalc = null; + return _equals; + } + + private boolean __hashCodeCalc = false; + + public synchronized int hashCode() { + if (__hashCodeCalc) { + return 0; + } + __hashCodeCalc = true; + int _hashCode = 1; + if (getServerTime() != null) { + _hashCode += getServerTime().hashCode(); + } + if (getTimeZoneId() != null) { + _hashCode += getTimeZoneId().hashCode(); + } + __hashCodeCalc = false; + return _hashCode; + } + + // Type metadata + private static org.apache.axis.description.TypeDesc typeDesc = + new org.apache.axis.description.TypeDesc(RemoteTimeInfo.class, true); + + static { + typeDesc.setXmlType(new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteTimeInfo")); + org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("serverTime"); + elemField.setXmlName(new javax.xml.namespace.QName("", "serverTime")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("timeZoneId"); + elemField.setXmlName(new javax.xml.namespace.QName("", "timeZoneId")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + } + + /** + * Return type metadata object + */ + public static org.apache.axis.description.TypeDesc getTypeDesc() { + return typeDesc; + } + + /** + * Get Custom Serializer + */ + public static org.apache.axis.encoding.Serializer getSerializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanSerializer( + _javaType, _xmlType, typeDesc); + } + + /** + * Get Custom Deserializer + */ + public static org.apache.axis.encoding.Deserializer getDeserializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanDeserializer( + _javaType, _xmlType, typeDesc); + } + +} diff --git a/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteUser.java b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteUser.java new file mode 100644 index 000000000000..5a936ce52cf8 --- /dev/null +++ b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteUser.java @@ -0,0 +1,199 @@ +/** + * RemoteUser.java + * + * This file was auto-generated from WSDL + * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter. + */ + +package com.atlassian.connector.commons.jira.soap.axis; + +public class RemoteUser extends RemoteEntity implements java.io.Serializable { + private String email; + + private String fullname; + + private String name; + + public RemoteUser() { + } + + public RemoteUser( + String email, + String fullname, + String name) { + this.email = email; + this.fullname = fullname; + this.name = name; + } + + + /** + * Gets the email value for this RemoteUser. + * + * @return email + */ + public String getEmail() { + return email; + } + + + /** + * Sets the email value for this RemoteUser. + * + * @param email + */ + public void setEmail(String email) { + this.email = email; + } + + + /** + * Gets the fullname value for this RemoteUser. + * + * @return fullname + */ + public String getFullname() { + return fullname; + } + + + /** + * Sets the fullname value for this RemoteUser. + * + * @param fullname + */ + public void setFullname(String fullname) { + this.fullname = fullname; + } + + + /** + * Gets the name value for this RemoteUser. + * + * @return name + */ + public String getName() { + return name; + } + + + /** + * Sets the name value for this RemoteUser. + * + * @param name + */ + public void setName(String name) { + this.name = name; + } + + private Object __equalsCalc = null; + + public synchronized boolean equals(Object obj) { + if (!(obj instanceof RemoteUser)) { + return false; + } + RemoteUser other = (RemoteUser) obj; + if (obj == null) { + return false; + } + if (this == obj) { + return true; + } + if (__equalsCalc != null) { + return (__equalsCalc == obj); + } + __equalsCalc = obj; + boolean _equals; + _equals = super.equals(obj) && + ((this.email == null && other.getEmail() == null) || + (this.email != null && + this.email.equals(other.getEmail()))) && + ((this.fullname == null && other.getFullname() == null) || + (this.fullname != null && + this.fullname.equals(other.getFullname()))) && + ((this.name == null && other.getName() == null) || + (this.name != null && + this.name.equals(other.getName()))); + __equalsCalc = null; + return _equals; + } + + private boolean __hashCodeCalc = false; + + public synchronized int hashCode() { + if (__hashCodeCalc) { + return 0; + } + __hashCodeCalc = true; + int _hashCode = super.hashCode(); + if (getEmail() != null) { + _hashCode += getEmail().hashCode(); + } + if (getFullname() != null) { + _hashCode += getFullname().hashCode(); + } + if (getName() != null) { + _hashCode += getName().hashCode(); + } + __hashCodeCalc = false; + return _hashCode; + } + + // Type metadata + private static org.apache.axis.description.TypeDesc typeDesc = + new org.apache.axis.description.TypeDesc(RemoteUser.class, true); + + static { + typeDesc.setXmlType(new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteUser")); + org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("email"); + elemField.setXmlName(new javax.xml.namespace.QName("", "email")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("fullname"); + elemField.setXmlName(new javax.xml.namespace.QName("", "fullname")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("name"); + elemField.setXmlName(new javax.xml.namespace.QName("", "name")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + } + + /** + * Return type metadata object + */ + public static org.apache.axis.description.TypeDesc getTypeDesc() { + return typeDesc; + } + + /** + * Get Custom Serializer + */ + public static org.apache.axis.encoding.Serializer getSerializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanSerializer( + _javaType, _xmlType, typeDesc); + } + + /** + * Get Custom Deserializer + */ + public static org.apache.axis.encoding.Deserializer getDeserializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanDeserializer( + _javaType, _xmlType, typeDesc); + } + +} diff --git a/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteValidationException.java b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteValidationException.java new file mode 100644 index 000000000000..f719e3ee337a --- /dev/null +++ b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteValidationException.java @@ -0,0 +1,98 @@ +/** + * RemoteValidationException.java + * + * This file was auto-generated from WSDL + * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter. + */ + +package com.atlassian.connector.commons.jira.soap.axis; + +public class RemoteValidationException extends RemoteException + implements java.io.Serializable { + public RemoteValidationException() { + } + + private Object __equalsCalc = null; + + public synchronized boolean equals(Object obj) { + if (!(obj instanceof RemoteValidationException)) { + return false; + } + RemoteValidationException other = (RemoteValidationException) obj; + if (obj == null) { + return false; + } + if (this == obj) { + return true; + } + if (__equalsCalc != null) { + return (__equalsCalc == obj); + } + __equalsCalc = obj; + boolean _equals; + _equals = super.equals(obj); + __equalsCalc = null; + return _equals; + } + + private boolean __hashCodeCalc = false; + + public synchronized int hashCode() { + if (__hashCodeCalc) { + return 0; + } + __hashCodeCalc = true; + int _hashCode = super.hashCode(); + __hashCodeCalc = false; + return _hashCode; + } + + // Type metadata + private static org.apache.axis.description.TypeDesc typeDesc = + new org.apache.axis.description.TypeDesc(RemoteValidationException.class, true); + + static { + typeDesc.setXmlType( + new javax.xml.namespace.QName("http://exception.rpc.jira.atlassian.com", "RemoteValidationException")); + } + + /** + * Return type metadata object + */ + public static org.apache.axis.description.TypeDesc getTypeDesc() { + return typeDesc; + } + + /** + * Get Custom Serializer + */ + public static org.apache.axis.encoding.Serializer getSerializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanSerializer( + _javaType, _xmlType, typeDesc); + } + + /** + * Get Custom Deserializer + */ + public static org.apache.axis.encoding.Deserializer getDeserializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanDeserializer( + _javaType, _xmlType, typeDesc); + } + + + /** + * Writes the exception data to the faultDetails + */ + public void writeDetails(javax.xml.namespace.QName qname, org.apache.axis.encoding.SerializationContext context) + throws java.io.IOException { + context.serialize(qname, null, this); + } +} diff --git a/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteVersion.java b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteVersion.java new file mode 100644 index 000000000000..7a3dfd116794 --- /dev/null +++ b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteVersion.java @@ -0,0 +1,233 @@ +/** + * RemoteVersion.java + * + * This file was auto-generated from WSDL + * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter. + */ + +package com.atlassian.connector.commons.jira.soap.axis; + +public class RemoteVersion extends AbstractNamedRemoteEntity + implements java.io.Serializable { + private boolean archived; + + private java.util.Calendar releaseDate; + + private boolean released; + + private Long sequence; + + public RemoteVersion() { + } + + public RemoteVersion( + String id, + String name, + boolean archived, + java.util.Calendar releaseDate, + boolean released, + Long sequence) { + super( + id, + name); + this.archived = archived; + this.releaseDate = releaseDate; + this.released = released; + this.sequence = sequence; + } + + + /** + * Gets the archived value for this RemoteVersion. + * + * @return archived + */ + public boolean isArchived() { + return archived; + } + + + /** + * Sets the archived value for this RemoteVersion. + * + * @param archived + */ + public void setArchived(boolean archived) { + this.archived = archived; + } + + + /** + * Gets the releaseDate value for this RemoteVersion. + * + * @return releaseDate + */ + public java.util.Calendar getReleaseDate() { + return releaseDate; + } + + + /** + * Sets the releaseDate value for this RemoteVersion. + * + * @param releaseDate + */ + public void setReleaseDate(java.util.Calendar releaseDate) { + this.releaseDate = releaseDate; + } + + + /** + * Gets the released value for this RemoteVersion. + * + * @return released + */ + public boolean isReleased() { + return released; + } + + + /** + * Sets the released value for this RemoteVersion. + * + * @param released + */ + public void setReleased(boolean released) { + this.released = released; + } + + + /** + * Gets the sequence value for this RemoteVersion. + * + * @return sequence + */ + public Long getSequence() { + return sequence; + } + + + /** + * Sets the sequence value for this RemoteVersion. + * + * @param sequence + */ + public void setSequence(Long sequence) { + this.sequence = sequence; + } + + private Object __equalsCalc = null; + + public synchronized boolean equals(Object obj) { + if (!(obj instanceof RemoteVersion)) { + return false; + } + RemoteVersion other = (RemoteVersion) obj; + if (obj == null) { + return false; + } + if (this == obj) { + return true; + } + if (__equalsCalc != null) { + return (__equalsCalc == obj); + } + __equalsCalc = obj; + boolean _equals; + _equals = super.equals(obj) && + this.archived == other.isArchived() && + ((this.releaseDate == null && other.getReleaseDate() == null) || + (this.releaseDate != null && + this.releaseDate.equals(other.getReleaseDate()))) && + this.released == other.isReleased() && + ((this.sequence == null && other.getSequence() == null) || + (this.sequence != null && + this.sequence.equals(other.getSequence()))); + __equalsCalc = null; + return _equals; + } + + private boolean __hashCodeCalc = false; + + public synchronized int hashCode() { + if (__hashCodeCalc) { + return 0; + } + __hashCodeCalc = true; + int _hashCode = super.hashCode(); + _hashCode += (isArchived() ? Boolean.TRUE : Boolean.FALSE).hashCode(); + if (getReleaseDate() != null) { + _hashCode += getReleaseDate().hashCode(); + } + _hashCode += (isReleased() ? Boolean.TRUE : Boolean.FALSE).hashCode(); + if (getSequence() != null) { + _hashCode += getSequence().hashCode(); + } + __hashCodeCalc = false; + return _hashCode; + } + + // Type metadata + private static org.apache.axis.description.TypeDesc typeDesc = + new org.apache.axis.description.TypeDesc(RemoteVersion.class, true); + + static { + typeDesc.setXmlType(new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteVersion")); + org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("archived"); + elemField.setXmlName(new javax.xml.namespace.QName("", "archived")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "boolean")); + elemField.setNillable(false); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("releaseDate"); + elemField.setXmlName(new javax.xml.namespace.QName("", "releaseDate")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "dateTime")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("released"); + elemField.setXmlName(new javax.xml.namespace.QName("", "released")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "boolean")); + elemField.setNillable(false); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("sequence"); + elemField.setXmlName(new javax.xml.namespace.QName("", "sequence")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "long")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + } + + /** + * Return type metadata object + */ + public static org.apache.axis.description.TypeDesc getTypeDesc() { + return typeDesc; + } + + /** + * Get Custom Serializer + */ + public static org.apache.axis.encoding.Serializer getSerializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanSerializer( + _javaType, _xmlType, typeDesc); + } + + /** + * Get Custom Deserializer + */ + public static org.apache.axis.encoding.Deserializer getDeserializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanDeserializer( + _javaType, _xmlType, typeDesc); + } + +} diff --git a/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteWorklog.java b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteWorklog.java new file mode 100644 index 000000000000..fd06b608084c --- /dev/null +++ b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/RemoteWorklog.java @@ -0,0 +1,483 @@ +/** + * RemoteWorklog.java + * + * This file was auto-generated from WSDL + * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter. + */ + +package com.atlassian.connector.commons.jira.soap.axis; + +public class RemoteWorklog implements java.io.Serializable { + private String author; + + private String comment; + + private java.util.Calendar created; + + private String groupLevel; + + private String id; + + private String roleLevelId; + + private java.util.Calendar startDate; + + private String timeSpent; + + private long timeSpentInSeconds; + + private String updateAuthor; + + private java.util.Calendar updated; + + public RemoteWorklog() { + } + + public RemoteWorklog( + String author, + String comment, + java.util.Calendar created, + String groupLevel, + String id, + String roleLevelId, + java.util.Calendar startDate, + String timeSpent, + long timeSpentInSeconds, + String updateAuthor, + java.util.Calendar updated) { + this.author = author; + this.comment = comment; + this.created = created; + this.groupLevel = groupLevel; + this.id = id; + this.roleLevelId = roleLevelId; + this.startDate = startDate; + this.timeSpent = timeSpent; + this.timeSpentInSeconds = timeSpentInSeconds; + this.updateAuthor = updateAuthor; + this.updated = updated; + } + + + /** + * Gets the author value for this RemoteWorklog. + * + * @return author + */ + public String getAuthor() { + return author; + } + + + /** + * Sets the author value for this RemoteWorklog. + * + * @param author + */ + public void setAuthor(String author) { + this.author = author; + } + + + /** + * Gets the comment value for this RemoteWorklog. + * + * @return comment + */ + public String getComment() { + return comment; + } + + + /** + * Sets the comment value for this RemoteWorklog. + * + * @param comment + */ + public void setComment(String comment) { + this.comment = comment; + } + + + /** + * Gets the created value for this RemoteWorklog. + * + * @return created + */ + public java.util.Calendar getCreated() { + return created; + } + + + /** + * Sets the created value for this RemoteWorklog. + * + * @param created + */ + public void setCreated(java.util.Calendar created) { + this.created = created; + } + + + /** + * Gets the groupLevel value for this RemoteWorklog. + * + * @return groupLevel + */ + public String getGroupLevel() { + return groupLevel; + } + + + /** + * Sets the groupLevel value for this RemoteWorklog. + * + * @param groupLevel + */ + public void setGroupLevel(String groupLevel) { + this.groupLevel = groupLevel; + } + + + /** + * Gets the id value for this RemoteWorklog. + * + * @return id + */ + public String getId() { + return id; + } + + + /** + * Sets the id value for this RemoteWorklog. + * + * @param id + */ + public void setId(String id) { + this.id = id; + } + + + /** + * Gets the roleLevelId value for this RemoteWorklog. + * + * @return roleLevelId + */ + public String getRoleLevelId() { + return roleLevelId; + } + + + /** + * Sets the roleLevelId value for this RemoteWorklog. + * + * @param roleLevelId + */ + public void setRoleLevelId(String roleLevelId) { + this.roleLevelId = roleLevelId; + } + + + /** + * Gets the startDate value for this RemoteWorklog. + * + * @return startDate + */ + public java.util.Calendar getStartDate() { + return startDate; + } + + + /** + * Sets the startDate value for this RemoteWorklog. + * + * @param startDate + */ + public void setStartDate(java.util.Calendar startDate) { + this.startDate = startDate; + } + + + /** + * Gets the timeSpent value for this RemoteWorklog. + * + * @return timeSpent + */ + public String getTimeSpent() { + return timeSpent; + } + + + /** + * Sets the timeSpent value for this RemoteWorklog. + * + * @param timeSpent + */ + public void setTimeSpent(String timeSpent) { + this.timeSpent = timeSpent; + } + + + /** + * Gets the timeSpentInSeconds value for this RemoteWorklog. + * + * @return timeSpentInSeconds + */ + public long getTimeSpentInSeconds() { + return timeSpentInSeconds; + } + + + /** + * Sets the timeSpentInSeconds value for this RemoteWorklog. + * + * @param timeSpentInSeconds + */ + public void setTimeSpentInSeconds(long timeSpentInSeconds) { + this.timeSpentInSeconds = timeSpentInSeconds; + } + + + /** + * Gets the updateAuthor value for this RemoteWorklog. + * + * @return updateAuthor + */ + public String getUpdateAuthor() { + return updateAuthor; + } + + + /** + * Sets the updateAuthor value for this RemoteWorklog. + * + * @param updateAuthor + */ + public void setUpdateAuthor(String updateAuthor) { + this.updateAuthor = updateAuthor; + } + + + /** + * Gets the updated value for this RemoteWorklog. + * + * @return updated + */ + public java.util.Calendar getUpdated() { + return updated; + } + + + /** + * Sets the updated value for this RemoteWorklog. + * + * @param updated + */ + public void setUpdated(java.util.Calendar updated) { + this.updated = updated; + } + + private Object __equalsCalc = null; + + public synchronized boolean equals(Object obj) { + if (!(obj instanceof RemoteWorklog)) { + return false; + } + RemoteWorklog other = (RemoteWorklog) obj; + if (obj == null) { + return false; + } + if (this == obj) { + return true; + } + if (__equalsCalc != null) { + return (__equalsCalc == obj); + } + __equalsCalc = obj; + boolean _equals; + _equals = true && + ((this.author == null && other.getAuthor() == null) || + (this.author != null && + this.author.equals(other.getAuthor()))) && + ((this.comment == null && other.getComment() == null) || + (this.comment != null && + this.comment.equals(other.getComment()))) && + ((this.created == null && other.getCreated() == null) || + (this.created != null && + this.created.equals(other.getCreated()))) && + ((this.groupLevel == null && other.getGroupLevel() == null) || + (this.groupLevel != null && + this.groupLevel.equals(other.getGroupLevel()))) && + ((this.id == null && other.getId() == null) || + (this.id != null && + this.id.equals(other.getId()))) && + ((this.roleLevelId == null && other.getRoleLevelId() == null) || + (this.roleLevelId != null && + this.roleLevelId.equals(other.getRoleLevelId()))) && + ((this.startDate == null && other.getStartDate() == null) || + (this.startDate != null && + this.startDate.equals(other.getStartDate()))) && + ((this.timeSpent == null && other.getTimeSpent() == null) || + (this.timeSpent != null && + this.timeSpent.equals(other.getTimeSpent()))) && + this.timeSpentInSeconds == other.getTimeSpentInSeconds() && + ((this.updateAuthor == null && other.getUpdateAuthor() == null) || + (this.updateAuthor != null && + this.updateAuthor.equals(other.getUpdateAuthor()))) && + ((this.updated == null && other.getUpdated() == null) || + (this.updated != null && + this.updated.equals(other.getUpdated()))); + __equalsCalc = null; + return _equals; + } + + private boolean __hashCodeCalc = false; + + public synchronized int hashCode() { + if (__hashCodeCalc) { + return 0; + } + __hashCodeCalc = true; + int _hashCode = 1; + if (getAuthor() != null) { + _hashCode += getAuthor().hashCode(); + } + if (getComment() != null) { + _hashCode += getComment().hashCode(); + } + if (getCreated() != null) { + _hashCode += getCreated().hashCode(); + } + if (getGroupLevel() != null) { + _hashCode += getGroupLevel().hashCode(); + } + if (getId() != null) { + _hashCode += getId().hashCode(); + } + if (getRoleLevelId() != null) { + _hashCode += getRoleLevelId().hashCode(); + } + if (getStartDate() != null) { + _hashCode += getStartDate().hashCode(); + } + if (getTimeSpent() != null) { + _hashCode += getTimeSpent().hashCode(); + } + _hashCode += new Long(getTimeSpentInSeconds()).hashCode(); + if (getUpdateAuthor() != null) { + _hashCode += getUpdateAuthor().hashCode(); + } + if (getUpdated() != null) { + _hashCode += getUpdated().hashCode(); + } + __hashCodeCalc = false; + return _hashCode; + } + + // Type metadata + private static org.apache.axis.description.TypeDesc typeDesc = + new org.apache.axis.description.TypeDesc(RemoteWorklog.class, true); + + static { + typeDesc.setXmlType(new javax.xml.namespace.QName("http://beans.soap.rpc.jira.atlassian.com", "RemoteWorklog")); + org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("author"); + elemField.setXmlName(new javax.xml.namespace.QName("", "author")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("comment"); + elemField.setXmlName(new javax.xml.namespace.QName("", "comment")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("created"); + elemField.setXmlName(new javax.xml.namespace.QName("", "created")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "dateTime")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("groupLevel"); + elemField.setXmlName(new javax.xml.namespace.QName("", "groupLevel")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("id"); + elemField.setXmlName(new javax.xml.namespace.QName("", "id")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("roleLevelId"); + elemField.setXmlName(new javax.xml.namespace.QName("", "roleLevelId")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("startDate"); + elemField.setXmlName(new javax.xml.namespace.QName("", "startDate")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "dateTime")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("timeSpent"); + elemField.setXmlName(new javax.xml.namespace.QName("", "timeSpent")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("timeSpentInSeconds"); + elemField.setXmlName(new javax.xml.namespace.QName("", "timeSpentInSeconds")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "long")); + elemField.setNillable(false); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("updateAuthor"); + elemField.setXmlName(new javax.xml.namespace.QName("", "updateAuthor")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + elemField = new org.apache.axis.description.ElementDesc(); + elemField.setFieldName("updated"); + elemField.setXmlName(new javax.xml.namespace.QName("", "updated")); + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "dateTime")); + elemField.setNillable(true); + typeDesc.addFieldDesc(elemField); + } + + /** + * Return type metadata object + */ + public static org.apache.axis.description.TypeDesc getTypeDesc() { + return typeDesc; + } + + /** + * Get Custom Serializer + */ + public static org.apache.axis.encoding.Serializer getSerializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanSerializer( + _javaType, _xmlType, typeDesc); + } + + /** + * Get Custom Deserializer + */ + public static org.apache.axis.encoding.Deserializer getDeserializer( + String mechType, + Class _javaType, + javax.xml.namespace.QName _xmlType) { + return + new org.apache.axis.encoding.ser.BeanDeserializer( + _javaType, _xmlType, typeDesc); + } + +} diff --git a/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/jirasoapservice-v2.wsdl b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/jirasoapservice-v2.wsdl new file mode 100644 index 000000000000..f7c48bf676e0 --- /dev/null +++ b/plugins/tasks/jira-connector/src/atlassian/java/com/atlassian/connector/commons/jira/soap/axis/jirasoapservice-v2.wsdl @@ -0,0 +1,6936 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/plugins/tasks/jira-connector/src/main/java/com/intellij/tasks/jira/AtlassianConfigurableAdapter.java b/plugins/tasks/jira-connector/src/main/java/com/intellij/tasks/jira/AtlassianConfigurableAdapter.java new file mode 100644 index 000000000000..79697c424712 --- /dev/null +++ b/plugins/tasks/jira-connector/src/main/java/com/intellij/tasks/jira/AtlassianConfigurableAdapter.java @@ -0,0 +1,66 @@ +/* + * Copyright 2000-2012 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.intellij.tasks.jira; + +import com.atlassian.theplugin.commons.util.HttpConfigurableAdapter; +import com.intellij.util.net.HttpConfigurable; + +/** +* @author Dmitry Avdeev +* Date: 3/5/12 +*/ +class AtlassianConfigurableAdapter implements HttpConfigurableAdapter { + + @Override + public boolean isKeepProxyPassowrd() { + return HttpConfigurable.getInstance().KEEP_PROXY_PASSWORD; + } + + @Override + public boolean isProxyAuthentication() { + return HttpConfigurable.getInstance().PROXY_AUTHENTICATION; + } + + @Override + public boolean isUseHttpProxy() { + return HttpConfigurable.getInstance().USE_HTTP_PROXY; + } + + @Override + public String getPlainProxyPassword() { + return HttpConfigurable.getInstance().getPlainProxyPassword(); + } + + @Override + public String getProxyLogin() { + return HttpConfigurable.getInstance().PROXY_LOGIN; + } + + @Override + public int getProxyPort() { + return HttpConfigurable.getInstance().PROXY_PORT; + } + + @Override + public String getProxyHost() { + return HttpConfigurable.getInstance().PROXY_HOST; + } + + @Override + public Object getHTTPProxySettingsDialog() { + return null; + } +} diff --git a/plugins/tasks/jira-connector/src/main/java/com/intellij/tasks/jira/JiraRepository.java b/plugins/tasks/jira-connector/src/main/java/com/intellij/tasks/jira/JiraRepository.java index ffc345de1f1f..41e691da2a79 100644 --- a/plugins/tasks/jira-connector/src/main/java/com/intellij/tasks/jira/JiraRepository.java +++ b/plugins/tasks/jira-connector/src/main/java/com/intellij/tasks/jira/JiraRepository.java @@ -1,5 +1,7 @@ package com.intellij.tasks.jira; +import com.atlassian.connector.commons.jira.soap.axis.JiraSoapService; +import com.atlassian.connector.commons.jira.soap.axis.JiraSoapServiceServiceLocator; import com.atlassian.theplugin.jira.api.JIRAIssueBean; import com.intellij.openapi.diagnostic.Logger; import com.intellij.tasks.Task; @@ -8,7 +10,9 @@ import com.intellij.tasks.TaskState; import com.intellij.tasks.impl.BaseRepositoryImpl; import com.intellij.util.Function; import com.intellij.util.containers.ContainerUtil; +import com.intellij.util.net.HttpConfigurable; import com.intellij.util.xmlb.annotations.Tag; +import org.apache.axis.AxisProperties; import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.HttpStatus; import org.apache.commons.httpclient.methods.GetMethod; @@ -20,6 +24,8 @@ import org.jetbrains.annotations.Nullable; import java.io.IOException; import java.io.InputStream; +import java.net.URL; +import java.rmi.RemoteException; import java.util.List; /** @@ -29,7 +35,6 @@ import java.util.List; public class JiraRepository extends BaseRepositoryImpl { private final static Logger LOG = Logger.getInstance("#com.intellij.tasks.jira.JiraRepository"); - private boolean myJira4 = true; /** @@ -104,20 +109,51 @@ public class JiraRepository extends BaseRepositoryImpl { return Task.EMPTY_ARRAY; } - private HttpClient login() throws IOException { - PostMethod postMethod = getLoginMethod(); + private HttpClient login() throws Exception { + HttpClient client = getHttpClient(); - client.executeMethod(postMethod); - if (!checkLoginResult(postMethod)) { - // try 3.x protocol - return login(); + if (myJira4) { + PostMethod postMethod = getLoginMethodFor4x(); + client.executeMethod(postMethod); + if (checkLoginResult(postMethod)) { + return client; + } } + // try 3.x protocol + axisLogin(); return client; } + private void axisLogin() throws Exception { + + try { + JiraSoapService soapService = + new JiraSoapServiceServiceLocator().getJirasoapserviceV2(new URL(getUrl() + "/rpc/soap/jirasoapservice-v2")); + if (isUseProxy()) { + HttpConfigurable proxy = HttpConfigurable.getInstance(); + AxisProperties.setProperty("http.proxyHost", proxy.PROXY_HOST); + AxisProperties.setProperty("http.proxyPort", String.valueOf(proxy.PROXY_PORT)); + if (proxy.PROXY_AUTHENTICATION) { + AxisProperties.setProperty("http.proxyUser", String.valueOf(proxy.PROXY_LOGIN)); + AxisProperties.setProperty("http.proxyPassword", String.valueOf(proxy.getPlainProxyPassword())); + } + } + + soapService.login(getUsername(), getPassword()); + } + catch (RemoteException e) { + String message = e.toString(); + int i = message.indexOf(": "); + if (i > 0) { + message = message.substring(i + 2); + } + throw new Exception(message, e); + } + } + private boolean checkLoginResult(PostMethod postMethod) throws IOException { int statusCode = postMethod.getStatusCode(); - if (statusCode == HttpStatus.SC_NOT_FOUND && myJira4) { + if (statusCode == HttpStatus.SC_NOT_FOUND) { myJira4 = false; return false; } @@ -127,8 +163,8 @@ public class JiraRepository extends BaseRepositoryImpl { return true; } - private PostMethod getLoginMethod() { - String url = getUrl() + (myJira4 ? "/rest/gadget/1.0/login" : "/secure/Dashboard.jspa"); + private PostMethod getLoginMethodFor4x() { + String url = getUrl() + "/rest/gadget/1.0/login"; PostMethod postMethod = new PostMethod(url); postMethod.addParameter("os_username", getUsername()); postMethod.addParameter("os_password", getPassword()); @@ -139,7 +175,7 @@ public class JiraRepository extends BaseRepositoryImpl { @Override public CancellableConnection createCancellableConnection() { - PostMethod method = getLoginMethod(); + PostMethod method = getLoginMethodFor4x(); return new HttpTestConnection(method) { @Override @@ -147,12 +183,9 @@ public class JiraRepository extends BaseRepositoryImpl { HttpClient client = getHttpClient(); client.executeMethod(myMethod); if (!checkLoginResult(method)) { - myMethod = getLoginMethod(); // another try - client.executeMethod(myMethod); - } - if (checkLoginResult(myMethod)) { - getIssues(1, client); + axisLogin(); } + getIssues(1, client); } }; } diff --git a/plugins/tasks/tasks-core/lib/commons-discovery-0.4.jar b/plugins/tasks/tasks-core/lib/commons-discovery-0.4.jar new file mode 100644 index 0000000000000000000000000000000000000000..8355f0bee11a6bfff3e58b54f836e1d92b14a462 GIT binary patch literal 76685 zcmb@uWmKHqvNamqoyH|taCdiicc+2i?jC4@2X}XO_u#=Dg1but0fK~^Y&rLS-#Gi- z`;2qDN6U}3RzF=`bFNvns#--J3L5dQ z;D6uG{;y%!|KDMXqDrz-lIj{vic;AsV>SaU=-o(nXipFbRwwyAz>n`~X<;&F^zn=8 zDa>T0Qsxh@Y*+1_kjC;yyvHYe8{sOE>>!2n9GeGtq2BzEz#O$6snr z2WM>dnExS3b3eFtz{7l_>t*N^Xvhc7MN= z{~pMHeCWUMuB5CXD=x|8=H=!eU5^^Vf-dq9FciZFAKKp^V?v~J05^4C6f%tDGuAFh<>vA6CDbz4V~ccG5PbiM?)Zg9)T@AI+j(Y~|(1N_2N=9F#V zQq1SU(kGpA?mwt% zUvQ%Y{l3VK-;aOINBsZJ4u9NJ9q8im(Hto8Pj}Zab+u*s+pm?arLRq>iT&#XLOOa$ zP?Jf1LGxz942zlmcQGVJmG|};X8B1tj^dW^P-6;N3gio&wkLttL)ylRnrg|#wKWHE zYQ603UqrrDC~8ejY+7A88cz%Te9ql^3ng{-!x|n>vm1F|6LHX?Q}UfPCLP@&lr@SM z|JF2=1z!r1d&q@8n$iKOTLaIt?!CuWvNLzIgMx<%hP+uj^(YYkVc>Yk0-k>Nrw9Yu z&{ReA!{DtyKI!PAidf&A3n(;azeHc~do33;jnusfsjx_ADxU#xwkec|8wZR|Qe+bO_G@%A290 z3kwa#+G1{GPWvO57EKlR#xE@&y`>i!v<*4364JRWZ6>Iy>m<*zVFs!lio3jgD8jR` z1Hx!{)FbH7W#MBj)CASFm37WqRN`8q)wo(>+-8d*hFB3jX3J@zLo+d%NQp%irK^7i zwtk~Q=eOtp6}Gof?5xkSa57@p6jV^ksj$uE_%x?UE>Bd9lf-rI5UzcsxXK7k0Arj; zqM0vY!yG#%FPjDzY@>9QZ);|$UK1E;Un44wzxPFn=B{gK5L44Oc|QdyWOc{31hA;f z?;9+MW`xn*$JVI>?gRXy6=6_U$Tr}h5_jlm3W~O|?C4keDG>bOkhnDsjJeZNx2p`B z?&cANhO7{Ua1o8S#|dmcg@n{zH-{okFUBf*c`k9CP@_!>RT_m`4)DV)kAfdpBqJZR z=&Zk=LcThmBs-6bRnhU?!45u)EuYQGg>bg4;wxy_9_oi%ob+WsHW#+ z72MCkUYyOh91yHsx@pm4C$yAADLi1=3%7t6ZDIxW6BjZHQ`RJyat~w|-MYu-MD}Sx zUGqxRf+XyoD-=(2?m?RPFp99T)tMkK--?hw(W#UW2K8v*j0 zvbSV)m`2QuEt3B8&U632b%(+J1lJBl0lF17k%R!FQb|W<(&g zCsG3-+J#`{ZDoRYN>-)rcJ^K?OJ_j2-zW1IViiW0`jDDnM*j%Oz?(WT-7%{)L5NKy zoO^8lQ)ojG3yl4~{{zx@pAg`vFT9{v$o>9IEqv;%Du@l6eoqHKd-Kd3`rC0wcesOG z_ZPlrLLW-MIMp7aBU+Tf=k~x|p#wi*lP`I`$Hf-L(^0@IY+vf}Cyzt1_VbN2lYJN(A|8KX#t}WCN4_;kkra zimSli;=up60{hoI_eZP!Q4jyn2LIgh|KA<_zsOC}%N*$B_R-Pd?+ll$8K}Hwi5{@| zWw0L)9s<(baGA{{LUyd9J{jUd>-Y+0SY|0gZsRbcwO=1ozeRnR`(+M+wTq#*HN#lA&(-=@=dJP_sd*w1*~Jpq)V+OLhdDRMN><) zn>L*ue9y7HB8($&k$m56)6DReA!3~GW&FO~;Y#h!X~<@5(&IMX&6bGfOXW(*Y@1^n zPVPXaY~b__G?TVns}UE`zGTLOFtR;c&qhB6o-Z>^L87(F zvwzMNBC=19=`W)wwn!_Mm`@lI6gwA4`}{`ZsQ$w3Da?jU`{&Z^lvg;sucPH!7cI8m z^l_#wcAM6bvPyQK6h5Z)QR?GjuPAK)$FX*g!mHlh=<{27j-TL zyy$cgaMj7K72iq^2*?$w5_t~48JTc^cspA-UV`jVG!+n%-i`(sTlISulLV(` z@m^sX1W|~+dh8I9XV~n1ld0jGhzXMe`(8;37m;*}2aMbsZ6O8G0Tq&`H;gpWEYE=K z&4y_>Oa*M`K0(QO%}YeRtJ62Tm7GCIAKHBgbdKp%hA=w8H{{3zjg zFVRxysaf~WMiPC*%-(&B?Jq6ASiu#70^{@GQ~2qMbPqu=taV{?UuXQpH@rSIaL zqR&wgcpLJu3W@xsBPLeHPSFs+R?$1S1cS92tHSl=Nv+2i3ecX!)q3&G!L z^V|`x&&dRZmm%Ts@?PEgA5j_y`aeap_^=R23pTKh9%B?}!)t!-;fV;yH>?tef(>n> z+;JgtHi&1T*{KM%MXskBaPD?q+eNm^Au|JqlZbz6sj5Ax7!q{9&*4(=w(Us2bCu22 zZS8`5h$a%RzUDV*TdU-xnr2x7zrJ$Y`wjuZC_q53WqeC@>53Pu*FdM@qtBOV-7*tc8K&S9 zHRoXdhaWJB0+Sip^OL+Atf9m_6d`a>c>A*ByHjc9olMkmKG<$!0cKj%_X4IjHr84OJ{b_;C>5WmsO9+1|EebNjC!aYVgNlx8@jl> zfXKd3-;X>*8sHP-CCtX|vBl==O3{C}pq!!EgH&V72)z>M0A`8f&I+y=53@)er$`ql zu%KaCSic^b`hnas34Y}jWlFSh{&;YiyFD(7>&$VO4Wbc)VF{ z!kOJ{B)@aphF+zXUCTrLny4uhM4QegCf5>OH>WNop}I-d1x4EsCes#OCdSJNlyQ7* zFO}h%5k_d^@I^2j-Q&=eYbKrAt`cS@RKU&X!@J=OW>zrz?h#}WNlu=USDw(qPk(zj zQwJpP6|-e|HML(%Fwsf+^`od4_JadH2g#j%o)O0;>T%b1Tm3ya?N<*MPF8DN%v`CN zefOYCCeDZ+i9$>ar2JQFeLNt+$N0E1;7Vx5s%VML2wu;7rjVVBZ_^VV2jTFcTZImd zH`yQclO5rX-6^D8P%ud_Vo^Gl%nKeuUzAyctkMQu752j78WXiz;Oj3imb1cMG6>azLxFq^6-Aw3$TFl~1uP?usjM+!V=XQQz*3HlPokfk0)!l;BR?LAj_FLXQ3G{=)>>0X&G3qI1s#aNcW|R zygLj7rg$hUqxKBs?Ov^s47eG!Ne)z{EeUZms4^jqup_ouMNnMk;K7B7@4aTCwXgG& zp$hUfmX5wE(zDJ#jYv>iTLVK6)eCrKp_f-hUd zg2FKa(LL$__w<&7kYDkFso49?lxSeb=4Jp5U2O2*XqE=Q`DXC3qt>`KkAn-Iw=-p)Md?;|Q!ia+49N6PKd zAi+FaI5Or$fNC>LKLkvxwLE{DA|e22&>9yU6CW^DFD_ZtEp3?dRQrxN34b4MNOd_D)I-s2|ABCciyiy@e3a|C2&{o>T>nL1!&?k} zEyXhZK9YlJFYTz~z7HR&4*| z;6I`UPmmi0#U2VKbk|%%V~`7mJa5+*iiaEnUlr$EtX=HAB8M#gPufQ~ol%+zom}=< z2NS6U=k+$H--;%H8wE`jm&v7fth!Wf(}{CEKd%S6?SFtD z4dPc!n*$wO&#E~``g%^#X0j=QelLYE-zY&ubzrh|gWs2j%8&X0Yd8PE3v?U!Vd-|; zqnmc%)6a-wII>*I*t^Z-HZ=Lr+kwUV=-pb9ZWA=wKxv7Z&^U0SR9QV2-byCTesJzy?tr z|3ulZbY>jjryMM9GWr>BTRIWH#`cHXnmS#mCzDGk7F zmpO5IjYf=90aC*TyFf60DnsEMb|VUmLJXIr7^!hfd*+W`#6rQ!HeG&l@Bw;5RyN>O zJwGKGKO-4GQHpQ4ngTUsA=IHWi3B~N%(h;L#;RaVlxIKVoSGqav3p$<~lEnF~JR~TZwwx?FXv+zy?(tc=+dZ15D$4^j83Lwh zt?2|egUqLMJlPO^%+7w$J?i`nCF>BsolMl?(gZEgr3x)|h+^X%vDM>qG)Uc+tkN6`qvFFR)id_Qp@gr)@u@}1$c51kr8~Id4cT_>lO`6HMvQ=XV zg?(C0-&0Lws+%9$mUf*zg(;oUk~2Vf1}uJ;_;U?AELQwj4ICLux-)|4;ShQ{si^dg z@4V49U4zor7X#yJRFBR>+U*5ecoEEQpjuzHN06dnuncy65gTFCa?6r3>K9B_H|P)k z>N==2C&~_xJqZ2rdB=PGvzJFGFOg}6#E10WxkD7BWvuqi-21PdL6k=ijme6Mq%Eua!>?Y#g0S>^!O8&+8uj5&~NYQzB z-S+dc`Ub_`b^}1%*pd%7RHeXYV-MSGssOgJmcz)Mot5-xyChoQm3pT7zIjWz{@K3t z5Gm(di-x8#S#c}slF1@ZKSSN0x3c{>kUW-4`o6}2K7pE9ImpR`mXp8{L^xg9PnPPH z>kv_bLUt3A>AD?G*Rh9n#=~X=zAe3C1deYIeGrLk)Gj9|{m91{&elvyAff)Q{W-v` zm6Mm-i`nkoD2*;dIw`_9U~nmOh_~Q9iG0#P`{ee=TEBg^Ik<6ecW`E>TdPR{wY3mk zI7T@uzDsDLmFFtUuk53~=pzAXg;Vr$ok16=N=%gPNgm$r8^6p{gg}m)?0%6GKk9TtI4vt4@>E!(63;z8|N^rKuOi zxl6=A2$08cLl3uJPi|=r`XNPo!uo}#%+!J5*{L)_A+f{6pIPNpwLg}0vn;z@z@^sP zm+gJfOUdwxVDAk0ju|8&NmGV2G$Us)Gw=-pM$?*=Fh^^5Z2n=@1|sOO)t?n+IK z1+GgkreqMVs2i$WS|c1d2YQxKQ6BS3aCfA$_snMta9vXx`efV*4D^OhtL^fB>yjxy zN{41Pfz)P+N!{KCdbhbwG@+90A!7>c4uq9rNe~Wxp%l>mY!tiiDa+?l)SK!t5WUI& z`Rm(2)8$#LOb2%K98y3Cw8R6ncVRU-`R!qFj9af-0&9lE57)PB3E&wvDFnn48&G0+ z@MgsqbdsPl)wD5qDL|so^ai1LG5)#6jFfj{dSk|9tzZxvp&|LvcWgpWj@Z&GSlIch zcKwxo^%05jHRd@`n&Ow}NnpZOpz4wE!V~xXUhmv^p~VO6qRcWa;f=?wILAFUFhM=k z)v#~TkuRdlO9ePFd|gYvmSF8h1qZ9LjHGlcAF$9xLTP~VApbK0=MiE4>|v+Cz}^Dl zPA={}BVL%$ECo2YTb{=W3nj*)(*1=G^$SbQJ{g|~$;I-lli~-DdNhf8Lbyi`GKwUN z=&)?Mg6H1Pj%ROwB!SCm{$11Wlpq<#Ur7Sy|1gK~x3KIVf(9> zvRfUVpZ|LKaRGO_^3@*>rE1y~mXM2!`0JAWdh@Jh8u4&=Z8F~kK1sOT1C-G2tO#_x zoO<$sD8sD`F@hih4XfAljbVD%$8rX-;6DiMs{^9*$Ug#KT?_^_|caRVYIk z-R>B~a>F(K3>%azai+iNlpLF#_pd(^+X~qzVil=(yh-RtkS1qtm=c&mKer3mKjRKjJr<5G>PUw$-G1#X z>MMR4mio}|z@-#+C{+=y$J;p)j|Wh4*dq~KQcBWL_v`?cYB%5=y{u~FU?&?)^gElH zr)=KQLHR#b`9QpV+q2RU=p8X~q#+-0Dhw?`+&otd)3<+eM|p=#A4bWyT89`G$}xsC z%GSUhr_`@>tnx|Tw-9f7Rx?yy_?-r8G+r!@3<}w; z06=(>eb)wsyQA$hvBRSpOe6Cph?RD-@zkyU&PkSv|!`&^AO%jviOaXTw1}0Q2I-y6ga?$B=6&S;Z$z8WDe2Pt29Zf@C*r>X; zF~l7^K5JZNdL>!GBsG1965ovfJ}`xCOJZAtf|P1kWi~m?mtrR{$TpDp)||N`H8eio zqki(B*;07J!^0kXIp~WIhn0YAJKy`WwwF^n7BDDWvc!%h6he4Zq1Pyml6 z6HuzX9Sk^U2XHpgwkR}y!jJTT$nzVTsWnSc$#{u$F)ZZf>dm_^|LTFfMvG3Ruf5D- zb+4Z`0?ArKsM!#|M4s~PlVGvIyeoHazEQFf=Uf!bwn9flrc_3B-wg~~OohS&DO)Q_ z&n@8}B8sn(o;v#NQa}FErTG4xOZ_Rv`LAQ*$>*7w><#llD(-!eziOSZInt zlaZUqjW(C)aWj$4I`iE@XO@}`M5mZfQHjIEMbxY<9G|SD@UkqGZA)b{xlU3pqx3t9 zVuE4MRYp!u6LaQseV*XJ3*|%54FQBOhv=o5?jP{b*)xZ+exTk{yKrI5 z89dSu0QB?iYX}ezv#Z@zWeHPn<)H1s@b=*4KOGfM;*zg~(cfHDM5dCjd}w_mH%i&n zwgFT5=?WQXf|FT#=sf)tht5p>7^7<|AEltT23x;+i4V0F2h+a#QAc0NJ!~Z=UWJ39 z0KyvRV|wZ4K6B0I&M+|u<5Pn_Fa&uSc4g^P8x^RP!lF$rcOw#Zp%70KbT^!pBBFQN z=3M-DyM!u6ZfoLWNSCuswMoAro=Ot$%v~2boV7E3Bqu^7y=`vf+wf7d(Q+Y$sRxkf znSE+?hx$R_*9{6W5*Mu{BNMDfSSc(CTz3l(v!w*MZ7wQ)b4pk$s~agE02L1D79f|M zii1A3p|PHp974e4GtpCFS1I9@98VsBLjCm)rxmcY)TU97TgZ-JOh<{iK7aj{ry=h< zUbF|{%N}K;Zg8WvzScxJa+nORoZ!XBU+wzXYwN1(b6;6(;<{SFIHw!$wkPQPXO~yztdjUU*|>U+CIVrl$#9f zc9D*i&VSW%nnsuhw3J(!=L}4xfsA()QF@0tVc^VK+S0h~;v?I&CPrf(>qZEqZ^U&e z@Ldf;vZG`4r05P)V;Dv`xNRO|qEE<(w7@B#vosBK<9o{FFLdMn<80@eGkz6#dd{pK zYAd`0&TZ#|3ga;`D_>39*n(&grkX%oyY@LmXrnqx@XNH8$Fs7Q!k=VOO5f4MI8e+((m}U0xo~;%^A zolLF0@TBqJX00D)t(o&?jd(6D?h1Dr-%oZHo%Xz2#B`b~6RZoodJfd96}V5?s5}~k ze5Z`IwnWw2D9!fu0wcE2ibr>OfoQ>e8SV$deYNK89E3|w_VwNN*zee29CWIuwFHiO zrOCG#;x0mAcc0@If8E5md2R{GFK!)j2@$iFuRT3HxCGhwTS%m>SG$LK=xowjh*P-; zHJC2nEc=l#%>VEnD{|MKX8PJRGe%Xy2yr7Ja*#rYOWsp?L-%RYg(mletC;4%A3h5x zLQA`EM|nlp7WnfbDj0S{jQ>|9QXDsdGrwtrc8083D>M2Xpcno$N&%(qWC@O`t{(YJ zDGnHQIcKkH8_C+rVmR?j&4_ao0gUj|Nu=qGVuNeLK1P9KLiG$%lowAWEGSd>y+ME* z={B{nO3df;dA~IV{#NcA#C^PYT#S*ra|4xY`0dG#ZDNr z)q>-E^<{QQh>p~60Zx#)+d7|=$#)3pRYM=eq1(Q*!Eh4fh)tqMVDev?JP_HyS>;Qf zS=LnmVJmqhu6E2}ZGB46?YkqI0cisr{Y$!4y@J7v5yw)Frbmi)6?fVmQw6`cfZX-E z{e&yS%LQwUw+<)Z4?=3eDTHkg9k?f^A3E~Cj07xzSBH+At4v|-CrpLed7_n7E5qr# zCyLOhe+J^bqIaPg_XVXs2pz72XqtUas$;EX1k-UA?d(mvNCnx$R*0+82UnAU1juj8DcYZnNz=qp9lKgJ0O=&hJL zmIuv$R$_8_uakEdLXPV7Qr3^}*P$}VpHz|Le>`*#u`!5uiA;c5HG~@Rvh{ew3UifT zPu)hOSS5b;)rF?JnuN@9W}QEHYDz`b^QgRs^(A3BDYW;RA<8tbbzL=a&AMUkH@?WjPEG2ww)1cN^ySY9E8? zK7cVdkEZtmw}E~ltHR(4?a&c~m&BF*`qD@ezT*o9`MUs7EyZ!eoT|v@&6^6wJ^x8_ zBdP~4^tf61&$F-D=U!jwPs8^|MX%Cs#Y3MG0No2I(4TK~XqK^D%ZMni2b)e?tgv=b z0Z3Cm;kfw%+>4as=m|L-k=XwE3o;Vr&ilurzp_FJkvba=xAJ?r>7 z9$@cLl+350brJ<%=gZQ?!VOlgnBBaPhy~hVF6oR!8meW?!o8riS?jnwc*6uz)~8R1lcRrts*ag&%$JnOMeH#IFo;%Hx&@Dyy~BE6r@1TL={QC@9lsB+e?i zGM-Kcp7c5vNNbAk!{uN1a!);{x+jn)Vi0U6yM3=ZA6k1|r-Yt~YP!9Ddbg>BZ|(1R z_zjMXhzoISo8|{-2nZbxQ3!c4jE@ZMVHsuJ^oNK0dtv8dZ;_~jX#u%fV0-{Oolxbj zGe8-BYr5QPE_`|qX&0On$&C0=swq&oE5G}k8ur>0S^IdcX(~(+J^kc_V>~{v3`Q~i zRbt|&@I#m{%s)bY|@_2iot02MBv<$~!Omeu3_p2c-E>KUJxSnFgFIxMR8Imp+A{u~M)kV_}@FU>()7L3s z3<>iKx%qN8*=>$L#mf$VaGQ^H*KXE)xM^k=%8SB}7`%(Ej}O>5o_#9pz|$0{lJw=I zAa`5S!6sox7PM?Br707qmC)AYOl@FE_~Ik45Q?l5!Sk|Sc5twY6CpXlFVjiqyGcpm z%9Eg?vPQxU3i)1!L$dT~=W!ICo{|S$Hgs>VgB7s960#8=KU=26L{!E9LHe}7upd;> zf_$#>#wuvXWvSx>ig^spv!c!-0G4@5C{s3(`R{~$?>G2*r@;KxWa(GED9m`naHF}M zlM46o7yi75I21;LMifSx1)i1KaqeY~CYFyK6!rZ)##k8`g__*aJZB#~RoI)$48kqr zIhs)oa>VD>$%)i03G^f-zNw(gHevA0=Sx#gxE-5+OR8}|lD^;s#v0Yb?@?~YAP?<= zoOIH8S^4B?%#@lHKtEL3G2@&){5HU>6jiNK5)ptBt!5*MpR-XH0oKP4=ICgT&gf*q zsAPl0y8;^lZsxh9f-A}_Cv28d1ukgbU_;@a@T+GqR97EWHRaEN1{C7>0z38;8a?@9 zs>lGdsD=og0y`pUy4T~cLSl=)U~yriK~3R+P*PV^y0ga%0;Ap5_kr#KZisrq{mOuS z4TsxZtESBzX;M@#u&Z!DFd4Ja{T_hmdQY?KP#O;^fC#SC#k&Kb)0pT0k4RVYh`Zj& z&BLP7?&~=)DkDxlJF~H2$SWwwco+?AjnyyT{4V$7UaLaczSzeh-KU-R^^wYm+MQ7j zto_(b8tzwDt|Tzgu-S1^%a$L5z|uNP9zr@#i%s1p7@Yz_zBBH0-rx0i*_-3 z`csM)uaDQrP&>^{mFwwyB{F%U?;~CAJF23Os`--UNF%(-EWf{geSO_+oF0VUqgUKw zK#C@B4u1i}{;kR}$8KSVsS;y>-$pr3V$~LVi6oYNgX8%E=97EL5A>z$mf606b_^<- z5iYw@zwkDa?d*lE(SVgWj zZ2dS1X!YgF;dwHJa_ijM?|E#B?XdNw6DR5&7} z$Hg;GrHg(F-BzRlU=HDM;7Ab|^U{1ny>zVPgNtxAzam$^f@w>eqO(g72_bJF=Nv(G zsLlY`W%y>vqTveBu03mLo>+K_)7v*kxw+fJ9|3ejNxF?6bYbQG*lPer(y(}{mid{C zlw?3}KE$9km8X!g?yAEXH@dT=XJfn(r6X%p$!KecnSAe7Ri9SF=!wN0(K+Q05{pECUylP6jZMSxpqzmNhZRrPJyNB_D6Sw2(1=%}- z^a!=tM+zo=L3kU=O~!nYEblW;UVO}KAPLmw+Ce$+coF|NES$XYn2Pze_u$)>W%bF+ zH+6z|enlD9K}kau0-zD@O_CwY7Zc5-zQHs@f8VmGQ`&FY10DE}HZI&WvQ^4xmFT;$ zZy&lSwMO4q=U}vx=-SBB72^B$xUK^rJ8>YFEurY?-grkToO+;Zn#3A{!YHNU2e7eL z*Ec*6Td_Q;`mp8G3eI8IsTK z^d(q{c$R{6B)?9{JQPZv+^{XZ=5uj0iIgf?34pp(UtOQ?Q(DhNSQpziLsO2)X5mFyMfZ&trfj4i(!NA=)`&UHra5$0bxL(g)9 z*8)Qbn846`Iy(=x7M%%bbxapVJ8JUA37|1cHJ0(kHQ%7BxWO#KL3R1tZMVKd8|V-W ze#)Q>sWMw8;>rPGtXP~mls~|6t@+d}bVBOeZBYCm4qmg{p#L!$+`8I9_oF$uRo^F| z9-xA`VuQb6M*p?@h^T#emxyVb_`VEfbE2=ZD05jN`FV1>Qk^w!No{jI#q}jQD_9R_ z+cL$7BFYht;{LktY`5GkEwe0lF(Auu)1+0Pzs6PA^GZBPsa}HgC`owIhJU<(H#~8| zhm>izf8p1v!ZX|f@RmG~+B+!9cJ`Btq|l4-AHnv^?+8l$cQtzY?`FS$eNrv??*!X_ z^;Z3}FY2GEp}%Dsf&W#%TCBC9{<{a~ZG*Co%uZewX(0fgR;~eop_Dd@xLRW#Lh?Xv#6^>WNN)oy zs2F5eV2WTGk5|Hg!6r8;Ek)&2BNOEx#i{r6f|e)NanKPU0{dyc7l$~&4<>k!RoX;l z^q7=&WKXYYsZORzZWys4j-N^-JJXZ`qKeG75>n1|Qgu}B(WYsoJnDT& zWwh#dQZO_@8$YhfBcD0{k}C)WX_f2fyAgf*jX=`9O^%=Lh z*3so^fcmg~xC0kaI*xVgaox#R=%<1BH_!frc=j8Rq})N(PTf;Q$zfJCFgip;+tAEF zZ;r|-I2n;QxEs&`^PiGTvVe(C`zr`zSM}ol(Sv^Hh@|9&n_;LOyu4EBi~7GJ}(&Yn`P>5Uy&b8FjAKi$_{IOfSy`A&b1966|NA>Y`+Tc=Nq`dD#W$T@~O zC5Rt82=KaiaLFr`$!3nc)E~Ldu&_i83>(n$n}J1&)a;jVa8YVjSEl0aZO8f<&(DOe zCN4eC5kVi6y!c6-Ie;t7!Cp|pT-09S^wC8a1*9*|?Se61c1-e7sfC2N9NCmX$d zN3aB`!)$T^^&HRR#$X2@{fnldqQw!1HzT~SrD0_nnSi_yMRmZFK-_Exnw%nTB$9nflf2V4ef|oB(!#(c5(QNPcm9&^0^nfV~te?IBDB zB*;AyeTb;lyLE83JZzF?Jvw(7u|n(UU8>YxRq@+UgWPS4e3z*awBOdrAn9T~V2sOC zUykZlMs>3qV10~Q_7DMP8FHs|2NwiWb9>IeD=~xdpLjP11t)g-tsn9EwBq}XM>~F^ zs2=)&Lm#(_?NIZgT{Wb$Zmkxxe9KC_h==u?;67KbRa3tp{UO=Kp7h?E-=#p5zq@|_ zHOY$qZ%Ov=fpW2yt@@f4y5MpU5S#M@XhvF1t`A`tJyToe8@(bjWz#Ti@LYnB8riti zV2Xk6;p}~!+Y{7N@&|U2Zwk-#?60cXm)!{{T&N`wmY3#Nn~j}Emo-18djnr0KCBN< zS3kZ(vk;IF8)i79oRIgT++)SDXxdiCU%tjCO~Awfj`}5j#p-zy2%-`a?hXZ3L0?P0 ztMvO>99nDPwrz|0s`zf}8%H4Z9&b--o}5l<9xKN|6@$3vTtlOCbDj;Mk3r*&_c+7w z38ih?s@L2%B{s^YEIkI0Ec5wkm|(ZlcN&|e6o)I2eYbV8T}*6SjS=#+k2Hekv=dc( zxkEWPORh~!X0&>|v!pSfAGUpu`BW*vcY*NZzS{qFaz(ph<1?T6YeL~J|zPhhV z8apn^)i(L6rqYLYH^VAg0ZGVAIdh&T(L8nQT+o@oG4GFDrQDCxQohb~r(^mJOQnY~ z%~En$a8vafqXWMLLGZ9(MBq*bMo>#C&ilBYzzxQ{jlxvBKkji1#@AOHpX9aoS#wbv zR(}-N1)1WAdF@6L6mgr*yj9bJH*u;|P{A9sJbgMGhFLYH21{$c>QHJeETq3$S8d;F zJZ|9^|4nxCCgk(ovMsOnSu>7JxqY)5o7GuZRt1KZ6=i%`)S)&K%!UFxGS{&VbyTo+ zy?JuATejg1awxG-hk90!*dE_uP z(amD7L(P}~B990@^(`E5jFgi5J;)!O`*>}iK=aQ1@mL+yK@{|^7MQT{?#;INjpS}l zNTE|TqZ}rW>Iw1OQ}59!Q7YZi1by;O);&rqvNBW%V${o=AI2$2gs~4EB3cVVf^{1L z+2`HwQWp2u*@-3ha( z20P5$x$Yg3Y?D|>?kLfSAsGsWCPK9 zYm7V0tNdn4=hG$U%pRH|5n3vdU7>Z{gV{($3=Z;dA#+SC@0Z=Nv}1|wsBNeyQ~bn# z20Q2kNkp0SH^|7mV6rSb7Z$-wsNkgYyIxJCr?c<*J%fKDnWYU!BExX|eh~phG2qhS zCbC78L$^;j<&UKe5qajM*1b247iF{Ccu>qWWxeu|RIELg8e2eaHSi!dUTg6is7~MP zxgWgSsIW?_To=Yo%OPpoWD{@26=YFp4i<^`=iE@zS1KmJzGJI3+1c7{_f&@vJbPAB zVS^esIYyLA$;|^^Z@y4E1=fplamp;i%V+gCsJ|G<$ z^`VbjL>K1l}yo@vRfFyvTdHx%&h1 z>*U=nHOSN~_cnjELw#WhYT6}o5L}4LImXgt&b!8VkBi;$o{-SKKIbHZ?W%PFak-x zmdMVDa zKq#KC?}uC%gwBN&;zRXQu&U7TGTT?9LYiP-r#e5Kr~OWL9l#(MlC2Bfw&;@7bclAE zlRR$LzTWizA_(FinL1C)Qg8sIEAiKIO31GWxiY&9Oc_K zBm^;ell~!k8(54{_hlQFDHraYIcNH)5B67IBBoPJdX{lpUKaCvrv1(gt;;HYj?dIC zUAWUhD@U=K`Z#YCqGAO|7U#55;Dk`i@<4~ht-FH|F6WsN%a(_psC{IrQQh^mDA3pK zHMx{Wq!F5f5D2`)=5EQ&v)|4gbj1G)-Sa=l=iD_6|&%uuIl%mu=g&?JnE4 zZCg*-w#_c9%eHOX>Z-2lQ}5ohznK#!=8YXQ-}w(2d0)A5<+@Fcrc#!~9vB@J*+O~M z9JJZoO?2}VHR}Y31G;{*t(X!oYJfGGSmr1~25os16Yah3kK7&M)04g;zf@#?UX!&G z%Nnb8pRp*d!US9&VNqus*@!5HbAf&cDoW!xLc~ z?W`xWt1|*Or8zvM@vAE*afaD$XuQl(iyvIkw3IC^g?)Z=cKcY~gr9P&@j!;6pH*B2 zrOGRgs@n2TC#5A#LRoQ7&tJ7WPIx9L^i{iPkbl?xIsfh2{V&!g=YN)Ij*7N3iYcaF zH@R)%RjH*k!gD?_z65)50a{4`7!?pH8F+p3y56WwV#yZ!n3)?&@wOMXe*gyeK`6y- z5KPY8?r8J@+Vm^VZ=_G)yI<@R>`mwh95>xNtv3%{Gv2EoS2KBjV&AB$sWFFbAhE!7 z(_;uDljgIM%=kl;?>)8lo+joeC7s2DAYq8IQ^GXCG_#YoJuT@eJ-{$Z#v~gt`^kWs zRp#(0?9WUG+(5w}vfkkMwrtW<9wQa4G@i2sXSy_5aLT}d?*=0U8Ld;`0yVa)u|mz7 zEmkMIei%vAtIpHVbl8qJx?|bcq?7XJwq8Cp>8(iPh;^8#R;f)%rpcC>Y%yM5HQ92i zEzo0~*@WSi!gC+<0J1p6JMCCOhY#AnYnzJJ)wly=5-?71fQ7);a%}DT3Y!xB#A}9$ zzLw_xK`@qSa#p)Bh0PYp1~lY?Zbdd=xPzaTmB43zkwTZjK3;flHka3Xj=#8>8`V7c z=fbSFA`2MA`xR7p#g*&Q)+;4Us<<+r>hVU85RC*= z^^O(3a`ZqoaIfboG7^}+iZe1fQiQX5AG#KL^7jk3h==SDa&4st{ET!Gq@m`}g@)oC zpvzAg`Q;|OO=q)MAuwE#sZy-whoJxK9GP`ky?mq|eV%>TSpH8UClX?tO|&gH!@A5Aa}WnR{>f{igY7D_}A4ew%8LA5K5Qc zc0JtB>}D&t1G6&TX{vDn)ZQBv_zb;t{*?f??6St+F;M*P&7Fwrd@eQHqPq~FJqNlN zHWcp06y? z*NI5T0&~JM43NH^Q3vT0O!Ki1oW(D&XycbU)NyntKSYyW=4h~z=tA7nQVlIBpz?0= zW8Rt+aSiWm*F(g;W0;V+#MbA=Lj+IE z;FLtHe_39h_kK4ac<+}cxYPn`u3cK9=v4C;_Lo+_awkWLCL%O7HO-s2{5kXa{5hTb z>tbieFAT%>wJ%QWQN@^JS^_DhP(6~L>aE0MLEfsOuMbRseqRX=z*xOY zCvZNi96I6DMLe{j+D1KMtt6t%xIbbx_&Z$W#TXTeYPizil_?gADiK;qm9eCwgs^6} zBVZ+59x6Os&~$!&zk{xxi@R3VYOmOgyq_XbiyXxj-vv@-!)thajftS8+lvq`3(lXJLSeCZ%CghSSc(Xt~%CM4YyYw50}KkDCCB=j}4@tgJUw-=FY#U6G#ahW0x+HY*7rV=#~i zdYPt14d1VZGz^4RW1&13!bkmVlox3Rsv0s|xX*^G9Iu!l8WxFis+2H5I=}!Z+66>X z$A)7c^bww9hGe2DhZ`+8~TpL!2IB#`!|rNZsKBIX&_7E8G$BBd<1A3QO=3 z(7b*hqVuWTWkGAbYme0QA)3|7+<6uhTe)1-AWSp#2rS&dT`k*{M$_N3M%&rd4umsR zqMdD8G$u9FLbfqblpS(^&24p<;zhI2Mthb}OB`sxV}1bGQcvLCCl%i`+x+B_*O;#s zL(lK*-H8F4=W4znz*;fZTz*Jl113aj#uR@p1i2LJoY<)-PLW`=-76=1U#(4H^GJ)9 zN#jqHcFAfG7+foFa?#@8vb3dNuuru)YF||>yf)Gm`blklHUS&rEODlWnY4 z@>9k~o#~6EeZly5lTY#RR!kuv=EefxhJ}`4`AB7)v1$jUFr_~5y29u>jM6O%@ zC#;x(wlitl-t)kjLZacm5lfE z)~tQy#QV+~GXKP?0B?+!~)1*o{ofox9`8aFXFV{;RcV-1EZHhsW5konN( z&$i0lKZNj(AH?P>mIp_xm>m#ERvBRwi`)qIqdW-u5|c&3ky2F2`q?0Qg*Fb^(M9OG zs{wX4UwY~wRoCQ};5HuoLAbL{k#}46SUzudYtaB-_lzb8k8qFhFBCQ+fZ|Z&;XM-S z4(^wViZN5;>hmJlhvnD)#C=lX>HWeRSj2h!#xF|~w-`TN2p^K#N!C4$JofE3ri%~T z;ghaD8t)0`!q`f=&rrMGpX2VPrnBaIr1QhuZ%e=e$3-s_E?jYM4{=tYp8@OM1T%bs zHNAMOPH%{=A}{r|ejmW++8Ff(ek2qytB>E{@OcN1iPpWesi?0FrCs3Bh_z7P^;DGg zOs*LWdFYeS)zgovCNJ1vjX}wKj20v~(}i#E))c#9IV|}4R(bGbzVGhKIQJ|JjkUH$ zJrIPM_0k64-rZ>SE`!;;L$MIKqhaqS8Sbz#n*wb}rcfZhpbKpZnIKD0jlZu_wUW(( zT}HO>3fo2{jq;RRwDY`puuD-q0bT#x9ojs|+NUS!9F&i;EDc{N z27LF+As}HV|CM!Y15j(_?3rSS2Np*$QQ%;R*EsSqmVVI$NlG z3z=rZ%r_;DtSplZ6Aru7mfxuUf%-pks8q}zi&#D>N1Si$ge91J<1;ROc}}=axES1D zcK&?+hS6;c{)yieC5k4kp;ljLpgIJ?tAaF0g2qu#j$ffyZ7kAP3XNuM=tDj{Gq8$$ zfU$oo4Q7c3;z2vx4S#@>GE70;@}p>18>|z$+xV1vLliLAbcLGarOF}2Yq^>d`IQdh zqQqKb#B7U^hN%|apjRa-Nq;^j>f3Jd#h}m5*SO#D^cr9Ag2h)pYA8O%Vhjm?mIsEizXiW>2f$&Q+8PTG}| zKv|0{!wj#fIbm0zOH=G4ov4>lk8M{9;^~HF!fLJU+c)QQH;7bf?C6WsO(ZrLsZ#a6 zG!z%swcN|ziB4GK8VIb7t)`cn-^0?u>beUp#fPxLl{kat=s6h$LmJg25shfrdhFwV zeoMAzpQTiZ0-LFAAr8U=@2`S=FW3!)Ghz%*(T0aAq{h+(u6nm2xFc?;yi2zrev6EO zd4mVWci}XzngcAqg=3qBEp2-gcHsx&NB8$FoEO#YtY;I94Op2#E$|0T_aaNM$pHC- zcADt!#TQ-VT{ISL5eOBrP#k-Es2dKv95J0doQ?MteXxqg{W3z)h~m~%z4O0{PuJStr9x*6}iquwZ2?JIo$hRWn%eq z1YA8%SZ^}a#hZSP1IWYo_g-F7c%|x9n}tV@V0g3H)ANLVvWoPkT{N`1u0DPKQXC z6Rem8b{GZXKod>aX*+VKLw>=YK~;<%G69F3p@24;)V@O&^pJfJCY;^dh8)Uu1>zMV zZY9l;`c5LT{|*TqTc+p^&AQKy4__*PJ)~OxF7oL|!s9$oFz+4O=RZq;#XbCVX$|`s zi+F`=ygI|pbD;b!Z(M^Gkt6}~%_xELmEf=GcR9||73B*^)BZLPPW<2QKL3mo{TG(X z8ag#0SoM!iMjUPMP3Ta`BsMC@MLR({|p?t0~v zsmyUc7S@LAgb`u6Zq>i0?}<(!aI+IQl+oCX+`RZQG;P?OzKS5>t_MPXeDor<2)F1D zW7NGG5U#ssknA3^tT-2`0;c9O=1M6UIItcgchF%Q*;Y`VKK!IXak`d@WLl1Sx>gPY zX%09mCeAQ>4b=GLK~wM%MB3BGHJ{MZEcJ>e20A#yEj~)_*+qtnc3n4VCNP~!?wi!( z?aDLR)GKw;gZ@acXN>N4M?|HwIpUW_pw5%m?qmO~Wx1ee{}WQv`WzzSO#27J&8f+X z6d36Nq|QM;T56Mbv6V+#&KE3AHy*-a z^jk>?qZ7)*Gy?HIT1MyGBYvIE)I|`B2n5yQS&ta=J){$LN;>!S5x3Nb;8pL}%$wyp z4XtC=k`P>I6w!O8wRRgE^BtqL9&V}?(+u|W$8sfBrpg-}8&87TQF^1OFWQ~HC~NoX z|5c*~l#XZ&UkVM^SDpU%+sl97BJ$tX=>OSYs-uWw`T;_0G}QVW7MADBk%W7{)3kW> zI3nQ)gF(kMjnHRFYGhuPX2nR=^$h6msx#18aQ*Z>=la0-AmQ^hcZ)!3DICd8%E@rw z_B{5i>-7KgK4A~J2kNK76p8~~ingh8$J9U_VZMHg??nB^RJDtOrZ@>bM#q$8J;IBQ z>QiY%U{<7odZ2`w7s159ZV%IJ3YJHMseBt6$?roId!ble&WcS9y$c-)Ed{NHC2ZO` zh&Zz@M^&WmYMf#Y+o|-UMhoC3RjN8}ay9P>UQ(!D)nsxyR(t0DB(udfk%8l7yR@V} zp3O@B*PBWPNwr5r=2QH=@9Ry~y{@Lf)oZ+n?L$e`+iMtPaE?TSZX27uuEX_j@? z!ASJmW$CwWs$OS;ixdxURU7!ywqslshyre1JA1LX8%l?qpT?ox(LoIX8q4gD_l4K# zMprNc?!_X+7%~$s3<>^;$OF1;5o=5N@7TkpEin@k2h2dj31md~Bm)KwW22rcMExi3 z(t}HLg~sZGhC&``;7qQz_8eH>+Hs>RJj_Q6Yrnxo3eGh_J9o2nAFF)(JzMoL7tMI( zB<^k-HmgmCpy-_WJjV1qzCOV|U0dxqfX42XG33A-KX~n8+3p{?cRC%DeI>W%`F4TduOl#Tdstrjx68L~z(iZ&E)U$!0R+Oe?J09~50tR;vVD=P zdZj5qxlWgE(wP?!-|{=EonGojLXW#8zyBi^B%Vt^AgDIr@fIzO(*? zFNXHPp&kq%sn*|C0btY^8`kahKbYw%(PoVI;Aa+<{$qOQ_oYI6!w3>>t zaNg7~rAHM@&=ea?OV|aOhh#?Lzzhom{$92Yg-h2`_JZOT#3}p2EAw)O`sXBYMkx)7 zxj+_KkDSqXncbXz2>xwYOPG)6MR|oVarW8nrle)e7;`e2P30%U!An-%!NW_~DJ{~+ zusQ_az~LxwVgK)_ppTl_4+VdSF8W#TDZ+WfhHt-(SagK?9>#wBh=p^3Ul4E$z{d&a z6UW%1*09OkeL7JlXS2Us1bzk- zN#>A48G~|0MeKocawh#i-q0rce9RPOIw=`UPb7>@v`$cTVq`2Ob!&++;}Nfxf1a8A6;2%UFX(wdkV(MgP=wd2sXlH0{YNFs|?_lcW zV)>u6(3~V~|3wQUf3niD24$rxJOqGA$sDC*$w=V|NmW9^lL6vV)NQues{7-bU$l@Q zzX$^nA1;W?88jFsJZUE*D5dH+*7rPld1-I<+4=eF;(~+J5ki{_vn^K?ob0J1VL*0M zNo`GVsJAq51D59NjW6m&g1wj$;XiH}G2O8f52SfVz=SrwP6_j2MgECSprqEqmoO*z zy>=iz0^Clcd%|J%F}Qn5d=m?D<1S1@AK*3vhv!cl6!B38po2nMm){2igT=Z3fe|5i zFLCKO_Fnixd@D{Iu7jlXF)5i>OhpC?f;kCDCSHB=z=V$M(v({`!b=>+ysanO7KI(Nx}qD%Bt21;$;Mk2 zYj&G2!0ty8A+j{Dt!d2bu!_9;Q`=LMPaavGsUh0;9iIz?4F&z2ykT@MMPq)K^<*a^ z*Bv2L#P~8>>r!79`}=VMfyLZu_DxO)%l#JtVRRUbzKEi}qX4GPq0%gvLXbavz;zSR z-ULvj$iH1k@whsEyGqD*W{{LevOdfss*?9sDK_#2Z#-8ft*)U;OnrhHBVb%*avJ{~ zw1|2Zmz++B3z?h$!f*KEkXk(t8w8iVB1-KjX?onXNY38gHQiC*-1PH-F@WOvFof2!~cWQv<(B2Lp%=_*o< zDzM6HhiyC{*5ncK749#HSopzDDfR^s&wmRM+W&tQ^nWZYzlQKHRo2fg;0rB!%PkZw zE0Kg{P%0L+gtR?Tq>yU}QFE5*$7D5R+y=}*iWvlodwT1-n*vNruVe%`7YLTl+Bve~ z$+7ZT*jd)RZ`#fCPP#UopFf{o>Us*`2=>L%lG2qJYYfDO_$Dh!b1w$Jbt~NQAEOPb zzA`e9LNQ54j`)Hhblj5RQ)?*91$z>p5510tkulLnP1X5m-0l4cqM)AM!wI}y46|3o zc15d_ppu~3g=U7e<)WED4A*vJFU5FV#EvVe_St5RVp<==He*L`Z7_zF(qlli7;~WR zuC+h^k!XBq)ad0%SAb#hN0Pb>BTA?rO3fjNUXIZgRe71bbwVf$qb4zDUr2f8!N_5J zOCoY9+mqwOVPg?5cUG2fVgbRXs@Ha8R}_$hHk~c^ECWq!bg4s`HI3~ajT+oKn$vcB z=yXb{4oJgXr>J2yKaId4mruQ~+SFTAcP70XsY%Y&p0^dL)-`-r#v;9GGsK?8i`0}b z;C@2sMaKwxk_$F zVt_%&Qo(Ez#sd=NF-|`V`?9jC0KDl|0SGTY@eN~fm+&UgP26&_h0q|P%4lHhk5HL( zEG1WbAbB@PVAHTU5>r`>QzjoD-6An?2bfEa*}!)^s87rkb>qb*F^Pxfj48;e%TZ0( zstvQLPbkd*fgmZxWGST{rG;N^shZx|`dD-9!coiDZ)tLQ;NYcTDFDPk3(##PwT8;+&7rnlQEpDD zPt_`rDl<|B;em7hzx=5J2#?TQG>&DGHkhrtD1nui9l(NNti~=zGq+7ay?UXal5qi9Pn|F7E1u(6)~T=@QIG+nSm4^< znp6llyMD2_;Hdakm0UJaWlK+(eWt&~o(hrEk%&L$ylD~h=NYS#!s1y5ZXiZh)}Th} zOfW3)yec)t{yr@*K~2II$pB_4Dl6woqe3L#Net}3w>od3+wlD;OUYdMwxwH6Gp{R# zRs*{)E*q80uh`neL29b!LL6eK6=vz0BS!7+5~4rwo=A?bQ&J{HQhvOFBobn#B^qHT z51byseg-UqSg?8lcOwjSGtk-)HLahIZ{V5)e#>MSGs|}-hNs6+n;^66OA3eN0X2{Q zrn{F{pciwQZ{0pu&4fKdCX-)y-XFe3iNwU!Da3*>CD12}@g~nKbZRegif7@!`+Xm+ z%YJt176qNyo=IZD_c0#f=VubnZBpuve zH`0#y2DIivcU0_-DdIYnF@D+_4H?qdyf`z1;WoJ)(bEA-Kfqhi=d~+!OECgL$0PK! z_4F=pXCO3X<Y z#!2M`dy!z}H6K96xwtSlym%x&){B{T$IwILCAfA%-?@%LXNCaQ2dx7S%j;7Cl;j1W zyy{gj=(y3w&H2G3!W-JczkRBvk%-|UEwaf)5G2qXE2=3dcT z+hcKI+`libMKkJqFNr|-$*gdMUbSeFfKVKF$rA9W^;vQj*nW6N#&>XEuIy4ydA%qr zm(pDyaA&*N1gF#yMqFdq2aqG>bc(DJG=-1_vB0i*L%8W(ooG!7%%-vo<->(hV9QIKcN9LDbRwGan=}n! zjEQ)SfhvtG-_aBc$N4>dUAsMY2;q7cEYBC*Cw3i&{;{Ej%wWVqBH1rV zRf@?3mFY6DR6|f9c*Q$CuA^G5*8X3?IKBfRl<04)EuUvluA!T z5>+H0>(t?;JAmGfDhR1Ut{poSV~V`+`H3_n+r7OXcH_*Z+8-UF2$dO)mwvQDqd4hE zD>7{BLs&pLP@fKtj`#}kq5 zudv$*#j;{#7G+*qnTTP|$*6fsO`m?9eT|JRGB~%z`{Hl!L;_r43An|os%Ej7#wpb+ zpP4y*PUco7ljOCxv~tyIhUzQMwHCo7}wFs_f!Nc*W7Z=?)G6WGpotT{o-H*{CKYOAQ;f zZH8Cax(Tz;4TTfyn-3jkdzE8Ue;b=%*gU^=x@?)~B;_s;xYCTgFin3*)kdZDT1f3= zd2BawqM8|ox!pykG&fRRG}bd%rml8Mfp-|za}xn7t@~zW*3l2|Oud5&q|7i%CyM4u zeKjXVPG-AXo2NQ$DlB-qJ|zW_SZp^E>5%3^rTP#hxxA-jn~erCpYmQn5g~|rU)AbB zUPE$H3N%j{w{u}ED((Ohn0G?Fg1Q5QJK3gkeL$QAdK1K{i?5qnE0&ihwm7&J%-JFk z7{LJwxEMm7(?Q-|chJlon20!lEq_q;CDEQXl`NIVK4W){N9} zYoevr7;CjjNXle~8fvzXT)#SW_b> zlDa(QJ@1c^!6|z=li7I+Q&JLTl#qXlSb$d58M$p3J0?(#=uB9lHQRV=q*p2{mp71wepV?XLqYp`Qh~7UYE<_QiR|`!%QZ&tM+zaxEzvOhVQKg99 z@V;Y;JR(r$BKtZz8VplpBRFKj-Z$nxA{Re07nYE@&E{tDh8^QS9V2mMV_d!spsKE9CZk?n{6;|a@41W}LHXyb6!{?t3bmugl)^>M|d?+k8iLRx%+k%UzL@^JdwCHciUdMMJ{^<*fj^*) za;BYbZ0p@W0*#mhr8kOhc3h^nY|HMYX`2s+)mysN0+z+B5KkRhxnSx$P~G+^LK43< z172Yq!>G0PkRC_|w1O2rZ^{BCAW3M%p1q@(3B3W^u7Np^u}TGAVJgosDgZg}G7rhZ(Nd{oDhv#s?EOWmmK;wro_@<_Y%G9jxbjK3y|LwK zIcLKU?sx#K1nD9XWj1iI*r=Bm4F0C?6IFj@F3jEKaUTm$zDRsT5qIH^w8Mor)DEwV zsoGF$1a^Drj#qE?4u6}XpJ!|CHZT^!Q3OP2I_SLG_#`2!4m_!2RGE-bOJV-G1J+}?*=_@3B%6<34OFV_TIR<4ku*jbZVyrT)6zUgc z)%wh6g{NQ76iQbM!H8rlVCzX4>t5yQC7ZgdWjx8w3k}8cw)_%Mrv=b!Aahj5PRVdy zvTfj<_`bsVW6vW;HdO9oM|Oq9iy2W-^JGURPVR~~wGUFuzbarNQ_uomaY>vA-NFI~ zIBzxNfuCG$C%#;eSFd&<30L88j)VLkJ$j7^d|nt^k7(z`>gSOA;SL1AtV%SM2^|T; z>~>1r&bSIJ=NmPe*?zv9LJy>to*gJ9KWLhv6Qt@06S>=iET}tzG^DBtrwgyU`>)kC zm=b&DU#_Ha2W|K7(Uh9zb%lhm%aT)SXUVN6$%MIG%`9Anrvi;DZWLN0hEX+FM&ac- z@`tVo(SLTDHcA@$!@=$3W9?9TdmZ^%#APB45Iv)HpzWc+rm8+JOz_lSE25?*^!kP_ zDRL1Q4UJ7V9>(P_Eohhblv{w%7YuXEN{K`-F`xGcQasr28dTKJ-IMPdWuz>!;$=r{ zj?3TCts*W zo?_S3p_~vfMdl?8fp88wZ4hugnkRqm^J2V-FgTyij2I?^hnu+IT}_sSJwnb*oN5f9 ztUZFe?5q6Y+CMwu`SY8s<;Q8k~7Zr89Pd#Q9duC4}QqsV0 zM$jNoYv5A(SM@4{@uh%*hT`JYeUoD{Eba`B95T>O4YXz}nwF&&4XPG;MeP(}$^5y( z!hF@QTr7c+BZRbrIf3&E{J5{t|EFgLDFWsx7rFVhxBGkd`^Js;UC&HUfKk(KD}U48 zG%~yUF9(im#XESkm$zHFt_cW^?W+MPT!lM)0x1VUTJJiGZHmnI!PR%)uPD*-eLn)T z{QwJm#HlbTM?`|>eIW+?`+dW?_izjXG?TdGeMR2V{dk0jJ4duIUkySx{y-9H{(^l; zhTMBYBL1@h)z{=m`KW30@8;hfeAQUey5ShRsV!m_tW_)TC3e1{5)~PA9Q(#MrM-%Zi z%gW=dseG5Gf#kfJsM#PGt+8npgDkq1EPd==Wd!Pc288todZeRnuuw6Now>Bg%h^W` z4xBaRz51c-*zdjD`uLCczfklCd#&dcK}G198#&X~(v*)Dtx*z=DK+@|6SL%-8zF(^ zHszinb89R*P?6DIsqL;?e2>uDMw31*xHPECT}Qe`<4w^OBgMUeFEc8%hwFHjc=B2v zME)_!ZPh7cWCCuavi%lC!$6@U2#w)@7@N4rA+xgoh$M7AcD9wYaLX18%!4afSu+7C z{-mO1RN>fIlz$~fhDX)u3Yq8xg{SPYLo_FYdR$_ z)}fFU6(8=Foe`3OYoJ!yH>FY=a&!cj3nY|kN;Fl*k?aVpK)6Sz^Yk~w=>gABaa|+% z8=2z9vEqdB(>d9QaHJAFb~y1z6LK@swl+?5(-6v>Xcy__={}Rq1q<25XWpHt1I} zh74js6suP23=y_V_po)UjARBRNi|U!N@&1f$WudL+sk!tSTIVI#H5C(;AV_jYY(E7>h@@-=N?LHs~N7`0*NwBFQT# zrRW#3C#yj9cfc4X*B}^%d2<3|>mZz64kH#4K9-sRTtX@Dp zh<+#$IF@_@2Qs+99QRRHv3{0W76LiW&Kf4mAJM@f-SXTQkpRoIFllsuKiihOB#l05 zKfL$vXkZGY(CB$7g=S+XTE8A6i$|O7gI;M)PVT*I4E#yFX*v^LX67}H2Nv|#O9Fu_L^E(d2xF*ETnTN3xknY%(^H%9AqnHMuC(StoM3SG!A zzOsBIm*a;z!Z3v)9&DCNnI_xH4LaLOAXpq>Dt~0<+ov?Kkw?q&#Eo=HTKx=$U>%#^ zJaZzoMmM2@H!-w3CDRNsQA|8btey+W5F_92D30EjmC&X|sGs8QrJoLOr}hjejf!kf z!);xN*iR1>niM9MpQO%ekJLiYGPPWyg;m^Dqj?R2lY zc7N4$q-{QSl2EPu@!O7hJBcE6WcVe2BQYqA5r)PfY|@#M&q~Dea5qqLFVXoJ|1D&* z+C?Lke`ac3lNKpXF_xxLdhpXhVttW$mT{I3_rgHz7Pw635rjKhA(L2mXdFm>C-=Y<%5JXxU9Hgy}aCO z-MZDZ=b`0!h9%^C2>XGg^)oD;8%;vwujv~I=?Zz}Ut~J|Cb%#j_Z)TwA+80fjhvjZ zRbInC>dQ);<}iO7Yv8)X_jeT4U*_a>Jqki$TLth0VJ?79 zu*mv#!oD+e_Y*3MGL3k&9*0Ag#Iusps2)h75?o=2b%vEbL<{lJk&KGcuN1#_Ov5W9 z6kWm>A6k$tgqFLQg+4Gln$Q7$Ips<`UKBB-Q`D=iUxcOWO+NKSd}jhTwQ{M;P9~jq zOKcO7$`Zk8i89X88B@j`XmF;i)A2)Af59DTK=R;pLZ+!MtddErhkPfy*{~!?DE!hB z{(SyJGcPXVW3l=II|huu8&FmLcN*k>yJxTYuX}deuRVLRdO#DYT%U^Y{a=+;_#+FH)(g#?JjhO`b$IUVB9fNlf(N_j-UX|$4CT@9J>uSEyhO^pCn4L9tsKj zS5+07Q3zwqJNOeGgho5YqeCD9m7C@kY$8kUznEUY`=9#v7?Tq=9!MB)q1fF13_6k# z5x-bEVrBVmaw`G@!$E$DA-*vMkE#IUx$bR8o!HURWDl9q?X_E6Z0O6cX8!IzHA~RR6U(M?NF^cv@pFXcRCo-6l!; zWDGu;G#m-IsxSmL3+YT0%uQ;R>tBv99iZ%a8^JOjB6SI%-Bx%N8R%eame@eO!i_l#4xKNQ)j3sLyl{D`#;5gcQpFeRiXXSerJnV{>caJ?i`3jAm_BS`A7J`UeKbe(tC@g_A9h}qAk(rJP6e+nRr$1zV0kp zsLyW&VKtd}YX?w#kos&uoslM^w$hMjDPN^TQF0@b^u=#uq#jt%c8nzZ+@W2-CSaGq zcxDhMR^|9hFur_xWw749TP>TYmiMJ8@}`%+ZNW_|PH)kivxqV^7dW0&gebPMPvRp~ zI&o-}_^eS~R$@>LHX))R0`9WUu%F4@-S*+#ui!>@9i{b8?0kq7Oor%fr%qFIPueMB zbq{0Boze<^L_6#3qL^N7#vau;&9Gwj)4wqHC&gYr=$vU9K*nrvP0z+N(dBMw=pRpa zb?fZ*b8O7Qz;qZ#`Vzv@jS+^5%T7FAD@=Bf0a~r*r@lVFh~=lj-e?{$%3OKgBWlD>&k6p(2b3MZY%O`5#fM=BEV!VlbKSmzpL2| zV1RrF>z&n1_~k-e)dGRFE>GRi!eMH!(LQDyjKTM1f0gh(W`gEWYpyorZ_JM6=u`nCU4ps_a z^O>3TVMczTGToe0=5lxxLR&pyBhn)fFA$iSRK!M;)dHQ*PCV2 zbquO9;yPDKx3yv(rfAw>uQ++Uthc7CmAX?sv*pV;Sc5CF!xh)mr4_-nzeYB=+=xTx z3Z9fZaWCdKkBomr`lJlV%tp*@`+ac4X6JE#FE)h!`A6I82oWxCOvn!x=q8>;xkHH0 zA#7i4OOBgk(YG>5^|JCP55H-SqAe7EfdWzp?E_d)#RZ0|b%KjH7j4Z&_;;vcRMlyr zFUJ+YqI4xZbC4#)zf=^>%RYHcIFb=3^5}`P$$)o_fVB``Z zSZ`Uo7>(ls5$rqbC43GBr#(s!;XSl7{HenByjsatmk=t!BMKKqT(4> zB~s+RYa*<4Q9AI?-UQ=07UEY}Zy_i-!UN zJNmlF)D80|kx@Cc9cF4`n~5E{X1dfKx}CHoYEgs9hf>V!l(Z{5?OkAMTH9|3>_UR; zgYkVDoo&%{()U-&a{Xt7SnAD$gm!6BvdT=aknepve@WM^(D5TWCtcxJbV(+Wjvs zP+l6w!?|F;W~QY?5*HuGfTgMV`r}1!)O6>9lsf*y7I1`wP&LAD%TL-PY)+dLC;^;D zlm{Es_7<=wN~7c(N8sd7$SZ&iPlDzBE_5kQQZT&D)RzQ^E-JZPU?fvG+yIb~K4Oe(dKEuPN_>49UZX`U%ziBbAIL z*)J%tl=^~#(F2VyD99~QY`xn9oWFz28kn4reDLS9iOuypeTA0kg?|H(46^TB~q z;DJoVl79`g%8DUU!H~#$kZ$E6HA}5a(4DFX2co{PtY8HmGXk77iPmde zgZvk6&bCtYa&^0Y@8&Qlmb)?VgsZ^7TjV8ZyS&L1BFOj2*>|KL`1`y$)C&^T`-Mbx zC7zEJCS8BAK&E9>_j-%O=_bPJ+RLaGf!S>rlO0w)i>pjuw1c|RsPp}@C@1#36V}qo zE2lASMo>$_0DOtRjRr>PCl!r&QHPaSQXd5_9ecteiWcx!8W`{DBXs`mHFPR~ay5pAE!k4R}~ zex=(Vk@B|{Qu`Am>HV3JjT!_)XgaD6vO|!|2d^^Gc_WUx(KtrV%6+Mk%CExNW5ahP zQU|hVT$hxiG;Jlj>;no@70i=|xUHE?*nsvKmQv+9o|d$NoJv!57Ot|6VTX}wtlYAs zT>R6sf?T~8-UZLmt<-C$8Osjx72Bd|K3|s2(J0kr`X=7I75h%P;Lh$LK0w4K$U#9u z1=e5#(Qbr!@od9~@3l6$$mD^a+$u*JuE}mczKF{Jl{4Tj+w{SwQE&gcR zsKvZ3RU@qb)c4HGW~+hj549*U71M9uDB6v)krhYQ1vgd_yeU|RIZP^z9BWnDoD}HVFoN^w$qCkUYC4886UMByd{2ik71BbaY%AKMPo+eGxMPy(Q5oY=vP@D3 zCR=gU0Rw~Ue3c50<%6@|vt`OszikHCE10C8yZ-TNRNA8-C~hmBVA<;Ha?%^%^O@+i zxX=0afiIxo)ir!MOEsC#Gr7+0Uc$49g1)nI3qQ@YNm}dDn*!fHk5}uGMMKv<57Ne} z)0-GXz=lZ)Hd{9V2blU3w45_$dua1h(OBbi1#OmJoNOnF4OVK%G1!Xp!^z%##}yxJ zsZOoEXMk^}eBOw;eYVbI`mqZ29BF~#g&4pTrPQ!kZMPOwP3t|uM=ew|x64k)0880- z-9*Z>-;E-H377zG9cj`of!KU3u`KD1x%cO&{rs%Ul@Lle-EE=7-2h1HR*GJ4{7!(K zk-FFDJllBbc<1?Y#I9&oCUGDIQdeRN>Zm}DZHIaQ&L%iwUM%=Ts?e}A;!AUho@r!> zL4mlj3tD3-kC~)d=oI?1zi!%;aX~l(=3(juzg4JzeW{`;#(=7P+pm{FiiqCsCObyze2)kAq3{9NG2{>5ebpFjFcJAm-Ck2Le(ajMs4e>%XA)zs*e$`yVzIWm6|NOJmc2Y(W0mO-fXDzMehA&lW-fIV&`p zX02vAt1}=zZ5-Lb@_qUBOgZX)fV&J*iE3ho>6oC_3!@=YwzHkdADtib~?6g zJ007$t&VNGW7|o`w(aDJZQFJ_PHx_J?_Kwtuj=e?pSri|dH#UkT62!6HOD~yDf5;e zS??)^4;7WjyZ-g)eDZOk8RqrqD&{8yK|~ZpJQg!I%wC*m+R$u;ctZS%iupbLtiDm- zFk`<(;l_(>?Y;S{cVR!mk6(x0HVrM#X7g>)=D3F#MG;L0F0BidcdByqfx79*E8YVL z;+2b-{vz!XD`|D+VHVY$KQef_wvdp8a-u&FwktFm)y>5=L6^1u=A)A=9eWcS~hkf&l%?J`~9ASzBjw( z_#c%ra8We1oF!XtqC}V1^wHY()^I?A0EWU!hLYND@b7i-z3qz2#IetzLwZ{Xz6rhO zW$cB|Sd`g}CFV2nS->nB;ZA54Hl$2lDmTL{tvN+un8fOdXMoa8gFuK~>c;59I$c68 z9ykc3iv+W!;K~FqCGeN5;*KG=^DYLB#tU%3vRyd^E*K3*J{eZP6?R1AWdE3L?1TYW zSv+aONrld~_u3_Of%enOd|>%f-V(kXQ;lrqj5B$dV?2lAnVy3vZ7r0tYeaF!0`YLQ zNGObRg=nl3{a`@i6-}W3zMt}NZ!5fej*Y~J_+;m=mw~${ncig>$Vfb$tyugU%6mrW zdd8T!xGj0cI=l#FuVX4zOnyP^p}~U73+)M%C0(fp@@kvX4#m|jMUQ0NAKnyMJJw54 z&Qz3g*bS5 z7=l7jgYwkOE@ISTU4dQl=iiUhyLZT{NE{PCBq|7%Or*x~=( z&Qz9?Lsmffu*sf=L#esFMpP(oQqtqcBLel(W0t{E=8vSAKXEb(X<#xjA=vKw%#~uZ zQP(qIXt65|`yhWZ2yu;RfYz-DR|0Aefo0(!;tY>l3b^%ytJVjluYF zl=GkTI|P?bRjb{$bru|s5eY~sjg6IA+pVp^To+*U5E#oSH6M+Z?HxBbmSb9kAxbi7 zD`vWT&lL`mDp4ytCPW5xTj0qRMVEP0l(fH@G;JQ(bGpUzfY?ZGvDuom| zSRWdtLZ?5ziLe0@r6jqq!MJn=0R^G(v{c9eGGOHEwWogRi@+O5*9o*0YDq?Z*R124 zJYKe^DFk7^Ll2wd<5oT2$kylE3$}$l_EvdnuOTQtg?Pym0)A;jrd1E>cv(w$qCW?! zKtccHkinm@r*Ud^ggpad-hp`kDdh$t)czv_ZMfYqjBbRGpHyGHD)cV2Z#NrMgH zFfINnpc=ue86sPk1;(a(9s+XJH*Tw=N3?Tca}ta6^*04cxW;DV7_zIY+pNvF!SW6| zThn_YOTz;xZmW$}ZMXE9bGYQvB{d;XuO-(zYZo;WxaDTW?#uIc>yX9ATq$!KWciiUrz zbi7Zr70+V(F#wp?U-vUYjan?h%vp71bVq8Qa`o-a)jRs=>++^jw{vmR5esoKHb zXI>Z71#lgs)vv)+Cb5+5=xERB_07unFa`TDiKzo#TZ(-}!Rdrd3(4_O)zm~joI>4V zoKl92--?2XSSdKn>L~9w{6(A}_(rLu5x)oV>8GzJXYEAO`)CQlQ_Sc0N4uY=PDLjz z*9y5v*BPQ(!9FtNZnp;8-eiVwR;R-#nY!ytT!ncNig{NMX<#I(jQxr4dOxu5~-o7xPboF`k*HnpH^>p|5V6vB#oN!KXd1A@*!5ncn z&UUzA6=0ifvP$9xtb({xkcSyHh&K}ahgr2kM5o+nRfTl(P11V_dSsq{aBd>M-3pdA za8eK7?OQx7A3u+Niy~}(zS@^*e?LZDYJ*TIUA_y?4v+kpP_=!SAQA&ft@@Lm;Uu_-RO?|wy@NGt>kX%zY9r0K!!ZgR6F?avKd zT}%G{O%aFas0Aa8!~vwlV)UoozeJe{jh{%rSI_ia1ACZx_^RIOYEd*qxG=W!%nM}e zXuCyCV&UXia;!FoG`mn`#0e9dj5IqMpTeii)9O-)V4lHkY|nqVp3C|Qs%klK%eE2CGh`DuCI7bwLY$|y#Lv|LnnzFQpS>L*$id2 zp-506D~`-0V_FA+CLZ0N!w51o81HWh`wcVkwevaAgDRqnN(d0{g_nfe+P2YPuliZ} z!sxWvG5ydiTysH#7p5Ef*XBdZkRGmx{xLq!uAN#K!eqdq^0_5|g{NKrY6Pzp!!%AJ!)0L&J+5W~Els?v(N0f0gSg_i7#w1_sGG zX_$#c1eq9X&Y0*!1fbFFg$Dt_q_-IFu#%l<&KG-H{BhNaQCkX`EPq2&_>IR6d%mEK)?m)#yo-Xk}LV_Vln)#~ErZ2)3@^+qmYY+qGxQFp*n-ThO zU**ZqAgS#9BS!D(1`p|J1TXRXqF0{mK^CA(u$Bj0Y>rFV!|gGGT|$}<|BltcR;0+K zBIy5z`98Ix#Ctpb9j~<7tS+p^Gu5fh}q3Oot&>eD$JUt|Mc;+sobo73aO-m)- z^2qo479%%*6X|zj&k+`Xr3^IxHf50f|H(oA+1W~1lLYW11b@op&!}7T>|%oaun|!?`~h7B5|5( zP7NUH;SROc)$MAI^+tLb0oPr#RJ?k_Nvv2fE~Hix!Gb#G?(5L$vl$UZa%rU=$B^BG zk&?SK=0mus3^ZHzg9+LZ{GxBn&@q%{CL)bF zXIBhgjlhkU4!P@m#dk?<=u7C0L(^J?w$A38yP#~yMs+O2kl^FY*>6K&?V~DfYZ3K) z%eXN1$tLhBME9evdDi5s`#XAptJnBC>RbBXgu03vnNfcV$3-H2KnXqYJ;4mbxMVR` z7oanpziH&Sq5v*_Y`mS7WADo_pR+78%QN$Sn?RSs;&(|TlFcINmwyI2&q71ft^=4m zU>X|Ty??*m^PQmg`;Ih2E}Z0`Wt?D!<*2$sG!wHB|EW-j6viTt!VBA zbG%q1d2!|u>@SRTrfqbK_>wP1{I@+$!T;C<{)LYJs>c2+G8X=`9J_QHojwU7BGU9C zR5cG7@};0cV8tMom;;4?W;3BM_3PRGD-^P}`=6ApDI z^?O8?=Va%R*Ot3X_xsZuC_|*4DEN@xcL}4QVMu)lhJpkP+4!*%graDMNa!O=EHY+o zQ}HL4?S;2IT>4b^sUK;JZ7MWtCNt%#JZ$u8nK{P`*1rJSq1;D8Yt4dF*(PRN5hfT` zw5k4_XR4%oEoY52dMcn-!j`#xp7^c?_5j#1mtz#n)xJ7pqd^Rl5BSCu8{|9Ld*+`y z)d(hQk$apwGy&N>aMOsVUw~NRxJl*AnB=P6E?-`?{NZg`D9E4_OX*=UqDc1Db8`Vo7?cN{i*DS&k} zrL?1V-#6<%`}7`qhY~pfmvAz6pW|L8r;Dp9H-qC`xQNq<@Pp*>foa!uBo@chV^Rhu zZin@Spe_7Y?LW5RXh*Bsn)h>C(BL_OhzW!;h=AOBt;h(MI}!rgbiFynlck6`qin(p z!h!x{X>9!7$XsiR!E06nu(e<+;kV8}nS}Gi=&2KJ;*z0b;_`09$odw7-Z{jiX<;a+ zlLjJ04T04jjy>SrpK;8g4N>fYtuLO9OHZdA1%*dK_h8E$k+cNiNc=_S>avh;L_7U#&!!7`DtRhLAhaPALa z-e8!LfZ|Mja7c@-#i=XUDW^F{WL&{5KiR^%fRoM~)y{qr-3w}GN=dn1RLbhFQ3Gcu zsWIRmXjzeCKid9ygqTN`Gq8%seI=(n*J^Hw8J<4)?d7XO9 zhS10QL3(c>>JP&r2%t&%k{U4-=p({&G!HvVey$_m`q_F8qw4g z_^O5mDvZ%pF4V{HPc1g7QfTKCpo0^dWu0I1EzY8y4UU{yF0_&iAgVEo6f{gB29RH2 z1Xrn!Vcs}PpMMes52kY}mpIp7D#?vHN;7Zm!?e|- z!R<3W*RGC}oP<#N6;)2>pg^~90K(j!1(_BW5=;?3iBeE0+~u{bq753g?)8OkMC#Mv zd>AIVSW!Ba706a=SDU&6tm6i!P#xJdN;B4#2KHjcYsE)wu3=+#ZX)Aac>%3+mTY)V zgct+(jClnCA!A~+Z$tD?O>r=HPX)V~KUW=#n_+YXW>i@i0CHr82ttf`7%4L`K$y+; zV*SC9GScC0bi`4Sk?70uh+_WmP$~x3f*I+C-$Bah9D4RJfMgI+&A*ujuJRgAL(UF9QQ#) zA$9tJfKar^#(U`pDntU&>8%4>#gR5AvGYr0<(A8y-M_} z6mA&QeoWOTeMZeSsZJh=LB*%mHVk6eskPCYHMI7q2z3DSTR*cIw9W~MJZ%w&Memha zCyMNeSO#?F{lE(^xdqMri6IYxZPLdUx=*>}ZNcdcMwIjl(d2C(xwwk~(1GvJmYCSQP3*e2(q&`g<{c4o|C8_p5b7fKg-(2orLFpgfm85d!g7vk_ z1Q$F0O({NJYR)4fMg2R8q4il|X{ot1YN32Wa=K_aa%!xEelQD+MiieHe0EQ_J*`lR z%L(ukJ+J>uCME%-0Q!3`$Lsmn<3;BbFChC%D-FC)y(a;KPM;$jb3J}+$U!4)hgB8T zD^HIW40Md@a`=4?BPzRec;wx&^jT2S9o6+9Hzx-}2x-iI9gxEC#V(0=HFn_VAHR0e^Rq)Ip(%>(!zjDj-#3$$rQ!eKJVOs!(+;(sjHXMO)x%RTiNob!HSi8tkzr# z;Y^qhgf2_+)Tv!%3bM`!HLHHNZP2gB#G*xZpL>plJA`%%tIfG=0TOBYXKWCl);9Tl zdUC&!ySymH3%7FSvhtcv31Et{c3sGoj1%Oj1IQzpzUE|Q=?F|=>F`%$=?K;UjbXOZ zk4s_A`TRcj{`jlCv7We^a5ZRi_L`+@hCZf&pMtBLFrZ?d=Zh8M>ej`)gDPt8U4`mN z72rybVr5B@pV!+T9Zcl{dKgTl9uU+?SC?&U?-{fFeJ9b2V|8T2$T1_>-1W$Q-t1Z# zaTw0+w<$Oug;(hmPtGgfBef7J5x#a6o78C43{9$B03#kGO~Wzr)Qv@#|}hXb}9T0ZPgscPI{3kn1WH~2PD?I&C&SEdzKI+GX zWii#nqK$n6yXsWzQ^yk!w*=c*wWQ*+6%E&K+=Q5XN__>c^7ycSln#XCz?87oc3f^~ zl8wF>7rCMnw9gW+q?o=?UnMrD?#i8&oZ}fc91Dneg*(N=GV@p-j1JI&r+tE1_!TzY zIeu#l6VcoqqQ4w=Yodd=HHHfI6=y;;Y|&x$-bpr=mqYW8 zV$R*q1>8v%vH2OcqV*lMb&Ay_&MMBp_nVXvzI1+Qxq-%dWJ27L{@?@UUKw*Yfoss) zy-G`8=a{dKW*sRJg~`3~3!5J+;gEXo2!0x>W=xIA9(9@?Tui06zY4YNM1%1*+h0YJ z>~?L#^H-6y|7BeNa~S%+%CP?{4E=3b|A<9Vs+MZlB46x`QZ5>3WaNV zi%^Zp4y6Ok@-|o&m0$Xu5&GzC*mRp$A3)tt&~KVrpj1aC+2R;c(1I(dTaClAvgIsf9?1-)2gDq$y5Ezj|4xODR31 z_ErRPfWoGx+|c1~?QtbADtguR@WHpNz9QjKne~Q1G1Ev+8y6U3XuC^@1{>0i(W7Fi zp?C#W1gb!y2{|uL(gz|nC4^a8rgvHOJ9|1WG&$I>j-;xRWz{eV!N5kx)!#+iL>e_} zNAEZph-fYCYD6*jBc0rzXhR^YE(4%m)pr`w<}RE8D^PMNfcXh4jmx^7bWR}x(-uhC z;?6U6-Z=N*bVM#|dS+7TG4Vq+bXZeWt?^k&di^s^7hOkb-bZvxJV-fUwl6A1TSo0u z&TZdjJxm)f8_u1yFSP@r6-SKBJgFPT6bcvzLS>k!gH)J+*NMp%I1Xj~=6Kb<#o1uu z;}X#Af+ngr?r$P+CPBP_R`hQQc3? zLH@d}aSa>xT(*Tntj>lLEY?zHe-Hz(Jr<{wozWk4(h##^eiH$V31jT#QCV#iNbya5 zb1Mtt8-iv_YWFEQqA$eNm2Mbp%8mo_i6Y0S9K246rk1KokNJxOol&uujm%1&K3#mw zN9Ht}%+$GLCDgy6DkyOE*GS^XNJTZ-GnX970oEMeV5gi_YQaq1LU@nG?5WrRJWa z3`?cNOzRs!TMjp0Z3T7oPFxQ0sNAf0`O)iAK`=?R!=AVfO3<5`zQ|kps*|bpu=PFV z_wIOk5jj4Hyznj^5JZ7Uk_9C}?Qe7KVbr|*;Z9}dR?#lDLZ`Vg9RY1-k5}@Nc2R6c$MqPS{11F-Zh>t~<>2fYsa-rQMJ_WK zR_i?!%8VjHjQjl;Yi8TMai)w)K___H(qp*Ei`~NR8Ohr1oS29VEsDe*_JISq&$u8& zX}#zVsa)ObXC|M{7Z^SS1|Tpfn#n7}n>zBJ1ZbdXOi*2dj5Aa#a1fF6yjs9rv}s!* z1q0Tkl$_j(y~lLRd;NH2N{OrKxbq*Rlk>6QD#oF>-)n;wzXx(ft{Je1cj*)}>>e4Q z7Y*z^(%#5O4dhf)1@&lf(G|=`nRN;W1RXwTmMblauF_yFMhD zhGH0vWLoaAMDY?7Xr&7h7!Blu!Gf0st2Odu(K5UJl3d1cRx!In46-Yu^UJtxYgF?6rxz9{2ZoL~rI)S<_pT9}wyZO>+n=2Fr$rFw$DUcvqJr98Px&1@F zU!MWRk4Gl{v-7e*s?TZ#?GCt%mtKKrDrassC|MyCb&WAY=_K#Lq5g-17x zO<}=1@e}A^Z34V}z7UuNMR!Oh#@b>TjM0eOK$GGbvPZ}t2tHFG>o;!Gj+$}F0x^lI zmKCkZH`4>Zj!FkpqnM?!E!Ej-ZTG&p2e01R0^~IyUKXM;sK8xB{+VB)UWO)xtdN(E`OQ^BvAXrWLJ=%rU`|oy7uX6%0wU5B6Pef@S>jP_ zc26T@M%WHweEr)9O7`;(+fZ5G-}xw|ft91$*Tr3ZHI4q~%VYXa^U?oq-$^mOQ2zWV zB3E;>b^fgH0kl?T8+8!=6vIDK2S*~E4489&TF!vqE5u3eE~3SNhqzwub@5H1OS@sL z9tHjq4NCu4- z`qZp$8Y$jMpMVnDtx&0wr7~6}$Souy0l9+HCv!@Wg*>*Z=X+{2wMAHznK0k1*Js zB>1&M19J1@v=>CYW~O{FA}kEDR~QD|R%&IMw1MS9aKG~2KMWkdCxlU!8fqsnB`tHr zt9!ip?)l-v59E}cF;;lQH`p4OYk8rz*zo5NkkF~3hoTMx3Dp8?fXjs|s8ACj&kRl* zE+Y5!q%Y@luxx!{w z^w$Z$XY_YCy>G|ojdwU%%4EOgIlcG$_wPq4zwf`TufKH|yeE$D?!VQ|=Sg}SA#+P9 zMj%PuMpR&8GBOWOi)N{4_v$G$k7p>0f=L*O(8*VN5XdnwVjx*_N)rZ3;ql3QK1(81C63UHa;KBt3F?6t9B2>zHRi|@~?KKyHPW^kGp;M%$lcy2l3 z{`m;*HO>%CAC7=5Ov;qjqWPUq0v-hUB)XISG_Q47of@J@qODS6$P8d4;8;$rQ30|0 zwx^*MbvN!47loRxQHahXQls3Kb3X1yNug$4UXWWnYPSICo&U*?zV~Y9S^?Tj2;>*y z)6o+o@~wr3{}@Fre~H2CZ$pubY4EE2I+5+K|NjRhbh5Rza{Tdk`K01xZsqvT2&VS@ z3&j-k6K>_)D%md*Om02;VPhC%a2~sSB@Q1Os}iIbUiR>#kcVl zP~?^M%PB-|Y}gg>+7;G;t6^R9X{zKz?V*YX!T~gsp*uVVuezvLN;l#t7uQ5?%Hvlt z+rWt2WXUli*k$S}j-fAIu@p{RLo(f{0D0`nyAb5#c zvrz#@c~9J3IlI~*NBPGg*uCfj&nZMtb^K3B5M5XYZ;cdP(Y7T|Md79>4f_}7ptTJb z(#7}jHsh(306LWOyx+SM4JsM3g%>B*P^{SQ8_uudOGk4LpibTzV=U(hMNDf)D=wQC zYqSvf*A*S*ImF(Ae5J*=oCm{>k`~z6v>r@FrkGHDYn6Ei8&WtoeiER$8!n5=(^*a7 zCPmt*jG2($R8t9)4c5oc5*xMsyzDUUOlZyp>3-F|k`nTzR1`!I?L{eQE?cPGX*);@ z_9q2Nb49M=Y

s6Op<(A5k}8XJ8hxgFGRMB{uG*$>sH!64;%dhmmsAR7+6I9N<`} zP7BwdAx7tu8UyFKx5}H0gFKnMxJ;dxT;+OYUmCdJK=FoBn)|7(9p-M7KfxQR`xmr? zVrz%S1|xrUJ~rqlbC1!*)19X3u29O3Cl4dg4ts7bn@PCd`?u(kaA7Y{%S%O1*rAtP zPzb3(oNKkCR2_)i&6~|U+~*14f@A5-l$8A0-=2pIFK6Om&oc|4+~qI^)Z>Dl{mxm| zAtmr0rb@hpDQZwELrM-lNRFr?^EgQgztcvYDtk%}hxS4nH>GB4PY`WI;ay_}#s(gS zv9XszOL~!WL)1ce_9LtM>GEO&ijDTu$jUZbhi(znZRJD;ifAp$>pCNU&t-*S+&kH= z_+nuw1*J~eOAFu{Yq-&xW(Im@Q7?sb!QjXnx3?S}er555mo;}y=JgZCcCiLii}~%_ zRC!Cu4k&l=ZhY{Vn*soyp;#YJ4Ws2Z3GL5C1M~~3BL^}=ykrUktg2no!*lTpy;iy_ zLm!L5m*>E}5hDkF088$h7?w|Dii-BqHS(MCz!dWvPWSY6IEL;3ENpjwHA+P|d_N7F zYD1^GM3-srAI*(c>YwZ}UNsD#Dy_r}V0uGvu-${UAZ1(e23~`7N9Yuy2EtrnTjozZ zA33`*26yCWlcZ;dSwSjMa*IaisVeu<(a= zb46rp>yW(!0qP5ISq7Kl_wNoHvbM~xN!wURgrXMo8rbD_Orhp-Ac3ho((A5buoj=5igPr?aC>kN8)qqqnp2;BeZ5!gW5DLnz}pa zxW7^67#J(BQM>!(m6wl7ZZP1s#(x)XiFv)st$w#_)_}AS(=+0`fod5~8-+I-)=t6a z1F^j|Mf+>%1NNKu4&CCdP|dW-gTQRg+zWDzk6Y`d(^?T zZeC6*=ECvZ-*+=KRCm43NW_3qWsI81BHQNaoqPNWElvOTZ*R@beI?Y+x3+HZ9!6mi z_phI*kj~{vg*(V=wDqx8SlfYUUw6l# zXU2Id$3&*-5Cqmm$Ysiz27PoF@b8oHWF%(bM+g$|o#6*Uj%L{Hz6;!;CP=hlDkB^; z*#WGqUbRHOXm=p@D;pZ3nq1^<*sRz2p@X_;J2XZ&vaom6ET{eIMplb#@ug zRnj|{Um4I>r%`oG1*B(Pt2j05$sBWkEX;9+tW|CQacrUe5|IrcOSTNj8lX;eL#k0!t#oif;> zB;=G*XjY7;68)ru9(SuZ8@~jmjr}r@$@T7#H*0HZ?VTIfSRHQq26KFyUORFRQF{7C zf;#}*9#`y%#R=tekf9JBp7Nc&3dTSZ%#{y#ZlI@_fozsv0)!B?JW|@RmXkt=N;Tw~ z_0*Q|Q{MuTP}&^X&6jdo)EYislElETUc4XgFo)9%7;&)SYL|d^BUNI$vbx&jXE8~` zbF`#7P>7y3q*d&ZPT;+ZKYHt;5HJaSRWxECk=j)c7v&M*GnMA^=NtQ`Nb@lW6DaYw zJ8sf2bR(F}o^Z=!zFExdp`M3a>|@mSpc)uerI=gpcqI4QIlA zOi+Z}lKe3<<3qKOay81_5@x1_VH>8-iqAzG1SR0n6mg>Keyw|-o7g!aG}nIqKV zxUG@>pn>iVpuhd=3g%DbuWK4OKY#v}s8wvrHnM&V3lHXGhOfzj^#wgVMrA0D7=8Y|DI%?Y{)#Baw)2w zc^tk!|Jo{(^`Dy=w{X4cJj(KX+}!BS{+c(wFoekfizI^6Lk#seugBK^=Hz9H1tj(k zG-P<|_Q2R+wnT;dX^fw=80z6cb6%dRqtIjf%x%~fO3|`OfJ`powZ&)`9|W&OuYRSl zMpVwOOXwJ!MYU;z0xdF0Z`uf8CmlVZ&QN-9e!fj8EM{62U-RFst&Q6~+l|U(!3gf= zhn^_l)=AbzCvt+6G))v+uFI^mi>GMxi%U`cU1tCO2)ySTzXVYQYWw7vnQGC>VEly1 z66f@S0)_QIa|g&bA9|SsBZuz`^bdPQXV3N3i!tvct1&#?$ey$g5}}mG@hZLiVlfxh z+<)FWnL`Cf8wjjKzav-wX^ea36vnyVH+q(*tFaTU8l5zyW13Mkl@aGbhLnEjF-~fA zm=n(u{#Az#p?$?Na=(7Mf7zJTZkn;;X1|!(hg&Wy^I(`LOcT1N=S6tV?z~KKw zIs@R2D@B&9z{n7&@5l8?4M1`k2&CP)+>ydnK`wui99kl?P@hv^tBrpB4$wIj9%3V7 zrKh5Q7xgBxy97ObSrpoma@S2hP54ZtjtN*fFR(vk!M%%zBRI8Vg1{z+5qCd?hHjat6~2a? z&Ef{r<^KMI>ILadrz6Gh6VR-D^lRb+)ccqIi|c;ZZ?|AC?^zom+r7$g)}r@tAU}M2 zb7@OJ$^Ln*Ha6((6J)ETF4jkwpv1?To7P7bLPsEFSBHscZRGbMEhp#Sh^pddXle{% zmF}msijIEqsOtwj@&~vCCu&Ko*Sx&^S?K{!v8M6)U)Z*7h}11TqLQQnW`}Z!<>(a! zvp=3^gMZXvQ0I%A^o>9)Z#5ww=a32bWci%J$k!_*adE%vx+d&}f zf9Ti$^z;8Rwb@Yj^ukd={kSx8B~O#ZYRfH^l9G_>xj0-1<~>gC!e_RQM??B90m`|N zDbr-*(#N|BMrDR5dEa!HU9<#Id&reNo|+o zpJj7Y?Hc+N3j*nSo810%V6*wAkBA>99~2Y*lp1K>VTsx;{>0w=EX;AaV**aP9wB#Y zo4s3|jb@)6n3iEk#>)iyxL1!9eB&D^#7?s-fCw*sk8ERNBO2noN3C`(VZtAHp* zIu7u2z}b7;d%NX;^a0#V-RZ`JJ^2TMviJP#qR^-8>hI3nwk9X_!i>2qCKvV!+Ulm- zv2@e!UlQ>W>Sx0&+dWaY%EVHbtyMnj(TmiV_?>)gsS1`P-@S@63kKHUR>y%O6WpL< zVNk+RXkKenzhY=DEkVX+QCpL)K1iQrXf0zFU_peck^mC{<%e~p2Q)$$y;ekdFG&wg z9xPEJL7NFtI$>$u31M6tttjSw7TM)&vc*|$n|Ud?!Fi_xu9v#lq_k4VJe25`?I)p! znkjUn+?^gCjKPgAyf-rs70meAVFR|LNn0^1-6XPSA?BeMl76h{(qA&LRuq(|-W(r# z>smjPbQ*&sCM8gB^%#+%zWc+NtR+Up+rq+nu|W5D3j3gA_OO+k1B1nM5;bfP0OKsX z{Om|oxrM9 z3G2j3s~y$$egZX0j5#NFT<&tcudmouj{|uE%};wUmRhQmoL-Ctdld&da=z zLsbz=Z7h6R9r%lMP~e)NhA_02L4_h;+a&epxgb-Edm^H50TT z+4JXFWK-}7>>BcLWW9Also%O>0*+AE#_k1i#^1M>Q z_G9Bp0E)P2B%&_zy;nEQLD4tgpH0_N<&ll*>0nM<+=;nS=Kjw>9}IQ zS z)jGg;Er-drEsFWs*DcaPw5Q@hh^lAkZG|^1t!GT+$S|Hk5E4aCak?HmV0>(*I*F-e zPgNGPC~CwOHZadi+Qf;Xm>}_cMB`7xxpc_O+JbVoiQM{&eMBHu7$V!vMV=wz=XxQD z_=DA=3Wp^BcZqr%@j}|Fwio18n>}Vy`xTO6aW+iZN3QTaC-Ta(!^7t!aF*A%;$@sR z*tW^aBHINY@&PMKA9RxvlJ%xzxU){vzP=u_W7?aR!PfJT`_6$cN(&r8IcJLUL$Se% z*<`N98T(&UrQEvmP9oC!OVuP?^E{OAp<7%ld7O+)(hXuS%RR*_Y9keGbTr;k4wLxkXw8JiQ6A$udscXvB&oQ#6bv;_ zwp4#;f9pSfGA7k259PzamAw_G1p7;h8n*9sZxk@+4`56#Rv<0r>n5ohjNpK>NZDth z#UsI0v;7%W!mv+smh|ETT|GW#&WhBnJY89olnrX=B}^yg%vySC=E$d`(aWnpGdCE( zp&5euM)%~VAtuMGyEmh=-AJ@C=3Wa5C2`$t;gKg8U-kRgnoxtG&GWkzNEZ0L?(Y+- z8Qd0RoAn@8k9b(>hWvm_9Q}x}njo51YZW~Z17DuNTYes$!Q760EIW7|TOm+51FFjf zLd!@SGLm1rmx`3V3snI+P5fwQA zgskJCyW&wP%Zmngy)@p36D3_f-by47TKa~-fF5FSGaUOBKMO>f(w`9b7ZERK`25Za!TR^RF_dZ=Gh6o(Iy1ly$3V8AVe z!0CNOd(4{+B94K+y+bqnePi+adfAyUhtoT^Pk zeXPWTs|cpJPFXDwuj=SF#wj~Civga?2N))5dV$tM3Ps!O&^ru^#nm(I;`qBxTW~=p zyn?%pz=Ul!g1CM1<~%5AC{@GMwBrM#K+u7R*B!`JkX-|glNAMplytOt(%~x285TYe`z}!syIAUiN=M`F z<%&W`^E}=Tjh@PV__e{8Fx62ko;#BNtBfRf#MP)oym!QL{~#WOd@T;j2agT+B<}}~ zR2BR@8*_Z0F+E?1Qc11-sA|vHKYk`XT=u#For8x`VYKpsK(Au8zD9Y4naqV%0dz;8 zI#Il8V9>T9$D9yqD+X+>4WX7RkVxEB;t|E|t*0#xzt7}yYP%Q$NZkin9&i}jGv|-r z^3}0Wuv>gUy?38t*%WkuauE*%nW%!EOVBj!nra~K0teJ7GGYn^5y}INmuV_`(DYH; zf)?Zh8$%(^5Ybun#FqoT`%KnJ8qVfiY8jNh>vH&R#B=*#m-b}7h)1YTJTkkK7f?!U zi^$O@$tvBU&7-mJ#D7&4v%+_(Y*!ZG5^dP_M46B>@w;ZBB>54mFN(ejb6J+-FD?zp zkf5gm%5vEtQUJ78#ko3uP&<;+h$xoEt!N!lX2dv)L*hXl)jj$H zw?r>QLE@9K`XjY6c3qC7S$?ej;i3J2@2|W$2{<-j{%a!NNAU0JVb1?u-mGM9V`^pW zWNY(}ZhfZO*KTn-ihI_j|7@!|-+Cc+Qybi?`q>9zt5MEqU%CJ(3j79EQu@|JK= zWmjANPy8rGb`*3fLJmageI8zbaZ67&6+V*gyx^UnSUfyBD28rb zwG4ShnAf~E2E4d3$Dy;U+6osV9$9cDHeC!0?EG z%@H5YGRUBvRlP9qh^8)ECnpVs`306->_=F9-+-84eO*E~U>x8@;m-;D&XZ1wZKxq$Mbc^=6_fiN$ED;yCxk?kU;^}Wu9FS|xB2jQ! zIIFkZI%~yvuA?Ft_F6tpDP$~7{)Rc{lBK_)sJn{IP2ufyJ90Xl;jcGbMpH;p_~4!n zZflf?AZeS&TukDAFaEr(6$|?GF}% zg-ZYSXf<>T;Vx_k%|v$JKZ+0O4O zcR^L>ucPP`c1cK$g8RZtBQ`qS{Gq7ISrN9Ce#r-(GEIz0#>D2? zY4k>vo91lkljn>NpqfyBeml(K95+X_d_cC2S8C^u%<-Vny6Jlq7%3k9q~GyUIHFlW z*~4cnvZPJWi7;L8!TNN0mT#y;#AnIQtcE@#zHI{kPRP- zMGhRO;fXCaJ*Yo~ySEzxh%f^x7F`Kqp7XxdCh;aT`+ZXNxJeb%rfm}48{N~uPWpL^ zA)|k1_NW*TGs{(I07VcE%{rI|*OCaQ#t&XwEjNU=gN+M{_q5v*I^pJaO-c30FfN1R zf8QThXh%x(O5O4JtQa)|Kj)uQL z^pBhjfSV(Ox(?7+Dv=UUyVZ+9wt?hfGa42E9CQbK(ct^mWB_KCfDDsuFTR8{4EzbM zQ43>a3p5;{Y86DVW-WeL$l~WB`v27S)nQp@Tiepz-7O8$jdXW+cXxwyNq09W4N7;X zw3Kv*G=j9>?OHq5TH8dUd2f~u9YajyS)%tZ6?FFm zaS?*M%Fkb~*&@gpAK&ca&Mxv-Ep41H+J2_VaWMnB5Oh@2TzK}9`3x3@uc;}xrp}#+_Q7P7>Jp~$j9Tat$71dnb(vtU3x8_< z!MG8bbc&c&t!lA&J3?_JO3{mz&vYa28f*A+{>5*BW!w@}$dv$|S%HW@Te~=ZZS4}a zaWQwWwXrs~aT5G`==;agrKI`Qv-_clw$%y)5m0O?Tr~B-gq|VlQh`^8Bl({W!Y+t6 zS1l1WFL+!l>%}^G;>u3Q|A!k>!8^D+pXY zOF^t+-*}8De=3J_hO9n+`CG~q%0>NgZpwgJ^!gHi{Q{=}oW(MTIzt=#_L~HPN~TY@ zEJy77Etc)CC@xdHg!gWMTm!t1-V5XMJr{K72Be+=667{LU?L5FBefPlwtzOaUkkE! zcnT82-A!h0Z<_5{$0<50BvgjV8u+*foX^Lp|I&VqVz|W(w1x{X$Q`U1? zPL^G8;Z!l<5voERas#!f?2F|o!XdXl;%9G8W+LIgjCST$0e2adyMT7PAyC*8%!YYZ zV0>1$DCDK=ZdF(ya~?v8TIJo#I#6efEnuS|-!HDC{+LCEKVPDr|B9@JA{}4y z&=909AY@yKy9@BhEe18j9ibPJ4XJ^;JA7Rrg|%yuf0~@ zG-1~uWQ)+mKHWW3wHL}M!mE>BcrR?l2Hf>m_JEk3Q!hwGKJu+WIQ7b#5ud)%?tSw9 zRa*dPR(t{m(SjNbQg!i?vK9$%K*1NJLj*V2$5Q%XBirEj^}h!w1S92$ zj0C*BkpZNF`uk@U+`rc6|2CR-rh+EG^#S$aY1sUMiM3>Hv9)zMHd*BE`b$WF?}LBU z2fl(z##GqBgb}HfOwjX6DmNg4JD>*&K)0W8^R`=k_pZ@9!J$F)z}N(R36+UmwAakRhJ&!PYovNCl6zsY{QxeI-6XV^Uvx+)pM7209zrd zCCwdqweCV-GAaghjX8?ys6CqT=3}{Q-+lF=QEpJQ3BGbr?Oa>1aXZy zn)P%tX)x7r@0S`U2@z>$rKi7TkbVIbxHAcOphW*up9a4Fw(qFuTRDH5Hsyz9fcX*2 zwu#Is18*wx{tJoRT_=oIxQie0FRU^kj)cncGjz2%qUb^>xoVK`>6?uWA{ z| zbquuX;8CdnPn6(EW)LLdxZ%hoRuI`1=r6(^ZTOK+nC{+a*B-}V1fzX(5`1y$*b#-FsO1R=+R-w5jG# z-{bw_{_Wr9gWngyLcraJrZV1_EY?BksfF5)bx|&kF!^QHX{;badfM})ALrDj);QU? z<_RTj7p%-}q$jN}{1oMtl!W+G9ao!q-46V;C4;1ka0uIYc{?!jR$kz=0&2OkBH|4hv%K<$Ae%ex!`R~9?Mq&~dV`}I+gvFT$F&*B zMYgMr|E_ll8-DP*3ion&Ei^bEA9$Grs$C_N2$#C&nFzE!y~x&yGu&siJm}A!b_`L& z(@=0LCpjw1mAxQm%i@hUMZvc2Rbu#+oy7tfeE|+`V%^?S_eOwXEP0tNOWwt|5smpV+*n_Z`{&lUUA|n`zd0-Tye8P&rSgXVt&dM9BZG|rF zaw*L@Yf|eJAitn#EbKb+jh3n!lXaveqjb+4+V`cXL;Q~B@Kuyu&0LXfS#mF!Decsq z>n1cuu`z~9^n?KPZ{r(SXibe zN2V3?7OBK}ys>h15XH+_n`kgX%YlW>AND^_?niuzD<(q&0xDDOfm8`(v8AgVhY1pgw#D*b=C;6uII*+%)BRJ@B~^o zUtzSzP34UQsWGEO!_nzY78AUU);fm)6@*YW-@Fm?XbRc%fw(ahksz9lIlXIp+W43D z^>lFY4`6QaTXXMG*aR|1OlZsxq*+aaeTGUn{M-4`Xi#6#gP}`5z1f`ARxw6r|3V{d zR(7_1*vhBJe~Dmi;t)Ac@X=}>hxNv4Vf#>92rs=$zM0$e!^nf%oEl23bG?0dcT zxE!Cww^X=(u^;NkdYv4#b7~7mzw3rXZ+;aW^<~{0kA4FdMmP#O2WB;bE^uH<*auyn z%GG(zw|K+bt(`7I4}IiaVjSnC0UrvTwwV#-B62zDLdztzlMrg_yBEVfbs8JiG|;;^ z$MC{2%&k;W`BY`C%sxDxHD)HiK!#w}$i2o1 zw=vIN^dO5~{r#p7Oo9xz@zq5jvh{)K8~svquh2qizL(`}yUNmN!*JTBY`Ql~oHIR8 zf*=(UXM1~d#;~M)3T(}%OtKUz;}JNt^7+Y0F{hNhZ|l`_87PmH%#@@)xUogo76&37 zMT^FP_$97Ao06`(ZorBh63KH-Q|%*Zp2ui5PGFtWE5_L)Pz_eL9Wn1zr6ZP#=-98u zduu37A@yZ^nXV0AxlW6jKVD57wK+B;~P)|g2jX|vZ17?|k z>Zk^xjSQ=S=tv9iMtETBZ85<@6fo(WmlN$*BCY3aR@y(by})8gYJuLo|Df;o2522R z=N<7Ipv`^kia>wpdAZL>L!FI=m_fCI;{gv-DP#;UKkUnNYP%v7fk8|-fqsAt2fN$= zrW2K)w1=INlni+mkZh7Ln$S%H@6$-J@hotjgq@4an#X1*5 z^jH?QmMD{MWzVI2jskQeh(5IF#5j~7<#?`={?LT97a5Xj$)t6u1KMYWL}W@Ie$6Fw zvj=|m{Yhjs{H9cqCbHhJPn37aIJy-T@>g`ru^DHB#Slp8Qw|FcX_c%mFt_H3>~JcV zvetlTw}7Pmpup;;z&*3xW1DunLa&j$-Zk^|wXt@xQ$ND&%0Nk3*e&CUoOIZsq@i=Y z2|j6}4LC{Wk~O@f*q%f=$Ic9ITI2}4))ZrewiP{GG-Ovj`X~e6HMLv9rGCWelLG9H z8M`oGhZCTuDe5H~MhNvBH6tOQ6^D3sHEv6;IkW)jn3s=Q^ zE4>5^!^}7N0rhEBFV%MwBnp+-tfsfZE2+1dF{KtD;ao%-yqI_Wtpa$(%0d_&x`KFH z)WMhu5?Q;XT?pw)5Z8b}GPBV^Sep8O9+f-j(6D7RXV{9WI`205KlXoN$z8ysCBSt`F zq=55~X)AHvXo0A)XX05wUe>bRFa=(*3hjX!ZFL}CR&0=dgf(O7zVBA! z4wS5e&2pbimg$D(M9c#`C5CsBk5bPAKJUf7>TOA2KHs~sREBP~4k5tAJq?szrX=%|)qtCA~zR?bmeAM5TQ0VOf5ZB9LHbMTHacY!)NqG>nRed^JbJ_~a5Q_=I|CAoR zn=Gk|B<-0XO+ROBqSP#ut!Uno3R)~V*JhJ#&W+@p>?A~&E8yLL84q0j9l zb3dg>a;^%aBj^i9QA?c;?757Hpsm}o8Jvgr%CGclmoizxaA*Lg1G8 z0TvKo5C!vRd+=X8cluYxitk?#mdD##0>T0HWiPmlpucsgSa8yCp1K#Gs-S$Gqx7kl z4|PbT?8rM!r#XVTo^+4zM3Az9vhAdNH3WIAmDbvnYd#p%#%7df$92?wbfj`+xasqs%v<*R0VW4M$!u)5qn=zrgF^_Bw88xv~8cBbtZNw77hcNl^k7GL(Bc7SE35 z%o99hY^gVX$D6h`p$tvzHwwv+b{wak!m8hzOEDR3@CChvh6MIqzMdX@lb_`?W;O6| z3c%yYmS8*(<2hJ_%4f2{LGt3aBP2(Cq?wdE>TMYg?;$UiUQ;t*I+&&@i|p4r0BxuH zl^vTEfDR4VN32lm%lMKT-$$!Lef$(Z1}ru%NRqRZmjT?Wm}40YTdscdK^32G<_6jX zO*W=#4k|8NdDkCWa-xa<<5Ryn3Ok(H!8el#`RBMfE{t%BCxyj!PuF@WPk_tOgD{|U zI3egPlTVB}KX#|1CKk9Z-}v{)ZkDZ6D$G!tNUX#p6%X8*r%>j5Wyes-+Jh)38kZA1 ze;4;EK3yoeS$Q!}>?!?6!tC-h5GGKWs19>uuUuadK-4*-hWwVJhu?#6!^~Vu1NMl~ zKRq}4#rJXFd~m<>$f;FXQbiF({Q@^{q_584OKetNh%W70l}CtHt{gBY1_^2LlE6CI z$agws>Bxp=4xwDdvbMHv=Tolt9!cdT*_?ySZJ*%n^NUZT+X0Z2LaMI;`1xp+NvHU6Xuj1B%Oxl7?#U~g06^#>ZBZZt(O3$CWb zGAwSuw#i))2cWVjX6Rck4x9+N_@piDT&bP$m+hg7QCZ}By%0L!-VgX_Eedo z<>BbBE#P==Yl2H_%r1ToUXQ^t%RCju+KI?g>BNvRY6|)@hx}mSp3^4 zxw|wU!P!X<6P1@m&ix$Nbn#M6b+M^r-5#ZjCB<; z!WMH|S9cNa)LJ;#YOnS|sx=(e$)IzLLam|T(3&AJ%j?R;1aXAu69Jp-=3JgGpF~8$1`FYU{v5b3G+HEh%n*pvt z45h@58myg;3)St1ark1)o}JY@l3crqF5QFDK^fomV^cF9dDDz?afiTKI9|DZK+FvU z);6`d=4*!q=aJnEo9r5E?^w0^$38jFfH9SV;n_?IN^-=tK<}PSaomb@r*^ zwvw<&;?vYD$tK1{q?BFWy}6v!O!UjiH4~bDw?kh9(Kd8P_?@KmJHe`UDI59 z@gYf$StGW|*G8Q?-e9*PMR;oxJ+qhP965LZrcmOLP%vgzr`+!K%}!xHm2eY<@$tI2 z>6>vfSJYBd!R!PfdQ&qv8t=CE#Eh|4+hBh)z{w`LV6Jo$QeJbU8IuFl(XD90MY-m36z6J!U(ehF%RFR0=K zJ20RwHwo$UU21O4DSKoX!94~~i5xzJh~SFAfFt%H(OVH5GLJ*(VrCjm_?tLQ43T%` zrt^Y;6?pHSGD60S=v2zo(4>L2v_oZNo3!~i6(1Q>gh8&A5+rb{+UH5%z)^LNu`g~7 z>r2Yrf-O;-rD*icjG97%d-`j@M{+O&cJ_QO(i~PVF>p~MUI=)nCv;zuiCK9Y$lgLa_;H5_M(3D<%-NkNJtz611E3azMIim+f*J1gGOMJym}dq; z=4j_Cf;!ca386Thd%*T2n3tiYL?cXYA!6$JFWqNY*l+2-nj5HE%WqWy(>6cs&&-Yg z7~|-7mxVtvg?x)~l&Q3!0EltK6Ay|WmuSh?3qy$E=to1S(@E{GfHsc&5~8%sK`q#* zc*JILiLm7w#|Ma>S1(a-FCbcDOZJM~V$3MaKS9`QE_E;K(6LGO^HDuPHZMuIJa?#| zXb~2a(H0|d@&r3=BPeV{FGExqJDomb)Nn)IT1l`ac7SYdn3*0a&Z@1C%1vEIl<68>YDcVG>el``_6(_d9dSh;+HqBEh21Cb{ zY=ppmkXe$1?Lt~|itr9bEao7!I?TQYIP`{!LmbKI9Xw!-jUvLFKJ(#fe@)n+_g{<@ z==D8PiC8x(po3>xwnBR)%!S=#ufu5zbSef9jgQnP;WMjq%wlB-x3=*_-NJRLlDW`b zm3KSsscLHn?!jhJ-quk-krRfRQQb!nt%Z&dIx&(e?&W_#FD#lg<_CTG$we8oAECie zAu1xP;(4A4o3uPU&1`N*%2rt;EQ#}LN%>PU<56`5V4gB!ax5n&eF;&V56(`+#ra_6 zoZ#b?`WpSxpDY>*H&~C%8cH|tO_&#F8D4S(kCHGJyxWhB%{{DQS88%l1|DWL$&?U} z3Kn?kUc9u?PvsSx-1DF`A*NVbFba!ufj}nMe6Z`sg^jUqsZBe8`^EYO-#WQ6cxMy@ zr3N9n^jK2f@OuAqC|uz~7q@}TglIcOW?Lf4CybW^6Hms8LV~>TeBYQ^Sg1r~(K*F? z$H@$%q7?F^UO!11JR*+6ng`tZyC8XrK0wM$V86nvg1YCBnJTWt4#3Y)Oc{)k%_3C| z9Nn3~aiF2XVNZ9Do>L`d?3w1fn!E$1t&3FqWF1*5tl#bnE>oKlE?e0b;uUdqD|irs zO6E94rlwPvxx^8u%m)i`^zRC*ku2G`^0=Z5JHVez_BP&pWivPVQ zd9=yr@tTnB%%H>Um3eq!vf>ZCh4Gt*{3PXM2KKu}Qf%~43;l#tEcZ9&1U-ntq{Xh? z4X-V5;m^Yf3ul;>X)j)_$w{!?1AiTG;Xa@(NPs(%s-H&v{ExAp9u2rZu9HRmZ<)O%gMAG!;ah#FXp~7MsliLEwj>VcAF)2;XaXNuC3wd=jB!daupZY%)SDG_{ zNTr$+FvSy0@2QJp2546?Fll7IHElo79LE22xzhg7hggwMx53Jrd=eDM#dx%yCAELc zNT(;$1%ic)KjelH-J|(b#P(dC267}Xg3ODOh}sZTH|(&|c(aOzh~7}k4Bt?=3k3^B zE%78Wkhr@>XBL-y^w2`f(!ygT^kd7!Y7z>4dekTz?5*+QR?ATjOmM6IK6tm8jrPL$ z`z90R=?Hf35F!;f^G23#7U$pr?J35kTUfy`Qg=vGw^W(PO{w95dTh(!){^pRai*k= zCKY;%I?7ExEEmh7?q`W4A|+#DaG1r`A|?HRU#QR0>9#4x-9`DuLKy7@mFA5m+S*kb zaNRRn@tRK0_L-%}g4bq+ba_?ZBw5a(Mc(0C+v336&Nr<&4%kbNbNLS;%IA8(O8E1a z+|I$)%XEeE+usRssskH0xHAt;Jt3=PfwkvzY&ECZWfjaUE6fY4y7`aXP z1aF|XaD)4q)*{=WnoAE5o;(iu(1=Z&JZ^ud% zs&d8+vjneIcj4zE=p|oMKC70QZU3@B@Cw*ZBDuDVH74isZFUB)Jm%dEPcrrc)c zH}KP$6&gVc#BRZ-_pQ@uBQH*0C2O%P8h6{*P(hiZ4C>&yR;apS1i61+q`HX-O6>UJ zmN(0jf^|2;1dDRiZSs~jxoOFjGK)->RnH_EtNaTS73EC|Mr-z2W4u$@Y>E1C`$|6A z6qV~JeYj`wP8G)>s1|nFH9|xuPt&}}TN&e{O{`DM0q#=ho|F4b3EgiSKD??7*a5#^ zNu*h4^ls4dZRnI|m@vD4vW`*o96O%$h0vt5#$MWnk_Are^Ift)$xjL9U?zi~Sb>1T zZ3C&VQf4sWhD(7uXuJi(TGzD2$biG%;PvR#`VlXi6oD9FW+UPdY-&6?OYesskZJ4O zdXK*O-2Mhmq%Q#vHd$xm({X6b)0O~Nhh|JlX`2l|xKA5>D|d_y0bZ`!AjfNMse}rY zu=88cr=cuW0w=Pe-bhRo`tbDJ0+cJ1$YLJFgK;Kt6eFwLMY{nELP?C1a+H0qG0zH+ zoX$yK-bEC;bm$-z=1y*+cP+4AL}M7Fcm>0gt`_gu`a2;>bVnq+a7JrhC8)GNBl6nj zF_k}|>KM?u%lkc7()<=7F&-dDQs+;DBr*Tm6|JJ2xD6oikBPqFw`*AyKnyM=RGzbB z15vU_9BhRg=_xr}t}qQTzsb0`B3e>=DHAQucU5|*!uCo=!z7eI=Pcd+V4CQ#FjolA zrefe>eE41{g`8(8saGpMtvc~mJKxcFTrpragA3p)+oY zX)Vdm0b~xIwPY?Hv4&;6r+?k!m4^I^kfA0^T;ur%AG1`yXDc;aE>&fEd5oLfpZWN0 zrk9BB)s~LbBJVHjwwBoH@KR$eu}49=-}X8>rNUfVDQFir>qxRS1vi@R6)o5_I{#j)V-5I!b^Yt-Vp4WXQgX2qcGJKxe-j*PfzlKF`gBzG4}=Oi*zeXmCTLH@oRHi zQK{Y8E_8!}4=dz+v5epvt7$L;o4O~|M*&$tOxoeY?YF=h4IfOpf*J_oEm&jyJklyn zJ?H3(9I8RErrr$ymTUz`_o;rHtsAZ-Fc0f9K`<(ywU)PN)zUEJyGc&>>{WO-m0wos zpIW;sB++a!`MgHouN}!R7O{1VC38NS4$tD~V^F>EzY_|)H z?Ns3HrjWvF#x~fP(@+W@FG>{_vA~$GDllW3p&;17iFmOghmAkIih1hk()Nq#5Vc=N}o|C)M$s9vG$@{WXEDCcnKv7U|RUIpaTAq7FOb? z6_*jAml78gmQfU@b8>T9($I8V=tJ}QTsh}Zq-YLal*w$4vlCXm8C))CF4SoAG(Lo^ zim)EMYJiR~{QiO`xz(@0$n{1=x`;*mVE*mSS>|y@FU)CUyD6|t z)0|DM732KpXJ&OvFOwl}rjYubJCuf?;XXni{>KEGo71iz<(1 zoWOb4A!s=$^!+u$P4H9iBbok40ZQ;Q2%FLmO%ApCc6`DGxR_hH_JKs#!l<&2We#x2p zsNe74*4^l4O0zc+UB`yVFjz9N)+x$FZ!98ezb>GArtns^?#XBM6J)Aft_N2la1se9 znf{#?)Q2z{Jz;9DM&(`Z#o5TMQEHXYdzp#T&fA(w()mW?OYD580xh%gz{L%hCQ$SC<#Z^yXY3+xp!Q{2Qy_Rh&0Z7L5{Nkoh-7ob>_~0;tI+nRw!dU$AaS zX?1AaC1+}H>x6t6e~QqAEuVzu?&Suwk5n@aj|SALd58RL&xYT^&YABS)@>;Zd0L!&2X*z(v!)q|KqIhm$sc}`kI0#<@ z4+Shg!QrJ4?3-tc{iPaRp~_uMi-9L6+1^P?EM3P?083$%z!4_)iK%ZTImGA$jLc2P z?x7s~j!h{QZLi(#x#0`u%PA;|gEh&?6gx-~+Ctx>E(QbOs=d2v4RxRxZn32SX_T|) zfM-_|s327dya`4%j0i_{Iy}qg9AGcwHG7 z>+vt!RIAQONEHn)lLw(yhxQ?=)&r2u5ZSn*o-A&(z}@Y&lGgFdd6D38R^}^}*&#&u zgyQ#6Eru@!HCCz0dWX|2a%EtS|RwF>=rO06}hlx7&5 zBBf;(@G%feXOLN!iY;_Ctj0F6{*b@k9UMN|jn%wBaC8WG(#ug@!>R#UHlJV-Mst8*dp)y-2+!iGq$VIy68iw<@?3@2ggVx8ON5>gGgXM+#JUE@ zZqdO>Y0JDn>11+hAUe>kn7O!LFK|y?kh@D>t8#cE0zR%j@e)NKTl#=Pj&AEy9mzq6 zoDe~*{+I}{|Fjj@WfJk&^z{LAQ1q2Ex644sm_pW~Z)o)4M3Di+kQHhVikyhB7`(*J zZ2_s%em&Cqt4?c4kjrg{$Urv9=iqsjJL{EVrFIMTr&oUJVHX3v)BXGNCQl{b;wGXg ziN|7z5eE8>_N<3uJmCmb1n&Mg{Uix$4Pty&$um+bpJ_?*tR(P*K#+7S9&*EykEU_q~=S)C)f5yE{fp7>n90FsZun`1zN;FiBEi_v?U0W00X3*9`_ zW?QwyjK`i?7BRP_OpR0AxqN5k!d^uTHCT>g|2E*jSw=&8UR{$fdwhZd&q6or3gZa* zgWeRSE)vj#Z>*4t>~IuDAc%d)$5PtYW2Ckv87l_S6_B+ybV)2X&o2ewW1tN=IgQ6P zRrqbl9;66&a6Z3Osv@qh>uXFldd4kcF0v_mhs8}VO!C?0JqUiSye1v6UUiPwI;iOD zE8GrwX}#V|+uHaHMvfiCD73o?WJNFrsotVkObSIa5$~cv5t6MGdUro%d*=>7yu~23 zSUSWy=r-6+jB=RCD%mnj=(g0CT#2&5+cnPA2vGA;@{o3N5H?Jm`KD_4jiBZvR;<7S z^0-9#eqY$CiDef|=+Fl2dTRB^H=%QZhJRA{dRif{_OAqHtyJ-(9`h4HBXF#>FwrxB7aA!6h}49H8l#FhAb3s z0@_6i-sPxyBsdz0r_P#l-LOb;bG!5Oj1@ahz=6PD@4=b?Kb zS-nx-C-C9e&4g{258L9CF(DEuO1>sO~G1(L3o)Kg~V%%>aC2 zmdXLSqW!By;vP;Zlk;k;fs(Elng_0Dq3;Snr(1*CNKv5c+CW4%P4j%9`*D;Dn=GtA ztTTnAo}eFn@#l(Wh=j!r#?%XbJ18_owVRp(F?Y)TF!xM$Ni%~*exE9|Zn7#1s$*i6 z+7S%;bZ0=hFE&GDhEu=M6w?d)Ftd@-fMH%cws_1;v7n~7Se=`DB7AeIF-3wDp?ZxJsTrsXQFiMD*-6@DUtR_N~wM&RUmM-H=Jx=!EWIy~;>+WorBqEAC}tGcdZ?bbpUxGg&07kt)f zr;mJWOp9nT-C*3N(zYy>g5_nIEBLU9U|;lim6Os9d& zAtJzXvRE+F(=BYGS+{m&z}o5?95dax_YVUe{e;s>Bp^CuZI6$1Oxu+N(&o3i>vHGi z^UOnL2m;>Ne;8XD=Qiv~qe`6vSLWKr{)q&i2S>*R^zqEw1yeB!!aA=+U(jIFCO4v; zAn?GxRGi(&4U1vdZM9y*@;=Rt4UyzB4v`3~Yn&x_!1Z35EG%7CD++?fS~X5LP%}%> zhmTLQ@qGOAtZsDH6A(E%L&Ikk*z&h5NYgzIkQ;M}-L|C>TfjP2M-Dr2s3H6U>_b8C z-4J(-d-R*i@R_yaW*#o!2Am{yB53kd?g3QT;oZo$4MpqX64bEZNU)lGFj)!Jq8`coh9m& zxj@b|_?tcf9NxfUkyy@ajnX0qU}#WMu7C${TS_#c?So`pQ=}_1#A;*nzAxg;!9axKJI%*$;~E%pabbJexDM~T6MagYkmjNC z#10sp6`ua}mHBgWI0~6Dhef^wBEzk^mu4me;r0z0ORql-K`+ICOXJdI_&G2)h`?s) zm!~Xy-6ZSENkeku9dER5b+uaJjujAv)NH}qmT_QC8n4qsT-_?)33vo#iPo33Pj2vv zm6VyL1;Re6q*24Q9S*eIjw`)9m9sePd2{k_Qz08VTmt?@5-z&_kFJkQ=r%&IO zC#Jnd^v^JZ>w(2BUx-4qm1|vBfXlM^Xa=#PT<gg8=bxWR^UH{f2rDYlNsD|B{8hrYFTVZ)jvN0dUxD=j&IDgWpZ)9$z}u(q zz6ki^i$8*;{p>@OZ{I!n3RU*_!*5a6ekK6#k$|Ni3;0){eABma z`l(JHi&Oni;w+3T|ADxq|0K@J_UA43^by(V|0K@A*wNP6!O-}pRit|)6AN%6^-~4@ zDbvtO-_g<7@u#u@W95(XwWApSvTPfD>;E8`hWtw{Nom1=vzEOC4EQB-)|WI3M5q`GVBMa6CT8qC*P0y0>5kk^iP5QlrHRMXl&c$f!_?k^Y^D59s~SXMOD?xIG2E#BnP0T$MpvSOs>Bqp7E#k-*lnf z7zNb770|Sg0o2g{835yt8940ceyRa9FcBcA>lwLG+LG zp9YxqenmmQsprSSV=F{QcL2gK0K$162_Gl<1>tgz&c;Tzitdh1#@4@u>yxt8|1%Ef zUpta=%6pOvfS%9*div@T_pKE8kpL#hpAz{x!TvcQq-;$^^bG;|G~9p8>A`CU^NfUZOeScZkai3a=@_%Q&og8Wqa zzsdL@5$^Hv1HjP$7cA0`z%K#%{$~pQTks$AMzcb6hX5#A5&#Wo z%s)$k-y5-Ch5l|B{1Gnyuj62av16eKFk7brn)CUe7+-r30f6tX5&WjeZv_9g@61G- zJEH(7B?AToptJm03j7!q|7)-xYfq2D9*rK*a2xk>Z2+nf2w<=Is4A%j|DUSzW1Zj?;bF4?bfO8U%;P}|X7)c- zM9AFmtL>xj;Qn_yNN0VjW&!8{@Bnj1@{tZ|E&h+7f6Q4;mlM+8wYn@A zxBdr!iFONEnB@P2|2nlkg#DjZ;K%%BvFi^)0Q}zr>;aKS@TyV&9sD0#sNW{OA7d^& zT-G|0^CJPsN<2bd$@srP{xRdS9Q&bW0OJq< zV}VDw>sh~w`;F_j_WT*o?{k^+J;H;_`(N;W%>)+ySe52%#e?_OAuxMME;L!|9w8i$0oIU^*@pRt-*hc@_pjJ$0&Y) zykI{yslO@zHyu6B`t?`C{renxk53YKYkm>s=QO@g@Aeo#z4jLYe$L?gL}_2sp?xcW ztw;SY0(?Kq{J1f`&pq}Sgtg%xfc%`v_nAZ^$eJg-t)epY}^UId!_W_>xzQF)~3;Y%q|4XFr z0(JeB*Y~dNkDIA-`M*Q^n-Th*JM!aZBH8~XoPSxY-@DEKmCpCBbB}xW?7=U=e4Cqp zGEBes7J9ro#-05V#$R0W{>tHdmw?BsBgo}Hk^kd{`2I05^P}$NbMtG`|LSD$ef_^a qO8)--6ZH{7-otlyCEq future = ApplicationManager.getApplication().executeOnPooledThread(myConnection); - while (true) { - try { - myException = future.get(100, TimeUnit.MILLISECONDS); - return; - } - catch (TimeoutException ignore) { + try { + myConnection = repository.createCancellableConnection(); + if (myConnection != null) { + Future future = ApplicationManager.getApplication().executeOnPooledThread(myConnection); + while (true) { try { - indicator.checkCanceled(); + myException = future.get(100, TimeUnit.MILLISECONDS); + return; } - catch (ProcessCanceledException e) { + catch (TimeoutException ignore) { + try { + indicator.checkCanceled(); + } + catch (ProcessCanceledException e) { + myException = e; + myConnection.cancel(); + return; + } + } + catch (Exception e) { myException = e; - myConnection.cancel(); return; } } + } + else { + try { + repository.testConnection(); + } catch (Exception e) { + LOG.info(e); myException = e; - return; } } } - else { - try { - repository.testConnection(); - } - catch (Exception e) { - LOG.info(e); - myException = e; - } + catch (Exception e) { + myException = e; } } }; @@ -439,7 +445,15 @@ public class TaskManagerImpl extends TaskManager implements ProjectComponent, Pe Messages.showMessageDialog(myProject, "Connection is successful", "Connection", Messages.getInformationIcon()); } else if (!(e instanceof ProcessCanceledException)) { - Messages.showErrorDialog(myProject, e.getMessage(), "Error"); + String message = e.getMessage(); + if (e instanceof UnknownHostException) { + message = "Unknown host: " + message; + } + if (message == null) { + LOG.error(e); + message = "Unknown error"; + } + Messages.showErrorDialog(myProject, message, "Error"); } return e == null; } diff --git a/plugins/tasks/tasks-core/tasks-core.iml b/plugins/tasks/tasks-core/tasks-core.iml index e7c5ba007155..0bb216762093 100644 --- a/plugins/tasks/tasks-core/tasks-core.iml +++ b/plugins/tasks/tasks-core/tasks-core.iml @@ -23,6 +23,7 @@ + From 5aa98ed602ee6f2eb655817ad24c63a8b0c1b380 Mon Sep 17 00:00:00 2001 From: nik Date: Tue, 6 Mar 2012 14:11:21 +0400 Subject: [PATCH 10/41] changed LOG.info to LOG.debug to fix tests --- .../incremental/artifacts/ArtifactCompilerPersistentData.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jps/jps-builders/src/org/jetbrains/jps/incremental/artifacts/ArtifactCompilerPersistentData.java b/jps/jps-builders/src/org/jetbrains/jps/incremental/artifacts/ArtifactCompilerPersistentData.java index 65120bb9cf02..1d9597f7306f 100644 --- a/jps/jps-builders/src/org/jetbrains/jps/incremental/artifacts/ArtifactCompilerPersistentData.java +++ b/jps/jps-builders/src/org/jetbrains/jps/incremental/artifacts/ArtifactCompilerPersistentData.java @@ -40,7 +40,7 @@ public class ArtifactCompilerPersistentData { public ArtifactCompilerPersistentData(File cacheStoreDirectory) throws IOException { myFile = new File(cacheStoreDirectory, "info"); if (!myFile.exists()) { - LOG.info("Artifacts compiler info file doesn't exist: " + myFile.getAbsolutePath()); + LOG.debug("Artifacts compiler info file doesn't exist: " + myFile.getAbsolutePath()); myVersionChanged = true; return; } @@ -49,7 +49,7 @@ public class ArtifactCompilerPersistentData { try { final int version = input.readInt(); if (version != VERSION) { - LOG.info("Artifacts compiler version changed (" + myFile.getAbsolutePath() + "): " + version + " -> " + VERSION); + LOG.debug("Artifacts compiler version changed (" + myFile.getAbsolutePath() + "): " + version + " -> " + VERSION); myVersionChanged = true; return; } From b5bfa2d4df013c90b910d94f2ca06a5d79ceaf29 Mon Sep 17 00:00:00 2001 From: "Denis.Zhdanov" Date: Tue, 6 Mar 2012 14:21:06 +0400 Subject: [PATCH 11/41] IDEA-76142: Gradle support - cannot update IDEA projects once one of build.gradle files changes 'Gradle location deduced' balloon is shown with the one second delay now --- .../plugins/gradle/config/GradleConfigurable.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/plugins/gradle/src/org/jetbrains/plugins/gradle/config/GradleConfigurable.java b/plugins/gradle/src/org/jetbrains/plugins/gradle/config/GradleConfigurable.java index f21de8c75b8c..6c9a30839205 100644 --- a/plugins/gradle/src/org/jetbrains/plugins/gradle/config/GradleConfigurable.java +++ b/plugins/gradle/src/org/jetbrains/plugins/gradle/config/GradleConfigurable.java @@ -58,7 +58,8 @@ public class GradleConfigurable implements SearchableConfigurable, Configurable. * This property has a form of 'not-propagate' in order to default to 'propagate'. */ @NonNls private static final String NOT_PROPAGATE_GRADLE_HOME_TO_DEFAULT_PROJECT = "gradle.not.propagate.home.to.default.project"; - + private static final long BALLOON_DELAY_MILLIS = TimeUnit.SECONDS.toMillis(1); + private final Alarm myAlarm = new Alarm(Alarm.ThreadToUse.SWING_THREAD); private final GradleLibraryManager myLibraryManager; @@ -286,17 +287,25 @@ public class GradleConfigurable implements SearchableConfigurable, Configurable. private class DelayedBalloonInfo implements Runnable { private final MessageType myMessageType; private final String myText; + private final long myTriggerTime; DelayedBalloonInfo(@NotNull MessageType messageType, @NotNull GradleHomeSettingType settingType) { myMessageType = messageType; myText = settingType.getDescription(); + myTriggerTime = System.currentTimeMillis() + BALLOON_DELAY_MILLIS; } @Override public void run() { + long diff = myTriggerTime - System.currentTimeMillis(); + if (diff > 0) { + myAlarm.cancelAllRequests(); + myAlarm.addRequest(this, diff); + return; + } if (myGradleHomeComponent == null || !myGradleHomeComponent.getPathComponent().isShowing()) { myAlarm.cancelAllRequests(); - myAlarm.addRequest(this, (int)TimeUnit.MILLISECONDS.toMillis(200)); + myAlarm.addRequest(this, 200); return; } GradleUtil.showBalloon(myGradleHomeComponent.getPathComponent(), myMessageType, myText); From 04969fccb509913704bc64f6158f86e2c7430bd6 Mon Sep 17 00:00:00 2001 From: Dmitry Avdeev Date: Tue, 6 Mar 2012 14:31:32 +0400 Subject: [PATCH 12/41] IDEA-79902 Integration with JIRA 3.12.2 doesn't work --- .../jira/AtlassianConfigurableAdapter.java | 66 ------------------- 1 file changed, 66 deletions(-) delete mode 100644 plugins/tasks/jira-connector/src/main/java/com/intellij/tasks/jira/AtlassianConfigurableAdapter.java diff --git a/plugins/tasks/jira-connector/src/main/java/com/intellij/tasks/jira/AtlassianConfigurableAdapter.java b/plugins/tasks/jira-connector/src/main/java/com/intellij/tasks/jira/AtlassianConfigurableAdapter.java deleted file mode 100644 index 79697c424712..000000000000 --- a/plugins/tasks/jira-connector/src/main/java/com/intellij/tasks/jira/AtlassianConfigurableAdapter.java +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Copyright 2000-2012 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.intellij.tasks.jira; - -import com.atlassian.theplugin.commons.util.HttpConfigurableAdapter; -import com.intellij.util.net.HttpConfigurable; - -/** -* @author Dmitry Avdeev -* Date: 3/5/12 -*/ -class AtlassianConfigurableAdapter implements HttpConfigurableAdapter { - - @Override - public boolean isKeepProxyPassowrd() { - return HttpConfigurable.getInstance().KEEP_PROXY_PASSWORD; - } - - @Override - public boolean isProxyAuthentication() { - return HttpConfigurable.getInstance().PROXY_AUTHENTICATION; - } - - @Override - public boolean isUseHttpProxy() { - return HttpConfigurable.getInstance().USE_HTTP_PROXY; - } - - @Override - public String getPlainProxyPassword() { - return HttpConfigurable.getInstance().getPlainProxyPassword(); - } - - @Override - public String getProxyLogin() { - return HttpConfigurable.getInstance().PROXY_LOGIN; - } - - @Override - public int getProxyPort() { - return HttpConfigurable.getInstance().PROXY_PORT; - } - - @Override - public String getProxyHost() { - return HttpConfigurable.getInstance().PROXY_HOST; - } - - @Override - public Object getHTTPProxySettingsDialog() { - return null; - } -} From b2e3a59921a8ef61ac1ba2622c8e734824c539af Mon Sep 17 00:00:00 2001 From: Eugene Kudelevsky Date: Mon, 5 Mar 2012 18:09:10 +0400 Subject: [PATCH 13/41] IDEA-82205 always exclude generated source roots --- .../android/compiler/AndroidCompileUtil.java | 52 +++++++++++-------- 1 file changed, 31 insertions(+), 21 deletions(-) diff --git a/plugins/android/src/org/jetbrains/android/compiler/AndroidCompileUtil.java b/plugins/android/src/org/jetbrains/android/compiler/AndroidCompileUtil.java index 044eefc33bc8..de504573f20c 100644 --- a/plugins/android/src/org/jetbrains/android/compiler/AndroidCompileUtil.java +++ b/plugins/android/src/org/jetbrains/android/compiler/AndroidCompileUtil.java @@ -244,13 +244,14 @@ public class AndroidCompileUtil { return GEN_MODULE_PREFIX + module.getName(); } - public static void createSourceRootIfNotExist(@NotNull final String path, @NotNull final Module module) { + @Nullable + public static VirtualFile createSourceRootIfNotExist(@NotNull final String path, @NotNull final Module module) { ApplicationManager.getApplication().assertIsDispatchThread(); final File rootFile = new File(path); final boolean created; if (!rootFile.exists()) { - if (!rootFile.mkdirs()) return; + if (!rootFile.mkdirs()) return null; created = true; } else { @@ -266,7 +267,7 @@ public class AndroidCompileUtil { } if (project.isDisposed() || module.isDisposed()) { - return; + return null; } final VirtualFile root; @@ -295,9 +296,8 @@ public class AndroidCompileUtil { } }); } - - excludeFromCompilation(project, root); } + return root; } private static void excludeFromCompilation(@NotNull Project project, @NotNull VirtualFile dir) { @@ -636,27 +636,37 @@ public class AndroidCompileUtil { public static void createGenModulesAndSourceRoots(@NotNull final AndroidFacet facet) { final Module module = facet.getModule(); - String sourceRootPath; - final GlobalSearchScope moduleScope = facet.getModule().getModuleScope(); - if (FileTypeIndex.getFiles(AndroidRenderscriptFileType.INSTANCE, moduleScope).size() > 0) { - sourceRootPath = AndroidRootUtil.getRenderscriptGenSourceRootPath(facet); - if (sourceRootPath != null) { - createSourceRootIfNotExist(sourceRootPath, module); + initializeGenSourceRoot(module, + AndroidRootUtil.getRenderscriptGenSourceRootPath(facet), + FileTypeIndex.getFiles(AndroidRenderscriptFileType.INSTANCE, moduleScope).size() > 0); + + + initializeGenSourceRoot(module, AndroidRootUtil.getAptGenSourceRootPath(facet), true); + + initializeGenSourceRoot(module, + AndroidRootUtil.getAidlGenSourceRootPath(facet), + FileTypeIndex.getFiles(AndroidIdlFileType.ourFileType, moduleScope).size() > 0); + } + + private static void initializeGenSourceRoot(@NotNull Module module, @Nullable String sourceRootPath, boolean createIfNotExist) { + if (sourceRootPath == null) { + return; + } + VirtualFile sourceRoot = null; + + if (createIfNotExist) { + final VirtualFile root = createSourceRootIfNotExist(sourceRootPath, module); + if (root != null) { + sourceRoot = root; } } - - sourceRootPath = AndroidRootUtil.getAptGenSourceRootPath(facet); - if (sourceRootPath != null) { - createSourceRootIfNotExist(sourceRootPath, module); + if (sourceRoot == null) { + sourceRoot = LocalFileSystem.getInstance().findFileByPath(sourceRootPath); } - - if (FileTypeIndex.getFiles(AndroidIdlFileType.ourFileType, moduleScope).size() > 0) { - sourceRootPath = AndroidRootUtil.getAidlGenSourceRootPath(facet); - if (sourceRootPath != null) { - createSourceRootIfNotExist(sourceRootPath, module); - } + if (sourceRoot != null) { + excludeFromCompilation(module.getProject(), sourceRoot); } } From 84034bbd6ea6f5bfe5902badff028130f415333a Mon Sep 17 00:00:00 2001 From: Eugene Kudelevsky Date: Mon, 5 Mar 2012 20:32:34 +0400 Subject: [PATCH 14/41] IDEA-79809 reuse old apklib module location --- .../maven/AndroidFacetImporterBase.java | 28 +++++++++++++++---- 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/plugins/android/src/org/jetbrains/android/maven/AndroidFacetImporterBase.java b/plugins/android/src/org/jetbrains/android/maven/AndroidFacetImporterBase.java index ebd7a68326ae..6b965b19926b 100644 --- a/plugins/android/src/org/jetbrains/android/maven/AndroidFacetImporterBase.java +++ b/plugins/android/src/org/jetbrains/android/maven/AndroidFacetImporterBase.java @@ -270,13 +270,29 @@ public abstract class AndroidFacetImporterBase extends FacetImporter Date: Tue, 6 Mar 2012 15:06:52 +0400 Subject: [PATCH 15/41] IDEA-80771 pack assets from libraries to apk --- .../jps/android/AndroidPackagingBuilder.java | 12 +++- .../android/compiler/tools/AndroidApt.java | 62 +++++++++++++++---- .../android/compiler/AndroidAptCompiler.java | 1 + .../AndroidResourcesPackagingCompiler.java | 47 ++++++++++---- .../compiler/ResourcesValidityState.java | 12 ++-- 5 files changed, 106 insertions(+), 28 deletions(-) diff --git a/plugins/android/jps-plugin/src/org/jetbrains/jps/android/AndroidPackagingBuilder.java b/plugins/android/jps-plugin/src/org/jetbrains/jps/android/AndroidPackagingBuilder.java index 276f45c32357..2967d7ae736c 100644 --- a/plugins/android/jps-plugin/src/org/jetbrains/jps/android/AndroidPackagingBuilder.java +++ b/plugins/android/jps-plugin/src/org/jetbrains/jps/android/AndroidPackagingBuilder.java @@ -25,6 +25,7 @@ import org.jetbrains.jps.incremental.messages.CompilerMessage; import org.jetbrains.jps.incremental.messages.ProgressMessage; import java.io.File; +import java.io.FileFilter; import java.io.IOException; import java.util.*; @@ -464,8 +465,17 @@ public class AndroidPackagingBuilder extends ProjectLevelBuilder { final String outputPath = releasePackage ? outputFilePath + RELEASE_SUFFIX : outputFilePath; + + // todo: pass assets from apklib, filter ignored files final Map> messages = AndroidApt - .packageResources(target, -1, manifestFile.getPath(), resourceDirPaths, assetsDirPath, outputPath, null, !releasePackage, 0); + .packageResources(target, -1, manifestFile.getPath(), resourceDirPaths, + assetsDirPath != null ? new String[]{assetsDirPath} : ArrayUtil.EMPTY_STRING_ARRAY, outputPath, null, + !releasePackage, 0, new FileFilter() { + @Override + public boolean accept(File pathname) { + return true; + } + }); AndroidJpsUtil.addMessages(context, messages, BUILDER_NAME); return messages.get(AndroidCompilerMessageKind.ERROR).size() == 0; diff --git a/plugins/android/rt/src/org/jetbrains/android/compiler/tools/AndroidApt.java b/plugins/android/rt/src/org/jetbrains/android/compiler/tools/AndroidApt.java index d6e6199c3ab5..19bf21739f52 100644 --- a/plugins/android/rt/src/org/jetbrains/android/compiler/tools/AndroidApt.java +++ b/plugins/android/rt/src/org/jetbrains/android/compiler/tools/AndroidApt.java @@ -234,11 +234,12 @@ public final class AndroidApt { int platformToolsRevision, @NotNull String manifestPath, @NotNull String[] resPaths, - @Nullable String osAssetsPath, + @NotNull String[] osAssetDirPaths, @NotNull String outputPath, @Nullable String configFilter, boolean debugMode, - int versionCode) throws IOException { + int versionCode, + FileFilter assetsFilter) throws IOException { final ArrayList args = new ArrayList(); //noinspection deprecation @@ -278,18 +279,57 @@ public final class AndroidApt { args.add("-M"); args.add(manifestPath); - if (osAssetsPath != null) { - args.add("-A"); - args.add(osAssetsPath); + File tempDir = null; + try { + if (osAssetDirPaths.length > 0) { + final String[] nonEmptyAssetDirs = getNonEmptyExistingDirs(osAssetDirPaths); + + if (nonEmptyAssetDirs.length > 0) { + if (nonEmptyAssetDirs.length == 1) { + args.add("-A"); + args.add(nonEmptyAssetDirs[0]); + } + else { + tempDir = FileUtil.createTempDirectory("android_combined_assets", "tmp"); + for (String assetDir : nonEmptyAssetDirs) { + FileUtil.copyDir(new File(assetDir), tempDir, assetsFilter); + } + args.add("-A"); + args.add(tempDir.getPath()); + } + } + } + + args.add("-I"); + args.add(target.getPath(IAndroidTarget.ANDROID_JAR)); + + args.add("-F"); + args.add(outputPath); + + LOG.info(AndroidCommonUtils.command2string(args)); + return AndroidExecutionUtil.doExecute(ArrayUtil.toStringArray(args)); } + finally { + if (tempDir != null) { + FileUtil.delete(tempDir); + } + } + } - args.add("-I"); - args.add(target.getPath(IAndroidTarget.ANDROID_JAR)); + @NotNull + private static String[] getNonEmptyExistingDirs(@NotNull String[] dirs) { + final List result = new ArrayList(); + for (String dirPath : dirs) { + final File dir = new File(dirPath); - args.add("-F"); - args.add(outputPath); + if (dir.isDirectory()) { + final File[] children = dir.listFiles(); - LOG.info(AndroidCommonUtils.command2string(args)); - return AndroidExecutionUtil.doExecute(ArrayUtil.toStringArray(args)); + if (children != null && children.length > 0) { + result.add(dirPath); + } + } + } + return ArrayUtil.toStringArray(result); } } diff --git a/plugins/android/src/org/jetbrains/android/compiler/AndroidAptCompiler.java b/plugins/android/src/org/jetbrains/android/compiler/AndroidAptCompiler.java index 28e14d13aa05..d9a39a822d7e 100644 --- a/plugins/android/src/org/jetbrains/android/compiler/AndroidAptCompiler.java +++ b/plugins/android/src/org/jetbrains/android/compiler/AndroidAptCompiler.java @@ -262,6 +262,7 @@ public class AndroidAptCompiler implements SourceGeneratingCompiler { } + // todo: support this in android-jps // see IDEA-79737 for details private static boolean hasBadCircularDependencies(@NotNull AndroidFacet facet) { final List dependencies = AndroidSdkUtils.getAllAndroidDependencies(facet.getModule(), true); diff --git a/plugins/android/src/org/jetbrains/android/compiler/AndroidResourcesPackagingCompiler.java b/plugins/android/src/org/jetbrains/android/compiler/AndroidResourcesPackagingCompiler.java index 2db81a6c665d..124fe46d35ca 100644 --- a/plugins/android/src/org/jetbrains/android/compiler/AndroidResourcesPackagingCompiler.java +++ b/plugins/android/src/org/jetbrains/android/compiler/AndroidResourcesPackagingCompiler.java @@ -22,9 +22,11 @@ import com.intellij.openapi.compiler.*; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.module.Module; import com.intellij.openapi.module.ModuleManager; +import com.intellij.openapi.roots.ProjectRootManager; import com.intellij.openapi.util.io.FileUtil; import com.intellij.openapi.vfs.LocalFileSystem; import com.intellij.openapi.vfs.VirtualFile; +import com.intellij.util.ArrayUtil; import org.jetbrains.android.compiler.tools.AndroidApt; import org.jetbrains.android.dom.manifest.Application; import org.jetbrains.android.dom.manifest.Manifest; @@ -32,14 +34,12 @@ import org.jetbrains.android.facet.AndroidFacet; import org.jetbrains.android.facet.AndroidFacetConfiguration; import org.jetbrains.android.facet.AndroidRootUtil; import org.jetbrains.android.sdk.AndroidPlatform; +import org.jetbrains.android.sdk.AndroidSdkUtils; import org.jetbrains.android.util.AndroidBundle; import org.jetbrains.android.util.AndroidUtils; import org.jetbrains.annotations.NotNull; -import java.io.DataInput; -import java.io.DataOutput; -import java.io.File; -import java.io.IOException; +import java.io.*; import java.util.ArrayList; import java.util.Collections; import java.util.List; @@ -61,7 +61,11 @@ public class AndroidResourcesPackagingCompiler implements ClassPostProcessingCom AndroidFacet facet = AndroidFacet.getInstance(module); if (facet != null && !facet.getConfiguration().LIBRARY_PROJECT) { VirtualFile manifestFile = AndroidRootUtil.getManifestFileForCompiler(facet); - VirtualFile assetsDir = AndroidRootUtil.getAssetsDir(facet); + + final ArrayList assetDirPathsList = new ArrayList(); + collectAssetDirs(facet, assetDirPathsList); + final String[] assetDirPaths = ArrayUtil.toStringArray(assetDirPathsList); + if (manifestFile == null) { context.addMessage(CompilerMessageCategory.ERROR, AndroidBundle.message("android.compilation.error.manifest.not.found"), null, -1, -1); @@ -75,7 +79,6 @@ public class AndroidResourcesPackagingCompiler implements ClassPostProcessingCom final AndroidPlatform platform = configuration.getAndroidPlatform(); if (platform != null) { - String assetsDirPath = assetsDir != null ? assetsDir.getPath() : null; String[] resourcesDirPaths = AndroidCompileUtil.collectResourceDirs(facet, true, context); final IAndroidTarget target = platform.getTarget(); final int platformToolsRevision = platform.getSdkData().getPlatformToolsRevision(); @@ -85,7 +88,7 @@ public class AndroidResourcesPackagingCompiler implements ClassPostProcessingCom null, -1, -1); } - items.add(new MyItem(module, target, platformToolsRevision, manifestFile, resourcesDirPaths, assetsDirPath, outputPath, + items.add(new MyItem(module, target, platformToolsRevision, manifestFile, resourcesDirPaths, assetDirPaths, outputPath, configuration.GENERATE_UNSIGNED_APK, AndroidCompileUtil.isReleaseBuild(context))); //items.add(new MyItem(module, target, manifestFile, resourcesDirPaths, assetsDirPath, outputPath + RELEASE_SUFFIX, true)); } @@ -94,6 +97,20 @@ public class AndroidResourcesPackagingCompiler implements ClassPostProcessingCom } return items.toArray(new ProcessingItem[items.size()]); } + + private static void collectAssetDirs(@NotNull AndroidFacet facet, @NotNull List result) { + final VirtualFile assetsDir = AndroidRootUtil.getAssetsDir(facet); + if (assetsDir != null) { + result.add(FileUtil.toSystemDependentName(assetsDir.getPath())); + } + for (AndroidFacet depFacet : AndroidSdkUtils.getAllAndroidDependencies(facet.getModule(), true)) { + final VirtualFile depAssetsDir = AndroidRootUtil.getAssetsDir(depFacet); + + if (depAssetsDir != null) { + result.add(FileUtil.toSystemDependentName(depAssetsDir.getPath())); + } + } + } static File getOutputFile(Module module, VirtualFile outputDir) { return new File(outputDir.getPath(), module.getName() + ".apk.res"); @@ -157,8 +174,14 @@ public class AndroidResourcesPackagingCompiler implements ClassPostProcessingCom item.myPlatformToolsRevision, preprocessedManifestFile.getPath(), item.myResourceDirPaths, - item.myAssetsDirPath, - outputPath, null, !releasePackage, 0)); + item.myAssetsDirPaths, + outputPath, null, !releasePackage, 0, new FileFilter() { + @Override + public boolean accept(File file) { + final VirtualFile vFile = LocalFileSystem.getInstance().findFileByIoFile(file); + return vFile != null && !ProjectRootManager.getInstance(context.getProject()).getFileIndex().isIgnored(vFile); + } + })); AndroidCompileUtil.addMessages(context, messages, presentableFilesMap); } @@ -245,7 +268,7 @@ public class AndroidResourcesPackagingCompiler implements ClassPostProcessingCom final VirtualFile myManifestFile; final IAndroidTarget myAndroidTarget; final String[] myResourceDirPaths; - final String myAssetsDirPath; + final String[] myAssetsDirPaths; final String myOutputPath; private final boolean myFileExists; @@ -258,7 +281,7 @@ public class AndroidResourcesPackagingCompiler implements ClassPostProcessingCom int platformToolsRevision, VirtualFile manifestFile, String[] resourceDirPaths, - String assetsDirPath, + String[] assetsDirPath, String outputPath, boolean generateUnsignedApk, boolean releaseBuild) { @@ -267,7 +290,7 @@ public class AndroidResourcesPackagingCompiler implements ClassPostProcessingCom myPlatformToolsRevision = platformToolsRevision; myManifestFile = manifestFile; myResourceDirPaths = resourceDirPaths; - myAssetsDirPath = assetsDirPath; + myAssetsDirPaths = assetsDirPath; myOutputPath = outputPath; myFileExists = new File(outputPath).exists(); myGenerateUnsignedApk = generateUnsignedApk; diff --git a/plugins/android/src/org/jetbrains/android/compiler/ResourcesValidityState.java b/plugins/android/src/org/jetbrains/android/compiler/ResourcesValidityState.java index bbe10233e821..a5f619162e0a 100644 --- a/plugins/android/src/org/jetbrains/android/compiler/ResourcesValidityState.java +++ b/plugins/android/src/org/jetbrains/android/compiler/ResourcesValidityState.java @@ -62,6 +62,10 @@ public class ResourcesValidityState implements ValidityState { if (resourcesDir != null) { collectFiles(resourcesDir); } + VirtualFile assetsDir = AndroidRootUtil.getAssetsDir(facet); + if (assetsDir != null) { + collectFiles(assetsDir); + } for (AndroidFacet depFacet : AndroidSdkUtils.getAllAndroidDependencies(module, true)) { VirtualFile depManifest = AndroidRootUtil.getManifestFile(depFacet); if (depManifest != null) { @@ -71,10 +75,10 @@ public class ResourcesValidityState implements ValidityState { if (depResDir != null) { collectFiles(depResDir); } - } - VirtualFile assetsDir = AndroidRootUtil.getAssetsDir(facet); - if (assetsDir != null) { - collectFiles(assetsDir); + final VirtualFile depAssetDir = AndroidRootUtil.getAssetsDir(depFacet); + if (depAssetDir != null) { + collectFiles(depAssetDir); + } } } From b361b10dbce04b0ca9e2a406abda8ec3dbc82463 Mon Sep 17 00:00:00 2001 From: irengrig Date: Tue, 6 Mar 2012 15:11:21 +0400 Subject: [PATCH 16/41] IDEA-82288 Merge dialog broken in current EAP 116.32 --- .../diff/impl/external/MultiLevelDiffTool.java | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/openapi/diff/impl/external/MultiLevelDiffTool.java b/platform/platform-impl/src/com/intellij/openapi/diff/impl/external/MultiLevelDiffTool.java index 73d07bc85962..766aa08e866d 100644 --- a/platform/platform-impl/src/com/intellij/openapi/diff/impl/external/MultiLevelDiffTool.java +++ b/platform/platform-impl/src/com/intellij/openapi/diff/impl/external/MultiLevelDiffTool.java @@ -21,10 +21,7 @@ import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.actionSystem.CustomShortcutSet; import com.intellij.openapi.actionSystem.PlatformDataKeys; import com.intellij.openapi.diagnostic.Logger; -import com.intellij.openapi.diff.DiffContent; -import com.intellij.openapi.diff.DiffRequest; -import com.intellij.openapi.diff.DiffTool; -import com.intellij.openapi.diff.DiffViewer; +import com.intellij.openapi.diff.*; import com.intellij.openapi.diff.impl.CompositeDiffPanel; import com.intellij.openapi.diff.impl.DiffUtil; import com.intellij.openapi.keymap.KeymapManager; @@ -161,10 +158,19 @@ public class MultiLevelDiffTool implements DiffTool, DiscloseMultiRequest { AbstractProperty.AbstractPropertyContainer config = DiffManagerImpl.getInstanceEx().getProperties(); if (isFile && DiffManagerImpl.ENABLE_FILES.value(config)) return false; if (! isFile && DiffManagerImpl.ENABLE_FOLDERS.value(config)) return false; - return true; + return ! (DiffViewerType.merge.equals(request.getType()) && contentsWriteable(request)); //return request.haveMultipleLayers(); } + private boolean contentsWriteable(DiffRequest request) { + final DiffContent[] contents = request.getContents(); + + for (DiffContent content : contents) { + if (content != null && content.getDocument().isWritable()) return true; + } + return false; + } + @Override public DiffViewer createComponent(String title, DiffRequest request, Window window, Disposable parentDisposable) { // should not be called for it From 263c31ac81597a236aa65585f4871069f2c4bf68 Mon Sep 17 00:00:00 2001 From: irengrig Date: Tue, 6 Mar 2012 15:29:44 +0400 Subject: [PATCH 17/41] IDEA-82296 Commit is automatically split into several different commits --- .../jetbrains/idea/svn/checkin/SvnCheckinEnvironment.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/plugins/svn4idea/src/org/jetbrains/idea/svn/checkin/SvnCheckinEnvironment.java b/plugins/svn4idea/src/org/jetbrains/idea/svn/checkin/SvnCheckinEnvironment.java index f932035c12ea..ffd784799587 100644 --- a/plugins/svn4idea/src/org/jetbrains/idea/svn/checkin/SvnCheckinEnvironment.java +++ b/plugins/svn4idea/src/org/jetbrains/idea/svn/checkin/SvnCheckinEnvironment.java @@ -50,6 +50,7 @@ import org.jetbrains.idea.svn.*; import org.tmatesoft.svn.core.SVNCancelException; import org.tmatesoft.svn.core.SVNCommitInfo; import org.tmatesoft.svn.core.SVNException; +import org.tmatesoft.svn.core.SVNURL; import org.tmatesoft.svn.core.wc.*; import javax.swing.*; @@ -175,17 +176,17 @@ public class SvnCheckinEnvironment implements CheckinEnvironment { return Collections.singletonList(committables); } - final MultiMap result = new MultiMap(); + final MultiMap result = new MultiMap(); for (File committable : committables) { final RootUrlInfo path = mySvnVcs.getSvnFileUrlMapping().getWcRootForFilePath(committable); - result.putValue(path == null ? null : path.getIoFile(), committable); + result.putValue(path == null ? null : path.getRepositoryUrlUrl(), committable); } if (result.size() == 1) { return Collections.singletonList(committables); } final Collection> result2 = new ArrayList>(); - for (Map.Entry> entry : result.entrySet()) { + for (Map.Entry> entry : result.entrySet()) { result2.add(entry.getValue()); } return result2; From a8a2f3cc403afb6e22c2acd45232f444543cb688 Mon Sep 17 00:00:00 2001 From: Dmitry Avdeev Date: Tue, 6 Mar 2012 16:05:58 +0400 Subject: [PATCH 18/41] changelist name format moved to task settings --- .../com/intellij/tasks/TaskRepository.java | 10 ----- .../tasks/config/BaseRepositoryEditor.form | 41 +++-------------- .../tasks/config/BaseRepositoryEditor.java | 4 -- .../tasks/actions/CreateChangelistAction.java | 6 +-- .../tasks/config/TaskConfigurable.form | 44 ++++++++++++++----- .../tasks/config/TaskConfigurable.java | 3 ++ .../intellij/tasks/impl/TaskManagerImpl.java | 11 ++++- .../src/com/intellij/tasks/impl/TaskUtil.java | 10 +---- .../test/com/intellij/tasks/TaskVcsTest.java | 3 +- 9 files changed, 56 insertions(+), 76 deletions(-) diff --git a/plugins/tasks/tasks-api/src/com/intellij/tasks/TaskRepository.java b/plugins/tasks/tasks-api/src/com/intellij/tasks/TaskRepository.java index 8e5f91fb2677..b252af4cae4c 100644 --- a/plugins/tasks/tasks-api/src/com/intellij/tasks/TaskRepository.java +++ b/plugins/tasks/tasks-api/src/com/intellij/tasks/TaskRepository.java @@ -157,16 +157,6 @@ public abstract class TaskRepository { protected boolean myShouldFormatCommitMessage; protected String myCommitMessageFormat = "{id} {summary}"; - protected String myChangelistNameFormat = "{id} {summary}"; - - @Tag("changelistNameFormat") - public String getChangelistNameFormat() { - return myChangelistNameFormat; - } - - public void setChangelistNameFormat(String changelistNameFormat) { - myChangelistNameFormat = changelistNameFormat; - } private static String trimTrailingSlashes(String url) { if (url == null) return ""; diff --git a/plugins/tasks/tasks-api/src/com/intellij/tasks/config/BaseRepositoryEditor.form b/plugins/tasks/tasks-api/src/com/intellij/tasks/config/BaseRepositoryEditor.form index 51f340fc7e2a..4424935149e8 100644 --- a/plugins/tasks/tasks-api/src/com/intellij/tasks/config/BaseRepositoryEditor.form +++ b/plugins/tasks/tasks-api/src/com/intellij/tasks/config/BaseRepositoryEditor.form @@ -145,48 +145,17 @@ - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -194,7 +163,7 @@ - + @@ -202,7 +171,7 @@ - + diff --git a/plugins/tasks/tasks-api/src/com/intellij/tasks/config/BaseRepositoryEditor.java b/plugins/tasks/tasks-api/src/com/intellij/tasks/config/BaseRepositoryEditor.java index 20af929af5ef..d268e4ed3bb5 100644 --- a/plugins/tasks/tasks-api/src/com/intellij/tasks/config/BaseRepositoryEditor.java +++ b/plugins/tasks/tasks-api/src/com/intellij/tasks/config/BaseRepositoryEditor.java @@ -57,7 +57,6 @@ public class BaseRepositoryEditor extends TaskReposito protected JPanel myCustomPanel; protected JPanel myCustomLabel; - private JTextField myChangelistNameFormat; private JBCheckBox myAddCommitMessage; private JLabel myComment; private JPanel myEditorPanel; @@ -94,14 +93,12 @@ public class BaseRepositoryEditor extends TaskReposito myUseHTTPAuthentication.setSelected(repository.isUseHttpAuthentication()); myUseHTTPAuthentication.setVisible(repository.getRepositoryType().isSupported(TaskRepositoryType.BASIC_HTTP_AUTHORIZATION)); - myChangelistNameFormat.setText(repository.getChangelistNameFormat()); myAddCommitMessage.setSelected(repository.isShouldFormatCommitMessage()); myDocument = EditorFactory.getInstance().createDocument(repository.getCommitMessageFormat()); myEditor = EditorFactory.getInstance().createEditor(myDocument); myEditorPanel.add(ScrollPaneFactory.createScrollPane(myEditor.getComponent(), SideBorder.NONE), BorderLayout.CENTER); myComment.setText("Available placeholders: " + repository.getComment()); - installListener(myChangelistNameFormat); installListener(myAddCommitMessage); myDocument.addDocumentListener(new com.intellij.openapi.editor.event.DocumentAdapter() { @Override @@ -185,7 +182,6 @@ public class BaseRepositoryEditor extends TaskReposito myRepository.setUseProxy(myUseProxy.isSelected()); myRepository.setUseHttpAuthentication(myUseHTTPAuthentication.isSelected()); - myRepository.setChangelistNameFormat(myChangelistNameFormat.getText()); myRepository.setShouldFormatCommitMessage(myAddCommitMessage.isSelected()); myRepository.setCommitMessageFormat(myDocument.getText()); diff --git a/plugins/tasks/tasks-core/src/com/intellij/tasks/actions/CreateChangelistAction.java b/plugins/tasks/tasks-core/src/com/intellij/tasks/actions/CreateChangelistAction.java index c72a4d9d9658..2c1273a15191 100644 --- a/plugins/tasks/tasks-core/src/com/intellij/tasks/actions/CreateChangelistAction.java +++ b/plugins/tasks/tasks-core/src/com/intellij/tasks/actions/CreateChangelistAction.java @@ -46,10 +46,10 @@ public class CreateChangelistAction extends BaseTaskAction { @Override public void actionPerformed(AnActionEvent e) { LocalTask activeTask = getActiveTask(e); - String name = Messages.showInputDialog(getProject(e), "Changelist name:", "Create Changelist", null, TaskUtil.getChangeListName(activeTask), null); + TaskManagerImpl manager = (TaskManagerImpl)getTaskManager(e); + assert manager != null; + String name = Messages.showInputDialog(getProject(e), "Changelist name:", "Create Changelist", null, manager.getChangelistName(activeTask), null); if (name != null) { - TaskManagerImpl manager = (TaskManagerImpl)getTaskManager(e); - assert manager != null; manager.createChangeList(activeTask, name); } } diff --git a/plugins/tasks/tasks-core/src/com/intellij/tasks/config/TaskConfigurable.form b/plugins/tasks/tasks-core/src/com/intellij/tasks/config/TaskConfigurable.form index ad72e0947e23..e5ea5e9950be 100644 --- a/plugins/tasks/tasks-core/src/com/intellij/tasks/config/TaskConfigurable.form +++ b/plugins/tasks/tasks-core/src/com/intellij/tasks/config/TaskConfigurable.form @@ -1,6 +1,6 @@

- + @@ -10,7 +10,7 @@ - + @@ -18,7 +18,7 @@ - + @@ -29,22 +29,23 @@ - + + - + - + @@ -58,7 +59,8 @@ - + + @@ -79,10 +81,12 @@ - + - + + + @@ -108,17 +112,35 @@ - + - + + + + + + + + + + + + + + + + + + + diff --git a/plugins/tasks/tasks-core/src/com/intellij/tasks/config/TaskConfigurable.java b/plugins/tasks/tasks-core/src/com/intellij/tasks/config/TaskConfigurable.java index 389a9e515f16..a600ec0f0d61 100644 --- a/plugins/tasks/tasks-core/src/com/intellij/tasks/config/TaskConfigurable.java +++ b/plugins/tasks/tasks-core/src/com/intellij/tasks/config/TaskConfigurable.java @@ -44,6 +44,9 @@ public class TaskConfigurable extends BindableConfigurable implements Searchable @BindControl("saveContextOnCommit") private JCheckBox mySaveContextOnCommit; + @BindControl("changelistNameFormat") + private JTextField myChangelistNameFormat; + private final Project myProject; private Configurable[] myConfigurables; private final NotNullLazyValue myControlBinder = new NotNullLazyValue() { diff --git a/plugins/tasks/tasks-core/src/com/intellij/tasks/impl/TaskManagerImpl.java b/plugins/tasks/tasks-core/src/com/intellij/tasks/impl/TaskManagerImpl.java index 88aaa5724c7c..bf164b1fe19a 100644 --- a/plugins/tasks/tasks-core/src/com/intellij/tasks/impl/TaskManagerImpl.java +++ b/plugins/tasks/tasks-core/src/com/intellij/tasks/impl/TaskManagerImpl.java @@ -321,7 +321,7 @@ public class TaskManagerImpl extends TaskManager implements ProjectComponent, Pe if (createChangelist) { if (changeLists.isEmpty()) { - String name = TaskUtil.getChangeListName(task); + String name = getChangelistName(task); String comment = TaskUtil.getChangeListComment(this, origin); createChangeList(task, name, comment); } else { @@ -335,6 +335,14 @@ public class TaskManagerImpl extends TaskManager implements ProjectComponent, Pe } } + public String getChangelistName(Task task) { + TaskRepository repository = task.getRepository(); + if (repository != null) { + return TaskUtil.formatTask(task, myConfig.changelistNameFormat); + } + return task.getSummary(); + } + private void saveActiveTask() { myContextManager.saveContext(myActiveTask); myActiveTask.setActive(false); @@ -831,6 +839,7 @@ public class TaskManagerImpl extends TaskManager implements ProjectComponent, Pe public boolean saveContextOnCommit = true; public boolean trackContextForNewChangelist = true; public boolean markAsInProgress = false; + public String changelistNameFormat = "{id} {summary}"; @Tag("servers") public Element servers = new Element("servers"); diff --git a/plugins/tasks/tasks-core/src/com/intellij/tasks/impl/TaskUtil.java b/plugins/tasks/tasks-core/src/com/intellij/tasks/impl/TaskUtil.java index c865f50068eb..be50da7d9998 100644 --- a/plugins/tasks/tasks-core/src/com/intellij/tasks/impl/TaskUtil.java +++ b/plugins/tasks/tasks-core/src/com/intellij/tasks/impl/TaskUtil.java @@ -27,15 +27,7 @@ import org.jetbrains.annotations.Nullable; */ public class TaskUtil { - public static String getChangeListName(Task task) { - TaskRepository repository = task.getRepository(); - if (repository != null) { - return formatTask(task, repository.getChangelistNameFormat()); - } - return task.getSummary(); - } - - private static String formatTask(Task task, String format) { + public static String formatTask(Task task, String format) { return format.replace("{id}", task.getId()).replace("{number}", task.getNumber()) .replace("{project}", task.getProject()).replace("{summary}", task.getSummary()); } diff --git a/plugins/tasks/tasks-tests/test/com/intellij/tasks/TaskVcsTest.java b/plugins/tasks/tasks-tests/test/com/intellij/tasks/TaskVcsTest.java index bce02fb3d376..0da7ab0ded7c 100644 --- a/plugins/tasks/tasks-tests/test/com/intellij/tasks/TaskVcsTest.java +++ b/plugins/tasks/tasks-tests/test/com/intellij/tasks/TaskVcsTest.java @@ -22,7 +22,6 @@ import com.intellij.openapi.vcs.changes.LocalChangeList; import com.intellij.openapi.vcs.changes.committed.MockAbstractVcs; import com.intellij.openapi.vcs.impl.projectlevelman.AllVcses; import com.intellij.tasks.impl.LocalTaskImpl; -import com.intellij.tasks.impl.TaskUtil; import java.util.Collections; import java.util.List; @@ -58,7 +57,7 @@ public class TaskVcsTest extends TaskManagerTestCase { private ChangeListInfo createChangelist(LocalTaskImpl task) { clearChangeLists(); - myManager.createChangeList(task, TaskUtil.getChangeListName(task)); + myManager.createChangeList(task, myManager.getChangelistName(task)); List list = myManager.getOpenChangelists(task); assertEquals(1, list.size()); ChangeListInfo info = list.get(0); From 941b0f2702800e6c628054bc2d80789ca005a9a0 Mon Sep 17 00:00:00 2001 From: Dmitry Avdeev Date: Tue, 6 Mar 2012 16:08:18 +0400 Subject: [PATCH 19/41] changelist name format moved to task settings --- .../src/com/intellij/tasks/config/BaseRepositoryEditor.form | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/tasks/tasks-api/src/com/intellij/tasks/config/BaseRepositoryEditor.form b/plugins/tasks/tasks-api/src/com/intellij/tasks/config/BaseRepositoryEditor.form index 4424935149e8..2017763b0229 100644 --- a/plugins/tasks/tasks-api/src/com/intellij/tasks/config/BaseRepositoryEditor.form +++ b/plugins/tasks/tasks-api/src/com/intellij/tasks/config/BaseRepositoryEditor.form @@ -166,7 +166,7 @@ - + From cd904178ec4465087f3c69b3537131b42e3031ab Mon Sep 17 00:00:00 2001 From: Pavel Fatin Date: Tue, 6 Mar 2012 16:31:18 +0400 Subject: [PATCH 20/41] ITNReporter: check whether parent component of message dialog is showing --- .../com/intellij/diagnostic/ITNReporter.java | 24 +++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/diagnostic/ITNReporter.java b/platform/platform-impl/src/com/intellij/diagnostic/ITNReporter.java index 7293f36dff5e..2bb2486a4dc9 100644 --- a/platform/platform-impl/src/com/intellij/diagnostic/ITNReporter.java +++ b/platform/platform-impl/src/com/intellij/diagnostic/ITNReporter.java @@ -43,6 +43,7 @@ import com.intellij.util.Consumer; import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; +import javax.swing.*; import javax.swing.event.HyperlinkEvent; import java.awt.*; @@ -68,7 +69,7 @@ public class ITNReporter extends ErrorReportSubmitter { String additionalInfo, Component parentComponent, Consumer consumer) { - return sendError(events [0], additionalInfo, parentComponent, consumer); + return sendError(events[0], additionalInfo, parentComponent, consumer); } /** @@ -194,11 +195,10 @@ public class ITNReporter extends ErrorReportSubmitter { ApplicationInfoEx appInfo = (ApplicationInfoEx) ApplicationManager.getApplication().getComponent(ApplicationInfo.class); String message = DiagnosticBundle.message( appInfo.isEAP() ? "error.report.new.eap.build.message" : "error.report.new.build.message", e.getMessage()); - Messages.showMessageDialog(parentComponent, message, CommonBundle.getWarningTitle(), Messages.getWarningIcon()); + showMessageDialog(parentComponent, project, message, CommonBundle.getWarningTitle(), Messages.getWarningIcon()); callback.consume(new SubmittedReportInfo(null, "0", SubmittedReportInfo.SubmissionStatus.FAILED)); } - else if (Messages.showYesNoDialog(parentComponent, msg, - ReportMessages.ERROR_REPORT, Messages.getErrorIcon()) != 0) { + else if (showYesNoDialog(parentComponent, project, msg, ReportMessages.ERROR_REPORT, Messages.getErrorIcon()) != 0) { callback.consume(new SubmittedReportInfo(null, "0", SubmittedReportInfo.SubmissionStatus.FAILED)); } else { @@ -225,4 +225,20 @@ public class ITNReporter extends ErrorReportSubmitter { }); return true; } + + private static void showMessageDialog(Component parentComponent, Project project, String message, String title, Icon icon) { + if (parentComponent.isShowing()) { + Messages.showMessageDialog(parentComponent, message, title, icon); + } else { + Messages.showMessageDialog(project, message, title, icon); + } + } + + private static int showYesNoDialog(Component parentComponent, Project project, String message, String title, Icon icon) { + if (parentComponent.isShowing()) { + return Messages.showYesNoDialog(parentComponent, message, title, icon); + } else { + return Messages.showYesNoDialog(project, message, title, icon); + } + } } From ea8db4765e526c8e160e1693ae925404e6155925 Mon Sep 17 00:00:00 2001 From: Dmitry Avdeev Date: Tue, 6 Mar 2012 16:20:15 +0400 Subject: [PATCH 21/41] typo --- .../src/com/intellij/ui/components/JBLabel.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/platform/platform-api/src/com/intellij/ui/components/JBLabel.java b/platform/platform-api/src/com/intellij/ui/components/JBLabel.java index 1fb644ebfdc0..ba3894e37c47 100644 --- a/platform/platform-api/src/com/intellij/ui/components/JBLabel.java +++ b/platform/platform-api/src/com/intellij/ui/components/JBLabel.java @@ -27,7 +27,7 @@ import java.awt.*; public class JBLabel extends JLabel implements AnchorableComponent { private UIUtil.ComponentStyle myComponentStyle = UIUtil.ComponentStyle.REGULAR; private UIUtil.FontColor myFontColor = UIUtil.FontColor.NORMAL; - private boolean fontColorSetted = false; + private boolean myFontColorSet = false; private JComponent myAnchor = null; public JBLabel() { @@ -86,12 +86,12 @@ public class JBLabel extends JLabel implements AnchorableComponent { public void setFontColor(@NotNull UIUtil.FontColor fontColor) { myFontColor = fontColor; setForeground(UIUtil.getLabelFontColor(myFontColor)); - fontColorSetted = true; + myFontColorSet = true; } @Override public void setForeground(Color fg) { - if (!fontColorSetted) super.setForeground(fg); + if (!myFontColorSet) super.setForeground(fg); } @Override From 758974c011da1db96d02c31eabd790b40ab3b86d Mon Sep 17 00:00:00 2001 From: Dmitry Avdeev Date: Tue, 6 Mar 2012 16:46:19 +0400 Subject: [PATCH 22/41] IDEA-82305: Open Task dialog - ALT-X fails when in text box: remapped to Alt-C --- .../src/com/intellij/tasks/actions/ActivateTaskDialog.form | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/tasks/tasks-core/src/com/intellij/tasks/actions/ActivateTaskDialog.form b/plugins/tasks/tasks-core/src/com/intellij/tasks/actions/ActivateTaskDialog.form index bcac0f29aa06..35be48a0f962 100644 --- a/plugins/tasks/tasks-core/src/com/intellij/tasks/actions/ActivateTaskDialog.form +++ b/plugins/tasks/tasks-core/src/com/intellij/tasks/actions/ActivateTaskDialog.form @@ -28,7 +28,7 @@ - + From fb1c4d373c9f62b5681d97f1f2c18397126ebbd2 Mon Sep 17 00:00:00 2001 From: Dmitry Avdeev Date: Tue, 6 Mar 2012 17:11:30 +0400 Subject: [PATCH 23/41] IDEA-82267: Encoding errors in task list (received from YouTrack server) --- .../src/com/intellij/tasks/youtrack/YouTrackRepository.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/plugins/tasks/tasks-core/src/com/intellij/tasks/youtrack/YouTrackRepository.java b/plugins/tasks/tasks-core/src/com/intellij/tasks/youtrack/YouTrackRepository.java index c63d863b33a4..ec76b2b038ae 100644 --- a/plugins/tasks/tasks-core/src/com/intellij/tasks/youtrack/YouTrackRepository.java +++ b/plugins/tasks/tasks-core/src/com/intellij/tasks/youtrack/YouTrackRepository.java @@ -61,8 +61,9 @@ public class YouTrackRepository extends BaseRepositoryImpl { } HttpMethod method = doREST("/rest/project/issues/?filter=" + encodeUrl(query) + "&max=" + max, false); InputStream stream = method.getResponseBodyAsStream(); + // workaround for http://youtrack.jetbrains.net/issue/JT-7984 - String s = StreamUtil.readText(stream); + String s = StreamUtil.readText(stream, "UTF-8"); for (int i = 0; i < s.length(); i++) { if (!XMLChar.isValid(s.charAt(i))) { s = s.replace(s.charAt(i), ' '); @@ -71,6 +72,9 @@ public class YouTrackRepository extends BaseRepositoryImpl { Element element; try { + //InputSource source = new InputSource(stream); + //source.setEncoding("UTF-8"); + //element = new SAXBuilder(false).build(source).getRootElement(); element = new SAXBuilder(false).build(new StringReader(s)).getRootElement(); } catch (JDOMException e) { From 2f1e45ec94409bc603e62e870277c31a1c6f56d7 Mon Sep 17 00:00:00 2001 From: Vassiliy Kudryashov Date: Tue, 6 Mar 2012 17:27:01 +0400 Subject: [PATCH 24/41] IDEA-80853 incorrect class sorting --- .../com/intellij/openapi/util/text/StringUtil.java | 9 +++++++++ .../com/intellij/util/text/StringUtilTest.java | 11 ++++++++--- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/platform/util/src/com/intellij/openapi/util/text/StringUtil.java b/platform/util/src/com/intellij/openapi/util/text/StringUtil.java index 2a0ce72c3b42..d4c5412e294e 100644 --- a/platform/util/src/com/intellij/openapi/util/text/StringUtil.java +++ b/platform/util/src/com/intellij/openapi/util/text/StringUtil.java @@ -2164,6 +2164,15 @@ public class StringUtil { j = startNum2; while (i < string1Length && isDigit(string1.charAt(i))) i++; while (j < string2Length && isDigit(string2.charAt(j))) j++; + String digits1 = string1.substring(startNum1, i); + String digits2 = string2.substring(startNum2, j); + if (digits1.length() != digits2.length()) + return digits1.length() - digits2.length(); + int numberDiff = digits1.compareTo(digits2); + if (numberDiff != 0) + return numberDiff; + i--; + j--; final int lengthDiff = (i - startNum1) - (j - startNum2); if (lengthDiff != 0) { return lengthDiff; diff --git a/platform/util/testSrc/com/intellij/util/text/StringUtilTest.java b/platform/util/testSrc/com/intellij/util/text/StringUtilTest.java index 3179e96c3768..9c70ca9cc638 100644 --- a/platform/util/testSrc/com/intellij/util/text/StringUtilTest.java +++ b/platform/util/testSrc/com/intellij/util/text/StringUtilTest.java @@ -73,7 +73,7 @@ public class StringUtilTest extends TestCase { } public void testNaturalCompare() { - final List strings = new ArrayList(Arrays.asList("Test99", "tes0", "test0", "testing", "test", "test99", "test011", "test1", + final List strings = new ArrayList(Arrays.asList("Test99", "tes0", "test0", "testing", "test", "test99", "test011", "test1", "test 3", "test2", "test10a", "test10", "1.2.10.5", "1.2.9.1")); final Comparator c = new Comparator() { @Override @@ -84,13 +84,18 @@ public class StringUtilTest extends TestCase { Collections.sort(strings, c); assertEquals(Arrays.asList("1.2.9.1", "1.2.10.5", "tes0", "test", "test0", "test1", "test2", "test 3", "test10", "test10a", "test011", "Test99", "test99", "testing"), strings); - final List strings2 = new ArrayList(Arrays.asList("t1", "t001", "T2", "T002", "T1", "t2")); + final List strings2 = new ArrayList(Arrays.asList("t1", "t001", "T2", "T002", "T1", "t2")); Collections.sort(strings2, c); assertEquals(Arrays.asList("T1", "t1", "t001", "T2", "t2", "T002"), strings2); assertEquals(1 ,StringUtil.naturalCompare("7403515080361171695", "07403515080361171694")); assertEquals(-14, StringUtil.naturalCompare("_firstField", "myField1")); + //idea-80853 + final List strings3 = new ArrayList( + Arrays.asList("C148A_InsomniaCure", "C148B_Escape", "C148C_TersePrincess", "C148D_BagOfMice", "C148E_Porcelain")); + Collections.sort(strings3, c); + assertEquals(Arrays.asList("C148A_InsomniaCure", "C148B_Escape", "C148C_TersePrincess", "C148D_BagOfMice", "C148E_Porcelain"), strings3); } - + public void testFormatLinks() { assertEquals("http://a-b+c", StringUtil.formatLinks("http://a-b+c")); } From 409fb16138a49e3e0da4fb143b05c30f0a487b5b Mon Sep 17 00:00:00 2001 From: Konstantin Bulenkov Date: Tue, 6 Mar 2012 14:44:45 +0100 Subject: [PATCH 25/41] @PropertyName --- .../ide/util/PropertiesComponent.java | 50 +++++++++++++++++-- .../com/intellij/ide/util/PropertyName.java | 31 ++++++++++++ 2 files changed, 76 insertions(+), 5 deletions(-) create mode 100644 platform/platform-api/src/com/intellij/ide/util/PropertyName.java diff --git a/platform/platform-api/src/com/intellij/ide/util/PropertiesComponent.java b/platform/platform-api/src/com/intellij/ide/util/PropertiesComponent.java index 30fd1006901b..b91cc39db5ef 100644 --- a/platform/platform-api/src/com/intellij/ide/util/PropertiesComponent.java +++ b/platform/platform-api/src/com/intellij/ide/util/PropertiesComponent.java @@ -20,9 +20,21 @@ import com.intellij.openapi.project.Project; import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; +import java.lang.reflect.Field; + +/** + * @author max + * @author Konstantin Bulenkov + */ public abstract class PropertiesComponent { public abstract void unsetValue(String name); + public abstract boolean isValueSet(String name); + + public abstract String getValue(@NonNls String name); + + public abstract void setValue(@NonNls String name, String value); + public static PropertiesComponent getInstance(Project project) { return ServiceManager.getService(project, PropertiesComponent.class); } @@ -39,10 +51,6 @@ public abstract class PropertiesComponent { return isValueSet(name) ? isTrueValue(name) : defaultValue; } - public abstract boolean isValueSet(String name); - - public abstract String getValue(@NonNls String name); - @NotNull public String getValue(@NonNls String name, @NotNull String defaultValue) { return isValueSet(name) ? getValue(name) : defaultValue; @@ -64,6 +72,38 @@ public abstract class PropertiesComponent { return getValue(name); } - public abstract void setValue(@NonNls String name, String value); + public final void saveFields(@NotNull Object object) throws IllegalAccessException { + for (Field field : object.getClass().getDeclaredFields()) { + field.setAccessible(true); + if (field.isAnnotationPresent(PropertyName.class)) { + final String name = field.getAnnotation(PropertyName.class).value(); + setValue(name, String.valueOf(field.get(object))); + } + } + } + public final void loadFields(@NotNull Object object) throws IllegalAccessException { + for (Field field : object.getClass().getDeclaredFields()) { + field.setAccessible(true); + if (field.isAnnotationPresent(PropertyName.class)) { + final PropertyName annotation = field.getAnnotation(PropertyName.class); + final String stringValue = getValue(annotation.value(), annotation.defaultValue()); + Object value = null; + final Class type = field.getType(); + + if (type.equals(boolean.class)) {value = Boolean.valueOf(stringValue);} + else if (type.equals(long.class)) {value = Long.parseLong(stringValue);} + else if (type.equals(int.class)) {value = Integer.parseInt(stringValue);} + else if (type.equals(short.class)) {value = Short.parseShort(stringValue);} + else if (type.equals(byte.class)) {value = Byte.parseByte(stringValue);} + else if (type.equals(double.class)) {value = Double.parseDouble(stringValue);} + else if (type.equals(float.class)) {value = Float.parseFloat(stringValue);} + else if (type.equals(String.class)) {value = stringValue;} + + if (value != null) { + field.set(object, value); + } + } + } + } } diff --git a/platform/platform-api/src/com/intellij/ide/util/PropertyName.java b/platform/platform-api/src/com/intellij/ide/util/PropertyName.java new file mode 100644 index 000000000000..e152123e381a --- /dev/null +++ b/platform/platform-api/src/com/intellij/ide/util/PropertyName.java @@ -0,0 +1,31 @@ +/* + * Copyright 2000-2012 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.intellij.ide.util; + +import java.lang.annotation.*; + +/** + * Allows to pass property name of field + * + * @author Konstantin Bulenkov + */ +@Documented +@Retention(RetentionPolicy.RUNTIME) +@Target({ElementType.FIELD}) +public @interface PropertyName { + String value(); + String defaultValue() default ""; +} From b98e84a4f5265c931950a8d014004eff25c8e1a6 Mon Sep 17 00:00:00 2001 From: Kirill Likhodedov Date: Mon, 5 Mar 2012 13:30:27 +0400 Subject: [PATCH 26/41] Display VCS root errors in Settings | Version Control AbstractVcs#getRootChecker to return an instance of VcsRootChecker that would validate roots. Implement it in GitVcs: use GitRootErrorsFinder to validate roots. VcsDirectoryConfigurationPanel: - display invalid roots in red color - display unregistered roots below the table. Let add unregistered root right away. - refactor createMainComponent(): extract components creation to separate methods, use GridBagLayout. --- .../com/intellij/openapi/vcs/AbstractVcs.java | 5 + .../intellij/openapi/vcs/VcsRootChecker.java | 42 +++++ .../intellij/openapi/vcs/VcsRootError.java | 35 ++-- .../VcsDirectoryConfigurationPanel.java | 168 ++++++++++++++---- plugins/git4idea/src/git4idea/GitVcs.java | 43 ++++- .../git4idea/roots/GitRootErrorsFinder.java | 17 +- .../roots/GitRootErrorsFinderTest.groovy | 13 +- 7 files changed, 261 insertions(+), 62 deletions(-) create mode 100644 platform/vcs-api/src/com/intellij/openapi/vcs/VcsRootChecker.java rename plugins/git4idea/src/git4idea/roots/GitRootError.java => platform/vcs-api/src/com/intellij/openapi/vcs/VcsRootError.java (65%) diff --git a/platform/vcs-api/src/com/intellij/openapi/vcs/AbstractVcs.java b/platform/vcs-api/src/com/intellij/openapi/vcs/AbstractVcs.java index 09ff41c7c98a..48d5d7433d43 100644 --- a/platform/vcs-api/src/com/intellij/openapi/vcs/AbstractVcs.java +++ b/platform/vcs-api/src/com/intellij/openapi/vcs/AbstractVcs.java @@ -426,6 +426,11 @@ public abstract class AbstractVcs extends S return null; } + @Nullable + public VcsRootChecker getRootChecker() { + return null; + } + @Nullable public VcsRootSettings createEmptyVcsRootSettings() { return null; diff --git a/platform/vcs-api/src/com/intellij/openapi/vcs/VcsRootChecker.java b/platform/vcs-api/src/com/intellij/openapi/vcs/VcsRootChecker.java new file mode 100644 index 000000000000..5a194e65bb1c --- /dev/null +++ b/platform/vcs-api/src/com/intellij/openapi/vcs/VcsRootChecker.java @@ -0,0 +1,42 @@ +/* + * Copyright 2000-2012 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.intellij.openapi.vcs; + +import com.intellij.openapi.vfs.VirtualFile; +import org.jetbrains.annotations.NotNull; + +import java.util.Collection; + +/** + * Checks VCS roots, revealing invalid roots (registered in the settings, but not related to real VCS roots on disk) + * and unregistered roots (real roots on disk not registered in the settings). + * + * @author Kirill Likhodedov + */ +public interface VcsRootChecker { + + /** + * @return VCS roots which are not registered in the Settings | Version Control. + */ + @NotNull + Collection getUnregisteredRoots(); + + /** + * @param directory root to be checked. + * @return true if the given directory is not a VCS root. + */ + boolean isInvalidRoot(@NotNull String directory); +} diff --git a/plugins/git4idea/src/git4idea/roots/GitRootError.java b/platform/vcs-api/src/com/intellij/openapi/vcs/VcsRootError.java similarity index 65% rename from plugins/git4idea/src/git4idea/roots/GitRootError.java rename to platform/vcs-api/src/com/intellij/openapi/vcs/VcsRootError.java index b2b565484cd7..c82bf55bbee0 100644 --- a/plugins/git4idea/src/git4idea/roots/GitRootError.java +++ b/platform/vcs-api/src/com/intellij/openapi/vcs/VcsRootError.java @@ -13,35 +13,47 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package git4idea.roots; +package com.intellij.openapi.vcs; import com.intellij.openapi.vfs.VirtualFile; import org.jetbrains.annotations.NotNull; /** + * Incorrect VCS root definition: either an unregistered, or an incorrectly registered VCS root. + * + * @see VcsRootChecker + * @see AbstractVcs#getRootChecker + * * @author Kirill Likhodedov */ -class GitRootError { +public class VcsRootError { - private final Type myType; - @NotNull private final VirtualFile myRoot; + private final @NotNull Type myType; + private final @NotNull VirtualFile myRoot; - enum Type { + public enum Type { EXTRA_ROOT, UNREGISTERED_ROOT } - GitRootError(@NotNull Type type, @NotNull VirtualFile root) { + public VcsRootError(@NotNull Type type, @NotNull VirtualFile root) { myType = type; myRoot = root; } + @NotNull + public Type getType() { + return myType; + } + + @NotNull + public VirtualFile getRoot() { + return myRoot; + } + @Override public String toString() { - return "GitRootError{" + - "myType=" + myType + - ", myRoot=" + myRoot + - '}'; + return String.format("GitRootError{myType=%s, myRoot=%s}", myType, myRoot); } @Override @@ -49,7 +61,7 @@ class GitRootError { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; - GitRootError error = (GitRootError)o; + VcsRootError error = (VcsRootError)o; if (!myRoot.equals(error.myRoot)) return false; if (myType != error.myType) return false; @@ -57,6 +69,7 @@ class GitRootError { return true; } + @SuppressWarnings("ConstantConditions") @Override public int hashCode() { int result = myType != null ? myType.hashCode() : 0; diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/configurable/VcsDirectoryConfigurationPanel.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/configurable/VcsDirectoryConfigurationPanel.java index e4a9ace6d6ec..1fbcea8e1414 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/configurable/VcsDirectoryConfigurationPanel.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/configurable/VcsDirectoryConfigurationPanel.java @@ -28,12 +28,12 @@ import com.intellij.openapi.vcs.impl.VcsDescriptor; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.ui.*; import com.intellij.ui.components.JBLabel; +import com.intellij.ui.components.labels.LinkLabel; +import com.intellij.ui.components.labels.LinkListener; import com.intellij.ui.table.TableView; -import com.intellij.util.ui.AbstractTableCellEditor; -import com.intellij.util.ui.ColumnInfo; -import com.intellij.util.ui.ListTableModel; -import com.intellij.util.ui.UIUtil; +import com.intellij.util.ui.*; import org.jetbrains.annotations.Nls; +import org.jetbrains.annotations.NotNull; import javax.swing.*; import javax.swing.table.TableCellEditor; @@ -47,6 +47,11 @@ import java.io.File; import java.util.*; import java.util.List; +import static com.intellij.openapi.vcs.VcsConfiguration.getInstance; +import static com.intellij.openapi.vcs.VcsConfiguration.ourMaximumFileForBaseRevisionSize; +import static com.intellij.util.ui.UIUtil.DEFAULT_HGAP; +import static com.intellij.util.ui.UIUtil.DEFAULT_VGAP; + /** * @author yole */ @@ -66,8 +71,9 @@ public class VcsDirectoryConfigurationPanel extends PanelWithButtons implements private VcsContentAnnotationConfigurable myRecentlyChangedConfigurable; private final boolean myIsDisabled; private final VcsConfiguration myVcsConfiguration; + private final @NotNull Map myCheckers; - private static class MyDirectoryRenderer extends ColoredTableCellRenderer { + private class MyDirectoryRenderer extends ColoredTableCellRenderer { private final Project myProject; public MyDirectoryRenderer(Project project) { @@ -77,11 +83,14 @@ public class VcsDirectoryConfigurationPanel extends PanelWithButtons implements @Override protected void customizeCellRenderer(JTable table, Object value, boolean selected, boolean hasFocus, int row, int column) { if (value instanceof VcsDirectoryMapping) { - if (((VcsDirectoryMapping)value).isDefaultMapping()) { + VcsDirectoryMapping mapping = (VcsDirectoryMapping)value; + if (mappingIsError(mapping)) { + setForeground(Color.RED); + } + if (mapping.isDefaultMapping()) { append(VcsDirectoryMapping.PROJECT_CONSTANT); return; } - final VcsDirectoryMapping mapping = (VcsDirectoryMapping)value; String directory = mapping.getDirectory(); VirtualFile baseDir = myProject.getBaseDir(); if (baseDir != null) { @@ -102,6 +111,12 @@ public class VcsDirectoryConfigurationPanel extends PanelWithButtons implements } } } + + private boolean mappingIsError(VcsDirectoryMapping mapping) { + String vcs = mapping.getVcs(); + VcsRootChecker checker = myCheckers.get(vcs); + return checker != null && checker.isInvalidRoot(mapping.getDirectory()); + } } private final ColumnInfo VCS_SETTING = @@ -161,7 +176,7 @@ public class VcsDirectoryConfigurationPanel extends PanelWithButtons implements public VcsDirectoryConfigurationPanel(final Project project) { myProject = project; - myVcsConfiguration = VcsConfiguration.getInstance(myProject); + myVcsConfiguration = getInstance(myProject); myProjectMessage = "" + StringUtil.escapeXml(VcsDirectoryMapping.PROJECT_CONSTANT) + " - " + DefaultVcsRootPolicy.getInstance(myProject).getProjectConfigurationMessage(myProject).replace('\n', ' ') + ""; myIsDisabled = myProject.isDefault(); @@ -174,6 +189,20 @@ public class VcsDirectoryConfigurationPanel extends PanelWithButtons implements myDirectoryMappingTable = new TableView(); myBaseRevisionTexts = new JCheckBox("Store on shelf base revision texts for files under DVCS"); + + myCheckers = new HashMap(); + for (VcsDescriptor descriptor : vcsDescriptors) { + String name = descriptor.getName(); + AbstractVcs vcs = myVcsManager.findVcsByName(name); + if (vcs == null) { + continue; + } + VcsRootChecker checker = vcs.getRootChecker(); + if (checker != null) { + myCheckers.put(name, checker); + } + } + initPanel(); myDirectoryRenderer = new MyDirectoryRenderer(myProject); DIRECTORY = new ColumnInfo(VcsBundle.message("column.info.configure.vcses.directory")) { @@ -239,7 +268,6 @@ public class VcsDirectoryConfigurationPanel extends PanelWithButtons implements } private void addMapping() { - Collection activeVcses = getActiveVcses(); VcsMappingConfigurationDialog dlg = new VcsMappingConfigurationDialog(myProject, VcsBundle.message("directory.mapping.add.title")); // due to wonderful UI designer bug dlg.initProjectMessage(); @@ -247,13 +275,17 @@ public class VcsDirectoryConfigurationPanel extends PanelWithButtons implements if (dlg.isOK()) { VcsDirectoryMapping mapping = new VcsDirectoryMapping(); dlg.saveToMapping(mapping); - List items = new ArrayList(myModel.getItems()); - items.add(mapping); - myModel.setItems(items); - checkNotifyListeners(activeVcses); + addMapping(mapping); } } + private void addMapping(VcsDirectoryMapping mapping) { + List items = new ArrayList(myModel.getItems()); + items.add(mapping); + myModel.setItems(items); + checkNotifyListeners(getActiveVcses()); + } + private void editMapping() { Collection activeVcses = getActiveVcses(); VcsMappingConfigurationDialog dlg = new VcsMappingConfigurationDialog(myProject, VcsBundle.message("directory.mapping.remove.title")); @@ -284,8 +316,23 @@ public class VcsDirectoryConfigurationPanel extends PanelWithButtons implements } protected JComponent createMainComponent() { - JPanel panel = new JPanel(new BorderLayout()); + JPanel panel = new JPanel(new GridBagLayout()); + GridBag gb = new GridBag() + .setDefaultInsets(new Insets(0, 0, DEFAULT_VGAP, DEFAULT_HGAP)) + .setDefaultWeightX(1) + .setDefaultWeightY(0.1) + .setDefaultFill(GridBagConstraints.BOTH); + panel.add(createMappingsTable(), gb.nextLine().next().fillCell().weighty(1)); + panel.add(createProjectMappingDescription(), gb.nextLine().next().fillCellHorizontally()); + panel.add(createErrorList(), gb.nextLine().next().fillCellHorizontally()); + panel.add(createStoreBaseRevisionOption(), gb.nextLine().next().fillCellHorizontally()); + panel.add(createShowChangedOption(), gb.nextLine().next().fillCellHorizontally()); + + return panel; + } + + private JComponent createMappingsTable() { JPanel panelForTable = ToolbarDecorator.createDecorator(myDirectoryMappingTable, null) .setAddAction(new AnActionButtonRunnable() { @Override @@ -303,7 +350,7 @@ public class VcsDirectoryConfigurationPanel extends PanelWithButtons implements removeMapping(); } }).disableUpDownActions().createPanel(); - panel.add(panelForTable, BorderLayout.CENTER); + ToolbarDecorator.findAddButton(panelForTable).addCustomUpdater(new AnActionButtonUpdater() { @Override public boolean isEnabled(AnActionEvent e) { @@ -324,38 +371,97 @@ public class VcsDirectoryConfigurationPanel extends PanelWithButtons implements return (!myIsDisabled) && hasSelection; } }); + return panelForTable; + } - final JPanel wrapper = new JPanel(new BorderLayout()); - myRecentlyChangedConfigurable = new VcsContentAnnotationConfigurable(myProject); + private static class VcsRootErrorLabel extends JPanel { + private final LinkLabel myAddLabel; + + VcsRootErrorLabel(String title) { + super(new BorderLayout(DEFAULT_HGAP, DEFAULT_VGAP)); + + setBorder(BorderFactory.createCompoundBorder(BorderFactory.createMatteBorder(5, 0, 5, 0, UIUtil.getPanelBackground()), + BorderFactory.createLineBorder(UIUtil.getPanelBackground().darker()))); + setOpaque(true); + Color COLOR = new Color(255, 186, 192); + + setBackground(COLOR); + + JBLabel label = new JBLabel(title); + + myAddLabel = new LinkLabel("Add root", null); + + myAddLabel.setOpaque(false); + + JPanel actionsPanel = new JPanel(new BorderLayout(DEFAULT_HGAP, DEFAULT_VGAP)); + actionsPanel.setOpaque(false); + actionsPanel.add(myAddLabel, BorderLayout.CENTER); + + add(label, BorderLayout.WEST); + add(actionsPanel, BorderLayout.EAST); + } + + void setAddRootLinkHandler(final Runnable handler) { + myAddLabel.setListener(new LinkListener() { + @Override + public void linkSelected(LinkLabel aSource, Object aLinkData) { + handler.run(); + } + }, null); + } + } + + private JComponent createErrorList() { + Box box = Box.createVerticalBox(); + for (Map.Entry entry : myCheckers.entrySet()) { + VcsRootChecker checker = entry.getValue(); + for (final VirtualFile root : checker.getUnregisteredRoots()) { + final String vcs = entry.getKey(); + String title = "Unregistered " + vcs + " root: " + FileUtil.toSystemDependentName(root.getPresentableUrl()); + final VcsRootErrorLabel vcsRootErrorLabel = new VcsRootErrorLabel(title); + vcsRootErrorLabel.setAddRootLinkHandler(new Runnable() { + @Override + public void run() { + addMapping(new VcsDirectoryMapping(root.getPath(), vcs)); + vcsRootErrorLabel.setVisible(false); + } + }); + box.add(vcsRootErrorLabel); + } + } + return box; + } + + private JComponent createProjectMappingDescription() { final JBLabel label = new JBLabel(myProjectMessage); label.setComponentStyle(UIUtil.ComponentStyle.SMALL); label.setFontColor(UIUtil.FontColor.BRIGHTER); label.setBorder(BorderFactory.createEmptyBorder(2, 5, 2, 0)); - wrapper.add(label, BorderLayout.CENTER); + return label; + } - final JBLabel noteLabel = - new JBLabel("File texts bigger than " + VcsConfiguration.ourMaximumFileForBaseRevisionSize / 1000 + "K are not stored"); + private JComponent createStoreBaseRevisionOption() { + final JBLabel noteLabel = new JBLabel("File texts bigger than " + ourMaximumFileForBaseRevisionSize / 1000 + "K are not stored"); noteLabel.setComponentStyle(UIUtil.ComponentStyle.SMALL); noteLabel.setFontColor(UIUtil.FontColor.BRIGHTER); noteLabel.setBorder(BorderFactory.createEmptyBorder(2, 25, 5, 0)); - final JPanel twoPanel = new JPanel(new BorderLayout()); - twoPanel.add(myBaseRevisionTexts, BorderLayout.NORTH); - twoPanel.add(noteLabel, BorderLayout.SOUTH); - final JPanel wr2 = new JPanel(new BorderLayout()); - wr2.add(twoPanel, BorderLayout.WEST); - myBaseRevisionTexts.setBorder(BorderFactory.createEmptyBorder(5, 0, 0, 0)); - final JPanel wr3 = new JPanel(new BorderLayout()); - wr3.add(wr2, BorderLayout.NORTH); - wr3.add(myRecentlyChangedConfigurable.createComponent(), BorderLayout.SOUTH); - wrapper.add(wr3, BorderLayout.SOUTH); - panel.add(wrapper, BorderLayout.SOUTH); + final JPanel panel = new JPanel(new BorderLayout()); + panel.add(myBaseRevisionTexts, BorderLayout.NORTH); + panel.add(noteLabel, BorderLayout.SOUTH); return panel; } + private JComponent createShowChangedOption() { + myRecentlyChangedConfigurable = new VcsContentAnnotationConfigurable(myProject); + JComponent component = myRecentlyChangedConfigurable.createComponent(); + assert component != null; + return component; + } + public void reset() { initializeModel(); } diff --git a/plugins/git4idea/src/git4idea/GitVcs.java b/plugins/git4idea/src/git4idea/GitVcs.java index 82946380bb88..9aaee98fc859 100644 --- a/plugins/git4idea/src/git4idea/GitVcs.java +++ b/plugins/git4idea/src/git4idea/GitVcs.java @@ -71,9 +71,7 @@ import git4idea.history.wholeTree.GitCommitsSequentially; import git4idea.i18n.GitBundle; import git4idea.merge.GitMergeProvider; import git4idea.rollback.GitRollbackEnvironment; -import git4idea.roots.GitIntegrationEnabler; -import git4idea.roots.GitRootDetectInfo; -import git4idea.roots.GitRootDetector; +import git4idea.roots.*; import git4idea.status.GitChangeProvider; import git4idea.ui.branch.GitBranchWidget; import git4idea.update.GitUpdateEnvironment; @@ -84,9 +82,7 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import java.text.SimpleDateFormat; -import java.util.Collections; -import java.util.Date; -import java.util.List; +import java.util.*; import java.util.concurrent.locks.ReadWriteLock; import java.util.concurrent.locks.ReentrantReadWriteLock; @@ -309,6 +305,11 @@ public class GitVcs extends AbstractVcs { return dir.isDirectory() && GitUtil.gitRootOrNull(dir) != null; } + @Override + public VcsRootChecker getRootChecker() { + return new MyVcsRootChecker(); + } + @Override protected void start() throws VcsException { } @@ -556,4 +557,34 @@ public class GitVcs extends AbstractVcs { }); } + private class MyVcsRootChecker implements VcsRootChecker { + + private final Collection myErrors; + + MyVcsRootChecker() { + myErrors = new GitRootErrorsFinder(myProject, myPlatformFacade).find(); + } + + @NotNull + @Override + public Collection getUnregisteredRoots() { + Collection roots = new ArrayList(); + for (VcsRootError error : myErrors) { + if (error.getType() == VcsRootError.Type.UNREGISTERED_ROOT) { + roots.add(error.getRoot()); + } + } + return roots; + } + + @Override + public boolean isInvalidRoot(@NotNull String directory) { + for (VcsRootError error : myErrors) { + if (error.getType() == VcsRootError.Type.EXTRA_ROOT && error.getRoot().getPath().equals(directory)) { + return true; + } + } + return false; + } + } } diff --git a/plugins/git4idea/src/git4idea/roots/GitRootErrorsFinder.java b/plugins/git4idea/src/git4idea/roots/GitRootErrorsFinder.java index 776d7cfe2d81..af89be28801c 100644 --- a/plugins/git4idea/src/git4idea/roots/GitRootErrorsFinder.java +++ b/plugins/git4idea/src/git4idea/roots/GitRootErrorsFinder.java @@ -17,6 +17,7 @@ package git4idea.roots; import com.intellij.openapi.project.Project; import com.intellij.openapi.vcs.ProjectLevelVcsManager; +import com.intellij.openapi.vcs.VcsRootError; import com.intellij.openapi.vfs.VirtualFile; import git4idea.PlatformFacade; import org.jetbrains.annotations.NotNull; @@ -30,30 +31,30 @@ import java.util.Collection; * * @author Kirill Likhodedov */ -class GitRootErrorsFinder { +public class GitRootErrorsFinder { - @NotNull private final Project myProject; - private final PlatformFacade myPlatformFacade; + private final @NotNull Project myProject; + private final @NotNull PlatformFacade myPlatformFacade; - GitRootErrorsFinder(@NotNull Project project, @NotNull PlatformFacade platformFacade) { + public GitRootErrorsFinder(@NotNull Project project, @NotNull PlatformFacade platformFacade) { myProject = project; myPlatformFacade = platformFacade; } @NotNull - Collection find() { + public Collection find() { ProjectLevelVcsManager vcsManager = myPlatformFacade.getVcsManager(myProject); Collection vcsRoots = Arrays.asList(vcsManager.getRootsUnderVcs(myPlatformFacade.getVcs(myProject))); Collection gitRoots = new GitRootDetector(myProject).detect().getRoots(); - Collection errors = new ArrayList(); + Collection errors = new ArrayList(); for (VirtualFile vcsRoot : vcsRoots) { if (!gitRoots.contains(vcsRoot)) { - errors.add(new GitRootError(GitRootError.Type.EXTRA_ROOT, vcsRoot)); + errors.add(new VcsRootError(VcsRootError.Type.EXTRA_ROOT, vcsRoot)); } } for (VirtualFile gitRoot : gitRoots) { if (!vcsRoots.contains(gitRoot)) { - errors.add(new GitRootError(GitRootError.Type.UNREGISTERED_ROOT, gitRoot)); + errors.add(new VcsRootError(VcsRootError.Type.UNREGISTERED_ROOT, gitRoot)); } } return errors; diff --git a/plugins/git4idea/tests/git4idea/roots/GitRootErrorsFinderTest.groovy b/plugins/git4idea/tests/git4idea/roots/GitRootErrorsFinderTest.groovy index a6500bf56edd..d48da67ccf27 100644 --- a/plugins/git4idea/tests/git4idea/roots/GitRootErrorsFinderTest.groovy +++ b/plugins/git4idea/tests/git4idea/roots/GitRootErrorsFinderTest.groovy @@ -24,6 +24,7 @@ import org.junit.Test import static git4idea.test.GitGTestUtil.toAbsolute import static junit.framework.Assert.assertEquals import git4idea.test.GitMockVirtualFile +import com.intellij.openapi.vcs.VcsRootError /** * @@ -109,11 +110,11 @@ class GitRootErrorsFinderTest extends AbstractGitRootTest { addVcsRoots(map.roots) - Collection expected = new ArrayList(); + Collection expected = new ArrayList(); expected.addAll map.errors.unreg.collect { unreg(it) } expected.addAll map.errors.extra.collect { extra(it) } - Collection actual = new GitRootErrorsFinder(myProject, myPlatformFacade).find() + Collection actual = new GitRootErrorsFinder(myProject, myPlatformFacade).find() assertEquals expected.toSet(), actual.toSet() } @@ -124,12 +125,12 @@ class GitRootErrorsFinderTest extends AbstractGitRootTest { } } - GitRootError unreg(String path) { - return new GitRootError(GitRootError.Type.UNREGISTERED_ROOT, new GitMockVirtualFile(toAbsolute(path, myProject))) + VcsRootError unreg(String path) { + return new VcsRootError(VcsRootError.Type.UNREGISTERED_ROOT, new GitMockVirtualFile(toAbsolute(path, myProject))) } - GitRootError extra(String path) { - return new GitRootError(GitRootError.Type.EXTRA_ROOT, new GitMockVirtualFile(toAbsolute(path, myProject))) + VcsRootError extra(String path) { + return new VcsRootError(VcsRootError.Type.EXTRA_ROOT, new GitMockVirtualFile(toAbsolute(path, myProject))) } From 339e9828942be46c023b623c72e4ae29eb731538 Mon Sep 17 00:00:00 2001 From: Kirill Likhodedov Date: Mon, 5 Mar 2012 16:26:38 +0400 Subject: [PATCH 27/41] "Rollback": use the custom VCS name for the operation, where appropriate. Use RollbackUtil.getRollbackOperationName to guess the name. (Note: maybe not all usages were found) --- .../src/messages/VcsBundle.properties | 10 +-- .../rollback/DefaultRollbackEnvironment.java | 5 +- .../vcs/changes/actions/RollbackAction.java | 45 +++++++----- .../vcs/changes/ui/RollbackChangesDialog.java | 29 +++----- .../com/intellij/vcsUtil/RollbackUtil.java | 73 +++++++++++++++++++ 5 files changed, 119 insertions(+), 43 deletions(-) create mode 100644 platform/vcs-impl/src/com/intellij/vcsUtil/RollbackUtil.java diff --git a/platform/platform-resources-en/src/messages/VcsBundle.properties b/platform/platform-resources-en/src/messages/VcsBundle.properties index 036488ac7764..c6d39c9a0440 100644 --- a/platform/platform-resources-en/src/messages/VcsBundle.properties +++ b/platform/platform-resources-en/src/messages/VcsBundle.properties @@ -268,7 +268,7 @@ changes.changelist.chooser.title=Choose Changelist changes.newchangelist.warning.already.exists.text=Changelist ''{0}'' already exists. changes.newchangelist.warning.already.exists.title=Wrong Changelist Name commit.dialog.no.changes.detected.text=No changes detected -commit.dialog.no.changes.detected.title=Nothing to commit +commit.dialog.no.changes.detected.title=Nothing to Commit commit.dialog.title=Commit Changes commit.dialog.default.commit.operation.name=Comm&it commit.dialog.include.action.name=Include into commit @@ -297,7 +297,7 @@ commit.legend.deleted=Deleted: commit.legend.total=Total: changes.view.dnd.label={0} file(s) error.executing.commit=Error executing ''{0}'': {1} -changes.action.rollback.title=Rollback Changes +changes.action.rollback.title={0} Changes changes.action.rollback.custom.title={0} Changes changes.dialog.editchangelist.error.already.exists=A changelist named ''{0}'' already exists error.adding.files.prompt=The following problems have occurred when adding the files: @@ -361,8 +361,8 @@ patch.apply.error=Failed to apply patch for file {0}: {1} patch.load.base.revision.error=Failed to load patch base revision for file {0}: {1} shelve.changes.only.directories=The selected changes affect only directories and no files, so they cannot be shelved edit.errors=Edit Errors -rollback.modified.without.editing.confirm.single=Would you like to rollback the changes to {0}? -rollback.modified.without.editing.confirm.multiple=Would you like to rollback the changes to {0} selected files? +rollback.modified.without.editing.confirm.single=Would you like to {0} the changes to {1}? +rollback.modified.without.editing.confirm.multiple=Would you like to {0} the changes to {1} selected files? error.updating.changes=Error updating changes: {0} ignored.configure.title=Configure Ignored Files ignored.configure.item.directory=Directory: {0} @@ -412,7 +412,7 @@ new.changelist.duplicate.name.error=A changelist with that name already exists perform.edit.in.background=Perform Edit/Checkout in background browse.changes.action=Browse Changes browse.changes.scope=Changes affecting {0} -rollback.modified.without.checkout.error.tab=Rollback Modified without Checkout +rollback.modified.without.checkout.error.tab={0} Modified without Checkout annotate.action.name=Annotate annotate.action.description=Annotate file operation.name.annotate=Annotate diff --git a/platform/vcs-api/src/com/intellij/openapi/vcs/rollback/DefaultRollbackEnvironment.java b/platform/vcs-api/src/com/intellij/openapi/vcs/rollback/DefaultRollbackEnvironment.java index e73d0955139b..3eecc112985b 100644 --- a/platform/vcs-api/src/com/intellij/openapi/vcs/rollback/DefaultRollbackEnvironment.java +++ b/platform/vcs-api/src/com/intellij/openapi/vcs/rollback/DefaultRollbackEnvironment.java @@ -26,8 +26,11 @@ import java.util.List; * @author yole */ public abstract class DefaultRollbackEnvironment implements RollbackEnvironment { + + public static final String ROLLBACK_OPERATION_NAME = VcsBundle.message("changes.action.rollback.text"); + public String getRollbackOperationName() { - return VcsBundle.message("changes.action.rollback.text"); + return ROLLBACK_OPERATION_NAME; } public void rollbackModifiedWithoutCheckout(final List files, final List exceptions, diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/actions/RollbackAction.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/actions/RollbackAction.java index 5857fa4f0910..512a95e891bf 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/actions/RollbackAction.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/actions/RollbackAction.java @@ -32,7 +32,6 @@ import com.intellij.openapi.progress.ProgressIndicator; import com.intellij.openapi.progress.ProgressManager; import com.intellij.openapi.project.DumbAware; import com.intellij.openapi.project.Project; -import com.intellij.openapi.ui.Messages; import com.intellij.openapi.vcs.*; import com.intellij.openapi.vcs.changes.Change; import com.intellij.openapi.vcs.changes.ChangeListManager; @@ -45,10 +44,15 @@ import com.intellij.openapi.vcs.rollback.RollbackEnvironment; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.openapi.vfs.VirtualFileManager; import com.intellij.util.containers.CollectionFactory; +import com.intellij.vcsUtil.RollbackUtil; import org.jetbrains.annotations.Nullable; import java.util.*; +import static com.intellij.openapi.ui.Messages.getQuestionIcon; +import static com.intellij.openapi.ui.Messages.showYesNoDialog; +import static java.util.Arrays.*; + public class RollbackAction extends AnAction implements DumbAware { public void update(AnActionEvent e) { Project project = e.getData(PlatformDataKeys.PROJECT); @@ -77,14 +81,9 @@ public class RollbackAction extends AnAction implements DumbAware { } e.getPresentation().setEnabled(isEnabled); if (isEnabled) { - final AbstractVcs[] vcss = ProjectLevelVcsManager.getInstance(project).getAllActiveVcss(); - for (AbstractVcs vcs : vcss) { - final RollbackEnvironment rollbackEnvironment = vcs.getRollbackEnvironment(); - if (rollbackEnvironment != null) { - e.getPresentation().setText(rollbackEnvironment.getRollbackOperationName()); - return; - } - } + String operationName = RollbackUtil.getRollbackOperationName(project); + e.getPresentation().setText(operationName); + e.getPresentation().setDescription(operationName + " selected changes"); } } @@ -93,7 +92,9 @@ public class RollbackAction extends AnAction implements DumbAware { if (project == null) { return; } - final String title = ActionPlaces.CHANGES_VIEW_TOOLBAR.equals(e.getPlace()) ? null : "Can not rollback now"; + final String title = ActionPlaces.CHANGES_VIEW_TOOLBAR.equals(e.getPlace()) + ? null + : "Can not " + RollbackUtil.getRollbackOperationName(project) + " now"; if (ChangeListManager.getInstance(project).isFreezedWithNotification(title)) return; FileDocumentManager.getInstance().saveAllDocuments(); @@ -187,7 +188,7 @@ public class RollbackAction extends AnAction implements DumbAware { final VirtualFile[] virtualFiles = e.getData(PlatformDataKeys.VIRTUAL_FILE_ARRAY); if (virtualFiles != null && virtualFiles.length > 0) { - LinkedHashSet result = new LinkedHashSet(Arrays.asList(virtualFiles)); + LinkedHashSet result = new LinkedHashSet(asList(virtualFiles)); result.retainAll(ChangeListManager.getInstance(project).getModifiedWithoutEditing()); return result; } @@ -196,10 +197,13 @@ public class RollbackAction extends AnAction implements DumbAware { } private static void rollbackModifiedWithoutEditing(final Project project, final LinkedHashSet modifiedWithoutEditing) { + final String operationName = RollbackUtil.getRollbackOperationName(project); String message = (modifiedWithoutEditing.size() == 1) - ? VcsBundle.message("rollback.modified.without.editing.confirm.single", modifiedWithoutEditing.iterator().next().getPresentableUrl()) - : VcsBundle.message("rollback.modified.without.editing.confirm.multiple", modifiedWithoutEditing.size()); - int rc = Messages.showYesNoDialog(project, message, VcsBundle.message("changes.action.rollback.title"), Messages.getQuestionIcon()); + ? VcsBundle.message("rollback.modified.without.editing.confirm.single", + modifiedWithoutEditing.iterator().next().getPresentableUrl(), operationName) + : VcsBundle.message("rollback.modified.without.editing.confirm.multiple", + modifiedWithoutEditing.size(), operationName); + int rc = showYesNoDialog(project, message, VcsBundle.message("changes.action.rollback.title", operationName), getQuestionIcon()); if (rc != 0) { return; } @@ -215,10 +219,12 @@ public class RollbackAction extends AnAction implements DumbAware { final RollbackEnvironment rollbackEnvironment = vcs.getRollbackEnvironment(); if (rollbackEnvironment != null) { if (indicator != null) { - indicator.setText(vcs.getDisplayName() + ": performing rollback..."); + indicator.setText(vcs.getDisplayName() + + ": performing " + rollbackEnvironment.getRollbackOperationName().toLowerCase() + "..."); indicator.setIndeterminate(false); } - rollbackEnvironment.rollbackModifiedWithoutCheckout(items, exceptions, new RollbackProgressModifier(items.size(), indicator)); + rollbackEnvironment + .rollbackModifiedWithoutCheckout(items, exceptions, new RollbackProgressModifier(items.size(), indicator)); if (indicator != null) { indicator.setText2(""); } @@ -230,17 +236,18 @@ public class RollbackAction extends AnAction implements DumbAware { // for files refresh } if (!exceptions.isEmpty()) { - AbstractVcsHelper.getInstance(project).showErrors(exceptions, VcsBundle.message("rollback.modified.without.checkout.error.tab")); + AbstractVcsHelper.getInstance(project).showErrors(exceptions, VcsBundle.message("rollback.modified.without.checkout.error.tab", + operationName)); } VirtualFileManager.getInstance().refresh(true, new Runnable() { public void run() { - for(VirtualFile virtualFile: modifiedWithoutEditing) { + for (VirtualFile virtualFile : modifiedWithoutEditing) { VcsDirtyScopeManager.getInstance(project).fileDirty(virtualFile); } } }); } }; - progressManager.runProcessWithProgressSynchronously(action, VcsBundle.message("changes.action.rollback.text"), true, project); + progressManager.runProcessWithProgressSynchronously(action, operationName, true, project); } } diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/RollbackChangesDialog.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/RollbackChangesDialog.java index de9158d437e5..eafe8d1bd3ff 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/RollbackChangesDialog.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/RollbackChangesDialog.java @@ -21,8 +21,8 @@ import com.intellij.openapi.ui.Messages; import com.intellij.openapi.vcs.AbstractVcs; import com.intellij.openapi.vcs.VcsBundle; import com.intellij.openapi.vcs.changes.*; -import com.intellij.openapi.vcs.rollback.RollbackEnvironment; import com.intellij.util.ui.UIUtil; +import com.intellij.vcsUtil.RollbackUtil; import gnu.trove.THashSet; import org.jetbrains.annotations.Nullable; @@ -98,10 +98,6 @@ public class RollbackChangesDialog extends DialogWrapper { } }; myBrowser = new MultipleChangeListBrowser(project, changeLists, changes, null, true, true, myListChangeListener, myListChangeListener); - myBrowser.setToggleActionTitle("Include in rollback"); - - setOKButtonText(VcsBundle.message("changes.action.rollback.text")); - setTitle(VcsBundle.message("changes.action.rollback.title")); Set affectedVcs = new HashSet(); for (Change c : changes) { @@ -111,21 +107,18 @@ public class RollbackChangesDialog extends DialogWrapper { affectedVcs.add(vcs); } } - if (affectedVcs.size() == 1) { - AbstractVcs vcs = (AbstractVcs)affectedVcs.toArray()[0]; - final RollbackEnvironment rollbackEnvironment = vcs.getRollbackEnvironment(); - if (rollbackEnvironment != null) { - String rollbackOperationName = rollbackEnvironment.getRollbackOperationName(); - int pos = rollbackOperationName.indexOf(UIUtil.MNEMONIC); - if (pos >= 0) { - setOKButtonMnemonic(Character.toUpperCase(rollbackOperationName.charAt(pos + 1))); - rollbackOperationName = rollbackOperationName.replace(Character.toString(UIUtil.MNEMONIC), ""); - } - setTitle(VcsBundle.message("changes.action.rollback.custom.title", rollbackOperationName).replace("_", "")); - setOKButtonText(rollbackOperationName); - } + + String operationName = RollbackUtil.getRollbackOperationName(affectedVcs); + int pos = operationName.indexOf(UIUtil.MNEMONIC); + if (pos >= 0) { + setOKButtonMnemonic(Character.toUpperCase(operationName.charAt(pos + 1))); + operationName = operationName.replace(Character.toString(UIUtil.MNEMONIC), ""); } + setTitle(VcsBundle.message("changes.action.rollback.custom.title", operationName).replace("_", "")); + setOKButtonText(operationName); + myBrowser.setToggleActionTitle("Include in " + operationName.toLowerCase()); + for (Change c : changes) { if (c.getType() == Change.Type.NEW) { myDeleteLocallyAddedFiles = new JCheckBox(VcsBundle.message("changes.checkbox.delete.locally.added.files")); diff --git a/platform/vcs-impl/src/com/intellij/vcsUtil/RollbackUtil.java b/platform/vcs-impl/src/com/intellij/vcsUtil/RollbackUtil.java new file mode 100644 index 000000000000..2974705eda98 --- /dev/null +++ b/platform/vcs-impl/src/com/intellij/vcsUtil/RollbackUtil.java @@ -0,0 +1,73 @@ +/* + * Copyright 2000-2012 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.intellij.vcsUtil; + +import com.intellij.openapi.project.Project; +import com.intellij.openapi.vcs.AbstractVcs; +import com.intellij.openapi.vcs.ProjectLevelVcsManager; +import com.intellij.openapi.vcs.rollback.DefaultRollbackEnvironment; +import com.intellij.openapi.vcs.rollback.RollbackEnvironment; +import org.jetbrains.annotations.NotNull; + +import java.util.Collection; + +import static java.util.Arrays.asList; + +/** + * @author Kirill Likhodedov + */ +public class RollbackUtil { + + private RollbackUtil() { + } + + + /** + * Finds the most appropriate name for the "Rollback" operation for the given VCSs. + * That is: iterates through the all {@link RollbackEnvironment#getRollbackOperationName() RollbackEnvironments} and picks + * the operation name if it is equal to all given VCSs. + * Otherwise picks the {@link DefaultRollbackEnvironment#ROLLBACK_OPERATION_NAME default name}. + * @param vcses affected VCSs. + * @return name for the "rollback" operation to be used in the UI. + */ + @NotNull + public static String getRollbackOperationName(@NotNull Collection vcses) { + String operationName = null; + for (AbstractVcs vcs : vcses) { + final RollbackEnvironment rollbackEnvironment = vcs.getRollbackEnvironment(); + if (rollbackEnvironment != null) { + if (operationName == null) { + operationName = rollbackEnvironment.getRollbackOperationName(); + } + else if (!operationName.equals(rollbackEnvironment.getRollbackOperationName())) { + // if there are different names, use default + return DefaultRollbackEnvironment.ROLLBACK_OPERATION_NAME; + } + } + } + return operationName != null ? operationName : DefaultRollbackEnvironment.ROLLBACK_OPERATION_NAME; + } + + /** + * Finds the appropriate name for the "rollback" operation, looking through all VCSs registered in the project. + * @see #getRollbackOperationName(java.util.Collection) + */ + @NotNull + public static String getRollbackOperationName(@NotNull Project project) { + return getRollbackOperationName(asList(ProjectLevelVcsManager.getInstance(project).getAllActiveVcss())); + } + +} From 322970bbd885d1ce3ae0d3f847548e86b2266cfa Mon Sep 17 00:00:00 2001 From: Kirill Likhodedov Date: Mon, 5 Mar 2012 16:41:20 +0400 Subject: [PATCH 28/41] Remove GitRootConverter. GitRootConverter is not needed: we force user to add VCS roots correctly. Otherwise an error in the Settings | Version Control is shown, and a notification appears as well - so user is warned well enough. --- .../src/git4idea/GitRootConverter.java | 53 ------------------- plugins/git4idea/src/git4idea/GitVcs.java | 5 -- 2 files changed, 58 deletions(-) delete mode 100644 plugins/git4idea/src/git4idea/GitRootConverter.java diff --git a/plugins/git4idea/src/git4idea/GitRootConverter.java b/plugins/git4idea/src/git4idea/GitRootConverter.java deleted file mode 100644 index ed073ff9e338..000000000000 --- a/plugins/git4idea/src/git4idea/GitRootConverter.java +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Copyright 2000-2009 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package git4idea; - -import com.intellij.openapi.vcs.AbstractVcs; -import com.intellij.openapi.vfs.VirtualFile; -import com.intellij.util.containers.HashSet; - -import java.util.ArrayList; -import java.util.List; - -/** - * The converter for the VCS roots - */ -public class GitRootConverter implements AbstractVcs.RootsConvertor { - /** - * The static instance - */ - public static final GitRootConverter INSTANCE = new GitRootConverter(); - - /** - * {@inheritDoc} - */ - public List convertRoots(List result) { - // The method relies on the fact that VFS caches metadata about files, - // so the query should be relatively fast and work mostly with in-memory structures. - - // todo useless? - ArrayList roots = new ArrayList(); - HashSet listed = new HashSet(); - for (VirtualFile f : result) { - VirtualFile r = GitUtil.gitRootOrNull(f); - if (r != null && listed.add(r)) { - roots.add(r); - } - } - return roots; - } -} diff --git a/plugins/git4idea/src/git4idea/GitVcs.java b/plugins/git4idea/src/git4idea/GitVcs.java index 9aaee98fc859..90770a7511b1 100644 --- a/plugins/git4idea/src/git4idea/GitVcs.java +++ b/plugins/git4idea/src/git4idea/GitVcs.java @@ -500,11 +500,6 @@ public class GitVcs extends AbstractVcs { return in; } - @Override - public RootsConvertor getCustomConvertor() { - return GitRootConverter.INSTANCE; - } - public static VcsKey getKey() { return ourKey; } From e6c913852222ebf44c12bbe7ca1d6ac1739b485b Mon Sep 17 00:00:00 2001 From: Kirill Likhodedov Date: Mon, 5 Mar 2012 16:42:13 +0400 Subject: [PATCH 29/41] Fix possible NPE. --- .../vcs/configurable/VcsDirectoryConfigurationPanel.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/configurable/VcsDirectoryConfigurationPanel.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/configurable/VcsDirectoryConfigurationPanel.java index 1fbcea8e1414..540770493bed 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/configurable/VcsDirectoryConfigurationPanel.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/configurable/VcsDirectoryConfigurationPanel.java @@ -101,7 +101,7 @@ public class VcsDirectoryConfigurationPanel extends PanelWithButtons implements return; } String relativePath = FileUtil.getRelativePath(ioBase, directoryFile); - if (".".equals(relativePath)) { + if (".".equals(relativePath) || relativePath == null) { append(ioBase.getPath()); } else { From 4a72908e33d23eeed12f8f6ddeb4f8d1bf58b681 Mon Sep 17 00:00:00 2001 From: Kirill Likhodedov Date: Mon, 5 Mar 2012 16:45:02 +0400 Subject: [PATCH 30/41] move inner class to the bottom --- .../VcsDirectoryConfigurationPanel.java | 75 +++++++++---------- 1 file changed, 37 insertions(+), 38 deletions(-) diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/configurable/VcsDirectoryConfigurationPanel.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/configurable/VcsDirectoryConfigurationPanel.java index 540770493bed..55e209e394da 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/configurable/VcsDirectoryConfigurationPanel.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/configurable/VcsDirectoryConfigurationPanel.java @@ -374,44 +374,6 @@ public class VcsDirectoryConfigurationPanel extends PanelWithButtons implements return panelForTable; } - private static class VcsRootErrorLabel extends JPanel { - - private final LinkLabel myAddLabel; - - VcsRootErrorLabel(String title) { - super(new BorderLayout(DEFAULT_HGAP, DEFAULT_VGAP)); - - setBorder(BorderFactory.createCompoundBorder(BorderFactory.createMatteBorder(5, 0, 5, 0, UIUtil.getPanelBackground()), - BorderFactory.createLineBorder(UIUtil.getPanelBackground().darker()))); - setOpaque(true); - Color COLOR = new Color(255, 186, 192); - - setBackground(COLOR); - - JBLabel label = new JBLabel(title); - - myAddLabel = new LinkLabel("Add root", null); - - myAddLabel.setOpaque(false); - - JPanel actionsPanel = new JPanel(new BorderLayout(DEFAULT_HGAP, DEFAULT_VGAP)); - actionsPanel.setOpaque(false); - actionsPanel.add(myAddLabel, BorderLayout.CENTER); - - add(label, BorderLayout.WEST); - add(actionsPanel, BorderLayout.EAST); - } - - void setAddRootLinkHandler(final Runnable handler) { - myAddLabel.setListener(new LinkListener() { - @Override - public void linkSelected(LinkLabel aSource, Object aLinkData) { - handler.run(); - } - }, null); - } - } - private JComponent createErrorList() { Box box = Box.createVerticalBox(); for (Map.Entry entry : myCheckers.entrySet()) { @@ -525,4 +487,41 @@ public class VcsDirectoryConfigurationPanel extends PanelWithButtons implements public void disposeUIResources() { } + + private static class VcsRootErrorLabel extends JPanel { + + private final LinkLabel myAddLabel; + + VcsRootErrorLabel(String title) { + super(new BorderLayout(DEFAULT_HGAP, DEFAULT_VGAP)); + + setBorder(BorderFactory.createCompoundBorder(BorderFactory.createMatteBorder(5, 0, 5, 0, UIUtil.getPanelBackground()), + BorderFactory.createLineBorder(UIUtil.getPanelBackground().darker()))); + setOpaque(true); + setBackground(new Color(255, 186, 192)); + + JBLabel label = new JBLabel(title); + + myAddLabel = new LinkLabel("Add root", null); + + myAddLabel.setOpaque(false); + + JPanel actionsPanel = new JPanel(new BorderLayout(DEFAULT_HGAP, DEFAULT_VGAP)); + actionsPanel.setOpaque(false); + actionsPanel.add(myAddLabel, BorderLayout.CENTER); + + add(label, BorderLayout.WEST); + add(actionsPanel, BorderLayout.EAST); + } + + void setAddRootLinkHandler(final Runnable handler) { + myAddLabel.setListener(new LinkListener() { + @Override + public void linkSelected(LinkLabel aSource, Object aLinkData) { + handler.run(); + } + }, null); + } + } + } From da50a344104574d1b38545b31d0af815ddc8a916 Mon Sep 17 00:00:00 2001 From: Kirill Likhodedov Date: Mon, 5 Mar 2012 16:53:51 +0400 Subject: [PATCH 31/41] Padding in root error label in Settings | Version Control. --- .../vcs/configurable/VcsDirectoryConfigurationPanel.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/configurable/VcsDirectoryConfigurationPanel.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/configurable/VcsDirectoryConfigurationPanel.java index 55e209e394da..b851d657bd14 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/configurable/VcsDirectoryConfigurationPanel.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/configurable/VcsDirectoryConfigurationPanel.java @@ -36,6 +36,7 @@ import org.jetbrains.annotations.Nls; import org.jetbrains.annotations.NotNull; import javax.swing.*; +import javax.swing.border.CompoundBorder; import javax.swing.table.TableCellEditor; import javax.swing.table.TableCellRenderer; import java.awt.*; @@ -495,8 +496,10 @@ public class VcsDirectoryConfigurationPanel extends PanelWithButtons implements VcsRootErrorLabel(String title) { super(new BorderLayout(DEFAULT_HGAP, DEFAULT_VGAP)); - setBorder(BorderFactory.createCompoundBorder(BorderFactory.createMatteBorder(5, 0, 5, 0, UIUtil.getPanelBackground()), - BorderFactory.createLineBorder(UIUtil.getPanelBackground().darker()))); + CompoundBorder outsideBorder = BorderFactory.createCompoundBorder(BorderFactory.createMatteBorder(5, 0, 5, 0, UIUtil.getPanelBackground()), + BorderFactory.createLineBorder(UIUtil.getPanelBackground().darker())); + setBorder(BorderFactory.createCompoundBorder(outsideBorder, BorderFactory.createEmptyBorder(DEFAULT_VGAP, DEFAULT_HGAP, + DEFAULT_VGAP, DEFAULT_HGAP))); setOpaque(true); setBackground(new Color(255, 186, 192)); From 78c162303bcebef1207095e98cf4bb31b217d12d Mon Sep 17 00:00:00 2001 From: Kirill Likhodedov Date: Mon, 5 Mar 2012 17:07:31 +0400 Subject: [PATCH 32/41] fix warnings, spelling --- .../src/messages/VcsBundle.properties | 2 +- .../VcsDirectoryConfigurationPanel.java | 16 ++++++++++++---- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/platform/platform-resources-en/src/messages/VcsBundle.properties b/platform/platform-resources-en/src/messages/VcsBundle.properties index c6d39c9a0440..335c78606e83 100644 --- a/platform/platform-resources-en/src/messages/VcsBundle.properties +++ b/platform/platform-resources-en/src/messages/VcsBundle.properties @@ -110,7 +110,7 @@ message.title.cannot.open.editor=Cannot Open Editor #configuration column.info.configure.vcses.directory=Directory -comumn.name.configure.vcses.vcs=VCS +column.name.configure.vcses.vcs=VCS dialog.title.version.control.configurations=Version Control Configurations message.text.unable.to.save.settings=Unable to save settings. {0} message.title.unable.to.save.settings=Unable To Save Settings diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/configurable/VcsDirectoryConfigurationPanel.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/configurable/VcsDirectoryConfigurationPanel.java index b851d657bd14..11f49931ed2e 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/configurable/VcsDirectoryConfigurationPanel.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/configurable/VcsDirectoryConfigurationPanel.java @@ -121,7 +121,7 @@ public class VcsDirectoryConfigurationPanel extends PanelWithButtons implements } private final ColumnInfo VCS_SETTING = - new ColumnInfo(VcsBundle.message("comumn.name.configure.vcses.vcs")) { + new ColumnInfo(VcsBundle.message("column.name.configure.vcses.vcs")) { public String valueOf(final VcsDirectoryMapping object) { return object.getVcs(); } @@ -352,20 +352,28 @@ public class VcsDirectoryConfigurationPanel extends PanelWithButtons implements } }).disableUpDownActions().createPanel(); - ToolbarDecorator.findAddButton(panelForTable).addCustomUpdater(new AnActionButtonUpdater() { + AnActionButton addButton = ToolbarDecorator.findAddButton(panelForTable); + assert addButton != null; + addButton.addCustomUpdater(new AnActionButtonUpdater() { @Override public boolean isEnabled(AnActionEvent e) { return !myIsDisabled; } }); - ToolbarDecorator.findEditButton(panelForTable).addCustomUpdater(new AnActionButtonUpdater() { + + AnActionButton editButton = ToolbarDecorator.findEditButton(panelForTable); + assert editButton != null; + editButton.addCustomUpdater(new AnActionButtonUpdater() { @Override public boolean isEnabled(AnActionEvent e) { final boolean hasSelection = myDirectoryMappingTable.getSelectedObject() != null; return (!myIsDisabled) && hasSelection; } }); - ToolbarDecorator.findRemoveButton(panelForTable).addCustomUpdater(new AnActionButtonUpdater() { + + AnActionButton removeButton = ToolbarDecorator.findRemoveButton(panelForTable); + assert removeButton != null; + removeButton.addCustomUpdater(new AnActionButtonUpdater() { @Override public boolean isEnabled(AnActionEvent e) { final boolean hasSelection = myDirectoryMappingTable.getSelectedObject() != null; From 26c89f0c9375f3b02a19577d379b87d710fc8b03 Mon Sep 17 00:00:00 2001 From: Kirill Likhodedov Date: Mon, 5 Mar 2012 17:29:35 +0400 Subject: [PATCH 33/41] Update errors info in Version Control Roots immediately after add/remove/edit root Recollect VcsRootCheckers (since a new VCS may be added). Make isInvalidRoot independent from ProjectLevelVcsManager.getAllVcsRoots() since the latter are not updated yet in this case. --- .../VcsDirectoryConfigurationPanel.java | 30 ++++++++++++------- plugins/git4idea/src/git4idea/GitVcs.java | 18 ++++++----- 2 files changed, 30 insertions(+), 18 deletions(-) diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/configurable/VcsDirectoryConfigurationPanel.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/configurable/VcsDirectoryConfigurationPanel.java index 11f49931ed2e..f8173d08c7c5 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/configurable/VcsDirectoryConfigurationPanel.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/configurable/VcsDirectoryConfigurationPanel.java @@ -192,17 +192,7 @@ public class VcsDirectoryConfigurationPanel extends PanelWithButtons implements myBaseRevisionTexts = new JCheckBox("Store on shelf base revision texts for files under DVCS"); myCheckers = new HashMap(); - for (VcsDescriptor descriptor : vcsDescriptors) { - String name = descriptor.getName(); - AbstractVcs vcs = myVcsManager.findVcsByName(name); - if (vcs == null) { - continue; - } - VcsRootChecker checker = vcs.getRootChecker(); - if (checker != null) { - myCheckers.put(name, checker); - } - } + updateRootCheckers(); initPanel(); myDirectoryRenderer = new MyDirectoryRenderer(myProject); @@ -240,6 +230,21 @@ public class VcsDirectoryConfigurationPanel extends PanelWithButtons implements } } + private void updateRootCheckers() { + myCheckers.clear(); + for (VcsDescriptor descriptor : myVcsManager.getAllVcss()) { + String name = descriptor.getName(); + AbstractVcs vcs = myVcsManager.findVcsByName(name); + if (vcs == null) { + continue; + } + VcsRootChecker checker = vcs.getRootChecker(); + if (checker != null) { + myCheckers.put(name, checker); + } + } + } + private void initializeModel() { List mappings = new ArrayList(); for (VcsDirectoryMapping mapping : ProjectLevelVcsManager.getInstance(myProject).getDirectoryMappings()) { @@ -339,16 +344,19 @@ public class VcsDirectoryConfigurationPanel extends PanelWithButtons implements @Override public void run(AnActionButton button) { addMapping(); + updateRootCheckers(); } }).setEditAction(new AnActionButtonRunnable() { @Override public void run(AnActionButton button) { editMapping(); + updateRootCheckers(); } }).setRemoveAction(new AnActionButtonRunnable() { @Override public void run(AnActionButton button) { removeMapping(); + updateRootCheckers(); } }).disableUpDownActions().createPanel(); diff --git a/plugins/git4idea/src/git4idea/GitVcs.java b/plugins/git4idea/src/git4idea/GitVcs.java index 90770a7511b1..513b5893a4ca 100644 --- a/plugins/git4idea/src/git4idea/GitVcs.java +++ b/plugins/git4idea/src/git4idea/GitVcs.java @@ -32,6 +32,7 @@ import com.intellij.openapi.ui.MessageType; import com.intellij.openapi.ui.Messages; import com.intellij.openapi.util.Disposer; import com.intellij.openapi.util.SystemInfo; +import com.intellij.openapi.util.io.FileUtil; import com.intellij.openapi.vcs.*; import com.intellij.openapi.vcs.changes.ChangeProvider; import com.intellij.openapi.vcs.changes.CommitExecutor; @@ -71,7 +72,10 @@ import git4idea.history.wholeTree.GitCommitsSequentially; import git4idea.i18n.GitBundle; import git4idea.merge.GitMergeProvider; import git4idea.rollback.GitRollbackEnvironment; -import git4idea.roots.*; +import git4idea.roots.GitIntegrationEnabler; +import git4idea.roots.GitRootDetectInfo; +import git4idea.roots.GitRootDetector; +import git4idea.roots.GitRootErrorsFinder; import git4idea.status.GitChangeProvider; import git4idea.ui.branch.GitBranchWidget; import git4idea.update.GitUpdateEnvironment; @@ -81,6 +85,7 @@ import git4idea.vfs.GitVFSListener; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import java.io.File; import java.text.SimpleDateFormat; import java.util.*; import java.util.concurrent.locks.ReadWriteLock; @@ -574,12 +579,11 @@ public class GitVcs extends AbstractVcs { @Override public boolean isInvalidRoot(@NotNull String directory) { - for (VcsRootError error : myErrors) { - if (error.getType() == VcsRootError.Type.EXTRA_ROOT && error.getRoot().getPath().equals(directory)) { - return true; - } - } - return false; + // this information is available in myErrors, + // but the method may be called in VcsDirectoryConfigurationPanel after adding a mapping (to highlight errors right away) + // in which case ProjectLevelVcsManager#getAllVcsRoots() is not aware of new roots yet, + // while GitRootErrorsFinder relies on the set of roots returned from ProjectLevelVcsManager. + return !new File(FileUtil.toSystemDependentName(directory), ".git").exists(); } } } From 4f525cbab5c1aedf6c602b743917bc202e6e440f Mon Sep 17 00:00:00 2001 From: Kirill Likhodedov Date: Mon, 5 Mar 2012 17:49:02 +0400 Subject: [PATCH 34/41] Move GitRootChecker to a separate class. --- plugins/git4idea/src/git4idea/GitVcs.java | 39 +----------- .../src/git4idea/roots/GitRootChecker.java | 61 +++++++++++++++++++ 2 files changed, 63 insertions(+), 37 deletions(-) create mode 100644 plugins/git4idea/src/git4idea/roots/GitRootChecker.java diff --git a/plugins/git4idea/src/git4idea/GitVcs.java b/plugins/git4idea/src/git4idea/GitVcs.java index 513b5893a4ca..d433f537321b 100644 --- a/plugins/git4idea/src/git4idea/GitVcs.java +++ b/plugins/git4idea/src/git4idea/GitVcs.java @@ -32,7 +32,6 @@ import com.intellij.openapi.ui.MessageType; import com.intellij.openapi.ui.Messages; import com.intellij.openapi.util.Disposer; import com.intellij.openapi.util.SystemInfo; -import com.intellij.openapi.util.io.FileUtil; import com.intellij.openapi.vcs.*; import com.intellij.openapi.vcs.changes.ChangeProvider; import com.intellij.openapi.vcs.changes.CommitExecutor; @@ -72,10 +71,7 @@ import git4idea.history.wholeTree.GitCommitsSequentially; import git4idea.i18n.GitBundle; import git4idea.merge.GitMergeProvider; import git4idea.rollback.GitRollbackEnvironment; -import git4idea.roots.GitIntegrationEnabler; -import git4idea.roots.GitRootDetectInfo; -import git4idea.roots.GitRootDetector; -import git4idea.roots.GitRootErrorsFinder; +import git4idea.roots.*; import git4idea.status.GitChangeProvider; import git4idea.ui.branch.GitBranchWidget; import git4idea.update.GitUpdateEnvironment; @@ -85,7 +81,6 @@ import git4idea.vfs.GitVFSListener; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import java.io.File; import java.text.SimpleDateFormat; import java.util.*; import java.util.concurrent.locks.ReadWriteLock; @@ -312,7 +307,7 @@ public class GitVcs extends AbstractVcs { @Override public VcsRootChecker getRootChecker() { - return new MyVcsRootChecker(); + return new GitRootChecker(myProject, myPlatformFacade); } @Override @@ -556,34 +551,4 @@ public class GitVcs extends AbstractVcs { } }); } - - private class MyVcsRootChecker implements VcsRootChecker { - - private final Collection myErrors; - - MyVcsRootChecker() { - myErrors = new GitRootErrorsFinder(myProject, myPlatformFacade).find(); - } - - @NotNull - @Override - public Collection getUnregisteredRoots() { - Collection roots = new ArrayList(); - for (VcsRootError error : myErrors) { - if (error.getType() == VcsRootError.Type.UNREGISTERED_ROOT) { - roots.add(error.getRoot()); - } - } - return roots; - } - - @Override - public boolean isInvalidRoot(@NotNull String directory) { - // this information is available in myErrors, - // but the method may be called in VcsDirectoryConfigurationPanel after adding a mapping (to highlight errors right away) - // in which case ProjectLevelVcsManager#getAllVcsRoots() is not aware of new roots yet, - // while GitRootErrorsFinder relies on the set of roots returned from ProjectLevelVcsManager. - return !new File(FileUtil.toSystemDependentName(directory), ".git").exists(); - } - } } diff --git a/plugins/git4idea/src/git4idea/roots/GitRootChecker.java b/plugins/git4idea/src/git4idea/roots/GitRootChecker.java new file mode 100644 index 000000000000..fa0ff1f2634f --- /dev/null +++ b/plugins/git4idea/src/git4idea/roots/GitRootChecker.java @@ -0,0 +1,61 @@ +/* + * Copyright 2000-2012 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package git4idea.roots; + +import com.intellij.openapi.project.Project; +import com.intellij.openapi.util.io.FileUtil; +import com.intellij.openapi.vcs.VcsRootChecker; +import com.intellij.openapi.vcs.VcsRootError; +import com.intellij.openapi.vfs.VirtualFile; +import git4idea.PlatformFacade; +import org.jetbrains.annotations.NotNull; + +import java.io.File; +import java.util.ArrayList; +import java.util.Collection; + +/** + * @author Kirill Likhodedov + */ +public class GitRootChecker implements VcsRootChecker { + + private final Collection myErrors; + + public GitRootChecker(Project project, PlatformFacade platformFacade) { + myErrors = new GitRootErrorsFinder(project, platformFacade).find(); + } + + @NotNull + @Override + public Collection getUnregisteredRoots() { + Collection roots = new ArrayList(); + for (VcsRootError error : myErrors) { + if (error.getType() == VcsRootError.Type.UNREGISTERED_ROOT) { + roots.add(error.getRoot()); + } + } + return roots; + } + + @Override + public boolean isInvalidRoot(@NotNull String directory) { + // this information is available in myErrors, + // but the method may be called in VcsDirectoryConfigurationPanel after adding a mapping (to highlight errors right away) + // in which case ProjectLevelVcsManager#getAllVcsRoots() is not aware of new roots yet, + // while GitRootErrorsFinder relies on the set of roots returned from ProjectLevelVcsManager. + return !new File(FileUtil.toSystemDependentName(directory), ".git").exists(); + } +} From 2a77601e8c0ad412a176cb542f67cc88e2db9d1f Mon Sep 17 00:00:00 2001 From: Kirill Likhodedov Date: Mon, 5 Mar 2012 19:15:20 +0400 Subject: [PATCH 35/41] Git roots: detect roots in linked content roots as well. +tests. --- plugins/git4idea/src/git4idea/GitVcs.java | 2 +- .../git4idea/src/git4idea/PlatformFacade.java | 4 + .../src/git4idea/PlatformFacadeImpl.java | 7 + .../src/git4idea/roots/GitRootDetector.java | 36 +++-- .../git4idea/roots/GitRootErrorsFinder.java | 2 +- .../git4idea/roots/AbstractGitRootTest.groovy | 13 +- .../git4idea/roots/GitRootDetectorTest.groovy | 31 ++++- .../roots/GitRootErrorsFinderTest.groovy | 2 +- .../test/GitMockProjectRootManager.groovy | 126 ++++++++++++++++++ .../git4idea/test/GitMockVirtualFile.groovy | 14 +- .../test/GitTestPlatformFacade.groovy | 8 ++ 11 files changed, 229 insertions(+), 16 deletions(-) create mode 100644 plugins/git4idea/tests/git4idea/test/GitMockProjectRootManager.groovy diff --git a/plugins/git4idea/src/git4idea/GitVcs.java b/plugins/git4idea/src/git4idea/GitVcs.java index d433f537321b..35db0364d36a 100644 --- a/plugins/git4idea/src/git4idea/GitVcs.java +++ b/plugins/git4idea/src/git4idea/GitVcs.java @@ -546,7 +546,7 @@ public class GitVcs extends AbstractVcs { public void enableIntegration() { ApplicationManager.getApplication().executeOnPooledThread(new Runnable() { public void run() { - GitRootDetectInfo detectInfo = new GitRootDetector(myProject).detect(); + GitRootDetectInfo detectInfo = new GitRootDetector(myProject, myPlatformFacade).detect(); new GitIntegrationEnabler(myProject, myGit, myPlatformFacade).enable(detectInfo); } }); diff --git a/plugins/git4idea/src/git4idea/PlatformFacade.java b/plugins/git4idea/src/git4idea/PlatformFacade.java index 8fdaf187c819..f68cc00707b7 100644 --- a/plugins/git4idea/src/git4idea/PlatformFacade.java +++ b/plugins/git4idea/src/git4idea/PlatformFacade.java @@ -16,6 +16,7 @@ package git4idea; import com.intellij.openapi.project.Project; +import com.intellij.openapi.roots.ProjectRootManager; import com.intellij.openapi.ui.DialogWrapper; import com.intellij.openapi.vcs.AbstractVcs; import com.intellij.openapi.vcs.ProjectLevelVcsManager; @@ -50,4 +51,7 @@ public interface PlatformFacade { void showDialog(@NotNull DialogWrapper dialog); + @NotNull + ProjectRootManager getProjectRootManager(@NotNull Project project); + } diff --git a/plugins/git4idea/src/git4idea/PlatformFacadeImpl.java b/plugins/git4idea/src/git4idea/PlatformFacadeImpl.java index a9da920e1507..7f6e09ce8f64 100644 --- a/plugins/git4idea/src/git4idea/PlatformFacadeImpl.java +++ b/plugins/git4idea/src/git4idea/PlatformFacadeImpl.java @@ -16,6 +16,7 @@ package git4idea; import com.intellij.openapi.project.Project; +import com.intellij.openapi.roots.ProjectRootManager; import com.intellij.openapi.ui.DialogWrapper; import com.intellij.openapi.vcs.AbstractVcs; import com.intellij.openapi.vcs.ProjectLevelVcsManager; @@ -43,6 +44,12 @@ public class PlatformFacadeImpl implements PlatformFacade { dialog.show(); } + @NotNull + @Override + public ProjectRootManager getProjectRootManager(@NotNull Project project) { + return ProjectRootManager.getInstance(project); + } + @NotNull @Override public AbstractVcs getVcs(@NotNull Project project) { diff --git a/plugins/git4idea/src/git4idea/roots/GitRootDetector.java b/plugins/git4idea/src/git4idea/roots/GitRootDetector.java index 73a928d37775..22566b1aecb4 100644 --- a/plugins/git4idea/src/git4idea/roots/GitRootDetector.java +++ b/plugins/git4idea/src/git4idea/roots/GitRootDetector.java @@ -19,12 +19,11 @@ import com.intellij.openapi.project.Project; import com.intellij.openapi.vfs.VfsUtil; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.util.Processor; +import git4idea.PlatformFacade; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; +import java.util.*; /** *

@@ -41,9 +40,11 @@ import java.util.Collections; public class GitRootDetector { @NotNull private final Project myProject; + @NotNull private final PlatformFacade myPlatformFacade; - public GitRootDetector(@NotNull Project project) { + public GitRootDetector(@NotNull Project project, @NotNull PlatformFacade platformFacade) { myProject = project; + myPlatformFacade = platformFacade; } public GitRootDetectInfo detect() { @@ -53,13 +54,14 @@ public class GitRootDetector { return new GitRootDetectInfo(Collections.emptyList(), false, false); } - final Collection roots = scanForRootsInsideProject(projectDir); + final Set roots = scanForRootsInsideDir(projectDir); + roots.addAll(scanForRootsInContentRoots()); if (roots.contains(projectDir)) { return new GitRootDetectInfo(roots, true, false); } - VirtualFile rootAbove = scanForSingleRootAboveProject(projectDir); + VirtualFile rootAbove = scanForSingleRootAboveDir(projectDir); if (rootAbove != null) { roots.add(rootAbove); return new GitRootDetectInfo(roots, true, true); @@ -67,9 +69,25 @@ public class GitRootDetector { return new GitRootDetectInfo(roots, false, false); } + private Set scanForRootsInContentRoots() { + Set gitRoots = new HashSet(); + VirtualFile[] roots = myPlatformFacade.getProjectRootManager(myProject).getContentRoots(); + for (VirtualFile contentRoot : roots) { + Set rootsInsideRoot = scanForRootsInsideDir(contentRoot); + if (!rootsInsideRoot.contains(contentRoot)) { + VirtualFile rootAbove = scanForSingleRootAboveDir(contentRoot); + if (rootAbove != null) { + rootsInsideRoot.add(rootAbove); + } + } + gitRoots.addAll(rootsInsideRoot); + } + return gitRoots; + } + @NotNull - private static Collection scanForRootsInsideProject(@NotNull VirtualFile projectDir) { - final Collection roots = new ArrayList(); + private static Set scanForRootsInsideDir(@NotNull VirtualFile projectDir) { + final Set roots = new HashSet(); VfsUtil.processFilesRecursively(projectDir, new Processor() { @Override public boolean process(VirtualFile virtualFile) { @@ -83,7 +101,7 @@ public class GitRootDetector { } @Nullable - private static VirtualFile scanForSingleRootAboveProject(@NotNull VirtualFile projectDir) { + private static VirtualFile scanForSingleRootAboveDir(@NotNull VirtualFile projectDir) { VirtualFile parent = projectDir.getParent(); while (parent != null) { if (hasGitDir(parent)) { diff --git a/plugins/git4idea/src/git4idea/roots/GitRootErrorsFinder.java b/plugins/git4idea/src/git4idea/roots/GitRootErrorsFinder.java index af89be28801c..ba28d0ec1a25 100644 --- a/plugins/git4idea/src/git4idea/roots/GitRootErrorsFinder.java +++ b/plugins/git4idea/src/git4idea/roots/GitRootErrorsFinder.java @@ -45,7 +45,7 @@ public class GitRootErrorsFinder { public Collection find() { ProjectLevelVcsManager vcsManager = myPlatformFacade.getVcsManager(myProject); Collection vcsRoots = Arrays.asList(vcsManager.getRootsUnderVcs(myPlatformFacade.getVcs(myProject))); - Collection gitRoots = new GitRootDetector(myProject).detect().getRoots(); + Collection gitRoots = new GitRootDetector(myProject, myPlatformFacade).detect().getRoots(); Collection errors = new ArrayList(); for (VirtualFile vcsRoot : vcsRoots) { if (!gitRoots.contains(vcsRoot)) { diff --git a/plugins/git4idea/tests/git4idea/roots/AbstractGitRootTest.groovy b/plugins/git4idea/tests/git4idea/roots/AbstractGitRootTest.groovy index 61a9e0dde4e1..e75e0e350bc8 100644 --- a/plugins/git4idea/tests/git4idea/roots/AbstractGitRootTest.groovy +++ b/plugins/git4idea/tests/git4idea/roots/AbstractGitRootTest.groovy @@ -18,6 +18,7 @@ package git4idea.roots import git4idea.test.GitMockVirtualFile import com.intellij.openapi.project.Project import com.intellij.openapi.util.io.FileUtil +import git4idea.test.GitTestPlatformFacade /** * @@ -25,17 +26,27 @@ import com.intellij.openapi.util.io.FileUtil */ class AbstractGitRootTest { + GitTestPlatformFacade myPlatformFacade + + AbstractGitRootTest() { + myPlatformFacade = new GitTestPlatformFacade() + } + /** * Creates the necessary temporary directories in the filesystem with empty ".git" directories for given roots. * And creates an instance of the project. * @param gitRoots path to actual .git roots, relative to the project dir. */ - Project initProject(Collection gitRoots, Collection projectStructure) { + Project initProject(Collection gitRoots, Collection projectStructure, Collection linkedRoots) { String projectDir = createDirs(gitRoots) Project project = [ getBaseDir: { new GitMockVirtualFile(projectDir) } ] as Project createProjectStructure(project, projectStructure); + createProjectStructure(project, linkedRoots); + + linkedRoots.each { myPlatformFacade.myProjectRootManager.myContentRoots << GitMockVirtualFile.fromPath(it, project)} + project } diff --git a/plugins/git4idea/tests/git4idea/roots/GitRootDetectorTest.groovy b/plugins/git4idea/tests/git4idea/roots/GitRootDetectorTest.groovy index 48e5c0268436..dd46e89acb6e 100644 --- a/plugins/git4idea/tests/git4idea/roots/GitRootDetectorTest.groovy +++ b/plugins/git4idea/tests/git4idea/roots/GitRootDetectorTest.groovy @@ -118,13 +118,40 @@ class GitRootDetectorTest extends AbstractGitRootTest { below: false } + @Test + void "linked source root alone should be detected"() { + doTest linked_roots: ["../linked_root"], + gits: ["../linked_root"], + expected: ["../linked_root"], + full: false, + below: false + } + + @Test + void "linked source root and project root should be detected"() { + doTest linked_roots: ["../linked_root"], + gits: [".", "../linked_root"], + expected: [".", "../linked_root"], + full: true, + below: false + } + + @Test + void "linked source below Git"() { + doTest linked_roots: ["../linked_root/src"], + gits: [".", "../linked_root"], + expected: [".", "../linked_root"], + full: true, + below: false + } + /** * Perform test. Map contains actual Git repositories to be created on disk, * and Git repositories expected to be detected by the GitRootDetector. * @param map */ private void doTest(Map map) { - myProject = initProject(map.gits, map.project) + myProject = initProject(map.gits, map.project, map.linked_roots) testInfo empty: map.expected.empty, full : map.full, roots: map.expected, @@ -170,7 +197,7 @@ class GitRootDetectorTest extends AbstractGitRootTest { } private GitRootDetectInfo detect() { - new GitRootDetector(myProject).detect() + new GitRootDetector(myProject, myPlatformFacade).detect() } } \ No newline at end of file diff --git a/plugins/git4idea/tests/git4idea/roots/GitRootErrorsFinderTest.groovy b/plugins/git4idea/tests/git4idea/roots/GitRootErrorsFinderTest.groovy index d48da67ccf27..e207097d05f1 100644 --- a/plugins/git4idea/tests/git4idea/roots/GitRootErrorsFinderTest.groovy +++ b/plugins/git4idea/tests/git4idea/roots/GitRootErrorsFinderTest.groovy @@ -105,7 +105,7 @@ class GitRootErrorsFinderTest extends AbstractGitRootTest { } private void doTest(Map map) { - myProject = initProject(map.git, []) + myProject = initProject(map.git, [], []) myVcsManager = (GitMockVcsManager) myPlatformFacade.getVcsManager(myProject) addVcsRoots(map.roots) diff --git a/plugins/git4idea/tests/git4idea/test/GitMockProjectRootManager.groovy b/plugins/git4idea/tests/git4idea/test/GitMockProjectRootManager.groovy new file mode 100644 index 000000000000..ad8ef4b22be0 --- /dev/null +++ b/plugins/git4idea/tests/git4idea/test/GitMockProjectRootManager.groovy @@ -0,0 +1,126 @@ +/* + * Copyright 2000-2012 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package git4idea.test + +import com.intellij.openapi.Disposable +import com.intellij.openapi.module.ModifiableModuleModel +import com.intellij.openapi.module.Module +import com.intellij.openapi.projectRoots.Sdk +import com.intellij.openapi.vfs.VirtualFile +import com.intellij.openapi.roots.* + +/** + * + * @author Kirill Likhodedov + */ +class GitMockProjectRootManager extends ProjectRootManager { + + Collection myContentRoots = new ArrayList(); + + GitMockProjectRootManager() { + + } + + @Override + VirtualFile[] getContentRoots() { + myContentRoots + } + + @Override + ProjectFileIndex getFileIndex() { + throw new UnsupportedOperationException() + } + + @Override + void addModuleRootListener(ModuleRootListener listener) { + throw new UnsupportedOperationException() + } + + @Override + void addModuleRootListener(ModuleRootListener listener, Disposable parentDisposable) { + throw new UnsupportedOperationException() + } + + @Override + void removeModuleRootListener(ModuleRootListener listener) { + throw new UnsupportedOperationException() + } + + @Override + VirtualFile[] getFilesFromAllModules(OrderRootType type) { + throw new UnsupportedOperationException() + } + + @Override + OrderEnumerator orderEntries() { + throw new UnsupportedOperationException() + } + + @Override + OrderEnumerator orderEntries(Collection modules) { + throw new UnsupportedOperationException() + } + + @Override + VirtualFile[] getContentRootsFromAllModules() { + throw new UnsupportedOperationException() + } + + @Override + List getContentRootUrls() { + throw new UnsupportedOperationException() + } + + @Override + VirtualFile[] getContentSourceRoots() { + throw new UnsupportedOperationException() + } + + @Override + Sdk getProjectSdk() { + throw new UnsupportedOperationException() + } + + @Override + String getProjectSdkName() { + throw new UnsupportedOperationException() + } + + @Override + void setProjectSdk(Sdk sdk) { + throw new UnsupportedOperationException() + } + + @Override + void setProjectSdkName(String name) { + throw new UnsupportedOperationException() + } + + @Override + void multiCommit(ModifiableRootModel[] rootModels) { + throw new UnsupportedOperationException() + } + + @Override + void multiCommit(ModifiableModuleModel moduleModel, ModifiableRootModel[] rootModels) { + throw new UnsupportedOperationException() + } + + @Override + long getModificationCount() { + throw new UnsupportedOperationException() + } +} diff --git a/plugins/git4idea/tests/git4idea/test/GitMockVirtualFile.groovy b/plugins/git4idea/tests/git4idea/test/GitMockVirtualFile.groovy index 7d4ce19d5f55..9580ab15844d 100644 --- a/plugins/git4idea/tests/git4idea/test/GitMockVirtualFile.groovy +++ b/plugins/git4idea/tests/git4idea/test/GitMockVirtualFile.groovy @@ -15,12 +15,13 @@ */ package git4idea.test +import com.intellij.mock.MockVirtualFileSystem +import com.intellij.openapi.project.Project import com.intellij.openapi.util.io.FileUtil import com.intellij.openapi.vfs.VirtualFile import com.intellij.openapi.vfs.VirtualFileSystem import org.jetbrains.annotations.NotNull import org.jetbrains.annotations.Nullable -import com.intellij.mock.MockVirtualFileSystem /** * VirtualFile test implementation based on {@link java.io.File}. @@ -31,6 +32,16 @@ class GitMockVirtualFile extends VirtualFile { private String myPath; + @NotNull + static VirtualFile fromPath(@NotNull String absolutePath) { + return new GitMockVirtualFile(FileUtil.toSystemIndependentName(absolutePath)) + } + + @NotNull + static VirtualFile fromPath(@NotNull String relativePath, @NotNull Project project) { + return fromPath(new File(project.getBaseDir().getPath() + "/" + relativePath).getCanonicalPath()) + } + GitMockVirtualFile(@NotNull String path) { myPath = FileUtil.toSystemIndependentName(path); } @@ -133,4 +144,5 @@ class GitMockVirtualFile extends VirtualFile { int hashCode() { return (myPath != null ? myPath.hashCode() : 0) } + } diff --git a/plugins/git4idea/tests/git4idea/test/GitTestPlatformFacade.groovy b/plugins/git4idea/tests/git4idea/test/GitTestPlatformFacade.groovy index 4e3b5a6f2ee2..9b0171b086d7 100644 --- a/plugins/git4idea/tests/git4idea/test/GitTestPlatformFacade.groovy +++ b/plugins/git4idea/tests/git4idea/test/GitTestPlatformFacade.groovy @@ -23,6 +23,7 @@ import git4idea.Notificator import git4idea.PlatformFacade import git4idea.tests.TestDialogManager import org.jetbrains.annotations.NotNull +import com.intellij.openapi.roots.ProjectRootManager /** * @@ -34,10 +35,12 @@ public class GitTestPlatformFacade implements PlatformFacade { GitMockVcs myVcs TestNotificator myNotificator TestDialogManager myTestDialogManager + GitMockProjectRootManager myProjectRootManager public GitTestPlatformFacade() { myVcsManager = new GitMockVcsManager() myTestDialogManager = new TestDialogManager() + myProjectRootManager = new GitMockProjectRootManager() } @NotNull @@ -60,6 +63,11 @@ public class GitTestPlatformFacade implements PlatformFacade { myTestDialogManager.show(dialog) } + @Override + ProjectRootManager getProjectRootManager(Project project) { + myProjectRootManager + } + @NotNull @Override AbstractVcs getVcs(@NotNull Project project) { From b51e5de7261675a7c11b8f92cbf245465d2326ff Mon Sep 17 00:00:00 2001 From: Kirill Likhodedov Date: Mon, 5 Mar 2012 19:18:53 +0400 Subject: [PATCH 36/41] Remove obsolete GitRootTracker, GitRootListener, GitReferenceListener, GitConfigListener --- plugins/git4idea/src/git4idea/GitVcs.java | 21 +- .../src/git4idea/vfs/GitConfigListener.java | 40 -- .../src/git4idea/vfs/GitFixRootsDialog.form | 37 -- .../src/git4idea/vfs/GitFixRootsDialog.java | 128 ---- .../git4idea/vfs/GitReferenceListener.java | 32 - .../src/git4idea/vfs/GitRootTracker.java | 581 ------------------ .../src/git4idea/vfs/GitRootsListener.java | 32 - 7 files changed, 7 insertions(+), 864 deletions(-) delete mode 100644 plugins/git4idea/src/git4idea/vfs/GitConfigListener.java delete mode 100644 plugins/git4idea/src/git4idea/vfs/GitFixRootsDialog.form delete mode 100644 plugins/git4idea/src/git4idea/vfs/GitFixRootsDialog.java delete mode 100644 plugins/git4idea/src/git4idea/vfs/GitReferenceListener.java delete mode 100644 plugins/git4idea/src/git4idea/vfs/GitRootTracker.java delete mode 100644 plugins/git4idea/src/git4idea/vfs/GitRootsListener.java diff --git a/plugins/git4idea/src/git4idea/GitVcs.java b/plugins/git4idea/src/git4idea/GitVcs.java index 35db0364d36a..72e844197ad3 100644 --- a/plugins/git4idea/src/git4idea/GitVcs.java +++ b/plugins/git4idea/src/git4idea/GitVcs.java @@ -50,7 +50,6 @@ import com.intellij.openapi.vfs.VfsUtilCore; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.openapi.wm.StatusBar; import com.intellij.openapi.wm.WindowManager; -import com.intellij.util.EventDispatcher; import com.intellij.util.containers.ComparatorDelegate; import com.intellij.util.containers.Convertor; import com.intellij.util.ui.UIUtil; @@ -71,18 +70,21 @@ import git4idea.history.wholeTree.GitCommitsSequentially; import git4idea.i18n.GitBundle; import git4idea.merge.GitMergeProvider; import git4idea.rollback.GitRollbackEnvironment; -import git4idea.roots.*; +import git4idea.roots.GitIntegrationEnabler; +import git4idea.roots.GitRootChecker; +import git4idea.roots.GitRootDetectInfo; +import git4idea.roots.GitRootDetector; import git4idea.status.GitChangeProvider; import git4idea.ui.branch.GitBranchWidget; import git4idea.update.GitUpdateEnvironment; -import git4idea.vfs.GitRootTracker; -import git4idea.vfs.GitRootsListener; import git4idea.vfs.GitVFSListener; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import java.text.SimpleDateFormat; -import java.util.*; +import java.util.Collections; +import java.util.Date; +import java.util.List; import java.util.concurrent.locks.ReadWriteLock; import java.util.concurrent.locks.ReentrantReadWriteLock; @@ -125,8 +127,6 @@ public class GitVcs extends AbstractVcs { private GitVFSListener myVFSListener; // a VFS listener that tracks file addition, deletion, and renaming. - private GitRootTracker myRootTracker; // The tracker that checks validity of git roots - private final EventDispatcher myRootListeners = EventDispatcher.create(GitRootsListener.class); private final BackgroundTaskQueue myTaskQueue; // The queue that is used to schedule background task from actions private final ReadWriteLock myCommandLock = new ReentrantReadWriteLock(true); // The command read/write lock private final TreeDiffProvider myTreeDiffProvider; @@ -326,9 +326,6 @@ public class GitVcs extends AbstractVcs { } } - if (!myProject.isDefault() && myRootTracker == null) { - myRootTracker = new GitRootTracker(this, myProject, myRootListeners.getMulticaster()); - } if (myVFSListener == null) { myVFSListener = new GitVFSListener(myProject, this, myGit); } @@ -347,10 +344,6 @@ public class GitVcs extends AbstractVcs { @Override protected void deactivate() { - if (myRootTracker != null) { - myRootTracker.dispose(); - myRootTracker = null; - } if (myVFSListener != null) { Disposer.dispose(myVFSListener); myVFSListener = null; diff --git a/plugins/git4idea/src/git4idea/vfs/GitConfigListener.java b/plugins/git4idea/src/git4idea/vfs/GitConfigListener.java deleted file mode 100644 index a333e17dd57a..000000000000 --- a/plugins/git4idea/src/git4idea/vfs/GitConfigListener.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright 2000-2009 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package git4idea.vfs; - -import com.intellij.openapi.vfs.VirtualFile; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; - -import java.util.EventListener; - -/** - * The listener for configuration change events - */ -public interface GitConfigListener extends EventListener { - /** - * This method is invoked when configuration changes for configured git root. - * If ".git/config" changes, only appropriate root is notified. If "~/.gitconfig" changes, - * all configured roots are notified. - *

- * When root configuration changes, the listeners are called for all new roots. - * - * @param gitRoot the affected git root - * @param configFile the changed configuration file, the parameter might be null if config file is missing - */ - void configChanged(@NotNull VirtualFile gitRoot, @Nullable VirtualFile configFile); -} diff --git a/plugins/git4idea/src/git4idea/vfs/GitFixRootsDialog.form b/plugins/git4idea/src/git4idea/vfs/GitFixRootsDialog.form deleted file mode 100644 index 9b165ce13a5c..000000000000 --- a/plugins/git4idea/src/git4idea/vfs/GitFixRootsDialog.form +++ /dev/null @@ -1,37 +0,0 @@ - -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
diff --git a/plugins/git4idea/src/git4idea/vfs/GitFixRootsDialog.java b/plugins/git4idea/src/git4idea/vfs/GitFixRootsDialog.java deleted file mode 100644 index bdf673de4df5..000000000000 --- a/plugins/git4idea/src/git4idea/vfs/GitFixRootsDialog.java +++ /dev/null @@ -1,128 +0,0 @@ -/* - * Copyright 2000-2009 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package git4idea.vfs; - -import com.intellij.openapi.project.Project; -import com.intellij.openapi.ui.DialogWrapper; -import com.intellij.openapi.vcs.FileStatus; -import git4idea.i18n.GitBundle; -import org.jetbrains.annotations.NotNull; - -import javax.swing.*; -import java.util.HashSet; -import java.util.TreeSet; - -/** - * This dialog shows a new git root set - */ -class GitFixRootsDialog extends DialogWrapper { - /** - * The list of roots - */ - private JList myGitRoots; - /** - * The root panel - */ - private JPanel myPanel; - - /** - * The constructor - * - * @param project the context project - */ - protected GitFixRootsDialog(Project project, HashSet current, HashSet added, HashSet removed) { - super(project, true); - setTitle(GitBundle.getString("fix.roots.title")); - setOKButtonText(GitBundle.getString("fix.roots.button")); - TreeSet items = new TreeSet(); - for (String f : added) { - items.add(new Item(f, FileStatus.ADDED)); - } - for (String f : current) { - items.add(new Item(f, removed.contains(f) ? FileStatus.DELETED : FileStatus.NOT_CHANGED)); - } - DefaultListModel listModel = new DefaultListModel(); - for (Item i : items) { - listModel.addElement(i); - } - myGitRoots.setModel(listModel); - init(); - } - - /** - * {@inheritDoc} - */ - protected JComponent createCenterPanel() { - return myPanel; - } - - /** - * {@inheritDoc} - */ - @Override - protected String getDimensionServiceKey() { - return getClass().getName(); - } - - /** - * The item in the list - */ - private class Item implements Comparable { - /** - * The status of the file - */ - @NotNull final FileStatus status; - /** - * The file name - */ - @NotNull final String fileName; - - /** - * The constructor - * - * @param fileName the root path - * @param status the root status - */ - public Item(@NotNull String fileName, @NotNull FileStatus status) { - this.fileName = fileName; - this.status = status; - } - - /** - * {@inheritDoc} - */ - public int compareTo(Item o) { - return fileName.compareTo(o.fileName); - } - - /** - * {@inheritDoc} - */ - @Override - public String toString() { - if (status == FileStatus.ADDED) { - return "" + fileName + ""; - } - else if (status == FileStatus.DELETED) { - return "" + fileName + ""; - } - else { - return fileName; - } - } - } -} diff --git a/plugins/git4idea/src/git4idea/vfs/GitReferenceListener.java b/plugins/git4idea/src/git4idea/vfs/GitReferenceListener.java deleted file mode 100644 index 13d011d54294..000000000000 --- a/plugins/git4idea/src/git4idea/vfs/GitReferenceListener.java +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Copyright 2000-2010 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package git4idea.vfs; - -import com.intellij.openapi.vfs.VirtualFile; - -import java.util.EventListener; - -/** - * The listener for reference changes - */ -public interface GitReferenceListener extends EventListener { - /** - * This method is invoked when some references changed. The events do not describe which ones. - * - * @param root the root for which references might have changed, null if all roots might have been affected - */ - void referencesChanged(VirtualFile root); -} diff --git a/plugins/git4idea/src/git4idea/vfs/GitRootTracker.java b/plugins/git4idea/src/git4idea/vfs/GitRootTracker.java deleted file mode 100644 index a4b9b156c156..000000000000 --- a/plugins/git4idea/src/git4idea/vfs/GitRootTracker.java +++ /dev/null @@ -1,581 +0,0 @@ -/* - * Copyright 2000-2009 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package git4idea.vfs; - -import com.intellij.ProjectTopics; -import com.intellij.notification.Notification; -import com.intellij.notification.NotificationListener; -import com.intellij.notification.NotificationType; -import com.intellij.notification.Notifications; -import com.intellij.openapi.application.ApplicationManager; -import com.intellij.openapi.command.CommandAdapter; -import com.intellij.openapi.command.CommandEvent; -import com.intellij.openapi.command.CommandListener; -import com.intellij.openapi.command.CommandProcessor; -import com.intellij.openapi.project.Project; -import com.intellij.openapi.roots.ModuleRootEvent; -import com.intellij.openapi.roots.ModuleRootListener; -import com.intellij.openapi.roots.ProjectRootManager; -import com.intellij.openapi.startup.StartupManager; -import com.intellij.openapi.ui.Messages; -import com.intellij.openapi.util.Computable; -import com.intellij.openapi.vcs.ProjectLevelVcsManager; -import com.intellij.openapi.vcs.VcsDirectoryMapping; -import com.intellij.openapi.vcs.VcsListener; -import com.intellij.openapi.vfs.*; -import com.intellij.openapi.vfs.ex.VirtualFileManagerAdapter; -import com.intellij.openapi.vfs.ex.VirtualFileManagerEx; -import com.intellij.util.messages.MessageBusConnection; -import com.intellij.util.ui.UIUtil; -import com.intellij.util.ui.update.MergingUpdateQueue; -import com.intellij.util.ui.update.Update; -import git4idea.GitUtil; -import git4idea.GitVcs; -import git4idea.i18n.GitBundle; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; - -import javax.swing.event.HyperlinkEvent; -import java.util.ArrayList; -import java.util.HashSet; -import java.util.Iterator; -import java.util.List; -import java.util.concurrent.atomic.AtomicBoolean; - -/** - * The component tracks Git roots for the project. If roots are mapped incorrectly it - * shows balloon that notifies user about the problem and offers to correct root mapping. - */ -public class GitRootTracker implements VcsListener { - /** - * The context project - */ - private final Project myProject; - /** - * Tracker of roots for project root manager - */ - private final ProjectRootManager myProjectRoots; - /** - * The vcs manager that tracks content roots - */ - private final ProjectLevelVcsManager myVcsManager; - /** - * The vcs instance - */ - private final GitVcs myVcs; - /** - * If true, the tracking is enabled. - */ - private final AtomicBoolean myIsEnabled = new AtomicBoolean(false); - /** - * If true, the root configuration has been possibly invalidated - */ - private final AtomicBoolean myRootsInvalidated = new AtomicBoolean(true); - /** - * If true, there are some configured git roots, or listener has never been run yet - */ - private final AtomicBoolean myHasGitRoots = new AtomicBoolean(true); - /** - * If true, the notification is currently active and has not been dismissed yet. - */ - private final AtomicBoolean myNotificationPosted = new AtomicBoolean(false); - - private final MergingUpdateQueue myQueue; - - private Notification myNotification; - - /** - * The invalid git roots - */ - private static final String GIT_INVALID_ROOTS_ID = "Git"; - /** - * The command listener - */ - private final CommandListener myCommandListener; - /** - * The file listener - */ - private final MyFileListener myFileListener; - /** - * Listener for refresh events - */ - private final VirtualFileManagerAdapter myVirtualFileManagerListener; - /** - * Local file system service - */ - private final LocalFileSystem myLocalFileSystem; - /** - * The multicaster for root events - */ - private final GitRootsListener myMulticaster; - - private final MessageBusConnection myMessageBusConnection; - - /** - * The constructor - * - * @param project the project instance - * @param multicaster the listeners to notify - */ - public GitRootTracker(GitVcs vcs, @NotNull Project project, @NotNull GitRootsListener multicaster) { - - myMulticaster = multicaster; - if (project.isDefault()) { - throw new IllegalArgumentException("The project must not be default"); - } - myProject = project; - myProjectRoots = ProjectRootManager.getInstance(myProject); - myQueue = new MergingUpdateQueue("queue", 500, true, null, project, null, false); - myVcs = vcs; - myVcsManager = ProjectLevelVcsManager.getInstance(project); - myVcsManager.addVcsListener(this); - myLocalFileSystem = LocalFileSystem.getInstance(); - myMessageBusConnection = myProject.getMessageBus().connect(); - myMessageBusConnection.subscribe(ProjectTopics.PROJECT_ROOTS, new ModuleRootListener() { - public void beforeRootsChange(ModuleRootEvent event) { - // do nothing - } - - public void rootsChanged(ModuleRootEvent event) { - invalidate(); - } - }); - myCommandListener = new CommandAdapter() { - @Override - public void commandFinished(CommandEvent event) { - if (!myRootsInvalidated.compareAndSet(true, false)) { - return; - } - scheduleRootsCheck(false); - } - }; - CommandProcessor.getInstance().addCommandListener(myCommandListener); - myFileListener = new MyFileListener(); - VirtualFileManagerEx fileManager = (VirtualFileManagerEx)VirtualFileManager.getInstance(); - fileManager.addVirtualFileListener(myFileListener); - myVirtualFileManagerListener = new VirtualFileManagerAdapter() { - @Override - public void afterRefreshFinish(boolean asynchronous) { - if (!myRootsInvalidated.compareAndSet(true, false)) { - return; - } - scheduleRootsCheck(false); - } - }; - fileManager.addVirtualFileManagerListener(myVirtualFileManagerListener); - StartupManager.getInstance(myProject).runWhenProjectIsInitialized(new Runnable() { - public void run() { - myIsEnabled.set(true); - scheduleRootsCheck(true); - } - }); - } - - /** - * Dispose the component removing all related listeners - */ - public void dispose() { - myVcsManager.removeVcsListener(this); - myMessageBusConnection.disconnect(); - CommandProcessor.getInstance().removeCommandListener(myCommandListener); - VirtualFileManagerEx fileManager = (VirtualFileManagerEx)VirtualFileManager.getInstance(); - fileManager.removeVirtualFileListener(myFileListener); - fileManager.removeVirtualFileManagerListener(myVirtualFileManagerListener); - } - - /** - * {@inheritDoc} - */ - public void directoryMappingChanged() { - ApplicationManager.getApplication().invokeLater(new Runnable() { - public void run() { - scheduleRootsCheck(true); - } - }); - } - - private void scheduleRootsCheck(final boolean rootsChanged) { - if (ApplicationManager.getApplication().isUnitTestMode() || ApplicationManager.getApplication().isHeadlessEnvironment()) { - doCheckRoots(rootsChanged); - return; - } - myQueue.queue(new Update("root check") { - public void run() { - if (myProject.isDisposed()) return; - doCheckRoots(rootsChanged); - } - }); - } - - /** - * Check roots for changes. - * - * @param rootsChanged - */ - private void doCheckRoots(boolean rootsChanged) { - if (!myIsEnabled.get() || (!rootsChanged && !myHasGitRoots.get())) { - return; - } - - final HashSet rootSet = new HashSet(); - boolean hasInvalidRoots = ApplicationManager.getApplication().runReadAction(new Computable() { - public Boolean compute() { - for (VcsDirectoryMapping m : myVcsManager.getDirectoryMappings()) { - if (!m.getVcs().equals(myVcs.getName())) { - continue; - } - String path = m.getDirectory(); - if (path.length() == 0) { - VirtualFile baseDir = myProject.getBaseDir(); - assert baseDir != null; - path = baseDir.getPath(); - } - VirtualFile root = lookupFile(path); - VirtualFile actual = GitUtil.gitRootOrNull(root); - if (root == null || rootSet.contains(root) || actual != root) { - return true; - } - rootSet.add(root); - } - return false; - } - }); - if (!hasInvalidRoots && rootSet.isEmpty()) { - myHasGitRoots.set(false); - return; - } - else { - myHasGitRoots.set(true); - } - - if (!hasInvalidRoots) { - // check if roots have a problem - for (final VirtualFile root : rootSet) { - hasInvalidRoots = hasUnmappedSubroots(root, rootSet, 0); - if (hasInvalidRoots) { - break; - } - } - } - - if (!hasInvalidRoots) { - // all roots are correct - if (myNotificationPosted.compareAndSet(true, false)) { - UIUtil.invokeLaterIfNeeded(new Runnable() { - public void run() { - if (myNotification != null) { - if (!myNotification.isExpired()) { - myNotification.expire(); - } - - myNotification = null; - } - } - }); - } - } - else if (myNotificationPosted.compareAndSet(false, true)) { - UIUtil.invokeLaterIfNeeded(new Runnable() { - public void run() { - myNotification = new Notification(GIT_INVALID_ROOTS_ID, GitBundle.getString("root.tracker.message.title"), - GitBundle.getString("root.tracker.message"), NotificationType.ERROR, - new NotificationListener() { - public void hyperlinkUpdate(@NotNull final Notification notification, - @NotNull HyperlinkEvent event) { - fixRoots(notification); - } - }); - - Notifications.Bus.notify(myNotification, myProject); - } - }); - } - UIUtil.invokeLaterIfNeeded(new Runnable() { - public void run() { - myMulticaster.gitRootsChanged(); - } - }); - } - - /** - * Check if there are some unmapped subdirectories under git - * - * @param directory the content root to check - * @param rootSet the mapped root set - * @param depth - */ - private static boolean hasUnmappedSubroots(final VirtualFile directory, final @NotNull HashSet rootSet, int depth) { - if (depth > 3) { // three is quite enough - return false; - } - VirtualFile[] children = ApplicationManager.getApplication().runReadAction(new Computable() { - public VirtualFile[] compute() { - return directory.isValid() ? directory.getChildren() : VirtualFile.EMPTY_ARRAY; - } - }); - - for (final VirtualFile child : children) { - if (!child.isDirectory()) { - continue; - } - if (child.getName().equals(".git")) { - return !rootSet.contains(child.getParent()); - } - if (hasUnmappedSubroots(child, rootSet, depth + 1)) { - return true; - } - } - return false; - } - - /** - * Fix mapped roots - * @param notification Expires the notification if roots are in the correct state after fix. - */ - private void fixRoots(final Notification notification) { - ApplicationManager.getApplication().executeOnPooledThread(new Runnable() { - @Override public void run() { - final List vcsDirectoryMappings = new ArrayList(myVcsManager.getDirectoryMappings()); - final HashSet mapped = new HashSet(); - final HashSet removed = new HashSet(); - final HashSet added = new HashSet(); - - collectRoots(vcsDirectoryMappings, mapped, removed, added); - - final VirtualFile baseDir = myProject.getBaseDir(); - - ApplicationManager.getApplication().invokeLater(new Runnable() { - @Override public void run() { - if (added.isEmpty() && removed.isEmpty()) { - Messages.showInfoMessage(myProject, GitBundle.message("fix.roots.valid.message"), GitBundle.message("fix.roots.valid.title")); - notification.expire(); - return; - } - GitFixRootsDialog d = new GitFixRootsDialog(myProject, mapped, added, removed); - d.show(); - if (!d.isOK()) { - return; - } - - for (Iterator i = vcsDirectoryMappings.iterator(); i.hasNext(); ) { - VcsDirectoryMapping m = i.next(); - String path = m.getDirectory(); - if (removed.contains(path) || (path.length() == 0 && baseDir != null && removed.contains(baseDir.getPath()))) { - i.remove(); - } - } - for (String a : added) { - vcsDirectoryMappings.add(new VcsDirectoryMapping(a, myVcs.getName())); - } - myVcsManager.setDirectoryMappings(vcsDirectoryMappings); - myVcsManager.updateActiveVcss(); - notification.expire(); - } - }); - } - }); - } - - private void collectRoots(List vcsDirectoryMappings, - HashSet mapped, - HashSet removed, - HashSet added) { - final VirtualFile baseDir = myProject.getBaseDir(); - for (Iterator i = vcsDirectoryMappings.iterator(); i.hasNext();) { - VcsDirectoryMapping m = i.next(); - String vcsName = myVcs.getName(); - if (!vcsName.equals(m.getVcs())) { - continue; - } - String path = m.getDirectory(); - if (path.length() == 0 && baseDir != null) { - path = baseDir.getPath(); - } - VirtualFile file = lookupFile(path); - if (file != null && !mapped.add(file.getPath())) { - // eliminate duplicates - i.remove(); - continue; - } - final VirtualFile actual = GitUtil.gitRootOrNull(file); - if (file == null || actual == null) { - removed.add(path); - } - else if (actual != file) { - removed.add(path); - added.add(actual.getPath()); - } - } - for (String m : mapped) { - VirtualFile file = lookupFile(m); - if (file == null) { - continue; - } - addSubroots(file, added, mapped); - if (removed.contains(m)) { - continue; - } - VirtualFile root = GitUtil.gitRootOrNull(file); - assert root != null; - for (String o : mapped) { - // the mapped collection is not modified here, so order is being kept - if (o.equals(m) || removed.contains(o)) { - continue; - } - if (o.startsWith(m)) { - VirtualFile otherFile = lookupFile(m); - assert otherFile != null; - VirtualFile otherRoot = GitUtil.gitRootOrNull(otherFile); - assert otherRoot != null; - if (otherRoot == root) { - removed.add(o); - } - else if (otherFile != otherRoot) { - added.add(otherRoot.getPath()); - removed.add(o); - } - } - } - } - } - - /** - * Look up file in the file system - * - * @param path the path to lookup - * @return the file or null if the file not found - */ - @Nullable - private VirtualFile lookupFile(String path) { - return myLocalFileSystem.findFileByPath(path); - } - - /** - * Add subroots for the content root - * - * @param directory the content root to check - * @param toAdd collection of roots to be added - * @param mapped all mapped git roots - */ - private static void addSubroots(VirtualFile directory, HashSet toAdd, HashSet mapped) { - for (VirtualFile child : directory.getChildren()) { - if (!child.isDirectory()) { - continue; - } - if (child.getName().equals(".git") && !mapped.contains(directory.getPath())) { - toAdd.add(directory.getPath()); - } - else { - addSubroots(child, toAdd, mapped); - } - } - } - - /** - * Invalidate git root - */ - private void invalidate() { - myRootsInvalidated.set(true); - } - - /** - * The listener for git roots - */ - private class MyFileListener extends VirtualFileAdapter { - /** - * Return true if file has git repositories - * - * @param file the file to check - * @return true if file has git repositories - */ - private boolean hasGitRepositories(VirtualFile file) { - if (!file.isDirectory() || !file.getName().equals(".git")) { - return false; - } - VirtualFile baseDir = myProject.getBaseDir(); - if (baseDir == null) { - return false; - } - if (!VfsUtil.isAncestor(baseDir, file, false)) { - boolean isUnder = false; - for (VirtualFile c : myProjectRoots.getContentRoots()) { - if (!VfsUtil.isAncestor(baseDir, c, false) && VfsUtil.isAncestor(c, file, false)) { - isUnder = true; - break; - } - } - if (!isUnder) { - return false; - } - } - return true; - } - - - /** - * {@inheritDoc} - */ - @Override - public void fileCreated(VirtualFileEvent event) { - if (!myHasGitRoots.get()) { - return; - } - if (hasGitRepositories(event.getFile())) { - invalidate(); - } - } - - /** - * {@inheritDoc} - */ - @Override - public void beforeFileDeletion(VirtualFileEvent event) { - if (!myHasGitRoots.get()) { - return; - } - if (hasGitRepositories(event.getFile())) { - invalidate(); - } - } - - /** - * {@inheritDoc} - */ - @Override - public void fileMoved(VirtualFileMoveEvent event) { - if (!myHasGitRoots.get()) { - return; - } - if (hasGitRepositories(event.getFile())) { - invalidate(); - } - } - - /** - * {@inheritDoc} - */ - @Override - public void fileCopied(VirtualFileCopyEvent event) { - if (!myHasGitRoots.get()) { - return; - } - if (hasGitRepositories(event.getFile())) { - invalidate(); - } - } - } -} diff --git a/plugins/git4idea/src/git4idea/vfs/GitRootsListener.java b/plugins/git4idea/src/git4idea/vfs/GitRootsListener.java deleted file mode 100644 index 44a1ed4e284a..000000000000 --- a/plugins/git4idea/src/git4idea/vfs/GitRootsListener.java +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Copyright 2000-2009 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package git4idea.vfs; - -import java.util.EventListener; - -/** - * The listener interface that allows tracking actual changes in - * the vcs root configuration. - */ -public interface GitRootsListener extends EventListener { - /** - * The method is invoked when set of actual roots changes. - * This could happen when the list of configured roots changes or when - * ".git" directories added/removed for the configured roots. - */ - void gitRootsChanged(); -} From 7b52b13e65b068dfbe2dcea3cb0c78b3987ee46e Mon Sep 17 00:00:00 2001 From: Kirill Likhodedov Date: Mon, 5 Mar 2012 20:40:31 +0400 Subject: [PATCH 37/41] GitRootProblemNotifier; use if GitRepository is invalid. GitRootProblemNotifier searches for Git roots problems via the GitRootErrorsFinder and notifies about them. GitRepositoryManager creates a GitRepository instance only if the root is valid, otherwise shows the notification. --- .../git4idea/repo/GitRepositoryManager.java | 34 +++- .../roots/GitRootProblemNotifier.java | 155 ++++++++++++++++++ 2 files changed, 181 insertions(+), 8 deletions(-) create mode 100644 plugins/git4idea/src/git4idea/roots/GitRootProblemNotifier.java diff --git a/plugins/git4idea/src/git4idea/repo/GitRepositoryManager.java b/plugins/git4idea/src/git4idea/repo/GitRepositoryManager.java index e6a3148a49c5..b92a03e998b1 100644 --- a/plugins/git4idea/src/git4idea/repo/GitRepositoryManager.java +++ b/plugins/git4idea/src/git4idea/repo/GitRepositoryManager.java @@ -18,13 +18,16 @@ package git4idea.repo; import com.intellij.openapi.Disposable; import com.intellij.openapi.components.AbstractProjectComponent; import com.intellij.openapi.components.ServiceManager; +import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.Disposer; +import com.intellij.openapi.vcs.AbstractVcs; import com.intellij.openapi.vcs.ProjectLevelVcsManager; import com.intellij.openapi.vcs.VcsListener; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.util.ArrayUtil; -import git4idea.GitVcs; +import git4idea.PlatformFacade; +import git4idea.roots.GitRootProblemNotifier; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -39,23 +42,27 @@ import static git4idea.GitUtil.sortRepositories; */ public final class GitRepositoryManager extends AbstractProjectComponent implements Disposable, VcsListener { - private final GitVcs myVcs; - private final ProjectLevelVcsManager myVcsManager; + private static final Logger LOG = Logger.getInstance(GitRepositoryManager.class); + + private final @NotNull AbstractVcs myVcs; + private final @NotNull ProjectLevelVcsManager myVcsManager; + private final @NotNull PlatformFacade myPlatformFacade; private final Map myRepositories = new HashMap(); private final Set myListeners = new HashSet(); private final ReentrantReadWriteLock REPO_LOCK = new ReentrantReadWriteLock(); + @NotNull public static GitRepositoryManager getInstance(@NotNull Project project) { return ServiceManager.getService(project, GitRepositoryManager.class); } - public GitRepositoryManager(@NotNull Project project) { + public GitRepositoryManager(@NotNull Project project, @NotNull PlatformFacade platformFacade) { super(project); + myPlatformFacade = platformFacade; myVcsManager = ProjectLevelVcsManager.getInstance(myProject); - myVcs = GitVcs.getInstance(myProject); - assert myVcs != null; + myVcs = myPlatformFacade.getVcs(myProject); } @Override @@ -166,8 +173,14 @@ public final class GitRepositoryManager extends AbstractProjectComponent impleme // add GitRepositories for all roots that don't have correspondent GitRepositories yet. for (VirtualFile root : roots) { if (!myRepositories.containsKey(root)) { - GitRepository repository = createGitRepository(root); - myRepositories.put(root, repository); + if (gitRootOK(root)) { + GitRepository repository = createGitRepository(root); + myRepositories.put(root, repository); + } + else { + LOG.info("Invalid Git root: " + root); + GitRootProblemNotifier.getInstance(myProject, myPlatformFacade).rescanAndNotifyIfNeeded(); + } } } } @@ -176,6 +189,11 @@ public final class GitRepositoryManager extends AbstractProjectComponent impleme } } + private static boolean gitRootOK(@NotNull VirtualFile root) { + VirtualFile gitDir = root.findChild(".git"); + return gitDir != null && gitDir.exists(); + } + private GitRepository createGitRepository(VirtualFile root) { GitRepository repository = GitRepository.getFullInstance(root, myProject, this); for (GitRepositoryChangeListener listener : myListeners) { diff --git a/plugins/git4idea/src/git4idea/roots/GitRootProblemNotifier.java b/plugins/git4idea/src/git4idea/roots/GitRootProblemNotifier.java new file mode 100644 index 000000000000..93863825d5aa --- /dev/null +++ b/plugins/git4idea/src/git4idea/roots/GitRootProblemNotifier.java @@ -0,0 +1,155 @@ +/* + * Copyright 2000-2012 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package git4idea.roots; + +import com.intellij.notification.Notification; +import com.intellij.notification.NotificationListener; +import com.intellij.notification.NotificationType; +import com.intellij.openapi.options.ShowSettingsUtil; +import com.intellij.openapi.project.Project; +import com.intellij.openapi.util.io.FileUtil; +import com.intellij.openapi.util.text.StringUtil; +import com.intellij.openapi.vcs.VcsRootError; +import com.intellij.openapi.vfs.VirtualFile; +import com.intellij.util.Function; +import git4idea.GitVcs; +import git4idea.PlatformFacade; +import org.jetbrains.annotations.NotNull; + +import javax.swing.event.HyperlinkEvent; +import java.util.ArrayList; +import java.util.Collection; + +import static com.intellij.openapi.util.text.StringUtil.pluralize; + +/** + * Searches for Git roots problems via {@link GitRootErrorsFinder} and notifies about them. + * + * @author Kirill Likhodedov + */ +public class GitRootProblemNotifier { + + private final @NotNull Project myProject; + private final @NotNull PlatformFacade myPlatformFacade; + + public static GitRootProblemNotifier getInstance(@NotNull Project project, @NotNull PlatformFacade platformFacade) { + return new GitRootProblemNotifier(project, platformFacade); + } + + public GitRootProblemNotifier(@NotNull Project project, @NotNull PlatformFacade platformFacade) { + myProject = project; + myPlatformFacade = platformFacade; + } + + public void rescanAndNotifyIfNeeded() { + Collection errors = new GitRootErrorsFinder(myProject, myPlatformFacade).find(); + if (errors.isEmpty()) { + return; + } + + Collection unregisteredRoots = getUnregisteredRoots(errors); + Collection invalidRoots = getInvalidRoots(errors); + + String title = makeTitle(unregisteredRoots, invalidRoots); + String description = makeDescription(unregisteredRoots, invalidRoots); + + myPlatformFacade.getNotificator(myProject).notify(GitVcs.IMPORTANT_ERROR_NOTIFICATION, title, description, + NotificationType.ERROR, new NotificationListener() { + @Override + public void hyperlinkUpdate(@NotNull Notification notification, @NotNull HyperlinkEvent event) { + if (event.getEventType() == HyperlinkEvent.EventType.ACTIVATED && event.getDescription().equals("configure")) { + ShowSettingsUtil.getInstance().showSettingsDialog(myProject, "Version Control"); + } + } + }); + } + + @SuppressWarnings("StringConcatenationInsideStringBufferAppend") + private static String makeDescription(Collection unregisteredRoots, Collection invalidRoots) { + Function rootToString = new Function() { + @Override + public String fun(VirtualFile virtualFile) { + return FileUtil.toSystemDependentName(virtualFile.getPath()); + } + }; + + StringBuilder description = new StringBuilder(); + if (!invalidRoots.isEmpty()) { + if (invalidRoots.size() == 1) { + description.append("The directory " + invalidRoots.iterator().next() + " is registered as a Git root, " + + "but it doesn't have .git directory inside."); + } + else { + description.append("The following directories are registered as Git roots, but they don't have .git directotires inside:
" + + StringUtil.join(invalidRoots, rootToString, ", ")); + } + description.append("
"); + } + + if (!unregisteredRoots.isEmpty()) { + if (unregisteredRoots.size() == 1) { + description.append("The directory " + unregisteredRoots.iterator().next() + " is under Git, " + + "but is not registered in the Settings."); + } + else { + description.append("The following directories are roots of Git repositories, but they are not registered in the Settings:
" + + StringUtil.join(unregisteredRoots, rootToString, ", ")); + } + description.append("
"); + } + + description.append("Configure"); + + return description.toString(); + } + + private static String makeTitle(Collection unregisteredRoots, Collection invalidRoots) { + String title; + String roots = pluralize("root", invalidRoots.size()); + if (unregisteredRoots.isEmpty()) { + title = "Invalid Git " + roots; + } + else if (invalidRoots.isEmpty()) { + title = "Unregistered Git " + roots + " detected"; + } + else { + title = "Git root configuration problems"; + } + return title; + } + + @NotNull + private static Collection getUnregisteredRoots(@NotNull Collection errors) { + return filterErrorsByType(errors, VcsRootError.Type.UNREGISTERED_ROOT); + } + + @NotNull + private static Collection getInvalidRoots(@NotNull Collection errors) { + return filterErrorsByType(errors, VcsRootError.Type.EXTRA_ROOT); + } + + @NotNull + private static Collection filterErrorsByType(@NotNull Collection errors, @NotNull VcsRootError.Type type) { + Collection roots = new ArrayList(); + for (VcsRootError error : errors) { + if (error.getType() == type) { + roots.add(error.getRoot()); + } + } + return roots; + } + +} From 9a910b84665f21cd144ec91d9c8c6ec7acaa6b6a Mon Sep 17 00:00:00 2001 From: Kirill Likhodedov Date: Tue, 6 Mar 2012 15:07:21 +0400 Subject: [PATCH 38/41] Use ActionBundle instead of plain text --- .../git4idea/src/git4idea/roots/GitRootProblemNotifier.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/plugins/git4idea/src/git4idea/roots/GitRootProblemNotifier.java b/plugins/git4idea/src/git4idea/roots/GitRootProblemNotifier.java index 93863825d5aa..6472e71d54b5 100644 --- a/plugins/git4idea/src/git4idea/roots/GitRootProblemNotifier.java +++ b/plugins/git4idea/src/git4idea/roots/GitRootProblemNotifier.java @@ -15,6 +15,7 @@ */ package git4idea.roots; +import com.intellij.idea.ActionsBundle; import com.intellij.notification.Notification; import com.intellij.notification.NotificationListener; import com.intellij.notification.NotificationType; @@ -71,7 +72,7 @@ public class GitRootProblemNotifier { @Override public void hyperlinkUpdate(@NotNull Notification notification, @NotNull HyperlinkEvent event) { if (event.getEventType() == HyperlinkEvent.EventType.ACTIVATED && event.getDescription().equals("configure")) { - ShowSettingsUtil.getInstance().showSettingsDialog(myProject, "Version Control"); + ShowSettingsUtil.getInstance().showSettingsDialog(myProject, ActionsBundle.message("group.VcsGroup.text")); } } }); From 1935c17044bc3bea1ef537c471229ae80f39b8ef Mon Sep 17 00:00:00 2001 From: Kirill Likhodedov Date: Tue, 6 Mar 2012 16:44:46 +0400 Subject: [PATCH 39/41] GitRepositoryManager: update on .git dir change, not on mappings change This solves IDEA-64973 ("Enable Git Integration" => mapping is changed => GitRepositoryManager gets notified before git init happens => fails to create a GitRepository and shows a notification). This also handles the case when a registered git repository was created or deleted outside IDEA - now it will be captured. updateRepositoriesCollection() is called on startup now to initially collect the repositories. For this GitRepositoryManager.getInstance() is removed from GitUntrackedFilesHolder constructor (otherwise it leads to a cyclic dependency). Git root rescan happens on every updateRepositoriesCollection(). --- .../git4idea/repo/GitRepositoryManager.java | 32 +++++++++++++++---- .../repo/GitUntrackedFilesHolder.java | 4 +-- 2 files changed, 27 insertions(+), 9 deletions(-) diff --git a/plugins/git4idea/src/git4idea/repo/GitRepositoryManager.java b/plugins/git4idea/src/git4idea/repo/GitRepositoryManager.java index b92a03e998b1..0263eb4df9b6 100644 --- a/plugins/git4idea/src/git4idea/repo/GitRepositoryManager.java +++ b/plugins/git4idea/src/git4idea/repo/GitRepositoryManager.java @@ -23,8 +23,10 @@ import com.intellij.openapi.project.Project; import com.intellij.openapi.util.Disposer; import com.intellij.openapi.vcs.AbstractVcs; import com.intellij.openapi.vcs.ProjectLevelVcsManager; -import com.intellij.openapi.vcs.VcsListener; import com.intellij.openapi.vfs.VirtualFile; +import com.intellij.openapi.vfs.VirtualFileManager; +import com.intellij.openapi.vfs.newvfs.BulkFileListener; +import com.intellij.openapi.vfs.newvfs.events.VFileEvent; import com.intellij.util.ArrayUtil; import git4idea.PlatformFacade; import git4idea.roots.GitRootProblemNotifier; @@ -40,7 +42,7 @@ import static git4idea.GitUtil.sortRepositories; * GitRepositoryManager initializes and stores {@link GitRepository GitRepositories} for Git roots defined in the project. * @author Kirill Likhodedov */ -public final class GitRepositoryManager extends AbstractProjectComponent implements Disposable, VcsListener { +public final class GitRepositoryManager extends AbstractProjectComponent implements Disposable { private static final Logger LOG = Logger.getInstance(GitRepositoryManager.class); @@ -67,8 +69,9 @@ public final class GitRepositoryManager extends AbstractProjectComponent impleme @Override public void initComponent() { - myProject.getMessageBus().connect().subscribe(ProjectLevelVcsManager.VCS_CONFIGURATION_CHANGED, this); + myProject.getMessageBus().connect().subscribe(VirtualFileManager.VFS_CHANGES, new MyRepositoryCreationDeletionListener()); Disposer.register(myProject, this); + updateRepositoriesCollection(); } @Override @@ -159,8 +162,7 @@ public final class GitRepositoryManager extends AbstractProjectComponent impleme } // note: we are not calling this method during the project startup - it is called anyway by the GitRootTracker - @Override - public void directoryMappingChanged() { + private void updateRepositoriesCollection() { try { REPO_LOCK.writeLock().lock(); final VirtualFile[] roots = myVcsManager.getRootsUnderVcs(myVcs); @@ -179,10 +181,12 @@ public final class GitRepositoryManager extends AbstractProjectComponent impleme } else { LOG.info("Invalid Git root: " + root); - GitRootProblemNotifier.getInstance(myProject, myPlatformFacade).rescanAndNotifyIfNeeded(); } } } + + GitRootProblemNotifier.getInstance(myProject, myPlatformFacade).rescanAndNotifyIfNeeded(); + } finally { REPO_LOCK.writeLock().unlock(); @@ -206,4 +210,20 @@ public final class GitRepositoryManager extends AbstractProjectComponent impleme public String toString() { return "GitRepositoryManager{myRepositories: " + myRepositories + '}'; } + + private class MyRepositoryCreationDeletionListener implements BulkFileListener { + @Override + public void before(@NotNull List events) { + } + + @Override + public void after(@NotNull List events) { + for (VFileEvent event : events) { + VirtualFile file = event.getFile(); + if (file != null && file.getName().equalsIgnoreCase(".git") && file.isDirectory()) { + updateRepositoriesCollection(); + } + } + } + } } diff --git a/plugins/git4idea/src/git4idea/repo/GitUntrackedFilesHolder.java b/plugins/git4idea/src/git4idea/repo/GitUntrackedFilesHolder.java index c8e050f4ff63..c6e124bd8a94 100644 --- a/plugins/git4idea/src/git4idea/repo/GitUntrackedFilesHolder.java +++ b/plugins/git4idea/src/git4idea/repo/GitUntrackedFilesHolder.java @@ -79,7 +79,6 @@ public class GitUntrackedFilesHolder implements Disposable, BulkFileListener { private final Project myProject; private final VirtualFile myRoot; private final ChangeListManager myChangeListManager; - private final GitRepositoryManager myRepositoryManager; private final VcsDirtyScopeManager myDirtyScopeManager; private final GitRepositoryFiles myRepositoryFiles; private final Git myGit; @@ -95,7 +94,6 @@ public class GitUntrackedFilesHolder implements Disposable, BulkFileListener { myRoot = root; myRepositoryFiles = GitRepositoryFiles.getInstance(root); myChangeListManager = ChangeListManager.getInstance(project); - myRepositoryManager = GitRepositoryManager.getInstance(project); myDirtyScopeManager = VcsDirtyScopeManager.getInstance(project); myGit = ServiceManager.getService(Git.class); } @@ -297,7 +295,7 @@ public class GitUntrackedFilesHolder implements Disposable, BulkFileListener { } private boolean belongsToThisRepository(VirtualFile file) { - final GitRepository repository = myRepositoryManager.getRepositoryForFile(file); + final GitRepository repository = GitRepositoryManager.getInstance(myProject).getRepositoryForFile(file); return repository != null && repository.getRoot().equals(myRoot); } From 10d8cc7daa5013751bef1210435f8113ded99107 Mon Sep 17 00:00:00 2001 From: Kirill Likhodedov Date: Tue, 6 Mar 2012 17:49:45 +0400 Subject: [PATCH 40/41] Expire notification about invalid roots if errors are fixed. --- .../roots/GitRootProblemNotifier.java | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/plugins/git4idea/src/git4idea/roots/GitRootProblemNotifier.java b/plugins/git4idea/src/git4idea/roots/GitRootProblemNotifier.java index 6472e71d54b5..b972e9449403 100644 --- a/plugins/git4idea/src/git4idea/roots/GitRootProblemNotifier.java +++ b/plugins/git4idea/src/git4idea/roots/GitRootProblemNotifier.java @@ -56,7 +56,7 @@ public class GitRootProblemNotifier { } public void rescanAndNotifyIfNeeded() { - Collection errors = new GitRootErrorsFinder(myProject, myPlatformFacade).find(); + Collection errors = scan(); if (errors.isEmpty()) { return; } @@ -73,11 +73,20 @@ public class GitRootProblemNotifier { public void hyperlinkUpdate(@NotNull Notification notification, @NotNull HyperlinkEvent event) { if (event.getEventType() == HyperlinkEvent.EventType.ACTIVATED && event.getDescription().equals("configure")) { ShowSettingsUtil.getInstance().showSettingsDialog(myProject, ActionsBundle.message("group.VcsGroup.text")); + Collection errorsAfterPossibleFix = scan(); + if (errorsAfterPossibleFix.isEmpty() && !notification.isExpired()) { + notification.expire(); + } } } }); } + @NotNull + private Collection scan() { + return new GitRootErrorsFinder(myProject, myPlatformFacade).find(); + } + @SuppressWarnings("StringConcatenationInsideStringBufferAppend") private static String makeDescription(Collection unregisteredRoots, Collection invalidRoots) { Function rootToString = new Function() { @@ -90,11 +99,11 @@ public class GitRootProblemNotifier { StringBuilder description = new StringBuilder(); if (!invalidRoots.isEmpty()) { if (invalidRoots.size() == 1) { - description.append("The directory " + invalidRoots.iterator().next() + " is registered as a Git root, " + - "but it doesn't have .git directory inside."); + description.append("The directory " + rootToString.fun(invalidRoots.iterator().next()) + " is registered as a Git root, " + + "but it is not."); } else { - description.append("The following directories are registered as Git roots, but they don't have .git directotires inside:
" + + description.append("The following directories are registered as Git roots, but they are not:
" + StringUtil.join(invalidRoots, rootToString, ", ")); } description.append("
"); @@ -102,7 +111,7 @@ public class GitRootProblemNotifier { if (!unregisteredRoots.isEmpty()) { if (unregisteredRoots.size() == 1) { - description.append("The directory " + unregisteredRoots.iterator().next() + " is under Git, " + + description.append("The directory " + rootToString.fun(unregisteredRoots.iterator().next()) + " is under Git, " + "but is not registered in the Settings."); } else { @@ -119,12 +128,11 @@ public class GitRootProblemNotifier { private static String makeTitle(Collection unregisteredRoots, Collection invalidRoots) { String title; - String roots = pluralize("root", invalidRoots.size()); if (unregisteredRoots.isEmpty()) { - title = "Invalid Git " + roots; + title = "Invalid Git " + pluralize("root", invalidRoots.size()); } else if (invalidRoots.isEmpty()) { - title = "Unregistered Git " + roots + " detected"; + title = "Unregistered Git " + pluralize("root", unregisteredRoots.size()) + " detected"; } else { title = "Git root configuration problems"; From d5172ebeac8583e86e3be216ee84573dce30ac6a Mon Sep 17 00:00:00 2001 From: nik Date: Tue, 6 Mar 2012 18:02:28 +0400 Subject: [PATCH 41/41] tests fixed --- .../jps/incremental/BuildLoggingManager.java | 13 +- .../jps/incremental/IncProjectBuilder.java | 25 +-- .../jps/incremental/java/JavaBuilder.java | 12 +- .../incremental/java/JavaBuilderLogger.java | 9 ++ .../java/JavaBuilderLoggerImpl.java | 20 +++ .../jetbrains/ether/IncrementalTestCase.java | 149 +++--------------- .../jetbrains/ether/VolatileFileAppender.java | 52 ------ .../artifacts/ArtifactBuilderTestCase.java | 4 +- 8 files changed, 89 insertions(+), 195 deletions(-) create mode 100644 jps/jps-builders/src/org/jetbrains/jps/incremental/java/JavaBuilderLogger.java create mode 100644 jps/jps-builders/src/org/jetbrains/jps/incremental/java/JavaBuilderLoggerImpl.java delete mode 100644 jps/jps-builders/testSrc/org/jetbrains/ether/VolatileFileAppender.java diff --git a/jps/jps-builders/src/org/jetbrains/jps/incremental/BuildLoggingManager.java b/jps/jps-builders/src/org/jetbrains/jps/incremental/BuildLoggingManager.java index 2ac290d0ae47..2f4c6177a1e9 100644 --- a/jps/jps-builders/src/org/jetbrains/jps/incremental/BuildLoggingManager.java +++ b/jps/jps-builders/src/org/jetbrains/jps/incremental/BuildLoggingManager.java @@ -3,20 +3,29 @@ package org.jetbrains.jps.incremental; import org.jetbrains.annotations.NotNull; import org.jetbrains.jps.incremental.artifacts.ArtifactBuilderLogger; import org.jetbrains.jps.incremental.artifacts.ArtifactBuilderLoggerImpl; +import org.jetbrains.jps.incremental.java.JavaBuilderLogger; +import org.jetbrains.jps.incremental.java.JavaBuilderLoggerImpl; /** * @author nik */ public class BuildLoggingManager { - public static final BuildLoggingManager DEFAULT = new BuildLoggingManager(new ArtifactBuilderLoggerImpl()); + public static final BuildLoggingManager DEFAULT = new BuildLoggingManager(new ArtifactBuilderLoggerImpl(), new JavaBuilderLoggerImpl()); private ArtifactBuilderLogger myArtifactBuilderLogger; + private JavaBuilderLogger myJavaBuilderLogger; - public BuildLoggingManager(@NotNull ArtifactBuilderLogger artifactBuilderLogger) { + public BuildLoggingManager(@NotNull ArtifactBuilderLogger artifactBuilderLogger, @NotNull JavaBuilderLogger logger) { myArtifactBuilderLogger = artifactBuilderLogger; + myJavaBuilderLogger = logger; } @NotNull public ArtifactBuilderLogger getArtifactBuilderLogger() { return myArtifactBuilderLogger; } + + @NotNull + public JavaBuilderLogger getJavaBuilderLogger() { + return myJavaBuilderLogger; + } } diff --git a/jps/jps-builders/src/org/jetbrains/jps/incremental/IncProjectBuilder.java b/jps/jps-builders/src/org/jetbrains/jps/incremental/IncProjectBuilder.java index ad7439a43bcb..3f9158ca07be 100644 --- a/jps/jps-builders/src/org/jetbrains/jps/incremental/IncProjectBuilder.java +++ b/jps/jps-builders/src/org/jetbrains/jps/incremental/IncProjectBuilder.java @@ -12,6 +12,7 @@ import org.jetbrains.jps.api.CanceledStatus; import org.jetbrains.jps.api.RequestFuture; import org.jetbrains.jps.incremental.java.ExternalJavacDescriptor; import org.jetbrains.jps.incremental.java.JavaBuilder; +import org.jetbrains.jps.incremental.java.JavaBuilderLogger; import org.jetbrains.jps.incremental.messages.BuildMessage; import org.jetbrains.jps.incremental.messages.CompilerMessage; import org.jetbrains.jps.incremental.messages.ProgressMessage; @@ -321,7 +322,8 @@ public class IncProjectBuilder { final Collection outputs = sourceToOutputStorage.getState(deletedSource); if (outputs != null) { - if (LOG.isDebugEnabled()) { + final JavaBuilderLogger logger = context.getLoggingManager().getJavaBuilderLogger(); + if (logger.isEnabled()) { if (outputs.size() > 0) { final String[] buffer = new String[outputs.size()]; int i = 0; @@ -329,11 +331,11 @@ public class IncProjectBuilder { buffer[i++] = o; } Arrays.sort(buffer); - LOG.info("Cleaning output files:"); + logger.log("Cleaning output files:"); for(final String o : buffer) { - LOG.info(o); + logger.log(o); } - LOG.info("End of files"); + logger.log("End of files"); } } @@ -450,7 +452,8 @@ public class IncProjectBuilder { } } else { - LOG.info("Builder " + builder.getDescription() + " requested second chunk rebuild"); + context.getLoggingManager().getJavaBuilderLogger().log( + "Builder " + builder.getDescription() + " requested second chunk rebuild"); } } @@ -490,8 +493,9 @@ public class IncProjectBuilder { final Collection outputs = srcToOut.getState(srcPath); if (outputs != null) { + final JavaBuilderLogger logger = context.getLoggingManager().getJavaBuilderLogger(); for (String output : outputs) { - if (LOG.isDebugEnabled()) { + if (logger.isEnabled()) { allOutputs.add(output); } FileUtil.delete(new File(output)); @@ -502,9 +506,10 @@ public class IncProjectBuilder { } }); - if (LOG.isDebugEnabled()) { + final JavaBuilderLogger logger = context.getLoggingManager().getJavaBuilderLogger(); + if (logger.isEnabled()) { if (context.isMake() && allOutputs.size() > 0) { - LOG.info("Cleaning output files:"); + logger.log("Cleaning output files:"); final String[] buffer = new String[allOutputs.size()]; int i = 0; for (String output : allOutputs) { @@ -512,9 +517,9 @@ public class IncProjectBuilder { } Arrays.sort(buffer); for (String output : buffer) { - LOG.info(output); + logger.log(output); } - LOG.info("End of files"); + logger.log("End of files"); } } } diff --git a/jps/jps-builders/src/org/jetbrains/jps/incremental/java/JavaBuilder.java b/jps/jps-builders/src/org/jetbrains/jps/incremental/java/JavaBuilder.java index b2dde693b495..7ad2d3d5a626 100644 --- a/jps/jps-builders/src/org/jetbrains/jps/incremental/java/JavaBuilder.java +++ b/jps/jps-builders/src/org/jetbrains/jps/incremental/java/JavaBuilder.java @@ -3,7 +3,6 @@ package org.jetbrains.jps.incremental.java; import com.intellij.compiler.notNullVerification.NotNullVerifyingInstrumenter; import com.intellij.execution.process.BaseOSProcessHandler; import com.intellij.openapi.application.PathManager; -import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.util.Key; import com.intellij.openapi.util.Ref; import com.intellij.openapi.util.io.FileUtil; @@ -46,8 +45,6 @@ import java.util.concurrent.TimeUnit; * Date: 9/21/11 */ public class JavaBuilder extends ModuleLevelBuilder { - private static final Logger LOG = Logger.getInstance("#org.jetbrains.jps.incremental.java.JavaBuilder"); - public static final String BUILDER_NAME = "java"; private static final String JAVA_EXTENSION = ".java"; private static final String FORM_EXTENSION = ".form"; @@ -185,9 +182,10 @@ public class JavaBuilder extends ModuleLevelBuilder { } } - if (LOG.isDebugEnabled()) { + final JavaBuilderLogger logger = context.getLoggingManager().getJavaBuilderLogger(); + if (logger.isEnabled()) { if (filesToCompile.size() > 0 && context.isMake()) { - LOG.info("Compiling files:"); + logger.log("Compiling files:"); final String[] buffer = new String[filesToCompile.size()]; int i = 0; for (final File f : filesToCompile) { @@ -195,9 +193,9 @@ public class JavaBuilder extends ModuleLevelBuilder { } Arrays.sort(buffer); for (final String s : buffer) { - LOG.info(s); + logger.log(s); } - LOG.info("End of files"); + logger.log("End of files"); } } diff --git a/jps/jps-builders/src/org/jetbrains/jps/incremental/java/JavaBuilderLogger.java b/jps/jps-builders/src/org/jetbrains/jps/incremental/java/JavaBuilderLogger.java new file mode 100644 index 000000000000..837183e6a71b --- /dev/null +++ b/jps/jps-builders/src/org/jetbrains/jps/incremental/java/JavaBuilderLogger.java @@ -0,0 +1,9 @@ +package org.jetbrains.jps.incremental.java; + +/** + * @author nik + */ +public interface JavaBuilderLogger { + void log(String line); + boolean isEnabled(); +} diff --git a/jps/jps-builders/src/org/jetbrains/jps/incremental/java/JavaBuilderLoggerImpl.java b/jps/jps-builders/src/org/jetbrains/jps/incremental/java/JavaBuilderLoggerImpl.java new file mode 100644 index 000000000000..bca646cef3a7 --- /dev/null +++ b/jps/jps-builders/src/org/jetbrains/jps/incremental/java/JavaBuilderLoggerImpl.java @@ -0,0 +1,20 @@ +package org.jetbrains.jps.incremental.java; + +import com.intellij.openapi.diagnostic.Logger; + +/** + * @author nik + */ +public class JavaBuilderLoggerImpl implements JavaBuilderLogger { + private static final Logger LOG = Logger.getInstance("#org.jetbrains.jps.incremental.java.JavaBuilderLoggerImpl"); + + @Override + public void log(String line) { + LOG.debug(line); + } + + @Override + public boolean isEnabled() { + return LOG.isDebugEnabled(); + } +} diff --git a/jps/jps-builders/testSrc/org/jetbrains/ether/IncrementalTestCase.java b/jps/jps-builders/testSrc/org/jetbrains/ether/IncrementalTestCase.java index 3aa91554f3a8..f1fdb2d06033 100644 --- a/jps/jps-builders/testSrc/org/jetbrains/ether/IncrementalTestCase.java +++ b/jps/jps-builders/testSrc/org/jetbrains/ether/IncrementalTestCase.java @@ -16,21 +16,18 @@ package org.jetbrains.ether; import com.intellij.openapi.application.ex.PathManagerEx; -import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.util.SystemInfo; import com.intellij.openapi.util.io.FileUtil; import com.intellij.openapi.util.text.StringUtil; import junit.framework.TestCase; -import org.apache.log4j.Level; -import org.apache.log4j.PropertyConfigurator; -import org.jetbrains.annotations.NonNls; -import org.jetbrains.annotations.Nullable; import org.jetbrains.jps.Project; import org.jetbrains.jps.Sdk; import org.jetbrains.jps.api.CanceledStatus; import org.jetbrains.jps.artifacts.Artifact; import org.jetbrains.jps.idea.IdeaProjectLoader; import org.jetbrains.jps.incremental.*; +import org.jetbrains.jps.incremental.artifacts.ArtifactBuilderLoggerImpl; +import org.jetbrains.jps.incremental.java.JavaBuilderLogger; import org.jetbrains.jps.incremental.storage.BuildDataManager; import org.jetbrains.jps.incremental.storage.ProjectTimestamps; import org.jetbrains.jps.server.ClasspathBootstrap; @@ -40,104 +37,15 @@ import java.io.*; import java.util.Collections; import java.util.LinkedList; import java.util.List; -import java.util.Properties; /** * @author db * @since 26.07.11 */ public abstract class IncrementalTestCase extends TestCase { - private static class RootStripper { - private String root; - - void setRoot(final String root) { - this.root = root; - } - - String strip(final String s) { - if (s.startsWith(root)) { - return s.substring(root.length()); - } - - return s; - } - } - - static VolatileFileAppender myAppender = null; - - static void setAppender (final VolatileFileAppender app) { - myAppender = app; - } - - static void closeAppender () { - if (myAppender != null) { - try { - myAppender.closeStream(); - } - catch (IOException e) { - throw new RuntimeException(e); - } - } - } - - private static class MyFactory implements Logger.Factory { - @Override - public Logger getLoggerInstance(String category) { - final org.apache.log4j.Logger logger = org.apache.log4j.Logger.getLogger(category); - - final boolean affectedLogger = category.equals("#org.jetbrains.jps.incremental.java.JavaBuilder") || - category.equals("#org.jetbrains.jps.incremental.IncProjectBuilder"); - - return new Logger() { - @Override - public boolean isDebugEnabled() { - return affectedLogger; - } - - @Override - public void debug(@NonNls String message) { - } - - @Override - public void debug(@Nullable Throwable t) { - } - - @Override - public void debug(@NonNls String message, @Nullable Throwable t) { - } - - @Override - public void error(@NonNls String message, @Nullable Throwable t, @NonNls String... details) { - } - - @Override - public void info(@NonNls String message) { - if (affectedLogger) { - logger.info(stripper.strip(message)); - } - } - - @Override - public void info(@NonNls String message, @Nullable Throwable t) { - } - - @Override - public void warn(@NonNls String message, @Nullable Throwable t) { - } - - @Override - public void setLevel(Level level) { - } - }; - } - } - - private static RootStripper stripper = new RootStripper(); - private final String groupName; private final String tempDir = FileUtil.toSystemDependentName(new File(System.getProperty("java.io.tmpdir")).getCanonicalPath()); - private Logger.Factory oldFactory; private String baseDir; private String workDir; @@ -149,9 +57,6 @@ public abstract class IncrementalTestCase extends TestCase { @Override protected void setUp() throws Exception { - oldFactory = Logger.ourFactory; - Logger.setFactory(new MyFactory()); - super.setUp(); baseDir = PathManagerEx.getTestDataPath() + File.separator + "compileServer" + File.separator + "incremental" + File.separator; @@ -175,13 +80,7 @@ public abstract class IncrementalTestCase extends TestCase { super.tearDown(); } finally { - try { - closeAppender(); - delete(new File(workDir)); - } - finally { - Logger.setFactory(oldFactory); - } + delete(new File(workDir)); } } @@ -289,23 +188,7 @@ public abstract class IncrementalTestCase extends TestCase { } } - private void initLoggers() { - final Properties properties = new Properties(); - - properties.setProperty("log4j.rootCategory", "INFO, A1"); - properties.setProperty("log4j.appender.A1", "org.jetbrains.ether.VolatileFileAppender"); - properties.setProperty("log4j.appender.A1.file", getWorkDir() + ".log"); - properties.setProperty("log4j.appender.A1.layout", "org.apache.log4j.PatternLayout"); - properties.setProperty("log4j.appender.A1.layout.ConversionPattern", "%m%n"); - - PropertyConfigurator.configure(properties); - } - public void doTest() throws Exception { - stripper.setRoot(FileUtil.toSystemIndependentName(getWorkDir() + File.separator)); - - initLoggers(); - final String projectPath = getWorkDir() + File.separator + ".idea"; final Project project = new Project(); @@ -319,11 +202,11 @@ public abstract class IncrementalTestCase extends TestCase { IdeaProjectLoader.loadFromPath(project, projectPath, ""); final File dataStorageRoot = Paths.getDataStorageRoot(project); + final TestJavaBuilderLogger javaBuilderLogger = new TestJavaBuilderLogger(FileUtil.toSystemIndependentName(getWorkDir() + File.separator)); final ProjectDescriptor projectDescriptor = new ProjectDescriptor(project, new FSState(true), new ProjectTimestamps(dataStorageRoot), - new BuildDataManager(dataStorageRoot, true), BuildLoggingManager.DEFAULT); + new BuildDataManager(dataStorageRoot, true), new BuildLoggingManager(new ArtifactBuilderLoggerImpl(), javaBuilderLogger)); try { - new IncProjectBuilder( projectDescriptor, BuilderRegistry.getInstance(), Collections.emptyMap(), CanceledStatus.NULL ).build( @@ -343,11 +226,31 @@ public abstract class IncrementalTestCase extends TestCase { ); final String expected = StringUtil.convertLineSeparators(FileUtil.loadFile(new File(getBaseDir() + ".log"))); - final String actual = StringUtil.convertLineSeparators(FileUtil.loadFile(new File(getWorkDir() + ".log"))); + final String actual = javaBuilderLogger.myLog.toString(); assertEquals(expected, actual); } finally { projectDescriptor.release(); } } + + private static class TestJavaBuilderLogger implements JavaBuilderLogger { + private final String myRoot; + private final StringBuilder myLog; + + public TestJavaBuilderLogger(String root) { + myRoot = root; + myLog = new StringBuilder(); + } + + @Override + public void log(String line) { + myLog.append(StringUtil.trimStart(line, myRoot)).append('\n'); + } + + @Override + public boolean isEnabled() { + return true; + } + } } diff --git a/jps/jps-builders/testSrc/org/jetbrains/ether/VolatileFileAppender.java b/jps/jps-builders/testSrc/org/jetbrains/ether/VolatileFileAppender.java deleted file mode 100644 index 9c1947bb8d07..000000000000 --- a/jps/jps-builders/testSrc/org/jetbrains/ether/VolatileFileAppender.java +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright 2000-2012 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jetbrains.ether; - -import org.apache.log4j.FileAppender; - -import java.io.IOException; -import java.io.OutputStream; -import java.io.OutputStreamWriter; - -/** - * Created with IntelliJ IDEA. - * User: db - * Date: 02.02.12 - * Time: 18:27 - * To change this template use File | Settings | File Templates. - */ - -public class VolatileFileAppender extends FileAppender { - private OutputStream myStream = null; - - public VolatileFileAppender() { - super(); - IncrementalTestCase.setAppender(this); - } - - void closeStream () throws IOException { - if (myStream != null){ - myStream.close(); - myStream = null; - } - } - - @Override - protected OutputStreamWriter createWriter(final OutputStream os) { - myStream = os; - return super.createWriter(os); - } -} diff --git a/jps/jps-builders/testSrc/org/jetbrains/jps/incremental/artifacts/ArtifactBuilderTestCase.java b/jps/jps-builders/testSrc/org/jetbrains/jps/incremental/artifacts/ArtifactBuilderTestCase.java index 36916eda7fe9..48c5028d74eb 100644 --- a/jps/jps-builders/testSrc/org/jetbrains/jps/incremental/artifacts/ArtifactBuilderTestCase.java +++ b/jps/jps-builders/testSrc/org/jetbrains/jps/incremental/artifacts/ArtifactBuilderTestCase.java @@ -29,6 +29,7 @@ import org.jetbrains.jps.Project; import org.jetbrains.jps.api.CanceledStatus; import org.jetbrains.jps.artifacts.Artifact; import org.jetbrains.jps.incremental.*; +import org.jetbrains.jps.incremental.java.JavaBuilderLoggerImpl; import org.jetbrains.jps.incremental.messages.BuildMessage; import org.jetbrains.jps.incremental.storage.BuildDataManager; import org.jetbrains.jps.incremental.storage.ProjectTimestamps; @@ -143,7 +144,8 @@ public abstract class ArtifactBuilderTestCase extends UsefulTestCase { final File dataStorageRoot = Paths.getDataStorageRoot(myProject); ProjectTimestamps timestamps = new ProjectTimestamps(dataStorageRoot); BuildDataManager dataManager = new BuildDataManager(dataStorageRoot, true); - return new ProjectDescriptor(myProject, new FSState(true), timestamps, dataManager, new BuildLoggingManager(myArtifactBuilderLogger)); + return new ProjectDescriptor(myProject, new FSState(true), timestamps, dataManager, new BuildLoggingManager(myArtifactBuilderLogger, + new JavaBuilderLoggerImpl())); } catch (IOException e) { throw new RuntimeException(e);