Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorddunne2010-09-28 13:11:59 -0400
committerRyan D. Brooks2010-09-28 13:11:59 -0400
commit77c3684c70c88231e6be92556bd5bf117337bd56 (patch)
tree965aa2770a9122c9f9cb6e796c3a623cc221ef17 /plugins
parenta2a8552849527f522ca5ccfe4af4ca2c74f09047 (diff)
downloadorg.eclipse.osee-77c3684c70c88231e6be92556bd5bf117337bd56.tar.gz
org.eclipse.osee-77c3684c70c88231e6be92556bd5bf117337bd56.tar.xz
org.eclipse.osee-77c3684c70c88231e6be92556bd5bf117337bd56.zip
refactor: Resolve PMD Code Quality findings in ATS
Diffstat (limited to 'plugins')
-rw-r--r--plugins/jms.activemq.launch/.pmd925
-rw-r--r--plugins/jms.libraries/.pmd925
-rw-r--r--plugins/net.jini/.pmd925
-rw-r--r--plugins/org.eclipse.osee.ats.config.demo/.pmd925
-rw-r--r--plugins/org.eclipse.osee.ats.config.demo/src/org/eclipse/osee/ats/config/demo/PopulateDemoActions.java8
-rw-r--r--plugins/org.eclipse.osee.ats.config.demo/src/org/eclipse/osee/ats/config/demo/config/DemoDbActionData.java2
-rw-r--r--plugins/org.eclipse.osee.ats.config.demo/src/org/eclipse/osee/ats/config/demo/workflow/DemoAddDecisionReviewRule.java2
-rw-r--r--plugins/org.eclipse.osee.ats.config.demo/src/org/eclipse/osee/ats/config/demo/workflow/DemoAddPeerToPeerReviewRule.java2
-rw-r--r--plugins/org.eclipse.osee.ats.config.demo/src/org/eclipse/osee/ats/config/demo/workflow/DemoReqWorkFlowDefinition.java2
-rw-r--r--plugins/org.eclipse.osee.ats.config.demo/src/org/eclipse/osee/ats/config/demo/workflow/DemoSWDesignWorkFlowDefinition.java4
-rw-r--r--plugins/org.eclipse.osee.ats.help.ui/.pmd925
-rw-r--r--plugins/org.eclipse.osee.ats.test/.pmd925
-rw-r--r--plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/AtsTest_Demo_Suite.java2
-rw-r--r--plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/AtsTest_TestDb_Suite.java3
-rw-r--r--plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/artifact/LogItemTest.java89
-rw-r--r--plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/artifact/NoteItemTest.java87
-rw-r--r--plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/config/AtsBranchConfigurationTest.java2
-rw-r--r--plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/navigate/AtsNavigateItemsToWorldViewTest.java6
-rw-r--r--plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/util/AtsDeleteManagerTest.java4
-rw-r--r--plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/util/AtsNotifyUsersTest.java2
-rw-r--r--plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/util/SMATestUtil.java10
-rw-r--r--plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/workflow/SMAPromptChangeStatusTest.java4
-rw-r--r--plugins/org.eclipse.osee.ats/.pmd925
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/AtsArtifactImageProvider.java14
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/access/AtsAccessContextIdFactory.java14
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/access/AtsAccessContextIdResolver.java2
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/access/AtsBranchObjectContextId.java2
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/access/AtsBranchObjectManager.java34
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/AccessControlAction.java10
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/AddNoteAction.java7
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/ConvertActionableItemsAction.java3
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/CopyActionDetailsAction.java7
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/DeletePurgeAtsArtifactsAction.java1
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/DirtyReportAction.java6
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/DuplicateWorkflowViaWorldEditorAction.java1
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/EmailActionAction.java9
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/ExportChangeReportsAction.java79
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/FavoriteAction.java18
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/ISelectedAtsArtifacts.java4
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/ImportTasksViaSimpleList.java9
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/ImportTasksViaSpreadsheet.java9
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/NewDecisionReviewJob.java9
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/NewGoal.java9
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/NewPeerToPeerReviewJob.java7
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/OpenInArtifactEditorAction.java1
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/OpenInAtsWorkflowEditor.java1
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/OpenInAtsWorldAction.java7
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/OpenInMassEditorAction.java1
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/OpenInSkyWalkerAction.java7
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/OpenNewAtsTaskEditorAction.java5
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/OpenNewAtsTaskEditorSelected.java8
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/OpenNewAtsWorldEditorAction.java5
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/OpenNewAtsWorldEditorSelectedAction.java6
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/OpenParentAction.java7
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/OpenTeamDefinitionAction.java7
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/OpenVersionArtifactAction.java7
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/PrivilegedEditAction.java20
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/RefreshDirtyAction.java6
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/ReloadAction.java13
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/ResourceHistoryAction.java6
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/ShowBranchChangeDataAction.java16
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/ShowChangeReportAction.java6
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/ShowMergeManagerAction.java1
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/SubscribedAction.java18
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/TaskAddAction.java2
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/TaskDeleteAction.java2
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/WorkflowDebugAction.java6
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/wizard/ActionableItemFilter.java6
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/wizard/ArtifactSelectWizardPage.java39
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/wizard/IAtsTeamWorkflow.java10
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/wizard/IAtsWizardItem.java10
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/wizard/NewActionJob.java2
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/wizard/NewActionPage1.java12
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/wizard/NewActionPage2.java28
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/wizard/NewActionPage3.java16
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/wizard/NewActionWizard.java6
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/wizard/NewNotePage.java28
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/ATSLog.java67
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/ATSNote.java121
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/AbstractAtsArtifact.java (renamed from plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/ATSArtifact.java)5
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/AbstractReviewArtifact.java (renamed from plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/ReviewSMArtifact.java)50
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/AbstractTaskableArtifact.java (renamed from plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/TaskableStateMachineArtifact.java)41
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/AbstractWorkflowArtifact.java (renamed from plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/StateMachineArtifact.java)412
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/ActionArtifact.java318
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/AtsArtifactFactory.java27
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/DecisionReviewArtifact.java10
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/DecisionReviewWorkflowManager.java66
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/GoalArtifact.java191
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/IFavoriteableArtifact.java33
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/IReviewArtifact.java10
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/ISubscribableArtifact.java33
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/LogItem.java70
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/NoteItem.java77
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/PeerToPeerReviewArtifact.java12
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/PeerToPeerReviewWorkflowManager.java55
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/SmaWorkflowLabelProvider.java4
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/TaskArtifact.java82
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/TeamDefinitionArtifact.java26
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/TeamWorkFlowArtifact.java187
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/TeamWorkflowExtensions.java69
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/TeamWorkflowLabelProvider.java10
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/TeamWorkflowManager.java130
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/VersionArtifact.java27
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/config/AtsCacheManager.java16
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/config/AtsConfigManager.java2
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAActionableItemHeader.java6
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAAssigneesHeader.java85
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMADetailsSection.java34
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMADragAndDrop.java6
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAEditor.java47
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAEditorArtifactEventManager.java20
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAEditorBranchEventManager.java6
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAGoalMembersSection.java4
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAHistorySection.java6
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAOriginatorHeader.java4
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAPrint.java14
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAPromptChangeHoursSpent.java10
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAPromptChangeStatus.java20
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMARelationsHyperlinkComposite.java32
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMARelationsSection.java4
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMATargetVersionInfoComposite.java6
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMATargetedVersionHeader.java6
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAWorkFlowSection.java71
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAWorkFlowTab.java10
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAWorkflowMetricsHeader.java6
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/stateItem/AtsDecisionReviewDecisionStateItem.java6
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/stateItem/AtsDecisionReviewPrepareStateItem.java4
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/stateItem/AtsForceAssigneesToTeamLeadsStateItem.java4
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/stateItem/AtsHandleAddReviewRuleStateItem.java6
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/stateItem/AtsPeerToPeerReviewPrepareStateItem.java4
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/stateItem/AtsPeerToPeerReviewReviewStateItem.java4
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/stateItem/AtsStateItem.java16
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/stateItem/AtsStateItemManager.java (renamed from plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/stateItem/AtsStateItems.java)15
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/stateItem/IAtsStateItem.java16
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/widget/EstimatedHoursXWidget.java4
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/widget/ReviewInfoXWidget.java14
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/widget/StateHoursSpentXWidget.java14
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/widget/StatePercentCompleteXWidget.java14
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/widget/TaskInfoXWidget.java25
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/export/AtsExportManager.java22
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/goal/SetGoalOrderAction.java3
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/health/ValidateAtsDatabase.java34
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/health/ValidateChangeReports.java2
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/hyper/ActionHyperItem.java107
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/hyper/ActionHyperView.java37
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/hyper/ActionSkyWalker.java12
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/hyper/HyperView.java10
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/hyper/IHyperArtifact.java39
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/hyper/TasksActionHyperItem.java35
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/hyper/TasksHyperViewArtifact.java75
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/internal/OseeAtsServiceImpl.java24
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/AtsQuickSearchComposite.java2
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/AtsQuickSearchOperation.java6
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/AtsRemoteEventTestItem.java4
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/CreateGoalTestArtifacts.java11
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/TeamWorkflowSearchWorkflowSearchItem.java6
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/notify/AtsNotification.java51
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/notify/AtsNotificationCheckTreeDialog.java2
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/operation/CancelMultipleWorkflows.java13
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/operation/CompleteMultipleWorkflows.java13
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/operation/DuplicateWorkflowBlam.java9
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/operation/ImportTasksFromSimpleList.java8
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/operation/ImportTasksFromSpreadsheet.java8
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/operation/ReAssignATSObjectsToUser.java10
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/report/ExtendedStatusReportJob.java4
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/task/IXTaskViewer.java6
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/task/TaskComposite.java4
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/task/TaskEditor.java6
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/task/TaskEditorXWidgetActionPage.java6
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/task/TaskTabXWidgetActionPage.java6
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/task/TaskXViewer.java19
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/ActionManager.java144
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/ActionableItemManager.java200
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/ArtifactEmailWizard.java36
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/AtsArtifactAnnotations.java6
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/AtsBranchCommitJob.java9
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/AtsDeleteManager.java12
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/AtsNotifyUsers.java22
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/AtsPreSaveCacheRemoteEventHandler.java6
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/AtsUtil.java9
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/DeadlineManager.java6
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/DefaultTeamState.java10
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/FavoritesManager.java55
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/GoalManager.java185
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/Import/ExcelAtsTaskArtifactExtractor.java23
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/Overview.java20
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/PriviledgedUserManager.java92
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/PromptChangeUtil.java44
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/ReadOnlyHyperlinkListener.java6
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/SMAMetrics.java42
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/SMAUtil.java76
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/StateManager.java40
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/SubscribeManager.java56
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/TransitionOption.java10
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/XCancellationReasonTextWidget.java12
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/ReviewManager.java34
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/SMAState.java2
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/XCurrentStateDam.java8
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/XDecisionOptions.java10
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/XStateAssigneesDam.java12
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/XStateDam.java4
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/dialog/SMAStatusDialog.java10
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/dialog/TaskOptionStatusDialog.java4
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/role/UserRoleManager.java14
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/xviewer/RelatedToStateColumn.java4
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/xviewer/column/XViewerReviewRoleColumn.java8
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/xviewer/column/XViewerSmaCompletedDateColumn.java6
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/ATSXWidgetOptionResolver.java2
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/AtsWorkPage.java21
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/flow/DecisionWorkflowDefinition.java2
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/flow/PeerToPeerWorkflowDefinition.java2
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/flow/SimpleWorkflowDefinition.java2
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/flow/TaskWorkflowDefinition.java2
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/flow/TeamWorkflowDefinition.java2
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/item/AtsAddDecisionReviewRule.java2
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/item/AtsAddPeerToPeerReviewRule.java2
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/item/AtsCancellationReasonStateWorkItem.java4
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/item/AtsCancelledFromStateWorkItem.java4
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/item/AtsCompletedFromStateWorkItem.java4
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/item/AtsStatePercentCompleteWeightDefaultWorkflowRule.java2
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/page/AtsAnalyzeWorkPageDefinition.java2
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/page/AtsAuthorizeWorkPageDefinition.java2
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/page/AtsCancelledWorkPageDefinition.java2
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/page/AtsCompletedWorkPageDefinition.java2
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/page/AtsDecisionCompletedWorkPageDefinition.java2
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/page/AtsEndorseWorkPageDefinition.java2
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/page/AtsImplementWorkPageDefinition.java2
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/AtsMetricsComposite.java4
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/IWorldViewArtifact.java170
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/WorldComposite.java7
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/WorldContentProvider.java29
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/WorldEditor.java15
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/WorldLabelProvider.java3
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/WorldXViewer.java41
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/WorldXViewerEventManager.java6
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/WorldXWidgetActionPage.java20
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/search/ActionableItemWorldSearchItem.java8
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/search/GoalSearchItem.java10
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/search/MyGoalWorkflowItem.java4
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/search/MyReviewWorkflowItem.java8
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/search/MyWorldSearchItem.java4
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/search/ShowOpenWorkflowsByArtifactType.java2
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/search/TaskSearchWorldSearchItem.java6
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/search/TeamWorldSearchItem.java6
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/search/UserWorldSearchItem.java32
-rw-r--r--plugins/org.eclipse.osee.client.integration.tests/.pmd925
-rw-r--r--plugins/org.eclipse.osee.coverage.help.ui/.pmd925
-rw-r--r--plugins/org.eclipse.osee.coverage.test/.pmd925
-rw-r--r--plugins/org.eclipse.osee.coverage/.pmd925
-rw-r--r--plugins/org.eclipse.osee.define.help.ui/.pmd925
-rw-r--r--plugins/org.eclipse.osee.define.test/.pmd925
-rw-r--r--plugins/org.eclipse.osee.define/.pmd925
-rw-r--r--plugins/org.eclipse.osee.demo.db.connection/.pmd925
-rw-r--r--plugins/org.eclipse.osee.framework.access.test/.pmd925
-rw-r--r--plugins/org.eclipse.osee.framework.access/.pmd925
-rw-r--r--plugins/org.eclipse.osee.framework.branch.management.test/.pmd925
-rw-r--r--plugins/org.eclipse.osee.framework.branch.management/.pmd925
-rw-r--r--plugins/org.eclipse.osee.framework.core.client/.pmd925
-rw-r--r--plugins/org.eclipse.osee.framework.core.datastore.test/.pmd925
-rw-r--r--plugins/org.eclipse.osee.framework.core.datastore/.pmd925
-rw-r--r--plugins/org.eclipse.osee.framework.core.dsl.edit/.pmd925
-rw-r--r--plugins/org.eclipse.osee.framework.core.dsl.integration.test/.pmd925
-rw-r--r--plugins/org.eclipse.osee.framework.core.dsl.integration/.pmd925
-rw-r--r--plugins/org.eclipse.osee.framework.core.dsl.ui.integration/.pmd925
-rw-r--r--plugins/org.eclipse.osee.framework.core.dsl.ui/.pmd925
-rw-r--r--plugins/org.eclipse.osee.framework.core.dsl/.pmd925
-rw-r--r--plugins/org.eclipse.osee.framework.core.message.test/.pmd925
-rw-r--r--plugins/org.eclipse.osee.framework.core.message/.pmd925
-rw-r--r--plugins/org.eclipse.osee.framework.core.model.test/.pmd925
-rw-r--r--plugins/org.eclipse.osee.framework.core.model/.pmd925
-rw-r--r--plugins/org.eclipse.osee.framework.core.server.test/.pmd925
-rw-r--r--plugins/org.eclipse.osee.framework.core.server/.pmd925
-rw-r--r--plugins/org.eclipse.osee.framework.core.test/.pmd925
-rw-r--r--plugins/org.eclipse.osee.framework.core/.pmd925
-rw-r--r--plugins/org.eclipse.osee.framework.database.init/.pmd925
-rw-r--r--plugins/org.eclipse.osee.framework.database/.pmd925
-rw-r--r--plugins/org.eclipse.osee.framework.derby/.pmd925
-rw-r--r--plugins/org.eclipse.osee.framework.dev.help.ui/.pmd925
-rw-r--r--plugins/org.eclipse.osee.framework.help.ui/.pmd925
-rw-r--r--plugins/org.eclipse.osee.framework.jdbcodbc/.pmd925
-rw-r--r--plugins/org.eclipse.osee.framework.jdk.core.test/.pmd925
-rw-r--r--plugins/org.eclipse.osee.framework.jdk.core/.pmd925
-rw-r--r--plugins/org.eclipse.osee.framework.jini/.pmd925
-rw-r--r--plugins/org.eclipse.osee.framework.lifecycle.test/.pmd925
-rw-r--r--plugins/org.eclipse.osee.framework.lifecycle/.pmd925
-rw-r--r--plugins/org.eclipse.osee.framework.logging/.pmd925
-rw-r--r--plugins/org.eclipse.osee.framework.manager.servlet.test/.pmd925
-rw-r--r--plugins/org.eclipse.osee.framework.manager.servlet/.pmd925
-rw-r--r--plugins/org.eclipse.osee.framework.messaging.event.res.test/.pmd925
-rw-r--r--plugins/org.eclipse.osee.framework.messaging.event.res/.pmd925
-rw-r--r--plugins/org.eclipse.osee.framework.messaging.event.skynet/.pmd925
-rw-r--r--plugins/org.eclipse.osee.framework.messaging.test/.pmd925
-rw-r--r--plugins/org.eclipse.osee.framework.messaging/.pmd925
-rw-r--r--plugins/org.eclipse.osee.framework.oracle/.pmd925
-rw-r--r--plugins/org.eclipse.osee.framework.plugin.core/.pmd925
-rw-r--r--plugins/org.eclipse.osee.framework.postgresql/.pmd925
-rw-r--r--plugins/org.eclipse.osee.framework.resource.locator.attribute.test/.pmd925
-rw-r--r--plugins/org.eclipse.osee.framework.resource.locator.attribute/.pmd925
-rw-r--r--plugins/org.eclipse.osee.framework.resource.management.servlet.test/.pmd925
-rw-r--r--plugins/org.eclipse.osee.framework.resource.management.test/.pmd925
-rw-r--r--plugins/org.eclipse.osee.framework.resource.management/.pmd925
-rw-r--r--plugins/org.eclipse.osee.framework.resource.provider.attribute.test/.pmd925
-rw-r--r--plugins/org.eclipse.osee.framework.resource.provider.attribute/.pmd925
-rw-r--r--plugins/org.eclipse.osee.framework.search.engine.test/.pmd925
-rw-r--r--plugins/org.eclipse.osee.framework.search.engine/.pmd925
-rw-r--r--plugins/org.eclipse.osee.framework.server.admin/.pmd925
-rw-r--r--plugins/org.eclipse.osee.framework.server.tests/.pmd925
-rw-r--r--plugins/org.eclipse.osee.framework.skynet.core.test/.pmd925
-rw-r--r--plugins/org.eclipse.osee.framework.skynet.core/.pmd925
-rw-r--r--plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/IATSArtifact.java9
-rw-r--r--plugins/org.eclipse.osee.framework.svn/.pmd925
-rw-r--r--plugins/org.eclipse.osee.framework.templates/.pmd925
-rw-r--r--plugins/org.eclipse.osee.framework.ui.admin/.pmd925
-rw-r--r--plugins/org.eclipse.osee.framework.ui.branch.graph/.pmd925
-rw-r--r--plugins/org.eclipse.osee.framework.ui.data.model.editor/.pmd925
-rw-r--r--plugins/org.eclipse.osee.framework.ui.jdk/.pmd925
-rw-r--r--plugins/org.eclipse.osee.framework.ui.plugin/.pmd925
-rw-r--r--plugins/org.eclipse.osee.framework.ui.product/.pmd925
-rw-r--r--plugins/org.eclipse.osee.framework.ui.service.control/.pmd925
-rw-r--r--plugins/org.eclipse.osee.framework.ui.skynet.test/.pmd925
-rw-r--r--plugins/org.eclipse.osee.framework.ui.skynet/.pmd925
-rw-r--r--plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/EmailGroupsBlam.java2
-rw-r--r--plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/util/email/EmailWizard.java9
-rw-r--r--plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/util/email/EmailWizardPage.java7
-rw-r--r--plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/XCheckBox.java4
-rw-r--r--plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/XCheckBoxDam.java2
-rw-r--r--plugins/org.eclipse.osee.framework.ui.swt/.pmd925
-rw-r--r--plugins/org.eclipse.osee.framework.ui.workspacebundleloader/.pmd925
-rw-r--r--plugins/org.eclipse.osee.framework.ui.ws/.pmd925
-rw-r--r--plugins/org.eclipse.osee.ote.client.msg/.pmd925
-rw-r--r--plugins/org.eclipse.osee.ote.client/.pmd925
-rw-r--r--plugins/org.eclipse.osee.ote.connection.jini/.pmd925
-rw-r--r--plugins/org.eclipse.osee.ote.connection.service.test/.pmd925
-rw-r--r--plugins/org.eclipse.osee.ote.connection.service/.pmd925
-rw-r--r--plugins/org.eclipse.osee.ote.container/.pmd925
-rw-r--r--plugins/org.eclipse.osee.ote.core/.pmd925
-rw-r--r--plugins/org.eclipse.osee.ote.define/.pmd925
-rw-r--r--plugins/org.eclipse.osee.ote.message.test/.pmd925
-rw-r--r--plugins/org.eclipse.osee.ote.message/.pmd925
-rw-r--r--plugins/org.eclipse.osee.ote.messaging.dds/.pmd925
-rw-r--r--plugins/org.eclipse.osee.ote.runtimeManager/.pmd925
-rw-r--r--plugins/org.eclipse.osee.ote.server/.pmd925
-rw-r--r--plugins/org.eclipse.osee.ote.ui.define/.pmd925
-rw-r--r--plugins/org.eclipse.osee.ote.ui.host.cmd/.pmd925
-rw-r--r--plugins/org.eclipse.osee.ote.ui.markers/.pmd925
-rw-r--r--plugins/org.eclipse.osee.ote.ui.message.util/.pmd925
-rw-r--r--plugins/org.eclipse.osee.ote.ui.message/.pmd925
-rw-r--r--plugins/org.eclipse.osee.ote.ui.mux/.pmd925
-rw-r--r--plugins/org.eclipse.osee.ote.ui.test.manager/.pmd925
-rw-r--r--plugins/org.eclipse.osee.ote.ui/.pmd925
-rw-r--r--plugins/org.eclipse.osee.sos/.pmd925
-rw-r--r--plugins/org.eclipse.osee.support.admin/.pmd925
-rw-r--r--plugins/org.eclipse.osee.support.build/.pmd925
-rw-r--r--plugins/org.eclipse.osee.support.config/.pmd925
-rw-r--r--plugins/org.eclipse.osee.support.config/codeStyle/osee_pmd_rule_set.xml504
-rw-r--r--plugins/org.eclipse.osee.support.dev/.pmd925
-rw-r--r--plugins/org.eclipse.osee.support.test.util/.pmd925
357 files changed, 106709 insertions, 3191 deletions
diff --git a/plugins/jms.activemq.launch/.pmd b/plugins/jms.activemq.launch/.pmd
new file mode 100644
index 0000000000..c7b0a9fb3f
--- /dev/null
+++ b/plugins/jms.activemq.launch/.pmd
@@ -0,0 +1,925 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<pmd>
+ <useProjectRuleSet>false</useProjectRuleSet>
+ <ruleSetFile>.ruleset</ruleSetFile>
+ <rules>
+ <rule>
+ <name>LooseCoupling</name>
+ <ruleset>Type Resolution Rules</ruleset>
+ </rule>
+ <rule>
+ <name>CloneMethodMustImplementCloneable</name>
+ <ruleset>Type Resolution Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnusedImports</name>
+ <ruleset>Type Resolution Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SignatureDeclareThrowsException</name>
+ <ruleset>Type Resolution Rules</ruleset>
+ </rule>
+ <rule>
+ <name>IfStmtsMustUseBraces</name>
+ <ruleset>Braces Rules</ruleset>
+ </rule>
+ <rule>
+ <name>WhileLoopsMustUseBraces</name>
+ <ruleset>Braces Rules</ruleset>
+ </rule>
+ <rule>
+ <name>IfElseStmtsMustUseBraces</name>
+ <ruleset>Braces Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ForLoopsMustUseBraces</name>
+ <ruleset>Braces Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseSingleton</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SimplifyBooleanReturns</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SimplifyBooleanExpressions</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SwitchStmtsShouldHaveDefault</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidDeeplyNestedIfStmts</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidReassigningParameters</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SwitchDensity</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ConstructorCallsOverridableMethod</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AccessorClassGeneration</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>FinalFieldCouldBeStatic</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>CloseResource</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>NonStaticInitializer</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DefaultLabelNotLastInSwitchStmt</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>NonCaseLabelInSwitchStatement</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>OptimizableToArrayCall</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>BadComparison</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EqualsNull</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ConfusingTernary</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>InstantiationToGetClass</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>IdempotentOperations</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SimpleDateFormatNeedsLocale</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ImmutableField</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseLocaleWithCaseConversions</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidProtectedFieldInFinalClass</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AssignmentToNonFinalStatic</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>MissingStaticMethodInNonInstantiatableClass</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidSynchronizedAtMethodLevel</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>MissingBreakInSwitch</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseNotifyAllInsteadOfNotify</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidInstanceofChecksInCatchClause</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AbstractClassWithoutAbstractMethod</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SimplifyConditional</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>CompareObjectsWithEquals</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>PositionLiteralsFirstInComparisons</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnnecessaryLocalBeforeReturn</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>NonThreadSafeSingleton</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UncommentedEmptyMethod</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UncommentedEmptyConstructor</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidConstantsInterface</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnsynchronizedStaticDateFormatter</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>PreserveStackTrace</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseCollectionIsEmpty</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ClassWithOnlyPrivateConstructorsShouldBeFinal</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptyMethodInAbstractClassShouldBeAbstract</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SingularField</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ReturnEmptyArrayRatherThanNull</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AbstractClassWithoutAnyMethod</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>TooFewBranchesForASwitchStatement</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidCatchingThrowable</name>
+ <ruleset>Strict Exception Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SignatureDeclareThrowsException</name>
+ <ruleset>Type Resolution Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ExceptionAsFlowControl</name>
+ <ruleset>Strict Exception Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidCatchingNPE</name>
+ <ruleset>Strict Exception Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidThrowingRawExceptionTypes</name>
+ <ruleset>Strict Exception Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidThrowingNullPointerException</name>
+ <ruleset>Strict Exception Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidRethrowingException</name>
+ <ruleset>Strict Exception Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DoNotExtendJavaLangError</name>
+ <ruleset>Strict Exception Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DoNotThrowExceptionInFinally</name>
+ <ruleset>Strict Exception Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidThrowingNewInstanceOfSameException</name>
+ <ruleset>Strict Exception Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnusedPrivateField</name>
+ <ruleset>Unused Code Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnusedLocalVariable</name>
+ <ruleset>Unused Code Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnusedPrivateMethod</name>
+ <ruleset>Unused Code Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnusedFormalParameter</name>
+ <ruleset>Unused Code Rules</ruleset>
+ </rule>
+ <rule>
+ <name>MoreThanOneLogger</name>
+ <ruleset>Java Logging Rules</ruleset>
+ </rule>
+ <rule>
+ <name>LoggerIsNotStaticFinal</name>
+ <ruleset>Java Logging Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SystemPrintln</name>
+ <ruleset>Java Logging Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidPrintStackTrace</name>
+ <ruleset>Java Logging Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidDuplicateLiterals</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>StringInstantiation</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>StringToString</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>InefficientStringBuffering</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnnecessaryCaseChange</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseStringBufferLength</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AppendCharacterWithChar</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ConsecutiveLiteralAppends</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseIndexOfChar</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>InefficientEmptyStringCheck</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>InsufficientStringBufferDeclaration</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UselessStringValueOf</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>StringBufferInstantiationWithChar</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseEqualsToCompareStrings</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidStringBufferField</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ReplaceVectorWithList</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ReplaceHashtableWithMap</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ReplaceEnumerationWithIterator</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidEnumAsIdentifier</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidAssertAsIdentifier</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>IntegerInstantiation</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ByteInstantiation</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ShortInstantiation</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>LongInstantiation</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>JUnit4TestShouldUseBeforeAnnotation</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>JUnit4TestShouldUseAfterAnnotation</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>JUnit4TestShouldUseTestAnnotation</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>JUnit4SuitesShouldUseSuiteAnnotation</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>JUnitUseExpected</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseProperClassLoader</name>
+ <ruleset>J2EE Rules</ruleset>
+ </rule>
+ <rule>
+ <name>MDBAndSessionBeanNamingConvention</name>
+ <ruleset>J2EE Rules</ruleset>
+ </rule>
+ <rule>
+ <name>RemoteSessionInterfaceNamingConvention</name>
+ <ruleset>J2EE Rules</ruleset>
+ </rule>
+ <rule>
+ <name>LocalInterfaceSessionNamingConvention</name>
+ <ruleset>J2EE Rules</ruleset>
+ </rule>
+ <rule>
+ <name>LocalHomeNamingConvention</name>
+ <ruleset>J2EE Rules</ruleset>
+ </rule>
+ <rule>
+ <name>RemoteInterfaceNamingConvention</name>
+ <ruleset>J2EE Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DoNotCallSystemExit</name>
+ <ruleset>J2EE Rules</ruleset>
+ </rule>
+ <rule>
+ <name>StaticEJBFieldShouldBeFinal</name>
+ <ruleset>J2EE Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DoNotUseThreads</name>
+ <ruleset>J2EE Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidInstantiatingObjectsInLoops</name>
+ <ruleset>Optimization Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseArrayListInsteadOfVector</name>
+ <ruleset>Optimization Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SimplifyStartsWith</name>
+ <ruleset>Optimization Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseStringBufferForStringAppends</name>
+ <ruleset>Optimization Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseArraysAsList</name>
+ <ruleset>Optimization Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidArrayLoops</name>
+ <ruleset>Optimization Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnnecessaryWrapperObjectCreation</name>
+ <ruleset>Optimization Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AddEmptyString</name>
+ <ruleset>Optimization Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptyCatchBlock</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptyIfStmt</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptyWhileStmt</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptyTryBlock</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptyFinallyBlock</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptySwitchStatements</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>JumbledIncrementer</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ForLoopShouldBeWhileLoop</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnnecessaryConversionTemporary</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>OverrideBothEqualsAndHashcode</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DoubleCheckedLocking</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ReturnFromFinallyBlock</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptySynchronizedBlock</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnnecessaryReturn</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptyStaticInitializer</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnconditionalIfStatement</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptyStatementNotInLoop</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>BooleanInstantiation</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnnecessaryFinalModifier</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>CollapsibleIfStatements</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UselessOverridingMethod</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ClassCastExceptionWithToArray</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidDecimalLiteralsInBigDecimalConstructor</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UselessOperationOnImmutable</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>MisplacedNullCheck</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnusedNullCheckInEquals</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidThreadGroup</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>BrokenNullCheck</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>BigIntegerInstantiation</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidUsingOctalValues</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidUsingHardCodedIP</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>CheckResultSet</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidMultipleUnaryOperators</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptyInitializer</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>MethodReturnsInternalArray</name>
+ <ruleset>Security Code Guidelines</ruleset>
+ </rule>
+ <rule>
+ <name>ArrayIsStoredDirectly</name>
+ <ruleset>Security Code Guidelines</ruleset>
+ </rule>
+ <rule>
+ <name>CouplingBetweenObjects</name>
+ <ruleset>Coupling Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ExcessiveImports</name>
+ <ruleset>Coupling Rules</ruleset>
+ </rule>
+ <rule>
+ <name>LooseCoupling</name>
+ <ruleset>Type Resolution Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DuplicateImports</name>
+ <ruleset>Import Statement Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DontImportJavaLang</name>
+ <ruleset>Import Statement Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnusedImports</name>
+ <ruleset>Type Resolution Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ImportFromSamePackage</name>
+ <ruleset>Import Statement Rules</ruleset>
+ </rule>
+ <rule>
+ <name>TooManyStaticImports</name>
+ <ruleset>Import Statement Rules</ruleset>
+ </rule>
+ <rule>
+ <name>JUnitStaticSuite</name>
+ <ruleset>JUnit Rules</ruleset>
+ </rule>
+ <rule>
+ <name>JUnitSpelling</name>
+ <ruleset>JUnit Rules</ruleset>
+ </rule>
+ <rule>
+ <name>JUnitAssertionsShouldIncludeMessage</name>
+ <ruleset>JUnit Rules</ruleset>
+ </rule>
+ <rule>
+ <name>JUnitTestsShouldIncludeAssert</name>
+ <ruleset>JUnit Rules</ruleset>
+ </rule>
+ <rule>
+ <name>TestClassWithoutTestCases</name>
+ <ruleset>JUnit Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnnecessaryBooleanAssertion</name>
+ <ruleset>JUnit Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseAssertEqualsInsteadOfAssertTrue</name>
+ <ruleset>JUnit Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseAssertSameInsteadOfAssertTrue</name>
+ <ruleset>JUnit Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseAssertNullInsteadOfAssertTrue</name>
+ <ruleset>JUnit Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SimplifyBooleanAssertion</name>
+ <ruleset>JUnit Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnnecessaryConstructor</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>NullAssignment</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnusedModifier</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AssignmentInOperand</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AtLeastOneConstructor</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DontImportSun</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SuspiciousOctalEscape</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>CallSuperInConstructor</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnnecessaryParentheses</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DefaultPackage</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>BooleanInversion</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DataflowAnomalyAnalysis</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidFinalLocalVariable</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidUsingShortType</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidUsingVolatile</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidUsingNativeCode</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidAccessibilityAlteration</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DoNotCallGarbageCollectionExplicitly</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>MethodNamingConventions</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ClassNamingConventions</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AbstractNaming</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidDollarSigns</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>MethodWithSameNameAsEnclosingClass</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SuspiciousHashcodeMethodName</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SuspiciousConstantFieldName</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SuspiciousEqualsMethodName</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidFieldNameMatchingTypeName</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidFieldNameMatchingMethodName</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>NoPackage</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>PackageCase</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>MisleadingVariableName</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>BooleanGetMethodName</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>NPathComplexity</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ExcessiveMethodLength</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ExcessiveParameterList</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ExcessiveClassLength</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>CyclomaticComplexity</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ExcessivePublicCount</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>TooManyFields</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>NcssMethodCount</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>NcssTypeCount</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>NcssConstructorCount</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>TooManyMethods</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptyFinalizer</name>
+ <ruleset>Finalizer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>FinalizeOnlyCallsSuperFinalize</name>
+ <ruleset>Finalizer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>FinalizeOverloaded</name>
+ <ruleset>Finalizer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>FinalizeDoesNotCallSuperFinalize</name>
+ <ruleset>Finalizer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>FinalizeShouldBeProtected</name>
+ <ruleset>Finalizer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidCallingFinalize</name>
+ <ruleset>Finalizer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseCorrectExceptionLogging</name>
+ <ruleset>Jakarta Commons Logging Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ProperLogger</name>
+ <ruleset>Jakarta Commons Logging Rules</ruleset>
+ </rule>
+ <rule>
+ <name>MissingSerialVersionUID</name>
+ <ruleset>JavaBean Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ProperCloneImplementation</name>
+ <ruleset>Clone Implementation Rules</ruleset>
+ </rule>
+ <rule>
+ <name>CloneThrowsCloneNotSupportedException</name>
+ <ruleset>Clone Implementation Rules</ruleset>
+ </rule>
+ <rule>
+ <name>CloneMethodMustImplementCloneable</name>
+ <ruleset>Type Resolution Rules</ruleset>
+ </rule>
+ </rules>
+ <includeDerivedFiles>false</includeDerivedFiles>
+ <violationsAsErrors>true</violationsAsErrors>
+</pmd>
diff --git a/plugins/jms.libraries/.pmd b/plugins/jms.libraries/.pmd
new file mode 100644
index 0000000000..c7b0a9fb3f
--- /dev/null
+++ b/plugins/jms.libraries/.pmd
@@ -0,0 +1,925 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<pmd>
+ <useProjectRuleSet>false</useProjectRuleSet>
+ <ruleSetFile>.ruleset</ruleSetFile>
+ <rules>
+ <rule>
+ <name>LooseCoupling</name>
+ <ruleset>Type Resolution Rules</ruleset>
+ </rule>
+ <rule>
+ <name>CloneMethodMustImplementCloneable</name>
+ <ruleset>Type Resolution Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnusedImports</name>
+ <ruleset>Type Resolution Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SignatureDeclareThrowsException</name>
+ <ruleset>Type Resolution Rules</ruleset>
+ </rule>
+ <rule>
+ <name>IfStmtsMustUseBraces</name>
+ <ruleset>Braces Rules</ruleset>
+ </rule>
+ <rule>
+ <name>WhileLoopsMustUseBraces</name>
+ <ruleset>Braces Rules</ruleset>
+ </rule>
+ <rule>
+ <name>IfElseStmtsMustUseBraces</name>
+ <ruleset>Braces Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ForLoopsMustUseBraces</name>
+ <ruleset>Braces Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseSingleton</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SimplifyBooleanReturns</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SimplifyBooleanExpressions</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SwitchStmtsShouldHaveDefault</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidDeeplyNestedIfStmts</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidReassigningParameters</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SwitchDensity</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ConstructorCallsOverridableMethod</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AccessorClassGeneration</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>FinalFieldCouldBeStatic</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>CloseResource</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>NonStaticInitializer</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DefaultLabelNotLastInSwitchStmt</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>NonCaseLabelInSwitchStatement</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>OptimizableToArrayCall</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>BadComparison</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EqualsNull</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ConfusingTernary</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>InstantiationToGetClass</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>IdempotentOperations</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SimpleDateFormatNeedsLocale</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ImmutableField</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseLocaleWithCaseConversions</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidProtectedFieldInFinalClass</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AssignmentToNonFinalStatic</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>MissingStaticMethodInNonInstantiatableClass</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidSynchronizedAtMethodLevel</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>MissingBreakInSwitch</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseNotifyAllInsteadOfNotify</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidInstanceofChecksInCatchClause</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AbstractClassWithoutAbstractMethod</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SimplifyConditional</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>CompareObjectsWithEquals</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>PositionLiteralsFirstInComparisons</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnnecessaryLocalBeforeReturn</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>NonThreadSafeSingleton</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UncommentedEmptyMethod</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UncommentedEmptyConstructor</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidConstantsInterface</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnsynchronizedStaticDateFormatter</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>PreserveStackTrace</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseCollectionIsEmpty</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ClassWithOnlyPrivateConstructorsShouldBeFinal</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptyMethodInAbstractClassShouldBeAbstract</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SingularField</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ReturnEmptyArrayRatherThanNull</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AbstractClassWithoutAnyMethod</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>TooFewBranchesForASwitchStatement</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidCatchingThrowable</name>
+ <ruleset>Strict Exception Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SignatureDeclareThrowsException</name>
+ <ruleset>Type Resolution Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ExceptionAsFlowControl</name>
+ <ruleset>Strict Exception Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidCatchingNPE</name>
+ <ruleset>Strict Exception Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidThrowingRawExceptionTypes</name>
+ <ruleset>Strict Exception Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidThrowingNullPointerException</name>
+ <ruleset>Strict Exception Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidRethrowingException</name>
+ <ruleset>Strict Exception Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DoNotExtendJavaLangError</name>
+ <ruleset>Strict Exception Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DoNotThrowExceptionInFinally</name>
+ <ruleset>Strict Exception Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidThrowingNewInstanceOfSameException</name>
+ <ruleset>Strict Exception Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnusedPrivateField</name>
+ <ruleset>Unused Code Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnusedLocalVariable</name>
+ <ruleset>Unused Code Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnusedPrivateMethod</name>
+ <ruleset>Unused Code Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnusedFormalParameter</name>
+ <ruleset>Unused Code Rules</ruleset>
+ </rule>
+ <rule>
+ <name>MoreThanOneLogger</name>
+ <ruleset>Java Logging Rules</ruleset>
+ </rule>
+ <rule>
+ <name>LoggerIsNotStaticFinal</name>
+ <ruleset>Java Logging Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SystemPrintln</name>
+ <ruleset>Java Logging Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidPrintStackTrace</name>
+ <ruleset>Java Logging Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidDuplicateLiterals</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>StringInstantiation</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>StringToString</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>InefficientStringBuffering</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnnecessaryCaseChange</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseStringBufferLength</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AppendCharacterWithChar</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ConsecutiveLiteralAppends</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseIndexOfChar</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>InefficientEmptyStringCheck</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>InsufficientStringBufferDeclaration</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UselessStringValueOf</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>StringBufferInstantiationWithChar</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseEqualsToCompareStrings</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidStringBufferField</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ReplaceVectorWithList</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ReplaceHashtableWithMap</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ReplaceEnumerationWithIterator</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidEnumAsIdentifier</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidAssertAsIdentifier</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>IntegerInstantiation</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ByteInstantiation</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ShortInstantiation</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>LongInstantiation</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>JUnit4TestShouldUseBeforeAnnotation</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>JUnit4TestShouldUseAfterAnnotation</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>JUnit4TestShouldUseTestAnnotation</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>JUnit4SuitesShouldUseSuiteAnnotation</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>JUnitUseExpected</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseProperClassLoader</name>
+ <ruleset>J2EE Rules</ruleset>
+ </rule>
+ <rule>
+ <name>MDBAndSessionBeanNamingConvention</name>
+ <ruleset>J2EE Rules</ruleset>
+ </rule>
+ <rule>
+ <name>RemoteSessionInterfaceNamingConvention</name>
+ <ruleset>J2EE Rules</ruleset>
+ </rule>
+ <rule>
+ <name>LocalInterfaceSessionNamingConvention</name>
+ <ruleset>J2EE Rules</ruleset>
+ </rule>
+ <rule>
+ <name>LocalHomeNamingConvention</name>
+ <ruleset>J2EE Rules</ruleset>
+ </rule>
+ <rule>
+ <name>RemoteInterfaceNamingConvention</name>
+ <ruleset>J2EE Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DoNotCallSystemExit</name>
+ <ruleset>J2EE Rules</ruleset>
+ </rule>
+ <rule>
+ <name>StaticEJBFieldShouldBeFinal</name>
+ <ruleset>J2EE Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DoNotUseThreads</name>
+ <ruleset>J2EE Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidInstantiatingObjectsInLoops</name>
+ <ruleset>Optimization Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseArrayListInsteadOfVector</name>
+ <ruleset>Optimization Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SimplifyStartsWith</name>
+ <ruleset>Optimization Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseStringBufferForStringAppends</name>
+ <ruleset>Optimization Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseArraysAsList</name>
+ <ruleset>Optimization Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidArrayLoops</name>
+ <ruleset>Optimization Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnnecessaryWrapperObjectCreation</name>
+ <ruleset>Optimization Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AddEmptyString</name>
+ <ruleset>Optimization Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptyCatchBlock</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptyIfStmt</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptyWhileStmt</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptyTryBlock</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptyFinallyBlock</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptySwitchStatements</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>JumbledIncrementer</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ForLoopShouldBeWhileLoop</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnnecessaryConversionTemporary</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>OverrideBothEqualsAndHashcode</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DoubleCheckedLocking</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ReturnFromFinallyBlock</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptySynchronizedBlock</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnnecessaryReturn</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptyStaticInitializer</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnconditionalIfStatement</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptyStatementNotInLoop</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>BooleanInstantiation</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnnecessaryFinalModifier</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>CollapsibleIfStatements</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UselessOverridingMethod</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ClassCastExceptionWithToArray</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidDecimalLiteralsInBigDecimalConstructor</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UselessOperationOnImmutable</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>MisplacedNullCheck</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnusedNullCheckInEquals</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidThreadGroup</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>BrokenNullCheck</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>BigIntegerInstantiation</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidUsingOctalValues</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidUsingHardCodedIP</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>CheckResultSet</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidMultipleUnaryOperators</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptyInitializer</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>MethodReturnsInternalArray</name>
+ <ruleset>Security Code Guidelines</ruleset>
+ </rule>
+ <rule>
+ <name>ArrayIsStoredDirectly</name>
+ <ruleset>Security Code Guidelines</ruleset>
+ </rule>
+ <rule>
+ <name>CouplingBetweenObjects</name>
+ <ruleset>Coupling Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ExcessiveImports</name>
+ <ruleset>Coupling Rules</ruleset>
+ </rule>
+ <rule>
+ <name>LooseCoupling</name>
+ <ruleset>Type Resolution Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DuplicateImports</name>
+ <ruleset>Import Statement Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DontImportJavaLang</name>
+ <ruleset>Import Statement Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnusedImports</name>
+ <ruleset>Type Resolution Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ImportFromSamePackage</name>
+ <ruleset>Import Statement Rules</ruleset>
+ </rule>
+ <rule>
+ <name>TooManyStaticImports</name>
+ <ruleset>Import Statement Rules</ruleset>
+ </rule>
+ <rule>
+ <name>JUnitStaticSuite</name>
+ <ruleset>JUnit Rules</ruleset>
+ </rule>
+ <rule>
+ <name>JUnitSpelling</name>
+ <ruleset>JUnit Rules</ruleset>
+ </rule>
+ <rule>
+ <name>JUnitAssertionsShouldIncludeMessage</name>
+ <ruleset>JUnit Rules</ruleset>
+ </rule>
+ <rule>
+ <name>JUnitTestsShouldIncludeAssert</name>
+ <ruleset>JUnit Rules</ruleset>
+ </rule>
+ <rule>
+ <name>TestClassWithoutTestCases</name>
+ <ruleset>JUnit Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnnecessaryBooleanAssertion</name>
+ <ruleset>JUnit Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseAssertEqualsInsteadOfAssertTrue</name>
+ <ruleset>JUnit Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseAssertSameInsteadOfAssertTrue</name>
+ <ruleset>JUnit Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseAssertNullInsteadOfAssertTrue</name>
+ <ruleset>JUnit Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SimplifyBooleanAssertion</name>
+ <ruleset>JUnit Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnnecessaryConstructor</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>NullAssignment</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnusedModifier</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AssignmentInOperand</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AtLeastOneConstructor</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DontImportSun</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SuspiciousOctalEscape</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>CallSuperInConstructor</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnnecessaryParentheses</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DefaultPackage</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>BooleanInversion</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DataflowAnomalyAnalysis</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidFinalLocalVariable</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidUsingShortType</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidUsingVolatile</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidUsingNativeCode</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidAccessibilityAlteration</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DoNotCallGarbageCollectionExplicitly</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>MethodNamingConventions</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ClassNamingConventions</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AbstractNaming</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidDollarSigns</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>MethodWithSameNameAsEnclosingClass</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SuspiciousHashcodeMethodName</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SuspiciousConstantFieldName</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SuspiciousEqualsMethodName</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidFieldNameMatchingTypeName</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidFieldNameMatchingMethodName</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>NoPackage</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>PackageCase</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>MisleadingVariableName</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>BooleanGetMethodName</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>NPathComplexity</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ExcessiveMethodLength</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ExcessiveParameterList</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ExcessiveClassLength</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>CyclomaticComplexity</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ExcessivePublicCount</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>TooManyFields</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>NcssMethodCount</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>NcssTypeCount</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>NcssConstructorCount</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>TooManyMethods</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptyFinalizer</name>
+ <ruleset>Finalizer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>FinalizeOnlyCallsSuperFinalize</name>
+ <ruleset>Finalizer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>FinalizeOverloaded</name>
+ <ruleset>Finalizer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>FinalizeDoesNotCallSuperFinalize</name>
+ <ruleset>Finalizer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>FinalizeShouldBeProtected</name>
+ <ruleset>Finalizer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidCallingFinalize</name>
+ <ruleset>Finalizer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseCorrectExceptionLogging</name>
+ <ruleset>Jakarta Commons Logging Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ProperLogger</name>
+ <ruleset>Jakarta Commons Logging Rules</ruleset>
+ </rule>
+ <rule>
+ <name>MissingSerialVersionUID</name>
+ <ruleset>JavaBean Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ProperCloneImplementation</name>
+ <ruleset>Clone Implementation Rules</ruleset>
+ </rule>
+ <rule>
+ <name>CloneThrowsCloneNotSupportedException</name>
+ <ruleset>Clone Implementation Rules</ruleset>
+ </rule>
+ <rule>
+ <name>CloneMethodMustImplementCloneable</name>
+ <ruleset>Type Resolution Rules</ruleset>
+ </rule>
+ </rules>
+ <includeDerivedFiles>false</includeDerivedFiles>
+ <violationsAsErrors>true</violationsAsErrors>
+</pmd>
diff --git a/plugins/net.jini/.pmd b/plugins/net.jini/.pmd
new file mode 100644
index 0000000000..c7b0a9fb3f
--- /dev/null
+++ b/plugins/net.jini/.pmd
@@ -0,0 +1,925 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<pmd>
+ <useProjectRuleSet>false</useProjectRuleSet>
+ <ruleSetFile>.ruleset</ruleSetFile>
+ <rules>
+ <rule>
+ <name>LooseCoupling</name>
+ <ruleset>Type Resolution Rules</ruleset>
+ </rule>
+ <rule>
+ <name>CloneMethodMustImplementCloneable</name>
+ <ruleset>Type Resolution Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnusedImports</name>
+ <ruleset>Type Resolution Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SignatureDeclareThrowsException</name>
+ <ruleset>Type Resolution Rules</ruleset>
+ </rule>
+ <rule>
+ <name>IfStmtsMustUseBraces</name>
+ <ruleset>Braces Rules</ruleset>
+ </rule>
+ <rule>
+ <name>WhileLoopsMustUseBraces</name>
+ <ruleset>Braces Rules</ruleset>
+ </rule>
+ <rule>
+ <name>IfElseStmtsMustUseBraces</name>
+ <ruleset>Braces Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ForLoopsMustUseBraces</name>
+ <ruleset>Braces Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseSingleton</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SimplifyBooleanReturns</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SimplifyBooleanExpressions</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SwitchStmtsShouldHaveDefault</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidDeeplyNestedIfStmts</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidReassigningParameters</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SwitchDensity</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ConstructorCallsOverridableMethod</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AccessorClassGeneration</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>FinalFieldCouldBeStatic</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>CloseResource</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>NonStaticInitializer</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DefaultLabelNotLastInSwitchStmt</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>NonCaseLabelInSwitchStatement</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>OptimizableToArrayCall</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>BadComparison</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EqualsNull</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ConfusingTernary</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>InstantiationToGetClass</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>IdempotentOperations</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SimpleDateFormatNeedsLocale</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ImmutableField</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseLocaleWithCaseConversions</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidProtectedFieldInFinalClass</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AssignmentToNonFinalStatic</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>MissingStaticMethodInNonInstantiatableClass</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidSynchronizedAtMethodLevel</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>MissingBreakInSwitch</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseNotifyAllInsteadOfNotify</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidInstanceofChecksInCatchClause</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AbstractClassWithoutAbstractMethod</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SimplifyConditional</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>CompareObjectsWithEquals</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>PositionLiteralsFirstInComparisons</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnnecessaryLocalBeforeReturn</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>NonThreadSafeSingleton</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UncommentedEmptyMethod</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UncommentedEmptyConstructor</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidConstantsInterface</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnsynchronizedStaticDateFormatter</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>PreserveStackTrace</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseCollectionIsEmpty</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ClassWithOnlyPrivateConstructorsShouldBeFinal</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptyMethodInAbstractClassShouldBeAbstract</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SingularField</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ReturnEmptyArrayRatherThanNull</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AbstractClassWithoutAnyMethod</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>TooFewBranchesForASwitchStatement</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidCatchingThrowable</name>
+ <ruleset>Strict Exception Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SignatureDeclareThrowsException</name>
+ <ruleset>Type Resolution Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ExceptionAsFlowControl</name>
+ <ruleset>Strict Exception Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidCatchingNPE</name>
+ <ruleset>Strict Exception Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidThrowingRawExceptionTypes</name>
+ <ruleset>Strict Exception Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidThrowingNullPointerException</name>
+ <ruleset>Strict Exception Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidRethrowingException</name>
+ <ruleset>Strict Exception Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DoNotExtendJavaLangError</name>
+ <ruleset>Strict Exception Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DoNotThrowExceptionInFinally</name>
+ <ruleset>Strict Exception Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidThrowingNewInstanceOfSameException</name>
+ <ruleset>Strict Exception Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnusedPrivateField</name>
+ <ruleset>Unused Code Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnusedLocalVariable</name>
+ <ruleset>Unused Code Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnusedPrivateMethod</name>
+ <ruleset>Unused Code Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnusedFormalParameter</name>
+ <ruleset>Unused Code Rules</ruleset>
+ </rule>
+ <rule>
+ <name>MoreThanOneLogger</name>
+ <ruleset>Java Logging Rules</ruleset>
+ </rule>
+ <rule>
+ <name>LoggerIsNotStaticFinal</name>
+ <ruleset>Java Logging Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SystemPrintln</name>
+ <ruleset>Java Logging Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidPrintStackTrace</name>
+ <ruleset>Java Logging Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidDuplicateLiterals</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>StringInstantiation</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>StringToString</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>InefficientStringBuffering</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnnecessaryCaseChange</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseStringBufferLength</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AppendCharacterWithChar</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ConsecutiveLiteralAppends</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseIndexOfChar</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>InefficientEmptyStringCheck</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>InsufficientStringBufferDeclaration</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UselessStringValueOf</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>StringBufferInstantiationWithChar</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseEqualsToCompareStrings</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidStringBufferField</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ReplaceVectorWithList</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ReplaceHashtableWithMap</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ReplaceEnumerationWithIterator</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidEnumAsIdentifier</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidAssertAsIdentifier</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>IntegerInstantiation</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ByteInstantiation</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ShortInstantiation</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>LongInstantiation</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>JUnit4TestShouldUseBeforeAnnotation</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>JUnit4TestShouldUseAfterAnnotation</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>JUnit4TestShouldUseTestAnnotation</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>JUnit4SuitesShouldUseSuiteAnnotation</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>JUnitUseExpected</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseProperClassLoader</name>
+ <ruleset>J2EE Rules</ruleset>
+ </rule>
+ <rule>
+ <name>MDBAndSessionBeanNamingConvention</name>
+ <ruleset>J2EE Rules</ruleset>
+ </rule>
+ <rule>
+ <name>RemoteSessionInterfaceNamingConvention</name>
+ <ruleset>J2EE Rules</ruleset>
+ </rule>
+ <rule>
+ <name>LocalInterfaceSessionNamingConvention</name>
+ <ruleset>J2EE Rules</ruleset>
+ </rule>
+ <rule>
+ <name>LocalHomeNamingConvention</name>
+ <ruleset>J2EE Rules</ruleset>
+ </rule>
+ <rule>
+ <name>RemoteInterfaceNamingConvention</name>
+ <ruleset>J2EE Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DoNotCallSystemExit</name>
+ <ruleset>J2EE Rules</ruleset>
+ </rule>
+ <rule>
+ <name>StaticEJBFieldShouldBeFinal</name>
+ <ruleset>J2EE Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DoNotUseThreads</name>
+ <ruleset>J2EE Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidInstantiatingObjectsInLoops</name>
+ <ruleset>Optimization Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseArrayListInsteadOfVector</name>
+ <ruleset>Optimization Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SimplifyStartsWith</name>
+ <ruleset>Optimization Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseStringBufferForStringAppends</name>
+ <ruleset>Optimization Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseArraysAsList</name>
+ <ruleset>Optimization Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidArrayLoops</name>
+ <ruleset>Optimization Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnnecessaryWrapperObjectCreation</name>
+ <ruleset>Optimization Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AddEmptyString</name>
+ <ruleset>Optimization Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptyCatchBlock</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptyIfStmt</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptyWhileStmt</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptyTryBlock</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptyFinallyBlock</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptySwitchStatements</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>JumbledIncrementer</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ForLoopShouldBeWhileLoop</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnnecessaryConversionTemporary</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>OverrideBothEqualsAndHashcode</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DoubleCheckedLocking</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ReturnFromFinallyBlock</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptySynchronizedBlock</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnnecessaryReturn</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptyStaticInitializer</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnconditionalIfStatement</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptyStatementNotInLoop</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>BooleanInstantiation</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnnecessaryFinalModifier</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>CollapsibleIfStatements</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UselessOverridingMethod</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ClassCastExceptionWithToArray</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidDecimalLiteralsInBigDecimalConstructor</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UselessOperationOnImmutable</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>MisplacedNullCheck</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnusedNullCheckInEquals</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidThreadGroup</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>BrokenNullCheck</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>BigIntegerInstantiation</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidUsingOctalValues</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidUsingHardCodedIP</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>CheckResultSet</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidMultipleUnaryOperators</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptyInitializer</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>MethodReturnsInternalArray</name>
+ <ruleset>Security Code Guidelines</ruleset>
+ </rule>
+ <rule>
+ <name>ArrayIsStoredDirectly</name>
+ <ruleset>Security Code Guidelines</ruleset>
+ </rule>
+ <rule>
+ <name>CouplingBetweenObjects</name>
+ <ruleset>Coupling Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ExcessiveImports</name>
+ <ruleset>Coupling Rules</ruleset>
+ </rule>
+ <rule>
+ <name>LooseCoupling</name>
+ <ruleset>Type Resolution Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DuplicateImports</name>
+ <ruleset>Import Statement Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DontImportJavaLang</name>
+ <ruleset>Import Statement Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnusedImports</name>
+ <ruleset>Type Resolution Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ImportFromSamePackage</name>
+ <ruleset>Import Statement Rules</ruleset>
+ </rule>
+ <rule>
+ <name>TooManyStaticImports</name>
+ <ruleset>Import Statement Rules</ruleset>
+ </rule>
+ <rule>
+ <name>JUnitStaticSuite</name>
+ <ruleset>JUnit Rules</ruleset>
+ </rule>
+ <rule>
+ <name>JUnitSpelling</name>
+ <ruleset>JUnit Rules</ruleset>
+ </rule>
+ <rule>
+ <name>JUnitAssertionsShouldIncludeMessage</name>
+ <ruleset>JUnit Rules</ruleset>
+ </rule>
+ <rule>
+ <name>JUnitTestsShouldIncludeAssert</name>
+ <ruleset>JUnit Rules</ruleset>
+ </rule>
+ <rule>
+ <name>TestClassWithoutTestCases</name>
+ <ruleset>JUnit Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnnecessaryBooleanAssertion</name>
+ <ruleset>JUnit Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseAssertEqualsInsteadOfAssertTrue</name>
+ <ruleset>JUnit Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseAssertSameInsteadOfAssertTrue</name>
+ <ruleset>JUnit Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseAssertNullInsteadOfAssertTrue</name>
+ <ruleset>JUnit Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SimplifyBooleanAssertion</name>
+ <ruleset>JUnit Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnnecessaryConstructor</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>NullAssignment</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnusedModifier</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AssignmentInOperand</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AtLeastOneConstructor</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DontImportSun</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SuspiciousOctalEscape</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>CallSuperInConstructor</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnnecessaryParentheses</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DefaultPackage</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>BooleanInversion</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DataflowAnomalyAnalysis</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidFinalLocalVariable</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidUsingShortType</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidUsingVolatile</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidUsingNativeCode</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidAccessibilityAlteration</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DoNotCallGarbageCollectionExplicitly</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>MethodNamingConventions</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ClassNamingConventions</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AbstractNaming</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidDollarSigns</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>MethodWithSameNameAsEnclosingClass</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SuspiciousHashcodeMethodName</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SuspiciousConstantFieldName</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SuspiciousEqualsMethodName</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidFieldNameMatchingTypeName</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidFieldNameMatchingMethodName</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>NoPackage</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>PackageCase</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>MisleadingVariableName</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>BooleanGetMethodName</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>NPathComplexity</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ExcessiveMethodLength</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ExcessiveParameterList</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ExcessiveClassLength</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>CyclomaticComplexity</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ExcessivePublicCount</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>TooManyFields</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>NcssMethodCount</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>NcssTypeCount</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>NcssConstructorCount</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>TooManyMethods</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptyFinalizer</name>
+ <ruleset>Finalizer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>FinalizeOnlyCallsSuperFinalize</name>
+ <ruleset>Finalizer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>FinalizeOverloaded</name>
+ <ruleset>Finalizer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>FinalizeDoesNotCallSuperFinalize</name>
+ <ruleset>Finalizer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>FinalizeShouldBeProtected</name>
+ <ruleset>Finalizer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidCallingFinalize</name>
+ <ruleset>Finalizer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseCorrectExceptionLogging</name>
+ <ruleset>Jakarta Commons Logging Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ProperLogger</name>
+ <ruleset>Jakarta Commons Logging Rules</ruleset>
+ </rule>
+ <rule>
+ <name>MissingSerialVersionUID</name>
+ <ruleset>JavaBean Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ProperCloneImplementation</name>
+ <ruleset>Clone Implementation Rules</ruleset>
+ </rule>
+ <rule>
+ <name>CloneThrowsCloneNotSupportedException</name>
+ <ruleset>Clone Implementation Rules</ruleset>
+ </rule>
+ <rule>
+ <name>CloneMethodMustImplementCloneable</name>
+ <ruleset>Type Resolution Rules</ruleset>
+ </rule>
+ </rules>
+ <includeDerivedFiles>false</includeDerivedFiles>
+ <violationsAsErrors>true</violationsAsErrors>
+</pmd>
diff --git a/plugins/org.eclipse.osee.ats.config.demo/.pmd b/plugins/org.eclipse.osee.ats.config.demo/.pmd
new file mode 100644
index 0000000000..c7b0a9fb3f
--- /dev/null
+++ b/plugins/org.eclipse.osee.ats.config.demo/.pmd
@@ -0,0 +1,925 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<pmd>
+ <useProjectRuleSet>false</useProjectRuleSet>
+ <ruleSetFile>.ruleset</ruleSetFile>
+ <rules>
+ <rule>
+ <name>LooseCoupling</name>
+ <ruleset>Type Resolution Rules</ruleset>
+ </rule>
+ <rule>
+ <name>CloneMethodMustImplementCloneable</name>
+ <ruleset>Type Resolution Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnusedImports</name>
+ <ruleset>Type Resolution Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SignatureDeclareThrowsException</name>
+ <ruleset>Type Resolution Rules</ruleset>
+ </rule>
+ <rule>
+ <name>IfStmtsMustUseBraces</name>
+ <ruleset>Braces Rules</ruleset>
+ </rule>
+ <rule>
+ <name>WhileLoopsMustUseBraces</name>
+ <ruleset>Braces Rules</ruleset>
+ </rule>
+ <rule>
+ <name>IfElseStmtsMustUseBraces</name>
+ <ruleset>Braces Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ForLoopsMustUseBraces</name>
+ <ruleset>Braces Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseSingleton</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SimplifyBooleanReturns</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SimplifyBooleanExpressions</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SwitchStmtsShouldHaveDefault</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidDeeplyNestedIfStmts</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidReassigningParameters</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SwitchDensity</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ConstructorCallsOverridableMethod</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AccessorClassGeneration</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>FinalFieldCouldBeStatic</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>CloseResource</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>NonStaticInitializer</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DefaultLabelNotLastInSwitchStmt</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>NonCaseLabelInSwitchStatement</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>OptimizableToArrayCall</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>BadComparison</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EqualsNull</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ConfusingTernary</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>InstantiationToGetClass</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>IdempotentOperations</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SimpleDateFormatNeedsLocale</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ImmutableField</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseLocaleWithCaseConversions</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidProtectedFieldInFinalClass</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AssignmentToNonFinalStatic</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>MissingStaticMethodInNonInstantiatableClass</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidSynchronizedAtMethodLevel</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>MissingBreakInSwitch</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseNotifyAllInsteadOfNotify</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidInstanceofChecksInCatchClause</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AbstractClassWithoutAbstractMethod</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SimplifyConditional</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>CompareObjectsWithEquals</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>PositionLiteralsFirstInComparisons</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnnecessaryLocalBeforeReturn</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>NonThreadSafeSingleton</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UncommentedEmptyMethod</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UncommentedEmptyConstructor</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidConstantsInterface</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnsynchronizedStaticDateFormatter</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>PreserveStackTrace</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseCollectionIsEmpty</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ClassWithOnlyPrivateConstructorsShouldBeFinal</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptyMethodInAbstractClassShouldBeAbstract</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SingularField</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ReturnEmptyArrayRatherThanNull</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AbstractClassWithoutAnyMethod</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>TooFewBranchesForASwitchStatement</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidCatchingThrowable</name>
+ <ruleset>Strict Exception Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SignatureDeclareThrowsException</name>
+ <ruleset>Type Resolution Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ExceptionAsFlowControl</name>
+ <ruleset>Strict Exception Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidCatchingNPE</name>
+ <ruleset>Strict Exception Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidThrowingRawExceptionTypes</name>
+ <ruleset>Strict Exception Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidThrowingNullPointerException</name>
+ <ruleset>Strict Exception Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidRethrowingException</name>
+ <ruleset>Strict Exception Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DoNotExtendJavaLangError</name>
+ <ruleset>Strict Exception Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DoNotThrowExceptionInFinally</name>
+ <ruleset>Strict Exception Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidThrowingNewInstanceOfSameException</name>
+ <ruleset>Strict Exception Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnusedPrivateField</name>
+ <ruleset>Unused Code Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnusedLocalVariable</name>
+ <ruleset>Unused Code Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnusedPrivateMethod</name>
+ <ruleset>Unused Code Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnusedFormalParameter</name>
+ <ruleset>Unused Code Rules</ruleset>
+ </rule>
+ <rule>
+ <name>MoreThanOneLogger</name>
+ <ruleset>Java Logging Rules</ruleset>
+ </rule>
+ <rule>
+ <name>LoggerIsNotStaticFinal</name>
+ <ruleset>Java Logging Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SystemPrintln</name>
+ <ruleset>Java Logging Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidPrintStackTrace</name>
+ <ruleset>Java Logging Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidDuplicateLiterals</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>StringInstantiation</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>StringToString</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>InefficientStringBuffering</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnnecessaryCaseChange</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseStringBufferLength</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AppendCharacterWithChar</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ConsecutiveLiteralAppends</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseIndexOfChar</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>InefficientEmptyStringCheck</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>InsufficientStringBufferDeclaration</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UselessStringValueOf</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>StringBufferInstantiationWithChar</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseEqualsToCompareStrings</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidStringBufferField</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ReplaceVectorWithList</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ReplaceHashtableWithMap</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ReplaceEnumerationWithIterator</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidEnumAsIdentifier</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidAssertAsIdentifier</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>IntegerInstantiation</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ByteInstantiation</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ShortInstantiation</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>LongInstantiation</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>JUnit4TestShouldUseBeforeAnnotation</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>JUnit4TestShouldUseAfterAnnotation</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>JUnit4TestShouldUseTestAnnotation</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>JUnit4SuitesShouldUseSuiteAnnotation</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>JUnitUseExpected</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseProperClassLoader</name>
+ <ruleset>J2EE Rules</ruleset>
+ </rule>
+ <rule>
+ <name>MDBAndSessionBeanNamingConvention</name>
+ <ruleset>J2EE Rules</ruleset>
+ </rule>
+ <rule>
+ <name>RemoteSessionInterfaceNamingConvention</name>
+ <ruleset>J2EE Rules</ruleset>
+ </rule>
+ <rule>
+ <name>LocalInterfaceSessionNamingConvention</name>
+ <ruleset>J2EE Rules</ruleset>
+ </rule>
+ <rule>
+ <name>LocalHomeNamingConvention</name>
+ <ruleset>J2EE Rules</ruleset>
+ </rule>
+ <rule>
+ <name>RemoteInterfaceNamingConvention</name>
+ <ruleset>J2EE Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DoNotCallSystemExit</name>
+ <ruleset>J2EE Rules</ruleset>
+ </rule>
+ <rule>
+ <name>StaticEJBFieldShouldBeFinal</name>
+ <ruleset>J2EE Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DoNotUseThreads</name>
+ <ruleset>J2EE Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidInstantiatingObjectsInLoops</name>
+ <ruleset>Optimization Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseArrayListInsteadOfVector</name>
+ <ruleset>Optimization Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SimplifyStartsWith</name>
+ <ruleset>Optimization Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseStringBufferForStringAppends</name>
+ <ruleset>Optimization Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseArraysAsList</name>
+ <ruleset>Optimization Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidArrayLoops</name>
+ <ruleset>Optimization Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnnecessaryWrapperObjectCreation</name>
+ <ruleset>Optimization Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AddEmptyString</name>
+ <ruleset>Optimization Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptyCatchBlock</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptyIfStmt</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptyWhileStmt</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptyTryBlock</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptyFinallyBlock</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptySwitchStatements</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>JumbledIncrementer</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ForLoopShouldBeWhileLoop</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnnecessaryConversionTemporary</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>OverrideBothEqualsAndHashcode</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DoubleCheckedLocking</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ReturnFromFinallyBlock</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptySynchronizedBlock</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnnecessaryReturn</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptyStaticInitializer</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnconditionalIfStatement</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptyStatementNotInLoop</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>BooleanInstantiation</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnnecessaryFinalModifier</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>CollapsibleIfStatements</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UselessOverridingMethod</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ClassCastExceptionWithToArray</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidDecimalLiteralsInBigDecimalConstructor</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UselessOperationOnImmutable</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>MisplacedNullCheck</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnusedNullCheckInEquals</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidThreadGroup</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>BrokenNullCheck</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>BigIntegerInstantiation</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidUsingOctalValues</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidUsingHardCodedIP</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>CheckResultSet</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidMultipleUnaryOperators</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptyInitializer</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>MethodReturnsInternalArray</name>
+ <ruleset>Security Code Guidelines</ruleset>
+ </rule>
+ <rule>
+ <name>ArrayIsStoredDirectly</name>
+ <ruleset>Security Code Guidelines</ruleset>
+ </rule>
+ <rule>
+ <name>CouplingBetweenObjects</name>
+ <ruleset>Coupling Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ExcessiveImports</name>
+ <ruleset>Coupling Rules</ruleset>
+ </rule>
+ <rule>
+ <name>LooseCoupling</name>
+ <ruleset>Type Resolution Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DuplicateImports</name>
+ <ruleset>Import Statement Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DontImportJavaLang</name>
+ <ruleset>Import Statement Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnusedImports</name>
+ <ruleset>Type Resolution Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ImportFromSamePackage</name>
+ <ruleset>Import Statement Rules</ruleset>
+ </rule>
+ <rule>
+ <name>TooManyStaticImports</name>
+ <ruleset>Import Statement Rules</ruleset>
+ </rule>
+ <rule>
+ <name>JUnitStaticSuite</name>
+ <ruleset>JUnit Rules</ruleset>
+ </rule>
+ <rule>
+ <name>JUnitSpelling</name>
+ <ruleset>JUnit Rules</ruleset>
+ </rule>
+ <rule>
+ <name>JUnitAssertionsShouldIncludeMessage</name>
+ <ruleset>JUnit Rules</ruleset>
+ </rule>
+ <rule>
+ <name>JUnitTestsShouldIncludeAssert</name>
+ <ruleset>JUnit Rules</ruleset>
+ </rule>
+ <rule>
+ <name>TestClassWithoutTestCases</name>
+ <ruleset>JUnit Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnnecessaryBooleanAssertion</name>
+ <ruleset>JUnit Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseAssertEqualsInsteadOfAssertTrue</name>
+ <ruleset>JUnit Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseAssertSameInsteadOfAssertTrue</name>
+ <ruleset>JUnit Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseAssertNullInsteadOfAssertTrue</name>
+ <ruleset>JUnit Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SimplifyBooleanAssertion</name>
+ <ruleset>JUnit Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnnecessaryConstructor</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>NullAssignment</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnusedModifier</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AssignmentInOperand</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AtLeastOneConstructor</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DontImportSun</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SuspiciousOctalEscape</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>CallSuperInConstructor</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnnecessaryParentheses</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DefaultPackage</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>BooleanInversion</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DataflowAnomalyAnalysis</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidFinalLocalVariable</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidUsingShortType</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidUsingVolatile</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidUsingNativeCode</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidAccessibilityAlteration</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DoNotCallGarbageCollectionExplicitly</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>MethodNamingConventions</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ClassNamingConventions</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AbstractNaming</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidDollarSigns</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>MethodWithSameNameAsEnclosingClass</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SuspiciousHashcodeMethodName</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SuspiciousConstantFieldName</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SuspiciousEqualsMethodName</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidFieldNameMatchingTypeName</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidFieldNameMatchingMethodName</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>NoPackage</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>PackageCase</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>MisleadingVariableName</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>BooleanGetMethodName</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>NPathComplexity</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ExcessiveMethodLength</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ExcessiveParameterList</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ExcessiveClassLength</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>CyclomaticComplexity</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ExcessivePublicCount</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>TooManyFields</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>NcssMethodCount</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>NcssTypeCount</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>NcssConstructorCount</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>TooManyMethods</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptyFinalizer</name>
+ <ruleset>Finalizer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>FinalizeOnlyCallsSuperFinalize</name>
+ <ruleset>Finalizer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>FinalizeOverloaded</name>
+ <ruleset>Finalizer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>FinalizeDoesNotCallSuperFinalize</name>
+ <ruleset>Finalizer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>FinalizeShouldBeProtected</name>
+ <ruleset>Finalizer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidCallingFinalize</name>
+ <ruleset>Finalizer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseCorrectExceptionLogging</name>
+ <ruleset>Jakarta Commons Logging Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ProperLogger</name>
+ <ruleset>Jakarta Commons Logging Rules</ruleset>
+ </rule>
+ <rule>
+ <name>MissingSerialVersionUID</name>
+ <ruleset>JavaBean Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ProperCloneImplementation</name>
+ <ruleset>Clone Implementation Rules</ruleset>
+ </rule>
+ <rule>
+ <name>CloneThrowsCloneNotSupportedException</name>
+ <ruleset>Clone Implementation Rules</ruleset>
+ </rule>
+ <rule>
+ <name>CloneMethodMustImplementCloneable</name>
+ <ruleset>Type Resolution Rules</ruleset>
+ </rule>
+ </rules>
+ <includeDerivedFiles>false</includeDerivedFiles>
+ <violationsAsErrors>true</violationsAsErrors>
+</pmd>
diff --git a/plugins/org.eclipse.osee.ats.config.demo/src/org/eclipse/osee/ats/config/demo/PopulateDemoActions.java b/plugins/org.eclipse.osee.ats.config.demo/src/org/eclipse/osee/ats/config/demo/PopulateDemoActions.java
index 78f2745801..28090717b4 100644
--- a/plugins/org.eclipse.osee.ats.config.demo/src/org/eclipse/osee/ats/config/demo/PopulateDemoActions.java
+++ b/plugins/org.eclipse.osee.ats.config.demo/src/org/eclipse/osee/ats/config/demo/PopulateDemoActions.java
@@ -17,11 +17,10 @@ import java.util.Set;
import java.util.logging.Level;
import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.osee.ats.artifact.AbstractWorkflowArtifact;
import org.eclipse.osee.ats.artifact.ActionArtifact;
import org.eclipse.osee.ats.artifact.AtsAttributeTypes;
-import org.eclipse.osee.ats.artifact.StateMachineArtifact;
import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact;
-import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact.DefaultTeamState;
import org.eclipse.osee.ats.artifact.TeamWorkflowManager;
import org.eclipse.osee.ats.artifact.VersionArtifact;
import org.eclipse.osee.ats.config.demo.config.DemoDatabaseConfig;
@@ -40,6 +39,7 @@ import org.eclipse.osee.ats.util.AtsArtifactTypes;
import org.eclipse.osee.ats.util.AtsPriority.PriorityType;
import org.eclipse.osee.ats.util.AtsRelationTypes;
import org.eclipse.osee.ats.util.AtsUtil;
+import org.eclipse.osee.ats.util.DefaultTeamState;
import org.eclipse.osee.ats.util.FavoritesManager;
import org.eclipse.osee.ats.util.SubscribeManager;
import org.eclipse.osee.framework.core.data.IArtifactType;
@@ -177,14 +177,14 @@ public class PopulateDemoActions extends XNavigateItemAction {
OseeLog.log(OseeAtsConfigDemoActivator.class, Level.INFO, "Add Favorites");
for (Artifact art : ArtifactQuery.getArtifactListFromTypeAndName(DemoArtifactTypes.DemoCodeTeamWorkflow,
"%Diagram View%", AtsUtil.getAtsBranch())) {
- new FavoritesManager((StateMachineArtifact) art).toggleFavorite(false);
+ new FavoritesManager((AbstractWorkflowArtifact) art).toggleFavorite(false);
}
// Mark all Tools Team "Team Workflows" as Subscribed for "Joe Smith"
OseeLog.log(OseeAtsConfigDemoActivator.class, Level.INFO, "Add Subscribed");
for (Artifact art : ArtifactQuery.getArtifactListFromTypeAndName(DemoArtifactTypes.DemoCodeTeamWorkflow,
"%Even%", AtsUtil.getAtsBranch())) {
- new SubscribeManager((StateMachineArtifact) art).toggleSubscribe(false);
+ new SubscribeManager((AbstractWorkflowArtifact) art).toggleSubscribe(false);
}
// Create some tasks off sample workflows
diff --git a/plugins/org.eclipse.osee.ats.config.demo/src/org/eclipse/osee/ats/config/demo/config/DemoDbActionData.java b/plugins/org.eclipse.osee.ats.config.demo/src/org/eclipse/osee/ats/config/demo/config/DemoDbActionData.java
index 808182203c..690c3dadcf 100644
--- a/plugins/org.eclipse.osee.ats.config.demo/src/org/eclipse/osee/ats/config/demo/config/DemoDbActionData.java
+++ b/plugins/org.eclipse.osee.ats.config.demo/src/org/eclipse/osee/ats/config/demo/config/DemoDbActionData.java
@@ -14,8 +14,8 @@ import java.util.Collection;
import java.util.HashSet;
import java.util.Set;
import org.eclipse.osee.ats.artifact.ActionableItemArtifact;
-import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact.DefaultTeamState;
import org.eclipse.osee.ats.util.AtsPriority.PriorityType;
+import org.eclipse.osee.ats.util.DefaultTeamState;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
import org.eclipse.osee.framework.ui.skynet.widgets.workflow.UserCommunity;
diff --git a/plugins/org.eclipse.osee.ats.config.demo/src/org/eclipse/osee/ats/config/demo/workflow/DemoAddDecisionReviewRule.java b/plugins/org.eclipse.osee.ats.config.demo/src/org/eclipse/osee/ats/config/demo/workflow/DemoAddDecisionReviewRule.java
index 3c3a86dd59..194f213b92 100644
--- a/plugins/org.eclipse.osee.ats.config.demo/src/org/eclipse/osee/ats/config/demo/workflow/DemoAddDecisionReviewRule.java
+++ b/plugins/org.eclipse.osee.ats.config.demo/src/org/eclipse/osee/ats/config/demo/workflow/DemoAddDecisionReviewRule.java
@@ -11,7 +11,7 @@
package org.eclipse.osee.ats.config.demo.workflow;
import java.util.logging.Level;
-import org.eclipse.osee.ats.artifact.ReviewSMArtifact.ReviewBlockType;
+import org.eclipse.osee.ats.artifact.AbstractReviewArtifact.ReviewBlockType;
import org.eclipse.osee.ats.config.demo.internal.OseeAtsConfigDemoActivator;
import org.eclipse.osee.ats.workflow.item.AtsAddDecisionReviewRule;
import org.eclipse.osee.ats.workflow.item.StateEventType;
diff --git a/plugins/org.eclipse.osee.ats.config.demo/src/org/eclipse/osee/ats/config/demo/workflow/DemoAddPeerToPeerReviewRule.java b/plugins/org.eclipse.osee.ats.config.demo/src/org/eclipse/osee/ats/config/demo/workflow/DemoAddPeerToPeerReviewRule.java
index f22b3117ac..cb66e53cb2 100644
--- a/plugins/org.eclipse.osee.ats.config.demo/src/org/eclipse/osee/ats/config/demo/workflow/DemoAddPeerToPeerReviewRule.java
+++ b/plugins/org.eclipse.osee.ats.config.demo/src/org/eclipse/osee/ats/config/demo/workflow/DemoAddPeerToPeerReviewRule.java
@@ -11,7 +11,7 @@
package org.eclipse.osee.ats.config.demo.workflow;
import java.util.logging.Level;
-import org.eclipse.osee.ats.artifact.ReviewSMArtifact.ReviewBlockType;
+import org.eclipse.osee.ats.artifact.AbstractReviewArtifact.ReviewBlockType;
import org.eclipse.osee.ats.config.demo.internal.OseeAtsConfigDemoActivator;
import org.eclipse.osee.ats.workflow.item.AtsAddDecisionReviewRule;
import org.eclipse.osee.ats.workflow.item.StateEventType;
diff --git a/plugins/org.eclipse.osee.ats.config.demo/src/org/eclipse/osee/ats/config/demo/workflow/DemoReqWorkFlowDefinition.java b/plugins/org.eclipse.osee.ats.config.demo/src/org/eclipse/osee/ats/config/demo/workflow/DemoReqWorkFlowDefinition.java
index 180d465d98..6e4c2f48be 100644
--- a/plugins/org.eclipse.osee.ats.config.demo/src/org/eclipse/osee/ats/config/demo/workflow/DemoReqWorkFlowDefinition.java
+++ b/plugins/org.eclipse.osee.ats.config.demo/src/org/eclipse/osee/ats/config/demo/workflow/DemoReqWorkFlowDefinition.java
@@ -10,7 +10,7 @@
*******************************************************************************/
package org.eclipse.osee.ats.config.demo.workflow;
-import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact.DefaultTeamState;
+import org.eclipse.osee.ats.util.DefaultTeamState;
import org.eclipse.osee.ats.workflow.flow.TeamWorkflowDefinition;
import org.eclipse.osee.ats.workflow.item.AtsStatePercentCompleteWeightDefaultWorkflowRule;
import org.eclipse.osee.ats.workflow.item.AtsWorkDefinitions;
diff --git a/plugins/org.eclipse.osee.ats.config.demo/src/org/eclipse/osee/ats/config/demo/workflow/DemoSWDesignWorkFlowDefinition.java b/plugins/org.eclipse.osee.ats.config.demo/src/org/eclipse/osee/ats/config/demo/workflow/DemoSWDesignWorkFlowDefinition.java
index 1faea7d665..72c5e6572c 100644
--- a/plugins/org.eclipse.osee.ats.config.demo/src/org/eclipse/osee/ats/config/demo/workflow/DemoSWDesignWorkFlowDefinition.java
+++ b/plugins/org.eclipse.osee.ats.config.demo/src/org/eclipse/osee/ats/config/demo/workflow/DemoSWDesignWorkFlowDefinition.java
@@ -11,8 +11,8 @@
package org.eclipse.osee.ats.config.demo.workflow;
import java.util.Arrays;
-import org.eclipse.osee.ats.artifact.ReviewSMArtifact.ReviewBlockType;
-import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact.DefaultTeamState;
+import org.eclipse.osee.ats.artifact.AbstractReviewArtifact.ReviewBlockType;
+import org.eclipse.osee.ats.util.DefaultTeamState;
import org.eclipse.osee.ats.workflow.flow.TeamWorkflowDefinition;
import org.eclipse.osee.ats.workflow.item.AtsStatePercentCompleteWeightDefaultWorkflowRule;
import org.eclipse.osee.ats.workflow.item.AtsWorkDefinitions;
diff --git a/plugins/org.eclipse.osee.ats.help.ui/.pmd b/plugins/org.eclipse.osee.ats.help.ui/.pmd
new file mode 100644
index 0000000000..c7b0a9fb3f
--- /dev/null
+++ b/plugins/org.eclipse.osee.ats.help.ui/.pmd
@@ -0,0 +1,925 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<pmd>
+ <useProjectRuleSet>false</useProjectRuleSet>
+ <ruleSetFile>.ruleset</ruleSetFile>
+ <rules>
+ <rule>
+ <name>LooseCoupling</name>
+ <ruleset>Type Resolution Rules</ruleset>
+ </rule>
+ <rule>
+ <name>CloneMethodMustImplementCloneable</name>
+ <ruleset>Type Resolution Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnusedImports</name>
+ <ruleset>Type Resolution Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SignatureDeclareThrowsException</name>
+ <ruleset>Type Resolution Rules</ruleset>
+ </rule>
+ <rule>
+ <name>IfStmtsMustUseBraces</name>
+ <ruleset>Braces Rules</ruleset>
+ </rule>
+ <rule>
+ <name>WhileLoopsMustUseBraces</name>
+ <ruleset>Braces Rules</ruleset>
+ </rule>
+ <rule>
+ <name>IfElseStmtsMustUseBraces</name>
+ <ruleset>Braces Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ForLoopsMustUseBraces</name>
+ <ruleset>Braces Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseSingleton</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SimplifyBooleanReturns</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SimplifyBooleanExpressions</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SwitchStmtsShouldHaveDefault</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidDeeplyNestedIfStmts</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidReassigningParameters</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SwitchDensity</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ConstructorCallsOverridableMethod</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AccessorClassGeneration</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>FinalFieldCouldBeStatic</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>CloseResource</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>NonStaticInitializer</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DefaultLabelNotLastInSwitchStmt</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>NonCaseLabelInSwitchStatement</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>OptimizableToArrayCall</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>BadComparison</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EqualsNull</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ConfusingTernary</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>InstantiationToGetClass</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>IdempotentOperations</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SimpleDateFormatNeedsLocale</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ImmutableField</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseLocaleWithCaseConversions</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidProtectedFieldInFinalClass</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AssignmentToNonFinalStatic</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>MissingStaticMethodInNonInstantiatableClass</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidSynchronizedAtMethodLevel</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>MissingBreakInSwitch</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseNotifyAllInsteadOfNotify</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidInstanceofChecksInCatchClause</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AbstractClassWithoutAbstractMethod</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SimplifyConditional</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>CompareObjectsWithEquals</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>PositionLiteralsFirstInComparisons</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnnecessaryLocalBeforeReturn</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>NonThreadSafeSingleton</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UncommentedEmptyMethod</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UncommentedEmptyConstructor</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidConstantsInterface</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnsynchronizedStaticDateFormatter</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>PreserveStackTrace</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseCollectionIsEmpty</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ClassWithOnlyPrivateConstructorsShouldBeFinal</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptyMethodInAbstractClassShouldBeAbstract</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SingularField</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ReturnEmptyArrayRatherThanNull</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AbstractClassWithoutAnyMethod</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>TooFewBranchesForASwitchStatement</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidCatchingThrowable</name>
+ <ruleset>Strict Exception Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SignatureDeclareThrowsException</name>
+ <ruleset>Type Resolution Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ExceptionAsFlowControl</name>
+ <ruleset>Strict Exception Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidCatchingNPE</name>
+ <ruleset>Strict Exception Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidThrowingRawExceptionTypes</name>
+ <ruleset>Strict Exception Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidThrowingNullPointerException</name>
+ <ruleset>Strict Exception Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidRethrowingException</name>
+ <ruleset>Strict Exception Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DoNotExtendJavaLangError</name>
+ <ruleset>Strict Exception Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DoNotThrowExceptionInFinally</name>
+ <ruleset>Strict Exception Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidThrowingNewInstanceOfSameException</name>
+ <ruleset>Strict Exception Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnusedPrivateField</name>
+ <ruleset>Unused Code Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnusedLocalVariable</name>
+ <ruleset>Unused Code Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnusedPrivateMethod</name>
+ <ruleset>Unused Code Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnusedFormalParameter</name>
+ <ruleset>Unused Code Rules</ruleset>
+ </rule>
+ <rule>
+ <name>MoreThanOneLogger</name>
+ <ruleset>Java Logging Rules</ruleset>
+ </rule>
+ <rule>
+ <name>LoggerIsNotStaticFinal</name>
+ <ruleset>Java Logging Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SystemPrintln</name>
+ <ruleset>Java Logging Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidPrintStackTrace</name>
+ <ruleset>Java Logging Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidDuplicateLiterals</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>StringInstantiation</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>StringToString</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>InefficientStringBuffering</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnnecessaryCaseChange</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseStringBufferLength</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AppendCharacterWithChar</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ConsecutiveLiteralAppends</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseIndexOfChar</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>InefficientEmptyStringCheck</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>InsufficientStringBufferDeclaration</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UselessStringValueOf</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>StringBufferInstantiationWithChar</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseEqualsToCompareStrings</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidStringBufferField</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ReplaceVectorWithList</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ReplaceHashtableWithMap</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ReplaceEnumerationWithIterator</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidEnumAsIdentifier</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidAssertAsIdentifier</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>IntegerInstantiation</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ByteInstantiation</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ShortInstantiation</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>LongInstantiation</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>JUnit4TestShouldUseBeforeAnnotation</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>JUnit4TestShouldUseAfterAnnotation</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>JUnit4TestShouldUseTestAnnotation</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>JUnit4SuitesShouldUseSuiteAnnotation</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>JUnitUseExpected</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseProperClassLoader</name>
+ <ruleset>J2EE Rules</ruleset>
+ </rule>
+ <rule>
+ <name>MDBAndSessionBeanNamingConvention</name>
+ <ruleset>J2EE Rules</ruleset>
+ </rule>
+ <rule>
+ <name>RemoteSessionInterfaceNamingConvention</name>
+ <ruleset>J2EE Rules</ruleset>
+ </rule>
+ <rule>
+ <name>LocalInterfaceSessionNamingConvention</name>
+ <ruleset>J2EE Rules</ruleset>
+ </rule>
+ <rule>
+ <name>LocalHomeNamingConvention</name>
+ <ruleset>J2EE Rules</ruleset>
+ </rule>
+ <rule>
+ <name>RemoteInterfaceNamingConvention</name>
+ <ruleset>J2EE Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DoNotCallSystemExit</name>
+ <ruleset>J2EE Rules</ruleset>
+ </rule>
+ <rule>
+ <name>StaticEJBFieldShouldBeFinal</name>
+ <ruleset>J2EE Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DoNotUseThreads</name>
+ <ruleset>J2EE Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidInstantiatingObjectsInLoops</name>
+ <ruleset>Optimization Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseArrayListInsteadOfVector</name>
+ <ruleset>Optimization Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SimplifyStartsWith</name>
+ <ruleset>Optimization Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseStringBufferForStringAppends</name>
+ <ruleset>Optimization Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseArraysAsList</name>
+ <ruleset>Optimization Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidArrayLoops</name>
+ <ruleset>Optimization Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnnecessaryWrapperObjectCreation</name>
+ <ruleset>Optimization Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AddEmptyString</name>
+ <ruleset>Optimization Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptyCatchBlock</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptyIfStmt</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptyWhileStmt</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptyTryBlock</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptyFinallyBlock</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptySwitchStatements</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>JumbledIncrementer</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ForLoopShouldBeWhileLoop</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnnecessaryConversionTemporary</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>OverrideBothEqualsAndHashcode</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DoubleCheckedLocking</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ReturnFromFinallyBlock</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptySynchronizedBlock</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnnecessaryReturn</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptyStaticInitializer</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnconditionalIfStatement</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptyStatementNotInLoop</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>BooleanInstantiation</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnnecessaryFinalModifier</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>CollapsibleIfStatements</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UselessOverridingMethod</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ClassCastExceptionWithToArray</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidDecimalLiteralsInBigDecimalConstructor</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UselessOperationOnImmutable</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>MisplacedNullCheck</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnusedNullCheckInEquals</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidThreadGroup</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>BrokenNullCheck</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>BigIntegerInstantiation</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidUsingOctalValues</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidUsingHardCodedIP</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>CheckResultSet</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidMultipleUnaryOperators</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptyInitializer</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>MethodReturnsInternalArray</name>
+ <ruleset>Security Code Guidelines</ruleset>
+ </rule>
+ <rule>
+ <name>ArrayIsStoredDirectly</name>
+ <ruleset>Security Code Guidelines</ruleset>
+ </rule>
+ <rule>
+ <name>CouplingBetweenObjects</name>
+ <ruleset>Coupling Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ExcessiveImports</name>
+ <ruleset>Coupling Rules</ruleset>
+ </rule>
+ <rule>
+ <name>LooseCoupling</name>
+ <ruleset>Type Resolution Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DuplicateImports</name>
+ <ruleset>Import Statement Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DontImportJavaLang</name>
+ <ruleset>Import Statement Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnusedImports</name>
+ <ruleset>Type Resolution Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ImportFromSamePackage</name>
+ <ruleset>Import Statement Rules</ruleset>
+ </rule>
+ <rule>
+ <name>TooManyStaticImports</name>
+ <ruleset>Import Statement Rules</ruleset>
+ </rule>
+ <rule>
+ <name>JUnitStaticSuite</name>
+ <ruleset>JUnit Rules</ruleset>
+ </rule>
+ <rule>
+ <name>JUnitSpelling</name>
+ <ruleset>JUnit Rules</ruleset>
+ </rule>
+ <rule>
+ <name>JUnitAssertionsShouldIncludeMessage</name>
+ <ruleset>JUnit Rules</ruleset>
+ </rule>
+ <rule>
+ <name>JUnitTestsShouldIncludeAssert</name>
+ <ruleset>JUnit Rules</ruleset>
+ </rule>
+ <rule>
+ <name>TestClassWithoutTestCases</name>
+ <ruleset>JUnit Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnnecessaryBooleanAssertion</name>
+ <ruleset>JUnit Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseAssertEqualsInsteadOfAssertTrue</name>
+ <ruleset>JUnit Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseAssertSameInsteadOfAssertTrue</name>
+ <ruleset>JUnit Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseAssertNullInsteadOfAssertTrue</name>
+ <ruleset>JUnit Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SimplifyBooleanAssertion</name>
+ <ruleset>JUnit Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnnecessaryConstructor</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>NullAssignment</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnusedModifier</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AssignmentInOperand</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AtLeastOneConstructor</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DontImportSun</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SuspiciousOctalEscape</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>CallSuperInConstructor</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnnecessaryParentheses</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DefaultPackage</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>BooleanInversion</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DataflowAnomalyAnalysis</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidFinalLocalVariable</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidUsingShortType</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidUsingVolatile</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidUsingNativeCode</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidAccessibilityAlteration</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DoNotCallGarbageCollectionExplicitly</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>MethodNamingConventions</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ClassNamingConventions</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AbstractNaming</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidDollarSigns</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>MethodWithSameNameAsEnclosingClass</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SuspiciousHashcodeMethodName</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SuspiciousConstantFieldName</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SuspiciousEqualsMethodName</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidFieldNameMatchingTypeName</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidFieldNameMatchingMethodName</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>NoPackage</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>PackageCase</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>MisleadingVariableName</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>BooleanGetMethodName</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>NPathComplexity</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ExcessiveMethodLength</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ExcessiveParameterList</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ExcessiveClassLength</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>CyclomaticComplexity</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ExcessivePublicCount</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>TooManyFields</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>NcssMethodCount</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>NcssTypeCount</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>NcssConstructorCount</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>TooManyMethods</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptyFinalizer</name>
+ <ruleset>Finalizer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>FinalizeOnlyCallsSuperFinalize</name>
+ <ruleset>Finalizer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>FinalizeOverloaded</name>
+ <ruleset>Finalizer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>FinalizeDoesNotCallSuperFinalize</name>
+ <ruleset>Finalizer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>FinalizeShouldBeProtected</name>
+ <ruleset>Finalizer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidCallingFinalize</name>
+ <ruleset>Finalizer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseCorrectExceptionLogging</name>
+ <ruleset>Jakarta Commons Logging Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ProperLogger</name>
+ <ruleset>Jakarta Commons Logging Rules</ruleset>
+ </rule>
+ <rule>
+ <name>MissingSerialVersionUID</name>
+ <ruleset>JavaBean Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ProperCloneImplementation</name>
+ <ruleset>Clone Implementation Rules</ruleset>
+ </rule>
+ <rule>
+ <name>CloneThrowsCloneNotSupportedException</name>
+ <ruleset>Clone Implementation Rules</ruleset>
+ </rule>
+ <rule>
+ <name>CloneMethodMustImplementCloneable</name>
+ <ruleset>Type Resolution Rules</ruleset>
+ </rule>
+ </rules>
+ <includeDerivedFiles>false</includeDerivedFiles>
+ <violationsAsErrors>true</violationsAsErrors>
+</pmd>
diff --git a/plugins/org.eclipse.osee.ats.test/.pmd b/plugins/org.eclipse.osee.ats.test/.pmd
new file mode 100644
index 0000000000..c7b0a9fb3f
--- /dev/null
+++ b/plugins/org.eclipse.osee.ats.test/.pmd
@@ -0,0 +1,925 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<pmd>
+ <useProjectRuleSet>false</useProjectRuleSet>
+ <ruleSetFile>.ruleset</ruleSetFile>
+ <rules>
+ <rule>
+ <name>LooseCoupling</name>
+ <ruleset>Type Resolution Rules</ruleset>
+ </rule>
+ <rule>
+ <name>CloneMethodMustImplementCloneable</name>
+ <ruleset>Type Resolution Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnusedImports</name>
+ <ruleset>Type Resolution Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SignatureDeclareThrowsException</name>
+ <ruleset>Type Resolution Rules</ruleset>
+ </rule>
+ <rule>
+ <name>IfStmtsMustUseBraces</name>
+ <ruleset>Braces Rules</ruleset>
+ </rule>
+ <rule>
+ <name>WhileLoopsMustUseBraces</name>
+ <ruleset>Braces Rules</ruleset>
+ </rule>
+ <rule>
+ <name>IfElseStmtsMustUseBraces</name>
+ <ruleset>Braces Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ForLoopsMustUseBraces</name>
+ <ruleset>Braces Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseSingleton</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SimplifyBooleanReturns</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SimplifyBooleanExpressions</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SwitchStmtsShouldHaveDefault</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidDeeplyNestedIfStmts</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidReassigningParameters</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SwitchDensity</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ConstructorCallsOverridableMethod</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AccessorClassGeneration</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>FinalFieldCouldBeStatic</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>CloseResource</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>NonStaticInitializer</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DefaultLabelNotLastInSwitchStmt</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>NonCaseLabelInSwitchStatement</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>OptimizableToArrayCall</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>BadComparison</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EqualsNull</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ConfusingTernary</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>InstantiationToGetClass</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>IdempotentOperations</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SimpleDateFormatNeedsLocale</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ImmutableField</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseLocaleWithCaseConversions</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidProtectedFieldInFinalClass</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AssignmentToNonFinalStatic</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>MissingStaticMethodInNonInstantiatableClass</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidSynchronizedAtMethodLevel</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>MissingBreakInSwitch</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseNotifyAllInsteadOfNotify</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidInstanceofChecksInCatchClause</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AbstractClassWithoutAbstractMethod</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SimplifyConditional</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>CompareObjectsWithEquals</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>PositionLiteralsFirstInComparisons</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnnecessaryLocalBeforeReturn</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>NonThreadSafeSingleton</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UncommentedEmptyMethod</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UncommentedEmptyConstructor</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidConstantsInterface</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnsynchronizedStaticDateFormatter</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>PreserveStackTrace</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseCollectionIsEmpty</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ClassWithOnlyPrivateConstructorsShouldBeFinal</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptyMethodInAbstractClassShouldBeAbstract</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SingularField</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ReturnEmptyArrayRatherThanNull</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AbstractClassWithoutAnyMethod</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>TooFewBranchesForASwitchStatement</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidCatchingThrowable</name>
+ <ruleset>Strict Exception Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SignatureDeclareThrowsException</name>
+ <ruleset>Type Resolution Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ExceptionAsFlowControl</name>
+ <ruleset>Strict Exception Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidCatchingNPE</name>
+ <ruleset>Strict Exception Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidThrowingRawExceptionTypes</name>
+ <ruleset>Strict Exception Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidThrowingNullPointerException</name>
+ <ruleset>Strict Exception Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidRethrowingException</name>
+ <ruleset>Strict Exception Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DoNotExtendJavaLangError</name>
+ <ruleset>Strict Exception Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DoNotThrowExceptionInFinally</name>
+ <ruleset>Strict Exception Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidThrowingNewInstanceOfSameException</name>
+ <ruleset>Strict Exception Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnusedPrivateField</name>
+ <ruleset>Unused Code Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnusedLocalVariable</name>
+ <ruleset>Unused Code Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnusedPrivateMethod</name>
+ <ruleset>Unused Code Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnusedFormalParameter</name>
+ <ruleset>Unused Code Rules</ruleset>
+ </rule>
+ <rule>
+ <name>MoreThanOneLogger</name>
+ <ruleset>Java Logging Rules</ruleset>
+ </rule>
+ <rule>
+ <name>LoggerIsNotStaticFinal</name>
+ <ruleset>Java Logging Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SystemPrintln</name>
+ <ruleset>Java Logging Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidPrintStackTrace</name>
+ <ruleset>Java Logging Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidDuplicateLiterals</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>StringInstantiation</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>StringToString</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>InefficientStringBuffering</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnnecessaryCaseChange</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseStringBufferLength</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AppendCharacterWithChar</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ConsecutiveLiteralAppends</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseIndexOfChar</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>InefficientEmptyStringCheck</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>InsufficientStringBufferDeclaration</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UselessStringValueOf</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>StringBufferInstantiationWithChar</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseEqualsToCompareStrings</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidStringBufferField</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ReplaceVectorWithList</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ReplaceHashtableWithMap</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ReplaceEnumerationWithIterator</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidEnumAsIdentifier</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidAssertAsIdentifier</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>IntegerInstantiation</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ByteInstantiation</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ShortInstantiation</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>LongInstantiation</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>JUnit4TestShouldUseBeforeAnnotation</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>JUnit4TestShouldUseAfterAnnotation</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>JUnit4TestShouldUseTestAnnotation</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>JUnit4SuitesShouldUseSuiteAnnotation</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>JUnitUseExpected</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseProperClassLoader</name>
+ <ruleset>J2EE Rules</ruleset>
+ </rule>
+ <rule>
+ <name>MDBAndSessionBeanNamingConvention</name>
+ <ruleset>J2EE Rules</ruleset>
+ </rule>
+ <rule>
+ <name>RemoteSessionInterfaceNamingConvention</name>
+ <ruleset>J2EE Rules</ruleset>
+ </rule>
+ <rule>
+ <name>LocalInterfaceSessionNamingConvention</name>
+ <ruleset>J2EE Rules</ruleset>
+ </rule>
+ <rule>
+ <name>LocalHomeNamingConvention</name>
+ <ruleset>J2EE Rules</ruleset>
+ </rule>
+ <rule>
+ <name>RemoteInterfaceNamingConvention</name>
+ <ruleset>J2EE Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DoNotCallSystemExit</name>
+ <ruleset>J2EE Rules</ruleset>
+ </rule>
+ <rule>
+ <name>StaticEJBFieldShouldBeFinal</name>
+ <ruleset>J2EE Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DoNotUseThreads</name>
+ <ruleset>J2EE Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidInstantiatingObjectsInLoops</name>
+ <ruleset>Optimization Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseArrayListInsteadOfVector</name>
+ <ruleset>Optimization Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SimplifyStartsWith</name>
+ <ruleset>Optimization Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseStringBufferForStringAppends</name>
+ <ruleset>Optimization Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseArraysAsList</name>
+ <ruleset>Optimization Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidArrayLoops</name>
+ <ruleset>Optimization Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnnecessaryWrapperObjectCreation</name>
+ <ruleset>Optimization Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AddEmptyString</name>
+ <ruleset>Optimization Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptyCatchBlock</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptyIfStmt</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptyWhileStmt</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptyTryBlock</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptyFinallyBlock</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptySwitchStatements</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>JumbledIncrementer</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ForLoopShouldBeWhileLoop</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnnecessaryConversionTemporary</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>OverrideBothEqualsAndHashcode</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DoubleCheckedLocking</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ReturnFromFinallyBlock</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptySynchronizedBlock</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnnecessaryReturn</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptyStaticInitializer</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnconditionalIfStatement</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptyStatementNotInLoop</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>BooleanInstantiation</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnnecessaryFinalModifier</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>CollapsibleIfStatements</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UselessOverridingMethod</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ClassCastExceptionWithToArray</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidDecimalLiteralsInBigDecimalConstructor</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UselessOperationOnImmutable</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>MisplacedNullCheck</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnusedNullCheckInEquals</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidThreadGroup</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>BrokenNullCheck</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>BigIntegerInstantiation</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidUsingOctalValues</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidUsingHardCodedIP</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>CheckResultSet</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidMultipleUnaryOperators</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptyInitializer</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>MethodReturnsInternalArray</name>
+ <ruleset>Security Code Guidelines</ruleset>
+ </rule>
+ <rule>
+ <name>ArrayIsStoredDirectly</name>
+ <ruleset>Security Code Guidelines</ruleset>
+ </rule>
+ <rule>
+ <name>CouplingBetweenObjects</name>
+ <ruleset>Coupling Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ExcessiveImports</name>
+ <ruleset>Coupling Rules</ruleset>
+ </rule>
+ <rule>
+ <name>LooseCoupling</name>
+ <ruleset>Type Resolution Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DuplicateImports</name>
+ <ruleset>Import Statement Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DontImportJavaLang</name>
+ <ruleset>Import Statement Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnusedImports</name>
+ <ruleset>Type Resolution Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ImportFromSamePackage</name>
+ <ruleset>Import Statement Rules</ruleset>
+ </rule>
+ <rule>
+ <name>TooManyStaticImports</name>
+ <ruleset>Import Statement Rules</ruleset>
+ </rule>
+ <rule>
+ <name>JUnitStaticSuite</name>
+ <ruleset>JUnit Rules</ruleset>
+ </rule>
+ <rule>
+ <name>JUnitSpelling</name>
+ <ruleset>JUnit Rules</ruleset>
+ </rule>
+ <rule>
+ <name>JUnitAssertionsShouldIncludeMessage</name>
+ <ruleset>JUnit Rules</ruleset>
+ </rule>
+ <rule>
+ <name>JUnitTestsShouldIncludeAssert</name>
+ <ruleset>JUnit Rules</ruleset>
+ </rule>
+ <rule>
+ <name>TestClassWithoutTestCases</name>
+ <ruleset>JUnit Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnnecessaryBooleanAssertion</name>
+ <ruleset>JUnit Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseAssertEqualsInsteadOfAssertTrue</name>
+ <ruleset>JUnit Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseAssertSameInsteadOfAssertTrue</name>
+ <ruleset>JUnit Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseAssertNullInsteadOfAssertTrue</name>
+ <ruleset>JUnit Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SimplifyBooleanAssertion</name>
+ <ruleset>JUnit Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnnecessaryConstructor</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>NullAssignment</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnusedModifier</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AssignmentInOperand</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AtLeastOneConstructor</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DontImportSun</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SuspiciousOctalEscape</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>CallSuperInConstructor</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnnecessaryParentheses</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DefaultPackage</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>BooleanInversion</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DataflowAnomalyAnalysis</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidFinalLocalVariable</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidUsingShortType</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidUsingVolatile</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidUsingNativeCode</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidAccessibilityAlteration</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DoNotCallGarbageCollectionExplicitly</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>MethodNamingConventions</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ClassNamingConventions</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AbstractNaming</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidDollarSigns</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>MethodWithSameNameAsEnclosingClass</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SuspiciousHashcodeMethodName</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SuspiciousConstantFieldName</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SuspiciousEqualsMethodName</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidFieldNameMatchingTypeName</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidFieldNameMatchingMethodName</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>NoPackage</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>PackageCase</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>MisleadingVariableName</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>BooleanGetMethodName</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>NPathComplexity</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ExcessiveMethodLength</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ExcessiveParameterList</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ExcessiveClassLength</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>CyclomaticComplexity</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ExcessivePublicCount</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>TooManyFields</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>NcssMethodCount</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>NcssTypeCount</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>NcssConstructorCount</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>TooManyMethods</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptyFinalizer</name>
+ <ruleset>Finalizer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>FinalizeOnlyCallsSuperFinalize</name>
+ <ruleset>Finalizer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>FinalizeOverloaded</name>
+ <ruleset>Finalizer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>FinalizeDoesNotCallSuperFinalize</name>
+ <ruleset>Finalizer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>FinalizeShouldBeProtected</name>
+ <ruleset>Finalizer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidCallingFinalize</name>
+ <ruleset>Finalizer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseCorrectExceptionLogging</name>
+ <ruleset>Jakarta Commons Logging Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ProperLogger</name>
+ <ruleset>Jakarta Commons Logging Rules</ruleset>
+ </rule>
+ <rule>
+ <name>MissingSerialVersionUID</name>
+ <ruleset>JavaBean Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ProperCloneImplementation</name>
+ <ruleset>Clone Implementation Rules</ruleset>
+ </rule>
+ <rule>
+ <name>CloneThrowsCloneNotSupportedException</name>
+ <ruleset>Clone Implementation Rules</ruleset>
+ </rule>
+ <rule>
+ <name>CloneMethodMustImplementCloneable</name>
+ <ruleset>Type Resolution Rules</ruleset>
+ </rule>
+ </rules>
+ <includeDerivedFiles>false</includeDerivedFiles>
+ <violationsAsErrors>true</violationsAsErrors>
+</pmd>
diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/AtsTest_Demo_Suite.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/AtsTest_Demo_Suite.java
index 9e562c7800..36f468b165 100644
--- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/AtsTest_Demo_Suite.java
+++ b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/AtsTest_Demo_Suite.java
@@ -11,6 +11,7 @@
package org.eclipse.osee.ats.test;
import static org.junit.Assert.assertTrue;
+import org.eclipse.osee.ats.test.artifact.LogItemTest;
import org.eclipse.osee.ats.test.config.AtsBranchConfigurationTest;
import org.eclipse.osee.ats.test.editor.SMAPrintTest;
import org.eclipse.osee.ats.test.health.AtsValidateAtsDatabaseTest;
@@ -30,6 +31,7 @@ import org.junit.runners.Suite;
@RunWith(Suite.class)
@Suite.SuiteClasses({
+ LogItemTest.class,
RendererManagerTest.class,
SMAPrintTest.class,
AtsImageTest.class,
diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/AtsTest_TestDb_Suite.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/AtsTest_TestDb_Suite.java
index 7e4f63a260..2c96d745c8 100644
--- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/AtsTest_TestDb_Suite.java
+++ b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/AtsTest_TestDb_Suite.java
@@ -10,13 +10,14 @@
*******************************************************************************/
package org.eclipse.osee.ats.test;
+import org.eclipse.osee.ats.test.artifact.LogItemTest;
import org.eclipse.osee.ats.test.config.AtsBranchConfigurationTest;
import org.eclipse.osee.ats.test.util.AtsImageTest;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
@RunWith(Suite.class)
-@Suite.SuiteClasses({AtsImageTest.class, AtsBranchConfigurationTest.class})
+@Suite.SuiteClasses({LogItemTest.class, AtsImageTest.class, AtsBranchConfigurationTest.class})
/**
* @author Donald G. Dunne
*/
diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/artifact/LogItemTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/artifact/LogItemTest.java
new file mode 100644
index 0000000000..d1e0082636
--- /dev/null
+++ b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/artifact/LogItemTest.java
@@ -0,0 +1,89 @@
+/*
+ * Created on Sep 28, 2010
+ *
+ * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE
+ */
+package org.eclipse.osee.ats.test.artifact;
+
+import java.util.Date;
+import java.util.List;
+import junit.framework.Assert;
+import org.eclipse.osee.ats.artifact.ATSLog.LogType;
+import org.eclipse.osee.ats.artifact.LogItem;
+import org.eclipse.osee.framework.core.exception.OseeCoreException;
+import org.eclipse.osee.framework.jdk.core.util.AHTML;
+import org.eclipse.osee.framework.skynet.core.UserManager;
+import org.junit.Test;
+
+public class LogItemTest {
+
+ @Test
+ public void testLogItemLogTypeDateUserStringStringString() throws OseeCoreException {
+ Date date = new Date();
+ LogItem item = getTestLogItem(date);
+
+ validateItem(item, date);
+ }
+
+ private void validateItem(LogItem item, Date date) throws OseeCoreException {
+ Assert.assertEquals(LogType.Error, item.getType());
+ Assert.assertEquals(date, item.getDate());
+ Assert.assertEquals(UserManager.getUser(), item.getUser());
+ Assert.assertEquals(UserManager.getUser().getUserId(), item.getUserId());
+ Assert.assertEquals("Analyze", item.getState());
+ Assert.assertEquals("my msg", item.getMsg());
+ }
+
+ @Test
+ public void testLogItemLogTypeStringStringStringStringString() throws OseeCoreException {
+ Date date = new Date();
+ LogItem item =
+ new LogItem(LogType.Error, String.valueOf(date.getTime()), UserManager.getUser().getUserId(), "Analyze",
+ "my msg", "ASDF4");
+
+ validateItem(item, date);
+ }
+
+ @Test
+ public void testLogItemStringStringStringStringStringString() throws OseeCoreException {
+ Date date = new Date();
+ LogItem item =
+ new LogItem(LogType.Error.name(), String.valueOf(date.getTime()), UserManager.getUser().getUserId(),
+ "Analyze", "my msg", "ASDF4");
+
+ validateItem(item, date);
+ }
+
+ @Test
+ public void testToXml() throws OseeCoreException {
+ Date date = new Date();
+ LogItem item = getTestLogItem(date);
+
+ String xml = item.toXml();
+ List<LogItem> items = LogItem.getLogItems(xml, "ASDF4");
+ Assert.assertEquals(1, items.size());
+ LogItem loadItem = items.iterator().next();
+ validateItem(loadItem, date);
+ }
+
+ private LogItem getTestLogItem(Date date) throws OseeCoreException {
+ return new LogItem(LogType.Error, date, UserManager.getUser(), "Analyze", "my msg", "ASDF4");
+ }
+
+ @Test
+ public void testToString() throws OseeCoreException {
+ Date date = new Date();
+ LogItem item = getTestLogItem(date);
+
+ Assert.assertEquals("asdf", item.toString());
+ }
+
+ @Test
+ public void testToHTML() throws OseeCoreException {
+ Date date = new Date();
+ LogItem item = getTestLogItem(date);
+
+ Assert.assertEquals("asdf", item.toHTML(AHTML.LABEL_FONT));
+ }
+
+}
diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/artifact/NoteItemTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/artifact/NoteItemTest.java
new file mode 100644
index 0000000000..3e09d3d0d8
--- /dev/null
+++ b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/artifact/NoteItemTest.java
@@ -0,0 +1,87 @@
+/*
+ * Created on Sep 28, 2010
+ *
+ * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE
+ */
+package org.eclipse.osee.ats.test.artifact;
+
+import java.util.Arrays;
+import java.util.Date;
+import java.util.List;
+import junit.framework.Assert;
+import org.eclipse.osee.ats.NoteType;
+import org.eclipse.osee.ats.artifact.NoteItem;
+import org.eclipse.osee.framework.core.exception.OseeCoreException;
+import org.eclipse.osee.framework.skynet.core.UserManager;
+import org.junit.Test;
+
+public class NoteItemTest {
+
+ @Test
+ public void testNoteItemNoteTypeStringStringUserString() throws OseeCoreException {
+ Date date = new Date();
+ NoteItem item =
+ new NoteItem(NoteType.Comment, "Implement", String.valueOf(date.getTime()), UserManager.getUser(), "my msg");
+ validate(item, date);
+ }
+
+ private void validate(NoteItem item, Date date) throws OseeCoreException {
+ Assert.assertEquals(NoteType.Comment, item.getType());
+ Assert.assertEquals("Implement", item.getState());
+ Assert.assertEquals(UserManager.getUser(), item.getUser());
+ Assert.assertEquals("my msg", item.getMsg());
+ }
+
+ private NoteItem getTestNoteItem(Date date) throws OseeCoreException {
+ return new NoteItem(NoteType.Comment, "Implement", String.valueOf(date.getTime()), UserManager.getUser(),
+ "my msg");
+ }
+
+ @Test
+ public void testNoteItemStringStringStringUserString() throws OseeCoreException {
+ Date date = new Date();
+ NoteItem item =
+ new NoteItem(NoteType.Comment.name(), "Implement", String.valueOf(date.getTime()), UserManager.getUser(),
+ "my msg");
+ validate(item, date);
+ }
+
+ @Test
+ public void testToString() throws OseeCoreException {
+ Date date = new Date();
+ NoteItem item = getTestNoteItem(date);
+
+ Assert.assertEquals("asdf", item.toString());
+ }
+
+ @Test
+ public void testToXmlFromXml() throws OseeCoreException {
+ Date date = new Date();
+ NoteItem item = getTestNoteItem(date);
+ NoteItem item2 =
+ new NoteItem(NoteType.Question.name(), "Analyze", String.valueOf(date.getTime()), UserManager.getUser(),
+ "another message");
+
+ String xml = NoteItem.toXml(Arrays.asList(item, item2));
+ Assert.assertEquals("asdf", xml);
+
+ List<NoteItem> items = NoteItem.fromXml(xml, "ASDF4");
+ validate(items.iterator().next(), date);
+
+ NoteItem fromXmlItem2 = items.get(1);
+ Assert.assertEquals(NoteType.Question, fromXmlItem2.getType());
+ Assert.assertEquals("Analyze", fromXmlItem2.getState());
+ Assert.assertEquals(UserManager.getUser(), fromXmlItem2.getUser());
+ Assert.assertEquals("another message", fromXmlItem2.getMsg());
+
+ }
+
+ @Test
+ public void testToHTML() throws OseeCoreException {
+ Date date = new Date();
+ NoteItem item = getTestNoteItem(date);
+
+ Assert.assertEquals("asdf", item.toHTML());
+ }
+
+}
diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/config/AtsBranchConfigurationTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/config/AtsBranchConfigurationTest.java
index bf87e8facd..e610677944 100644
--- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/config/AtsBranchConfigurationTest.java
+++ b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/config/AtsBranchConfigurationTest.java
@@ -21,7 +21,6 @@ import org.eclipse.osee.ats.artifact.ActionableItemArtifact;
import org.eclipse.osee.ats.artifact.AtsAttributeTypes;
import org.eclipse.osee.ats.artifact.TeamDefinitionArtifact;
import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact;
-import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact.DefaultTeamState;
import org.eclipse.osee.ats.artifact.TeamWorkflowManager;
import org.eclipse.osee.ats.artifact.VersionArtifact;
import org.eclipse.osee.ats.config.AtsBulkLoad;
@@ -33,6 +32,7 @@ import org.eclipse.osee.ats.util.AtsArtifactTypes;
import org.eclipse.osee.ats.util.AtsPriority.PriorityType;
import org.eclipse.osee.ats.util.AtsRelationTypes;
import org.eclipse.osee.ats.util.AtsUtil;
+import org.eclipse.osee.ats.util.DefaultTeamState;
import org.eclipse.osee.framework.core.data.IOseeBranch;
import org.eclipse.osee.framework.core.data.NamedIdentity;
import org.eclipse.osee.framework.core.enums.BranchArchivedState;
diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/navigate/AtsNavigateItemsToWorldViewTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/navigate/AtsNavigateItemsToWorldViewTest.java
index ec1892a4a1..ed2b72b7c7 100644
--- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/navigate/AtsNavigateItemsToWorldViewTest.java
+++ b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/navigate/AtsNavigateItemsToWorldViewTest.java
@@ -27,7 +27,7 @@ import org.eclipse.osee.ats.artifact.ActionableItemArtifact;
import org.eclipse.osee.ats.artifact.AtsAttributeTypes;
import org.eclipse.osee.ats.artifact.DecisionReviewArtifact;
import org.eclipse.osee.ats.artifact.PeerToPeerReviewArtifact;
-import org.eclipse.osee.ats.artifact.StateMachineArtifact;
+import org.eclipse.osee.ats.artifact.AbstractWorkflowArtifact;
import org.eclipse.osee.ats.artifact.TaskArtifact;
import org.eclipse.osee.ats.artifact.TeamDefinitionArtifact;
import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact;
@@ -103,7 +103,7 @@ public class AtsNavigateItemsToWorldViewTest {
@org.junit.Test
public void testMyWorld() throws Exception {
- runGeneralLoadingTest("My World", StateMachineArtifact.class, 11, null);
+ runGeneralLoadingTest("My World", AbstractWorkflowArtifact.class, 11, null);
runGeneralXColTest(28, false);
}
@@ -258,7 +258,7 @@ public class AtsNavigateItemsToWorldViewTest {
OseeLog.log(AtsPlugin.class, Level.INFO,
"Testing User's items relating to " + DemoTestUtil.getDemoUser(DemoUsers.Kay_Jones));
XNavigateItem item = NavigateTestUtil.getAtsNavigateItems("User's World").iterator().next();
- runGeneralLoadingTest(item, StateMachineArtifact.class, 8, DemoTestUtil.getDemoUser(DemoUsers.Kay_Jones));
+ runGeneralLoadingTest(item, AbstractWorkflowArtifact.class, 8, DemoTestUtil.getDemoUser(DemoUsers.Kay_Jones));
}
@org.junit.Test
diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/util/AtsDeleteManagerTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/util/AtsDeleteManagerTest.java
index e8ddd415f4..f65343fba9 100644
--- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/util/AtsDeleteManagerTest.java
+++ b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/util/AtsDeleteManagerTest.java
@@ -16,18 +16,18 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.List;
+import org.eclipse.osee.ats.artifact.AbstractReviewArtifact.ReviewBlockType;
import org.eclipse.osee.ats.artifact.ActionArtifact;
import org.eclipse.osee.ats.artifact.ActionableItemArtifact;
import org.eclipse.osee.ats.artifact.DecisionReviewArtifact;
-import org.eclipse.osee.ats.artifact.ReviewSMArtifact.ReviewBlockType;
import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact;
-import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact.DefaultTeamState;
import org.eclipse.osee.ats.util.ActionManager;
import org.eclipse.osee.ats.util.AtsArtifactTypes;
import org.eclipse.osee.ats.util.AtsDeleteManager;
import org.eclipse.osee.ats.util.AtsDeleteManager.DeleteOption;
import org.eclipse.osee.ats.util.AtsPriority.PriorityType;
import org.eclipse.osee.ats.util.AtsUtil;
+import org.eclipse.osee.ats.util.DefaultTeamState;
import org.eclipse.osee.ats.util.widgets.ReviewManager;
import org.eclipse.osee.framework.core.data.IArtifactType;
import org.eclipse.osee.framework.core.data.Named;
diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/util/AtsNotifyUsersTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/util/AtsNotifyUsersTest.java
index 4db051bdd6..a38d2d61fc 100644
--- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/util/AtsNotifyUsersTest.java
+++ b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/util/AtsNotifyUsersTest.java
@@ -18,10 +18,10 @@ import java.util.List;
import junit.framework.Assert;
import org.eclipse.osee.ats.artifact.ATSLog.LogType;
import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact;
-import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact.DefaultTeamState;
import org.eclipse.osee.ats.util.AtsNotifyUsers;
import org.eclipse.osee.ats.util.AtsNotifyUsers.NotifyType;
import org.eclipse.osee.ats.util.AtsUtil;
+import org.eclipse.osee.ats.util.DefaultTeamState;
import org.eclipse.osee.ats.util.SubscribeManager;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
import org.eclipse.osee.framework.skynet.core.User;
diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/util/SMATestUtil.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/util/SMATestUtil.java
index 263cd1e51b..3b7dd09387 100644
--- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/util/SMATestUtil.java
+++ b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/util/SMATestUtil.java
@@ -13,22 +13,22 @@ package org.eclipse.osee.ats.test.util;
import java.util.Arrays;
import java.util.Collection;
import junit.framework.Assert;
+import org.eclipse.osee.ats.artifact.AbstractWorkflowArtifact;
import org.eclipse.osee.ats.artifact.AtsAttributeTypes;
-import org.eclipse.osee.ats.artifact.StateMachineArtifact;
-import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact.DefaultTeamState;
+import org.eclipse.osee.ats.util.DefaultTeamState;
/**
* @author Donald G. Dunne
*/
public class SMATestUtil {
- public static void validateSMA(StateMachineArtifact sma, String stateName, int totalPercent, double hoursSpent) throws Exception {
+ public static void validateSMA(AbstractWorkflowArtifact sma, String stateName, int totalPercent, double hoursSpent) throws Exception {
validateSMAs(Arrays.asList(sma), stateName, totalPercent, hoursSpent);
}
- public static void validateSMAs(Collection<? extends StateMachineArtifact> smas, String stateName, int totalPercent, double hoursSpent) throws Exception {
- for (StateMachineArtifact sma : smas) {
+ public static void validateSMAs(Collection<? extends AbstractWorkflowArtifact> smas, String stateName, int totalPercent, double hoursSpent) throws Exception {
+ for (AbstractWorkflowArtifact sma : smas) {
Assert.assertEquals("Current State wrong for " + sma.getHumanReadableId(),
sma.getStateMgr().getCurrentStateName(), stateName);
if (sma.isCancelledOrCompleted()) {
diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/workflow/SMAPromptChangeStatusTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/workflow/SMAPromptChangeStatusTest.java
index 131742addc..ab295f433b 100644
--- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/workflow/SMAPromptChangeStatusTest.java
+++ b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/workflow/SMAPromptChangeStatusTest.java
@@ -15,15 +15,15 @@ import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
import java.util.Collection;
import org.eclipse.osee.ats.artifact.AtsAttributeTypes;
-import org.eclipse.osee.ats.artifact.StateMachineArtifact.TransitionOption;
import org.eclipse.osee.ats.artifact.TaskArtifact;
import org.eclipse.osee.ats.artifact.TaskArtifact.TaskStates;
import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact;
-import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact.DefaultTeamState;
import org.eclipse.osee.ats.editor.SMAPromptChangeStatus;
import org.eclipse.osee.ats.test.util.DemoTestUtil;
import org.eclipse.osee.ats.test.util.SMATestUtil;
import org.eclipse.osee.ats.util.AtsUtil;
+import org.eclipse.osee.ats.util.DefaultTeamState;
+import org.eclipse.osee.ats.util.TransitionOption;
import org.eclipse.osee.ats.util.widgets.dialog.SimpleTaskResolutionOptionsRule;
import org.eclipse.osee.framework.skynet.core.User;
import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction;
diff --git a/plugins/org.eclipse.osee.ats/.pmd b/plugins/org.eclipse.osee.ats/.pmd
new file mode 100644
index 0000000000..c7b0a9fb3f
--- /dev/null
+++ b/plugins/org.eclipse.osee.ats/.pmd
@@ -0,0 +1,925 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<pmd>
+ <useProjectRuleSet>false</useProjectRuleSet>
+ <ruleSetFile>.ruleset</ruleSetFile>
+ <rules>
+ <rule>
+ <name>LooseCoupling</name>
+ <ruleset>Type Resolution Rules</ruleset>
+ </rule>
+ <rule>
+ <name>CloneMethodMustImplementCloneable</name>
+ <ruleset>Type Resolution Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnusedImports</name>
+ <ruleset>Type Resolution Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SignatureDeclareThrowsException</name>
+ <ruleset>Type Resolution Rules</ruleset>
+ </rule>
+ <rule>
+ <name>IfStmtsMustUseBraces</name>
+ <ruleset>Braces Rules</ruleset>
+ </rule>
+ <rule>
+ <name>WhileLoopsMustUseBraces</name>
+ <ruleset>Braces Rules</ruleset>
+ </rule>
+ <rule>
+ <name>IfElseStmtsMustUseBraces</name>
+ <ruleset>Braces Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ForLoopsMustUseBraces</name>
+ <ruleset>Braces Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseSingleton</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SimplifyBooleanReturns</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SimplifyBooleanExpressions</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SwitchStmtsShouldHaveDefault</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidDeeplyNestedIfStmts</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidReassigningParameters</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SwitchDensity</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ConstructorCallsOverridableMethod</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AccessorClassGeneration</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>FinalFieldCouldBeStatic</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>CloseResource</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>NonStaticInitializer</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DefaultLabelNotLastInSwitchStmt</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>NonCaseLabelInSwitchStatement</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>OptimizableToArrayCall</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>BadComparison</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EqualsNull</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ConfusingTernary</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>InstantiationToGetClass</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>IdempotentOperations</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SimpleDateFormatNeedsLocale</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ImmutableField</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseLocaleWithCaseConversions</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidProtectedFieldInFinalClass</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AssignmentToNonFinalStatic</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>MissingStaticMethodInNonInstantiatableClass</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidSynchronizedAtMethodLevel</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>MissingBreakInSwitch</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseNotifyAllInsteadOfNotify</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidInstanceofChecksInCatchClause</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AbstractClassWithoutAbstractMethod</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SimplifyConditional</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>CompareObjectsWithEquals</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>PositionLiteralsFirstInComparisons</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnnecessaryLocalBeforeReturn</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>NonThreadSafeSingleton</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UncommentedEmptyMethod</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UncommentedEmptyConstructor</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidConstantsInterface</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnsynchronizedStaticDateFormatter</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>PreserveStackTrace</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseCollectionIsEmpty</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ClassWithOnlyPrivateConstructorsShouldBeFinal</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptyMethodInAbstractClassShouldBeAbstract</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SingularField</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ReturnEmptyArrayRatherThanNull</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AbstractClassWithoutAnyMethod</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>TooFewBranchesForASwitchStatement</name>
+ <ruleset>Design Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidCatchingThrowable</name>
+ <ruleset>Strict Exception Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SignatureDeclareThrowsException</name>
+ <ruleset>Type Resolution Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ExceptionAsFlowControl</name>
+ <ruleset>Strict Exception Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidCatchingNPE</name>
+ <ruleset>Strict Exception Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidThrowingRawExceptionTypes</name>
+ <ruleset>Strict Exception Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidThrowingNullPointerException</name>
+ <ruleset>Strict Exception Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidRethrowingException</name>
+ <ruleset>Strict Exception Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DoNotExtendJavaLangError</name>
+ <ruleset>Strict Exception Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DoNotThrowExceptionInFinally</name>
+ <ruleset>Strict Exception Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidThrowingNewInstanceOfSameException</name>
+ <ruleset>Strict Exception Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnusedPrivateField</name>
+ <ruleset>Unused Code Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnusedLocalVariable</name>
+ <ruleset>Unused Code Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnusedPrivateMethod</name>
+ <ruleset>Unused Code Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnusedFormalParameter</name>
+ <ruleset>Unused Code Rules</ruleset>
+ </rule>
+ <rule>
+ <name>MoreThanOneLogger</name>
+ <ruleset>Java Logging Rules</ruleset>
+ </rule>
+ <rule>
+ <name>LoggerIsNotStaticFinal</name>
+ <ruleset>Java Logging Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SystemPrintln</name>
+ <ruleset>Java Logging Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidPrintStackTrace</name>
+ <ruleset>Java Logging Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidDuplicateLiterals</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>StringInstantiation</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>StringToString</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>InefficientStringBuffering</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnnecessaryCaseChange</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseStringBufferLength</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AppendCharacterWithChar</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ConsecutiveLiteralAppends</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseIndexOfChar</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>InefficientEmptyStringCheck</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>InsufficientStringBufferDeclaration</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UselessStringValueOf</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>StringBufferInstantiationWithChar</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseEqualsToCompareStrings</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidStringBufferField</name>
+ <ruleset>String and StringBuffer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ReplaceVectorWithList</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ReplaceHashtableWithMap</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ReplaceEnumerationWithIterator</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidEnumAsIdentifier</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidAssertAsIdentifier</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>IntegerInstantiation</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ByteInstantiation</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ShortInstantiation</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>LongInstantiation</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>JUnit4TestShouldUseBeforeAnnotation</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>JUnit4TestShouldUseAfterAnnotation</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>JUnit4TestShouldUseTestAnnotation</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>JUnit4SuitesShouldUseSuiteAnnotation</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>JUnitUseExpected</name>
+ <ruleset>Migration Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseProperClassLoader</name>
+ <ruleset>J2EE Rules</ruleset>
+ </rule>
+ <rule>
+ <name>MDBAndSessionBeanNamingConvention</name>
+ <ruleset>J2EE Rules</ruleset>
+ </rule>
+ <rule>
+ <name>RemoteSessionInterfaceNamingConvention</name>
+ <ruleset>J2EE Rules</ruleset>
+ </rule>
+ <rule>
+ <name>LocalInterfaceSessionNamingConvention</name>
+ <ruleset>J2EE Rules</ruleset>
+ </rule>
+ <rule>
+ <name>LocalHomeNamingConvention</name>
+ <ruleset>J2EE Rules</ruleset>
+ </rule>
+ <rule>
+ <name>RemoteInterfaceNamingConvention</name>
+ <ruleset>J2EE Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DoNotCallSystemExit</name>
+ <ruleset>J2EE Rules</ruleset>
+ </rule>
+ <rule>
+ <name>StaticEJBFieldShouldBeFinal</name>
+ <ruleset>J2EE Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DoNotUseThreads</name>
+ <ruleset>J2EE Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidInstantiatingObjectsInLoops</name>
+ <ruleset>Optimization Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseArrayListInsteadOfVector</name>
+ <ruleset>Optimization Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SimplifyStartsWith</name>
+ <ruleset>Optimization Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseStringBufferForStringAppends</name>
+ <ruleset>Optimization Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseArraysAsList</name>
+ <ruleset>Optimization Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidArrayLoops</name>
+ <ruleset>Optimization Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnnecessaryWrapperObjectCreation</name>
+ <ruleset>Optimization Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AddEmptyString</name>
+ <ruleset>Optimization Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptyCatchBlock</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptyIfStmt</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptyWhileStmt</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptyTryBlock</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptyFinallyBlock</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptySwitchStatements</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>JumbledIncrementer</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ForLoopShouldBeWhileLoop</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnnecessaryConversionTemporary</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>OverrideBothEqualsAndHashcode</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DoubleCheckedLocking</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ReturnFromFinallyBlock</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptySynchronizedBlock</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnnecessaryReturn</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptyStaticInitializer</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnconditionalIfStatement</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptyStatementNotInLoop</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>BooleanInstantiation</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnnecessaryFinalModifier</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>CollapsibleIfStatements</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UselessOverridingMethod</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ClassCastExceptionWithToArray</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidDecimalLiteralsInBigDecimalConstructor</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UselessOperationOnImmutable</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>MisplacedNullCheck</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnusedNullCheckInEquals</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidThreadGroup</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>BrokenNullCheck</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>BigIntegerInstantiation</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidUsingOctalValues</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidUsingHardCodedIP</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>CheckResultSet</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidMultipleUnaryOperators</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptyInitializer</name>
+ <ruleset>Basic Rules</ruleset>
+ </rule>
+ <rule>
+ <name>MethodReturnsInternalArray</name>
+ <ruleset>Security Code Guidelines</ruleset>
+ </rule>
+ <rule>
+ <name>ArrayIsStoredDirectly</name>
+ <ruleset>Security Code Guidelines</ruleset>
+ </rule>
+ <rule>
+ <name>CouplingBetweenObjects</name>
+ <ruleset>Coupling Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ExcessiveImports</name>
+ <ruleset>Coupling Rules</ruleset>
+ </rule>
+ <rule>
+ <name>LooseCoupling</name>
+ <ruleset>Type Resolution Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DuplicateImports</name>
+ <ruleset>Import Statement Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DontImportJavaLang</name>
+ <ruleset>Import Statement Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnusedImports</name>
+ <ruleset>Type Resolution Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ImportFromSamePackage</name>
+ <ruleset>Import Statement Rules</ruleset>
+ </rule>
+ <rule>
+ <name>TooManyStaticImports</name>
+ <ruleset>Import Statement Rules</ruleset>
+ </rule>
+ <rule>
+ <name>JUnitStaticSuite</name>
+ <ruleset>JUnit Rules</ruleset>
+ </rule>
+ <rule>
+ <name>JUnitSpelling</name>
+ <ruleset>JUnit Rules</ruleset>
+ </rule>
+ <rule>
+ <name>JUnitAssertionsShouldIncludeMessage</name>
+ <ruleset>JUnit Rules</ruleset>
+ </rule>
+ <rule>
+ <name>JUnitTestsShouldIncludeAssert</name>
+ <ruleset>JUnit Rules</ruleset>
+ </rule>
+ <rule>
+ <name>TestClassWithoutTestCases</name>
+ <ruleset>JUnit Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnnecessaryBooleanAssertion</name>
+ <ruleset>JUnit Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseAssertEqualsInsteadOfAssertTrue</name>
+ <ruleset>JUnit Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseAssertSameInsteadOfAssertTrue</name>
+ <ruleset>JUnit Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseAssertNullInsteadOfAssertTrue</name>
+ <ruleset>JUnit Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SimplifyBooleanAssertion</name>
+ <ruleset>JUnit Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnnecessaryConstructor</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>NullAssignment</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnusedModifier</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AssignmentInOperand</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AtLeastOneConstructor</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DontImportSun</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SuspiciousOctalEscape</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>CallSuperInConstructor</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UnnecessaryParentheses</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DefaultPackage</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>BooleanInversion</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DataflowAnomalyAnalysis</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidFinalLocalVariable</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidUsingShortType</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidUsingVolatile</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidUsingNativeCode</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidAccessibilityAlteration</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>DoNotCallGarbageCollectionExplicitly</name>
+ <ruleset>Controversial Rules</ruleset>
+ </rule>
+ <rule>
+ <name>MethodNamingConventions</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ClassNamingConventions</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AbstractNaming</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidDollarSigns</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>MethodWithSameNameAsEnclosingClass</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SuspiciousHashcodeMethodName</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SuspiciousConstantFieldName</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>SuspiciousEqualsMethodName</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidFieldNameMatchingTypeName</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidFieldNameMatchingMethodName</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>NoPackage</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>PackageCase</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>MisleadingVariableName</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>BooleanGetMethodName</name>
+ <ruleset>Naming Rules</ruleset>
+ </rule>
+ <rule>
+ <name>NPathComplexity</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ExcessiveMethodLength</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ExcessiveParameterList</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ExcessiveClassLength</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>CyclomaticComplexity</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ExcessivePublicCount</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>TooManyFields</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>NcssMethodCount</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>NcssTypeCount</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>NcssConstructorCount</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>TooManyMethods</name>
+ <ruleset>Code Size Rules</ruleset>
+ </rule>
+ <rule>
+ <name>EmptyFinalizer</name>
+ <ruleset>Finalizer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>FinalizeOnlyCallsSuperFinalize</name>
+ <ruleset>Finalizer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>FinalizeOverloaded</name>
+ <ruleset>Finalizer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>FinalizeDoesNotCallSuperFinalize</name>
+ <ruleset>Finalizer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>FinalizeShouldBeProtected</name>
+ <ruleset>Finalizer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>AvoidCallingFinalize</name>
+ <ruleset>Finalizer Rules</ruleset>
+ </rule>
+ <rule>
+ <name>UseCorrectExceptionLogging</name>
+ <ruleset>Jakarta Commons Logging Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ProperLogger</name>
+ <ruleset>Jakarta Commons Logging Rules</ruleset>
+ </rule>
+ <rule>
+ <name>MissingSerialVersionUID</name>
+ <ruleset>JavaBean Rules</ruleset>
+ </rule>
+ <rule>
+ <name>ProperCloneImplementation</name>
+ <ruleset>Clone Implementation Rules</ruleset>
+ </rule>
+ <rule>
+ <name>CloneThrowsCloneNotSupportedException</name>
+ <ruleset>Clone Implementation Rules</ruleset>
+ </rule>
+ <rule>
+ <name>CloneMethodMustImplementCloneable</name>
+ <ruleset>Type Resolution Rules</ruleset>
+ </rule>
+ </rules>
+ <includeDerivedFiles>false</includeDerivedFiles>
+ <violationsAsErrors>true</violationsAsErrors>
+</pmd>
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/AtsArtifactImageProvider.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/AtsArtifactImageProvider.java
index fcc992df85..463e594374 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/AtsArtifactImageProvider.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/AtsArtifactImageProvider.java
@@ -10,10 +10,12 @@
*******************************************************************************/
package org.eclipse.osee.ats;
+import org.eclipse.osee.ats.artifact.AbstractWorkflowArtifact;
import org.eclipse.osee.ats.artifact.AtsAttributeTypes;
-import org.eclipse.osee.ats.artifact.StateMachineArtifact;
import org.eclipse.osee.ats.artifact.TeamWorkflowExtensions;
import org.eclipse.osee.ats.util.AtsArtifactTypes;
+import org.eclipse.osee.ats.util.FavoritesManager;
+import org.eclipse.osee.ats.util.SubscribeManager;
import org.eclipse.osee.framework.core.data.IArtifactType;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
import org.eclipse.osee.framework.skynet.core.UserManager;
@@ -44,7 +46,7 @@ public class AtsArtifactImageProvider extends ArtifactImageProvider {
ArtifactImageManager.registerOverrideImageProvider(this, AtsArtifactTypes.Task.getName());
ArtifactImageManager.registerOverrideImageProvider(this, AtsArtifactTypes.PeerToPeerReview.getName());
ArtifactImageManager.registerOverrideImageProvider(this, AtsArtifactTypes.DecisionReview.getName());
- for (IArtifactType artifactType : TeamWorkflowExtensions.getInstance().getAllTeamWorkflowArtifactTypes()) {
+ for (IArtifactType artifactType : TeamWorkflowExtensions.getAllTeamWorkflowArtifactTypes()) {
ArtifactImageManager.registerOverrideImageProvider(this, artifactType.getName());
}
}
@@ -64,13 +66,13 @@ public class AtsArtifactImageProvider extends ArtifactImageProvider {
}
}
- if (artifact instanceof StateMachineArtifact) {
- StateMachineArtifact stateMachine = (StateMachineArtifact) artifact;
- if (stateMachine.isSubscribed(UserManager.getUser())) {
+ if (artifact instanceof AbstractWorkflowArtifact) {
+ AbstractWorkflowArtifact stateMachine = (AbstractWorkflowArtifact) artifact;
+ if (SubscribeManager.isSubscribed(stateMachine, UserManager.getUser())) {
// was 8,6
return ArtifactImageManager.setupImage(artifact, AtsImage.SUBSCRIBED_OVERLAY, Location.BOT_RIGHT);
}
- if (stateMachine.isFavorite(UserManager.getUser())) {
+ if (FavoritesManager.isFavorite(stateMachine, UserManager.getUser())) {
// was 7,0
return ArtifactImageManager.setupImage(artifact, AtsImage.FAVORITE_OVERLAY, Location.TOP_RIGHT);
}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/access/AtsAccessContextIdFactory.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/access/AtsAccessContextIdFactory.java
index b7df938f19..1bfa1da83f 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/access/AtsAccessContextIdFactory.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/access/AtsAccessContextIdFactory.java
@@ -29,22 +29,22 @@ public final class AtsAccessContextIdFactory {
// Static Factory Class
}
- public static AccessContextId createContextId(String guid, String name) {
+ public static AccessContextId createContextId(final String guid, final String name) {
AccessContextId context = guidToIds.get(guid);
- if (context != null) {
+ if (context == null) {
+ context = new AtsAccessContextId(guid, name);
+ guidToIds.put(guid, context);
+ } else {
OseeLog.log(
AtsPlugin.class,
Level.SEVERE,
String.format("Duplicate AtsAccessContextIds with guid [%s] named [%s] and [%s]", guid, name,
context.getName()));
- } else {
- context = new AtsAccessContextId(guid, name);
- guidToIds.put(guid, context);
}
return context;
}
- public static AccessContextId getOrCreate(String guid) {
+ public static AccessContextId getOrCreate(final String guid) {
AccessContextId context = guidToIds.get(guid);
if (context == null) {
context = createContextId(guid, "name unknown");
@@ -54,7 +54,7 @@ public final class AtsAccessContextIdFactory {
private final static class AtsAccessContextId extends NamedIdentity implements AccessContextId {
- protected AtsAccessContextId(String guid, String name) {
+ protected AtsAccessContextId(final String guid, final String name) {
super(guid, name);
}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/access/AtsAccessContextIdResolver.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/access/AtsAccessContextIdResolver.java
index 02e5bb7902..ab93df6db2 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/access/AtsAccessContextIdResolver.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/access/AtsAccessContextIdResolver.java
@@ -6,5 +6,5 @@
package org.eclipse.osee.ats.access;
public interface AtsAccessContextIdResolver {
-
+ // interface
}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/access/AtsBranchObjectContextId.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/access/AtsBranchObjectContextId.java
index 0f1b561819..ba70e804ba 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/access/AtsBranchObjectContextId.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/access/AtsBranchObjectContextId.java
@@ -15,7 +15,7 @@ import org.eclipse.osee.framework.core.data.AccessContextId;
/**
* @author Donald G. Dunne
*/
-public class AtsBranchObjectContextId {
+public final class AtsBranchObjectContextId {
public static final AccessContextId DEFAULT_BRANCH_CONTEXT = AtsAccessContextIdFactory.createContextId(
"AFRkIhi2m2cdanu3i2AA", "ats.branchobject.default.context");
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/access/AtsBranchObjectManager.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/access/AtsBranchObjectManager.java
index cb69908eb9..428f90e963 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/access/AtsBranchObjectManager.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/access/AtsBranchObjectManager.java
@@ -59,27 +59,27 @@ public class AtsBranchObjectManager implements AtsAccessContextIdResolver {
}
public AccessContextId getContextId(Artifact artifact) {
- AccessContextId id = null;
+ AccessContextId contextId = null;
try {
// If artifact has a context id on it, use that
- id = getFromArtifact(artifact);
- if (id == null) {
+ contextId = getFromArtifact(artifact);
+ if (contextId == null) {
Artifact assocArtifact =
ArtifactQuery.getArtifactFromId(artifact.getBranch().getAssociatedArtifactId(), atsBranch);
ArtifactType assocArtType = assocArtifact.getArtifactType();
if (assocArtType.inheritsFrom(AtsArtifactTypes.TeamWorkflow)) {
- id = getFromWorkflow((TeamWorkFlowArtifact) assocArtifact);
+ contextId = getFromWorkflow((TeamWorkFlowArtifact) assocArtifact);
} else if (assocArtifact.isOfType(AtsArtifactTypes.AtsArtifact)) {
- id = AtsBranchObjectContextId.DENY_CONTEXT;
+ contextId = AtsBranchObjectContextId.DENY_CONTEXT;
} else {
- id = AtsBranchObjectContextId.DEFAULT_BRANCH_CONTEXT;
+ contextId = AtsBranchObjectContextId.DEFAULT_BRANCH_CONTEXT;
}
}
} catch (OseeCoreException ex) {
OseeLog.log(AtsPlugin.class, Level.SEVERE, "Exception obtaining Branch Access Context Id; Deny returned", ex);
- id = AtsBranchObjectContextId.DENY_CONTEXT;
+ contextId = AtsBranchObjectContextId.DENY_CONTEXT;
}
- return id;
+ return contextId;
}
private AccessContextId getFromWorkflow(TeamWorkFlowArtifact teamArt) {
@@ -87,21 +87,21 @@ public class AtsBranchObjectManager implements AtsAccessContextIdResolver {
if (atsAccessServices != null) {
for (IAtsAccessControlService service : atsAccessServices) {
IAtsAccessControlService accessService = service;
- AccessContextId id = accessService.getBranchAccessContextIdFromWorkflow(teamArt);
- if (id != null) {
- return id;
+ AccessContextId contextId = accessService.getBranchAccessContextIdFromWorkflow(teamArt);
+ if (contextId != null) {
+ return contextId;
}
}
}
for (ActionableItemArtifact aia : teamArt.getActionableItemsDam().getActionableItems()) {
- AccessContextId id = getFromArtifact(aia);
- if (id != null) {
- return id;
+ AccessContextId contextId = getFromArtifact(aia);
+ if (contextId != null) {
+ return contextId;
}
}
- AccessContextId id = getFromArtifact(teamArt.getTeamDefinition());
- if (id != null) {
- return id;
+ AccessContextId contextId = getFromArtifact(teamArt.getTeamDefinition());
+ if (contextId != null) {
+ return contextId;
}
} catch (Exception ex) {
OseeLog.log(AtsPlugin.class, Level.SEVERE, "Exception obtaining Branch Access Context Id; Deny returned", ex);
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/AccessControlAction.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/AccessControlAction.java
index 686b971b7b..29a5434432 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/AccessControlAction.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/AccessControlAction.java
@@ -12,7 +12,7 @@ package org.eclipse.osee.ats.actions;
import org.eclipse.jface.action.Action;
import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.osee.ats.artifact.StateMachineArtifact;
+import org.eclipse.osee.ats.artifact.AbstractWorkflowArtifact;
import org.eclipse.osee.framework.ui.skynet.FrameworkImage;
import org.eclipse.osee.framework.ui.skynet.access.PolicyDialog;
import org.eclipse.osee.framework.ui.swt.Displays;
@@ -23,9 +23,9 @@ import org.eclipse.osee.framework.ui.swt.ImageManager;
*/
public class AccessControlAction extends Action {
- private final StateMachineArtifact sma;
+ private final AbstractWorkflowArtifact sma;
- public AccessControlAction(StateMachineArtifact sma) {
+ public AccessControlAction(AbstractWorkflowArtifact sma) {
super("Access Control");
setToolTipText(getText());
this.sma = sma;
@@ -33,8 +33,8 @@ public class AccessControlAction extends Action {
@Override
public void run() {
- PolicyDialog pd = new PolicyDialog(Displays.getActiveShell(), sma);
- pd.open();
+ PolicyDialog dialog = new PolicyDialog(Displays.getActiveShell(), sma);
+ dialog.open();
}
@Override
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/AddNoteAction.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/AddNoteAction.java
index f917e76676..057f8cf7b7 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/AddNoteAction.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/AddNoteAction.java
@@ -20,7 +20,7 @@ import org.eclipse.jface.wizard.WizardDialog;
import org.eclipse.osee.ats.AtsImage;
import org.eclipse.osee.ats.NoteType;
import org.eclipse.osee.ats.actions.wizard.NewNoteWizard;
-import org.eclipse.osee.ats.artifact.StateMachineArtifact;
+import org.eclipse.osee.ats.artifact.AbstractWorkflowArtifact;
import org.eclipse.osee.ats.internal.AtsPlugin;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
import org.eclipse.osee.framework.logging.OseeLevel;
@@ -35,9 +35,10 @@ import org.eclipse.ui.PlatformUI;
*/
public class AddNoteAction extends Action {
- private final StateMachineArtifact sma;
+ private final AbstractWorkflowArtifact sma;
- public AddNoteAction(StateMachineArtifact sma) {
+ public AddNoteAction(AbstractWorkflowArtifact sma) {
+ super();
this.sma = sma;
setText("Add Note");
setToolTipText(getText());
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/ConvertActionableItemsAction.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/ConvertActionableItemsAction.java
index 46a97b0e2b..a19066c37f 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/ConvertActionableItemsAction.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/ConvertActionableItemsAction.java
@@ -16,6 +16,7 @@ import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.osee.ats.AtsImage;
import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact;
import org.eclipse.osee.ats.internal.AtsPlugin;
+import org.eclipse.osee.ats.util.ActionableItemManager;
import org.eclipse.osee.framework.core.exception.OseeStateException;
import org.eclipse.osee.framework.jdk.core.util.Collections;
import org.eclipse.osee.framework.logging.OseeLevel;
@@ -46,7 +47,7 @@ public class ConvertActionableItemsAction extends Action {
}
TeamWorkFlowArtifact teamArt = teamArts.iterator().next();
- Result result = teamArt.convertActionableItems();
+ Result result = ActionableItemManager.convertActionableItems(teamArt);
if (result.isFalse() && !result.getText().equals("")) {
result.popup();
}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/CopyActionDetailsAction.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/CopyActionDetailsAction.java
index eb4c11ae77..87a815bc4c 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/CopyActionDetailsAction.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/CopyActionDetailsAction.java
@@ -15,7 +15,7 @@ import org.eclipse.jface.action.Action;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.osee.ats.AtsImage;
import org.eclipse.osee.ats.artifact.AtsAttributeTypes;
-import org.eclipse.osee.ats.artifact.StateMachineArtifact;
+import org.eclipse.osee.ats.artifact.AbstractWorkflowArtifact;
import org.eclipse.osee.ats.artifact.TeamDefinitionArtifact;
import org.eclipse.osee.ats.internal.AtsPlugin;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
@@ -33,9 +33,10 @@ import org.eclipse.swt.dnd.Transfer;
public class CopyActionDetailsAction extends Action {
private Clipboard clipboard;
- private final StateMachineArtifact sma;
+ private final AbstractWorkflowArtifact sma;
- public CopyActionDetailsAction(StateMachineArtifact sma) {
+ public CopyActionDetailsAction(AbstractWorkflowArtifact sma) {
+ super();
this.sma = sma;
String title = "Copy";
title = "Copy " + sma.getArtifactTypeName() + " details to clipboard";
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/DeletePurgeAtsArtifactsAction.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/DeletePurgeAtsArtifactsAction.java
index fc99184f6f..9b3b9b8eb6 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/DeletePurgeAtsArtifactsAction.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/DeletePurgeAtsArtifactsAction.java
@@ -29,6 +29,7 @@ public class DeletePurgeAtsArtifactsAction extends Action {
private final ISelectedAtsArtifacts selectedAtsArtifacts;
public DeletePurgeAtsArtifactsAction(ISelectedAtsArtifacts selectedAtsArtifacts) {
+ super();
this.selectedAtsArtifacts = selectedAtsArtifacts;
setText("Delete/Purge Ats Artifact(s)");
setToolTipText(getText());
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/DirtyReportAction.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/DirtyReportAction.java
index 4d2549a30e..a3ccbe7c2b 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/DirtyReportAction.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/DirtyReportAction.java
@@ -12,7 +12,7 @@ package org.eclipse.osee.ats.actions;
import org.eclipse.jface.action.Action;
import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.osee.ats.artifact.StateMachineArtifact;
+import org.eclipse.osee.ats.artifact.AbstractWorkflowArtifact;
import org.eclipse.osee.framework.ui.plugin.util.AWorkbench;
import org.eclipse.osee.framework.ui.plugin.util.Result;
import org.eclipse.osee.framework.ui.skynet.FrameworkImage;
@@ -23,9 +23,9 @@ import org.eclipse.osee.framework.ui.swt.ImageManager;
*/
public class DirtyReportAction extends Action {
- private final StateMachineArtifact sma;
+ private final AbstractWorkflowArtifact sma;
- public DirtyReportAction(StateMachineArtifact sma) {
+ public DirtyReportAction(AbstractWorkflowArtifact sma) {
super("Show Artifact Dirty Report");
this.sma = sma;
setToolTipText("Show what attribute or relation making editor dirty.");
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/DuplicateWorkflowViaWorldEditorAction.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/DuplicateWorkflowViaWorldEditorAction.java
index 08e14f7baf..3378e85277 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/DuplicateWorkflowViaWorldEditorAction.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/DuplicateWorkflowViaWorldEditorAction.java
@@ -30,6 +30,7 @@ public class DuplicateWorkflowViaWorldEditorAction extends Action {
private final WorldEditor worldEditor;
public DuplicateWorkflowViaWorldEditorAction(WorldEditor worldEditor) {
+ super();
this.worldEditor = worldEditor;
setText("Duplicate Team Workflow");
}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/EmailActionAction.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/EmailActionAction.java
index 5f2f9d8fee..675fe5b3ce 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/EmailActionAction.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/EmailActionAction.java
@@ -14,7 +14,7 @@ import java.util.logging.Level;
import org.eclipse.jface.action.Action;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.osee.ats.artifact.StateMachineArtifact;
+import org.eclipse.osee.ats.artifact.AbstractWorkflowArtifact;
import org.eclipse.osee.ats.internal.AtsPlugin;
import org.eclipse.osee.ats.util.ArtifactEmailWizard;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
@@ -32,6 +32,7 @@ public class EmailActionAction extends Action {
private final ISelectedAtsArtifacts selectedAtsArtifacts;
public EmailActionAction(ISelectedAtsArtifacts selectedAtsArtifacts) {
+ super();
this.selectedAtsArtifacts = selectedAtsArtifacts;
try {
updateName();
@@ -42,10 +43,10 @@ public class EmailActionAction extends Action {
}
private void performEmail() throws OseeCoreException {
- ArtifactEmailWizard ew =
+ ArtifactEmailWizard wizard =
new ArtifactEmailWizard(
- ((StateMachineArtifact) selectedAtsArtifacts.getSelectedSMAArtifacts().iterator().next()));
- WizardDialog dialog = new WizardDialog(Displays.getActiveShell(), ew);
+ ((AbstractWorkflowArtifact) selectedAtsArtifacts.getSelectedSMAArtifacts().iterator().next()));
+ WizardDialog dialog = new WizardDialog(Displays.getActiveShell(), wizard);
dialog.create();
dialog.open();
}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/ExportChangeReportsAction.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/ExportChangeReportsAction.java
index 89e30f6ab1..3493f722dd 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/ExportChangeReportsAction.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/ExportChangeReportsAction.java
@@ -11,10 +11,8 @@
package org.eclipse.osee.ats.actions;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
-import java.util.Comparator;
import java.util.Iterator;
import java.util.List;
import java.util.logging.Level;
@@ -26,7 +24,6 @@ import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact;
import org.eclipse.osee.ats.internal.AtsPlugin;
import org.eclipse.osee.ats.util.AtsBranchManager;
import org.eclipse.osee.ats.world.WorldEditor;
-import org.eclipse.osee.framework.core.enums.CoreBranches;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
import org.eclipse.osee.framework.core.exception.OseeStateException;
import org.eclipse.osee.framework.core.model.Branch;
@@ -36,7 +33,6 @@ import org.eclipse.osee.framework.core.operation.IOperation;
import org.eclipse.osee.framework.core.operation.Operations;
import org.eclipse.osee.framework.logging.OseeLog;
import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
-import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery;
import org.eclipse.osee.framework.skynet.core.change.ArtifactChange;
import org.eclipse.osee.framework.skynet.core.change.Change;
import org.eclipse.osee.framework.skynet.core.revision.ChangeManager;
@@ -52,49 +48,51 @@ import org.eclipse.osee.framework.ui.swt.ImageManager;
*/
public class ExportChangeReportsAction extends Action {
private final WorldEditor worldEditor;
- private final boolean reverse;
+
+ // private final boolean reverse;
public ExportChangeReportsAction(WorldEditor worldEditor, boolean reverse) {
- this.reverse = reverse;
+ super();
+ // this.reverse = reverse;
setText("Export Change Report(s)");
- setImageDescriptor(getImageDescriptor());
+ setImageDescriptor(ImageManager.getImageDescriptor(FrameworkImage.EXPORT_DATA));
this.worldEditor = worldEditor;
}
@SuppressWarnings("unused")
public Collection<TeamWorkFlowArtifact> getWorkflows() throws OseeCoreException {
- if (true) {
- Collection<String> dontCreate = Arrays.asList(new String[] {});
- Collection<String> legacyIds = Arrays.asList(new String[] {"12442"});
-
- List<TeamWorkFlowArtifact> workflows = new ArrayList<TeamWorkFlowArtifact>();
- if (workflows.isEmpty()) {
- List<Artifact> artifacts =
- ArtifactQuery.getArtifactListFromAttributeValues(AtsAttributeTypes.LegacyPcrId, legacyIds,
- CoreBranches.COMMON, legacyIds.size());
- for (Artifact artifact : artifacts) {
- if (artifact.getArtifactType().getGuid().equals("AAMFDjZ1UVAQTXHk2GgA")) {
- TeamWorkFlowArtifact teamWorkflow = (TeamWorkFlowArtifact) artifact;
- String legacyId = teamWorkflow.getWorldViewLegacyPCR();
- if (!dontCreate.contains(legacyId)) {
- workflows.add(teamWorkflow);
- }
- }
- }
- Collections.sort(workflows, new Comparator<TeamWorkFlowArtifact>() {
- @Override
- public int compare(TeamWorkFlowArtifact workflow1, TeamWorkFlowArtifact workflow2) {
- try {
- int compare = workflow1.getWorldViewLegacyPCR().compareTo(workflow2.getWorldViewLegacyPCR());
- return reverse ? -1 * compare : compare;
- } catch (OseeCoreException ex) {
- return -1;
- }
- }
- });
- }
- return workflows;
- }
+ // if (true) {
+ // Collection<String> dontCreate = Arrays.asList(new String[] {});
+ // Collection<String> legacyIds = Arrays.asList(new String[] {"12442"});
+ //
+ // List<TeamWorkFlowArtifact> workflows = new ArrayList<TeamWorkFlowArtifact>();
+ // if (workflows.isEmpty()) {
+ // List<Artifact> artifacts =
+ // ArtifactQuery.getArtifactListFromAttributeValues(AtsAttributeTypes.LegacyPcrId, legacyIds,
+ // CoreBranches.COMMON, legacyIds.size());
+ // for (Artifact artifact : artifacts) {
+ // if (artifact.getArtifactType().getGuid().equals("AAMFDjZ1UVAQTXHk2GgA")) {
+ // TeamWorkFlowArtifact teamWorkflow = (TeamWorkFlowArtifact) artifact;
+ // String legacyId = teamWorkflow.getWorldViewLegacyPCR();
+ // if (!dontCreate.contains(legacyId)) {
+ // workflows.add(teamWorkflow);
+ // }
+ // }
+ // }
+ // Collections.sort(workflows, new Comparator<TeamWorkFlowArtifact>() {
+ // @Override
+ // public int compare(TeamWorkFlowArtifact workflow1, TeamWorkFlowArtifact workflow2) {
+ // try {
+ // int compare = workflow1.getWorldViewLegacyPCR().compareTo(workflow2.getWorldViewLegacyPCR());
+ // return reverse ? -1 * compare : compare;
+ // } catch (OseeCoreException ex) {
+ // return -1;
+ // }
+ // }
+ // });
+ // }
+ // return workflows;
+ // }
return worldEditor.getWorldComposite().getXViewer().getSelectedTeamWorkflowArtifacts();
}
@@ -148,8 +146,7 @@ public class ExportChangeReportsAction extends Action {
Collection<Change> changes = computeChanges(workflow, monitor);
if (!changes.isEmpty() && changes.size() < 4000) {
String folderName = workflow.getSoleAttributeValueAsString(AtsAttributeTypes.LegacyPcrId, null);
- IOperation subOp = new WordChangeReportOperation(changes, folderName);
- doSubWork(subOp, monitor, 0.50);
+ doSubWork(new WordChangeReportOperation(changes, folderName), monitor, 0.50);
} else {
monitor.worked(calculateWork(0.50));
}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/FavoriteAction.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/FavoriteAction.java
index 2a6d4a52c2..006fd43f79 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/FavoriteAction.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/FavoriteAction.java
@@ -16,8 +16,7 @@ import java.util.List;
import org.eclipse.jface.action.Action;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.osee.ats.AtsImage;
-import org.eclipse.osee.ats.artifact.IFavoriteableArtifact;
-import org.eclipse.osee.ats.artifact.StateMachineArtifact;
+import org.eclipse.osee.ats.artifact.AbstractWorkflowArtifact;
import org.eclipse.osee.ats.internal.AtsPlugin;
import org.eclipse.osee.ats.util.FavoritesManager;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
@@ -34,6 +33,7 @@ public class FavoriteAction extends Action {
private final ISelectedAtsArtifacts selectedAtsArtifacts;
public FavoriteAction(ISelectedAtsArtifacts selectedAtsArtifacts) {
+ super();
this.selectedAtsArtifacts = selectedAtsArtifacts;
updateName();
}
@@ -43,7 +43,7 @@ public class FavoriteAction extends Action {
try {
if (getSelectedFavoritableArts().size() == 1) {
title =
- getSelectedFavoritableArts().iterator().next().amIFavorite() ? "Remove Favorite" : "Add as Favorite";
+ FavoritesManager.amIFavorite(getSelectedFavoritableArts().iterator().next()) ? "Remove Favorite" : "Add as Favorite";
} else {
title = "Toggle Favorites";
}
@@ -54,11 +54,11 @@ public class FavoriteAction extends Action {
setToolTipText(title);
}
- public Collection<IFavoriteableArtifact> getSelectedFavoritableArts() throws OseeCoreException {
- List<IFavoriteableArtifact> favoritableArts = new ArrayList<IFavoriteableArtifact>();
+ public Collection<AbstractWorkflowArtifact> getSelectedFavoritableArts() throws OseeCoreException {
+ List<AbstractWorkflowArtifact> favoritableArts = new ArrayList<AbstractWorkflowArtifact>();
for (Artifact art : selectedAtsArtifacts.getSelectedSMAArtifacts()) {
- if (art instanceof IFavoriteableArtifact) {
- favoritableArts.add((IFavoriteableArtifact) art);
+ if (art instanceof AbstractWorkflowArtifact) {
+ favoritableArts.add((AbstractWorkflowArtifact) art);
}
}
return favoritableArts;
@@ -67,9 +67,7 @@ public class FavoriteAction extends Action {
@Override
public void run() {
try {
- for (IFavoriteableArtifact sma : getSelectedFavoritableArts()) {
- new FavoritesManager((StateMachineArtifact) sma).toggleFavorite();
- }
+ new FavoritesManager(getSelectedFavoritableArts()).toggleFavorite();
} catch (OseeCoreException ex) {
OseeLog.log(AtsPlugin.class, OseeLevel.SEVERE_POPUP, ex);
}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/ISelectedAtsArtifacts.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/ISelectedAtsArtifacts.java
index 4f4b6d3384..0dcf0c0e1c 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/ISelectedAtsArtifacts.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/ISelectedAtsArtifacts.java
@@ -20,8 +20,8 @@ import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
*/
public interface ISelectedAtsArtifacts {
- public Set<? extends Artifact> getSelectedSMAArtifacts() throws OseeCoreException;
+ Set<? extends Artifact> getSelectedSMAArtifacts() throws OseeCoreException;
- public List<Artifact> getSelectedAtsArtifacts() throws OseeCoreException;
+ List<Artifact> getSelectedAtsArtifacts() throws OseeCoreException;
}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/ImportTasksViaSimpleList.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/ImportTasksViaSimpleList.java
index b355162e34..48e2eb499e 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/ImportTasksViaSimpleList.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/ImportTasksViaSimpleList.java
@@ -11,7 +11,7 @@
package org.eclipse.osee.ats.actions;
import org.eclipse.jface.action.Action;
-import org.eclipse.osee.ats.artifact.TaskableStateMachineArtifact;
+import org.eclipse.osee.ats.artifact.AbstractTaskableArtifact;
import org.eclipse.osee.ats.internal.AtsPlugin;
import org.eclipse.osee.ats.operation.ImportTasksFromSimpleList;
import org.eclipse.osee.framework.logging.OseeLevel;
@@ -26,10 +26,11 @@ import org.eclipse.swt.widgets.Listener;
*/
public class ImportTasksViaSimpleList extends Action {
- private final TaskableStateMachineArtifact taskableArt;
+ private final AbstractTaskableArtifact taskableArt;
private final Listener listener;
- public ImportTasksViaSimpleList(TaskableStateMachineArtifact taskableArt, Listener listener) {
+ public ImportTasksViaSimpleList(AbstractTaskableArtifact taskableArt, Listener listener) {
+ super();
this.taskableArt = taskableArt;
this.listener = listener;
setText("Import Tasks via simple list");
@@ -43,7 +44,7 @@ public class ImportTasksViaSimpleList extends Action {
blamOperation.setTaskableStateMachineArtifact(taskableArt);
BlamEditor.edit(blamOperation);
if (listener != null) {
- listener.notify();
+ listener.notifyAll();
}
} catch (Exception ex) {
OseeLog.log(AtsPlugin.class, OseeLevel.SEVERE_POPUP, ex);
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/ImportTasksViaSpreadsheet.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/ImportTasksViaSpreadsheet.java
index 24c2862443..d5d4f09db2 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/ImportTasksViaSpreadsheet.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/ImportTasksViaSpreadsheet.java
@@ -11,7 +11,7 @@
package org.eclipse.osee.ats.actions;
import org.eclipse.jface.action.Action;
-import org.eclipse.osee.ats.artifact.TaskableStateMachineArtifact;
+import org.eclipse.osee.ats.artifact.AbstractTaskableArtifact;
import org.eclipse.osee.ats.internal.AtsPlugin;
import org.eclipse.osee.ats.operation.ImportTasksFromSpreadsheet;
import org.eclipse.osee.framework.logging.OseeLevel;
@@ -26,10 +26,11 @@ import org.eclipse.swt.widgets.Listener;
*/
public class ImportTasksViaSpreadsheet extends Action {
- private final TaskableStateMachineArtifact taskableArt;
+ private final AbstractTaskableArtifact taskableArt;
private final Listener listener;
- public ImportTasksViaSpreadsheet(TaskableStateMachineArtifact taskableArt, Listener listener) {
+ public ImportTasksViaSpreadsheet(AbstractTaskableArtifact taskableArt, Listener listener) {
+ super();
this.taskableArt = taskableArt;
this.listener = listener;
setText("Import Tasks via spreadsheet");
@@ -43,7 +44,7 @@ public class ImportTasksViaSpreadsheet extends Action {
blamOperation.setTaskableStateMachineArtifact(taskableArt);
BlamEditor.edit(blamOperation);
if (listener != null) {
- listener.notify();
+ listener.notifyAll();
}
} catch (Exception ex) {
OseeLog.log(AtsPlugin.class, OseeLevel.SEVERE_POPUP, ex);
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/NewDecisionReviewJob.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/NewDecisionReviewJob.java
index 28b34bf074..a2c0e8b404 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/NewDecisionReviewJob.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/NewDecisionReviewJob.java
@@ -18,7 +18,7 @@ import org.eclipse.core.runtime.Status;
import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.osee.ats.AtsOpenOption;
import org.eclipse.osee.ats.artifact.DecisionReviewArtifact;
-import org.eclipse.osee.ats.artifact.ReviewSMArtifact.ReviewBlockType;
+import org.eclipse.osee.ats.artifact.AbstractReviewArtifact.ReviewBlockType;
import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact;
import org.eclipse.osee.ats.internal.AtsPlugin;
import org.eclipse.osee.ats.util.AtsUtil;
@@ -30,7 +30,6 @@ import org.eclipse.osee.framework.skynet.core.User;
*/
public class NewDecisionReviewJob extends Job {
private final TeamWorkFlowArtifact teamParent;
- private DecisionReviewArtifact decisionReviewArtifact;
private final ReviewBlockType reviewBlockType;
private final String reviewTitle;
private final String againstState;
@@ -52,11 +51,11 @@ public class NewDecisionReviewJob extends Job {
@Override
public IStatus run(final IProgressMonitor monitor) {
try {
- decisionReviewArtifact =
+ DecisionReviewArtifact decArt =
ReviewManager.createNewDecisionReview(teamParent, reviewBlockType, reviewTitle, againstState, description,
options, assignees);
- decisionReviewArtifact.persist();
- AtsUtil.openATSAction(decisionReviewArtifact, AtsOpenOption.OpenOneOrPopupSelect);
+ decArt.persist();
+ AtsUtil.openATSAction(decArt, AtsOpenOption.OpenOneOrPopupSelect);
} catch (Exception ex) {
monitor.done();
return new Status(IStatus.ERROR, AtsPlugin.PLUGIN_ID, -1, "Error creating Decision Review", ex);
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/NewGoal.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/NewGoal.java
index 469cbbc9b8..91c029438c 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/NewGoal.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/NewGoal.java
@@ -16,6 +16,7 @@ import org.eclipse.osee.ats.artifact.GoalArtifact;
import org.eclipse.osee.ats.config.AtsBulkLoad;
import org.eclipse.osee.ats.editor.SMAEditor;
import org.eclipse.osee.ats.internal.AtsPlugin;
+import org.eclipse.osee.ats.util.GoalManager;
import org.eclipse.osee.framework.logging.OseeLevel;
import org.eclipse.osee.framework.logging.OseeLog;
import org.eclipse.osee.framework.ui.skynet.widgets.dialog.EntryDialog;
@@ -37,10 +38,10 @@ public class NewGoal extends Action {
super.run();
AtsBulkLoad.loadConfig(true);
try {
- EntryDialog ed = new EntryDialog("New Goal", "Enter Title");
- if (ed.open() == 0) {
- String title = ed.getEntry();
- GoalArtifact goalArt = GoalArtifact.createGoal(title);
+ EntryDialog dialog = new EntryDialog("New Goal", "Enter Title");
+ if (dialog.open() == 0) {
+ String title = dialog.getEntry();
+ GoalArtifact goalArt = GoalManager.createGoal(title);
goalArt.persist();
SMAEditor.editArtifact(goalArt);
}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/NewPeerToPeerReviewJob.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/NewPeerToPeerReviewJob.java
index 52294488d6..38d12df2e6 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/NewPeerToPeerReviewJob.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/NewPeerToPeerReviewJob.java
@@ -30,7 +30,6 @@ public class NewPeerToPeerReviewJob extends Job {
private final TeamWorkFlowArtifact teamParent;
private final String againstState;
- private PeerToPeerReviewArtifact peerToPeerReviewArtifact;
private final String reviewTitle;
public NewPeerToPeerReviewJob(TeamWorkFlowArtifact teamParent, String reviewTitle, String againstState) {
@@ -44,12 +43,12 @@ public class NewPeerToPeerReviewJob extends Job {
public IStatus run(final IProgressMonitor monitor) {
try {
SkynetTransaction transaction = new SkynetTransaction(AtsUtil.getAtsBranch(), "New Peer To Peer Review");
- peerToPeerReviewArtifact =
+ PeerToPeerReviewArtifact peerArt =
ReviewManager.createNewPeerToPeerReview(teamParent, reviewTitle, againstState, transaction);
- peerToPeerReviewArtifact.persist(transaction);
+ peerArt.persist(transaction);
transaction.execute();
- AtsUtil.openATSAction(peerToPeerReviewArtifact, AtsOpenOption.OpenOneOrPopupSelect);
+ AtsUtil.openATSAction(peerArt, AtsOpenOption.OpenOneOrPopupSelect);
} catch (Exception ex) {
monitor.done();
return new Status(IStatus.ERROR, AtsPlugin.PLUGIN_ID, -1, "Error creating PeerToPeer Review", ex);
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/OpenInArtifactEditorAction.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/OpenInArtifactEditorAction.java
index f6d89cb148..29f822d3fd 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/OpenInArtifactEditorAction.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/OpenInArtifactEditorAction.java
@@ -30,6 +30,7 @@ public class OpenInArtifactEditorAction extends Action {
private final ISelectedAtsArtifacts selectedAtsArtifacts;
public OpenInArtifactEditorAction(ISelectedAtsArtifacts selectedAtsArtifacts) {
+ super();
this.selectedAtsArtifacts = selectedAtsArtifacts;
setText("Open Artifact Editor");
setToolTipText(getText());
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/OpenInAtsWorkflowEditor.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/OpenInAtsWorkflowEditor.java
index a1527c018a..724b04f80c 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/OpenInAtsWorkflowEditor.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/OpenInAtsWorkflowEditor.java
@@ -30,6 +30,7 @@ public class OpenInAtsWorkflowEditor extends Action {
private final ISelectedAtsArtifacts selectedAtsArtifacts;
public OpenInAtsWorkflowEditor(String name, ISelectedAtsArtifacts selectedAtsArtifacts) {
+ super();
this.selectedAtsArtifacts = selectedAtsArtifacts;
setText(name);
}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/OpenInAtsWorldAction.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/OpenInAtsWorldAction.java
index 112c451b2f..2e779bf888 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/OpenInAtsWorldAction.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/OpenInAtsWorldAction.java
@@ -15,7 +15,7 @@ import org.eclipse.jface.action.Action;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.osee.ats.AtsImage;
import org.eclipse.osee.ats.artifact.ActionArtifact;
-import org.eclipse.osee.ats.artifact.StateMachineArtifact;
+import org.eclipse.osee.ats.artifact.AbstractWorkflowArtifact;
import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact;
import org.eclipse.osee.ats.internal.AtsPlugin;
import org.eclipse.osee.ats.world.WorldEditor;
@@ -30,9 +30,10 @@ import org.eclipse.osee.framework.ui.swt.ImageManager;
*/
public class OpenInAtsWorldAction extends Action {
- private final StateMachineArtifact sma;
+ private final AbstractWorkflowArtifact sma;
- public OpenInAtsWorldAction(StateMachineArtifact sma) {
+ public OpenInAtsWorldAction(AbstractWorkflowArtifact sma) {
+ super();
this.sma = sma;
setText("Open in ATS World Editor");
}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/OpenInMassEditorAction.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/OpenInMassEditorAction.java
index a1cfa8de5b..f9e61ded3a 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/OpenInMassEditorAction.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/OpenInMassEditorAction.java
@@ -28,6 +28,7 @@ public class OpenInMassEditorAction extends Action {
private final ISelectedAtsArtifacts selectedAtsArtifacts;
public OpenInMassEditorAction(ISelectedAtsArtifacts selectedAtsArtifacts) {
+ super();
this.selectedAtsArtifacts = selectedAtsArtifacts;
setText("Open Mass Editor");
setToolTipText(getText());
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/OpenInSkyWalkerAction.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/OpenInSkyWalkerAction.java
index 24fa237d58..77bd04464b 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/OpenInSkyWalkerAction.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/OpenInSkyWalkerAction.java
@@ -12,7 +12,7 @@ package org.eclipse.osee.ats.actions;
import org.eclipse.jface.action.Action;
import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.osee.ats.artifact.StateMachineArtifact;
+import org.eclipse.osee.ats.artifact.AbstractWorkflowArtifact;
import org.eclipse.osee.framework.ui.skynet.FrameworkImage;
import org.eclipse.osee.framework.ui.skynet.skywalker.SkyWalkerView;
import org.eclipse.osee.framework.ui.swt.ImageManager;
@@ -22,9 +22,10 @@ import org.eclipse.osee.framework.ui.swt.ImageManager;
*/
public class OpenInSkyWalkerAction extends Action {
- private final StateMachineArtifact sma;
+ private final AbstractWorkflowArtifact sma;
- public OpenInSkyWalkerAction(StateMachineArtifact sma) {
+ public OpenInSkyWalkerAction(AbstractWorkflowArtifact sma) {
+ super();
this.sma = sma;
setText("Open Sky Walker");
setToolTipText(getText());
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/OpenNewAtsTaskEditorAction.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/OpenNewAtsTaskEditorAction.java
index b1278fe630..110d4424d6 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/OpenNewAtsTaskEditorAction.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/OpenNewAtsTaskEditorAction.java
@@ -30,15 +30,16 @@ public class OpenNewAtsTaskEditorAction extends Action {
private final IOpenNewAtsTaskEditorHandler openNewAtsTaskEditorHandler;
public OpenNewAtsTaskEditorAction(IOpenNewAtsTaskEditorHandler openNewAtsTaskEditorHandler) {
+ super();
this.openNewAtsTaskEditorHandler = openNewAtsTaskEditorHandler;
setImageDescriptor(ImageManager.getImageDescriptor(AtsImage.TASK));
setToolTipText("Open New ATS Task Editor");
}
public interface IOpenNewAtsTaskEditorHandler {
- public ITaskEditorProvider getTaskEditorProviderCopy() throws OseeCoreException;
+ ITaskEditorProvider getTaskEditorProviderCopy() throws OseeCoreException;
- public CustomizeData getCustomizeDataCopy() throws OseeCoreException;
+ CustomizeData getCustomizeDataCopy() throws OseeCoreException;
}
@Override
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/OpenNewAtsTaskEditorSelected.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/OpenNewAtsTaskEditorSelected.java
index a760f912ac..f6872d4921 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/OpenNewAtsTaskEditorSelected.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/OpenNewAtsTaskEditorSelected.java
@@ -10,7 +10,7 @@
*******************************************************************************/
package org.eclipse.osee.ats.actions;
-import java.util.ArrayList;
+import java.util.List;
import org.eclipse.jface.action.Action;
import org.eclipse.nebula.widgets.xviewer.customize.CustomizeData;
import org.eclipse.osee.ats.AtsImage;
@@ -32,16 +32,16 @@ public class OpenNewAtsTaskEditorSelected extends Action {
private final IOpenNewAtsTaskEditorSelectedHandler openNewAtsTaskEditorSelectedHandler;
public OpenNewAtsTaskEditorSelected(IOpenNewAtsTaskEditorSelectedHandler openNewAtsTaskEditorSelectedHandler) {
+ super();
this.openNewAtsTaskEditorSelectedHandler = openNewAtsTaskEditorSelectedHandler;
setImageDescriptor(ImageManager.getImageDescriptor(AtsImage.TASK_SELECTED));
setToolTipText("Open Selected in ATS Task Editor");
}
public interface IOpenNewAtsTaskEditorSelectedHandler {
- public CustomizeData getCustomizeDataCopy() throws OseeCoreException;
-
- public ArrayList<? extends Artifact> getSelectedArtifacts() throws OseeCoreException;
+ CustomizeData getCustomizeDataCopy() throws OseeCoreException;
+ List<? extends Artifact> getSelectedArtifacts() throws OseeCoreException;
}
@Override
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/OpenNewAtsWorldEditorAction.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/OpenNewAtsWorldEditorAction.java
index a396ed99e6..854fcfd5c5 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/OpenNewAtsWorldEditorAction.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/OpenNewAtsWorldEditorAction.java
@@ -30,15 +30,16 @@ public class OpenNewAtsWorldEditorAction extends Action {
private final IOpenNewAtsWorldEditorHandler openNewAtsWorldEditorHandler;
public OpenNewAtsWorldEditorAction(IOpenNewAtsWorldEditorHandler openNewAtsWorldEditorHandler) {
+ super();
this.openNewAtsWorldEditorHandler = openNewAtsWorldEditorHandler;
setImageDescriptor(ImageManager.getImageDescriptor(AtsImage.GLOBE));
setToolTipText("Open in ATS World Editor");
}
public interface IOpenNewAtsWorldEditorHandler {
- public IWorldEditorProvider getWorldEditorProviderCopy() throws OseeCoreException;
+ IWorldEditorProvider getWorldEditorProviderCopy() throws OseeCoreException;
- public CustomizeData getCustomizeDataCopy() throws OseeCoreException;
+ CustomizeData getCustomizeDataCopy() throws OseeCoreException;
}
@Override
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/OpenNewAtsWorldEditorSelectedAction.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/OpenNewAtsWorldEditorSelectedAction.java
index 3d157c9f25..1090d8ba12 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/OpenNewAtsWorldEditorSelectedAction.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/OpenNewAtsWorldEditorSelectedAction.java
@@ -33,16 +33,16 @@ public class OpenNewAtsWorldEditorSelectedAction extends Action {
private final IOpenNewAtsWorldEditorSelectedHandler openNewAtsWorldEditorSelectedHandler;
public OpenNewAtsWorldEditorSelectedAction(IOpenNewAtsWorldEditorSelectedHandler openNewAtsWorldEditorSelectedHandler) {
+ super();
this.openNewAtsWorldEditorSelectedHandler = openNewAtsWorldEditorSelectedHandler;
setImageDescriptor(ImageManager.getImageDescriptor(AtsImage.GLOBE_SELECT));
setToolTipText("Open Selected in ATS World Editor");
}
public interface IOpenNewAtsWorldEditorSelectedHandler {
- public CustomizeData getCustomizeDataCopy() throws OseeCoreException;
-
- public ArrayList<Artifact> getSelectedArtifacts() throws OseeCoreException;
+ CustomizeData getCustomizeDataCopy() throws OseeCoreException;
+ ArrayList<Artifact> getSelectedArtifacts() throws OseeCoreException;
}
@Override
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/OpenParentAction.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/OpenParentAction.java
index 1cfd0329d6..ffa9493880 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/OpenParentAction.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/OpenParentAction.java
@@ -15,7 +15,7 @@ import org.eclipse.jface.action.Action;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.osee.ats.AtsImage;
import org.eclipse.osee.ats.AtsOpenOption;
-import org.eclipse.osee.ats.artifact.StateMachineArtifact;
+import org.eclipse.osee.ats.artifact.AbstractWorkflowArtifact;
import org.eclipse.osee.ats.internal.AtsPlugin;
import org.eclipse.osee.ats.util.AtsUtil;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
@@ -27,9 +27,10 @@ import org.eclipse.osee.framework.ui.swt.ImageManager;
*/
public class OpenParentAction extends Action {
- private final StateMachineArtifact sma;
+ private final AbstractWorkflowArtifact sma;
- public OpenParentAction(StateMachineArtifact sma) {
+ public OpenParentAction(AbstractWorkflowArtifact sma) {
+ super();
this.sma = sma;
setText("Open Parent");
setToolTipText(getText());
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/OpenTeamDefinitionAction.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/OpenTeamDefinitionAction.java
index b8d8fcfff2..438e2c4fc5 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/OpenTeamDefinitionAction.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/OpenTeamDefinitionAction.java
@@ -15,7 +15,7 @@ import org.eclipse.jface.action.Action;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.osee.ats.AtsImage;
import org.eclipse.osee.ats.AtsOpenOption;
-import org.eclipse.osee.ats.artifact.StateMachineArtifact;
+import org.eclipse.osee.ats.artifact.AbstractWorkflowArtifact;
import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact;
import org.eclipse.osee.ats.internal.AtsPlugin;
import org.eclipse.osee.ats.util.AtsUtil;
@@ -28,9 +28,10 @@ import org.eclipse.osee.framework.ui.swt.ImageManager;
*/
public class OpenTeamDefinitionAction extends Action {
- private final StateMachineArtifact sma;
+ private final AbstractWorkflowArtifact sma;
- public OpenTeamDefinitionAction(StateMachineArtifact sma) {
+ public OpenTeamDefinitionAction(AbstractWorkflowArtifact sma) {
+ super();
this.sma = sma;
setText("Open Team Definition");
setToolTipText(getText());
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/OpenVersionArtifactAction.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/OpenVersionArtifactAction.java
index 15aa0f6280..b39096a722 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/OpenVersionArtifactAction.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/OpenVersionArtifactAction.java
@@ -13,7 +13,7 @@ package org.eclipse.osee.ats.actions;
import java.util.logging.Level;
import org.eclipse.jface.action.Action;
import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.osee.ats.artifact.StateMachineArtifact;
+import org.eclipse.osee.ats.artifact.AbstractWorkflowArtifact;
import org.eclipse.osee.ats.internal.AtsPlugin;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
import org.eclipse.osee.framework.logging.OseeLog;
@@ -27,9 +27,10 @@ import org.eclipse.osee.framework.ui.swt.ImageManager;
*/
public class OpenVersionArtifactAction extends Action {
- private final StateMachineArtifact sma;
+ private final AbstractWorkflowArtifact sma;
- public OpenVersionArtifactAction(StateMachineArtifact sma) {
+ public OpenVersionArtifactAction(AbstractWorkflowArtifact sma) {
+ super();
this.sma = sma;
setText("Open Targeted for Version");
setToolTipText(getText());
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/PrivilegedEditAction.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/PrivilegedEditAction.java
index 544162f9bd..31bfc7cd9f 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/PrivilegedEditAction.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/PrivilegedEditAction.java
@@ -16,9 +16,10 @@ import org.eclipse.jface.action.Action;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.osee.ats.AtsImage;
-import org.eclipse.osee.ats.artifact.StateMachineArtifact;
+import org.eclipse.osee.ats.artifact.AbstractWorkflowArtifact;
import org.eclipse.osee.ats.internal.AtsPlugin;
import org.eclipse.osee.ats.util.AtsUtil;
+import org.eclipse.osee.ats.util.PriviledgedUserManager;
import org.eclipse.osee.ats.util.ReadOnlyHyperlinkListener;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
import org.eclipse.osee.framework.logging.OseeLevel;
@@ -33,9 +34,10 @@ import org.eclipse.osee.framework.ui.swt.ImageManager;
*/
public class PrivilegedEditAction extends Action {
- private final StateMachineArtifact sma;
+ private final AbstractWorkflowArtifact sma;
- public PrivilegedEditAction(StateMachineArtifact sma) {
+ public PrivilegedEditAction(AbstractWorkflowArtifact sma) {
+ super();
this.sma = sma;
setText("Privileged Edit");
setToolTipText(getText());
@@ -57,13 +59,13 @@ public class PrivilegedEditAction extends Action {
sma.getEditor().setPriviledgedEditMode(false);
}
} else {
- Set<User> users = sma.getPrivilegedUsers();
+ Set<User> users = PriviledgedUserManager.getPrivilegedUsers(sma);
if (AtsUtil.isAtsAdmin()) {
users.add(UserManager.getUser());
}
- StringBuffer sb = new StringBuffer();
+ StringBuffer stringBuffer = new StringBuffer();
for (User user : users) {
- sb.append(user.getName() + "\n");
+ stringBuffer.append(user.getName() + "\n");
}
String buttons[];
boolean iAmPrivileged = users.contains(UserManager.getUser());
@@ -72,14 +74,14 @@ public class PrivilegedEditAction extends Action {
} else {
buttons = new String[] {"Cancel"};
}
- MessageDialog ed =
+ MessageDialog dialog =
new MessageDialog(
Displays.getActiveShell(),
"Privileged Edit",
null,
- "The following users have the ability to edit this " + sma.getArtifactTypeName() + " in case of emergency.\n\n" + sb.toString(),
+ "The following users have the ability to edit this " + sma.getArtifactTypeName() + " in case of emergency.\n\n" + stringBuffer.toString(),
MessageDialog.QUESTION, buttons, 0);
- int result = ed.open();
+ int result = dialog.open();
if (iAmPrivileged && result == 0) {
sma.getEditor().setPriviledgedEditMode(true);
}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/RefreshDirtyAction.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/RefreshDirtyAction.java
index cb251b7f4a..c428fc01bf 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/RefreshDirtyAction.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/RefreshDirtyAction.java
@@ -12,7 +12,7 @@ package org.eclipse.osee.ats.actions;
import org.eclipse.jface.action.Action;
import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.osee.ats.artifact.StateMachineArtifact;
+import org.eclipse.osee.ats.artifact.AbstractWorkflowArtifact;
import org.eclipse.osee.framework.ui.skynet.FrameworkImage;
import org.eclipse.osee.framework.ui.swt.ImageManager;
@@ -21,9 +21,9 @@ import org.eclipse.osee.framework.ui.swt.ImageManager;
*/
public class RefreshDirtyAction extends Action {
- private final StateMachineArtifact sma;
+ private final AbstractWorkflowArtifact sma;
- public RefreshDirtyAction(StateMachineArtifact sma) {
+ public RefreshDirtyAction(AbstractWorkflowArtifact sma) {
super("Refresh Editor Dirty");
this.sma = sma;
setToolTipText(getText());
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/ReloadAction.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/ReloadAction.java
index de82f7e2ee..0fd2fd3602 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/ReloadAction.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/ReloadAction.java
@@ -14,8 +14,8 @@ import java.util.HashSet;
import java.util.Set;
import org.eclipse.jface.action.Action;
import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.osee.ats.artifact.StateMachineArtifact;
-import org.eclipse.osee.ats.artifact.TaskableStateMachineArtifact;
+import org.eclipse.osee.ats.artifact.AbstractWorkflowArtifact;
+import org.eclipse.osee.ats.artifact.AbstractTaskableArtifact;
import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact;
import org.eclipse.osee.ats.internal.AtsPlugin;
import org.eclipse.osee.ats.util.widgets.ReviewManager;
@@ -32,9 +32,10 @@ import org.eclipse.osee.framework.ui.swt.ImageManager;
*/
public class ReloadAction extends Action {
- private final StateMachineArtifact sma;
+ private final AbstractWorkflowArtifact sma;
- public ReloadAction(StateMachineArtifact sma) {
+ public ReloadAction(AbstractWorkflowArtifact sma) {
+ super();
String title = "Reload \"" + sma.getArtifactTypeName() + "\"";
setText(title);
setToolTipText(getText());
@@ -49,8 +50,8 @@ public class ReloadAction extends Action {
if (sma.isTeamWorkflow()) {
relatedArts.addAll(ReviewManager.getReviews((TeamWorkFlowArtifact) sma));
}
- if (sma instanceof TaskableStateMachineArtifact) {
- relatedArts.addAll(((TaskableStateMachineArtifact) sma).getTaskArtifacts());
+ if (sma instanceof AbstractTaskableArtifact) {
+ relatedArts.addAll(((AbstractTaskableArtifact) sma).getTaskArtifacts());
}
ArtifactQuery.reloadArtifacts(relatedArts);
// Don't need to re-open editor cause event handler will do that
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/ResourceHistoryAction.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/ResourceHistoryAction.java
index 8a52d42dcd..336d3c06df 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/ResourceHistoryAction.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/ResourceHistoryAction.java
@@ -12,7 +12,7 @@ package org.eclipse.osee.ats.actions;
import org.eclipse.jface.action.Action;
import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.osee.ats.artifact.StateMachineArtifact;
+import org.eclipse.osee.ats.artifact.AbstractWorkflowArtifact;
import org.eclipse.osee.ats.internal.AtsPlugin;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
import org.eclipse.osee.framework.logging.OseeLevel;
@@ -26,9 +26,9 @@ import org.eclipse.osee.framework.ui.swt.ImageManager;
*/
public class ResourceHistoryAction extends Action {
- private final StateMachineArtifact sma;
+ private final AbstractWorkflowArtifact sma;
- public ResourceHistoryAction(StateMachineArtifact sma) {
+ public ResourceHistoryAction(AbstractWorkflowArtifact sma) {
super("Resource History");
setToolTipText(getText());
this.sma = sma;
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/ShowBranchChangeDataAction.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/ShowBranchChangeDataAction.java
index aae9ac7c5b..6c72a554a6 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/ShowBranchChangeDataAction.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/ShowBranchChangeDataAction.java
@@ -13,7 +13,7 @@ package org.eclipse.osee.ats.actions;
import org.eclipse.jface.action.Action;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.osee.ats.AtsImage;
-import org.eclipse.osee.ats.artifact.StateMachineArtifact;
+import org.eclipse.osee.ats.artifact.AbstractWorkflowArtifact;
import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact;
import org.eclipse.osee.ats.internal.AtsPlugin;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
@@ -30,9 +30,9 @@ import org.eclipse.osee.framework.ui.swt.ImageManager;
*/
public class ShowBranchChangeDataAction extends Action {
- private final StateMachineArtifact sma;
+ private final AbstractWorkflowArtifact sma;
- public ShowBranchChangeDataAction(StateMachineArtifact sma) {
+ public ShowBranchChangeDataAction(AbstractWorkflowArtifact sma) {
super("Show Branch Change Data Report");
this.sma = sma;
setToolTipText("Show computed change data from Branch; should be same as what's shown in change report");
@@ -50,13 +50,13 @@ public class ShowBranchChangeDataAction extends Action {
AWorkbench.popup("Working branch never created or committed.");
return;
}
- XResultData rd = new XResultData();
+ XResultData result = new XResultData();
ChangeData changeData = teamArt.getBranchMgr().getChangeDataFromEarliestTransactionId();
- rd.log("Number of changes " + changeData.getChanges().size() + "\n");
+ result.log("Number of changes " + changeData.getChanges().size() + "\n");
for (Change change : changeData.getChanges()) {
- rd.log(String.format("Change [%s]", change));
+ result.log(String.format("Change [%s]", change));
}
- rd.report(String.format("Branch Change Data Report [%s]", sma));
+ result.report(String.format("Branch Change Data Report [%s]", sma));
} catch (OseeCoreException ex) {
OseeLog.log(AtsPlugin.class, OseeLevel.SEVERE_POPUP, ex);
}
@@ -67,7 +67,7 @@ public class ShowBranchChangeDataAction extends Action {
return ImageManager.getImageDescriptor(AtsImage.WORKFLOW_CONFIG);
}
- public static boolean isApplicable(StateMachineArtifact sma) {
+ public static boolean isApplicable(AbstractWorkflowArtifact sma) {
return sma instanceof TeamWorkFlowArtifact;
}
}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/ShowChangeReportAction.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/ShowChangeReportAction.java
index 4c2f71bc7b..9f55a7baf8 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/ShowChangeReportAction.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/ShowChangeReportAction.java
@@ -13,6 +13,9 @@ package org.eclipse.osee.ats.actions;
import org.eclipse.jface.action.Action;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact;
+import org.eclipse.osee.ats.internal.AtsPlugin;
+import org.eclipse.osee.framework.logging.OseeLevel;
+import org.eclipse.osee.framework.logging.OseeLog;
import org.eclipse.osee.framework.ui.skynet.FrameworkImage;
import org.eclipse.osee.framework.ui.swt.ImageManager;
@@ -26,6 +29,7 @@ public class ShowChangeReportAction extends Action {
// Since this service is only going to be added for the Implement state, Location.AllState will
// work
public ShowChangeReportAction(TeamWorkFlowArtifact teamArt) {
+ super();
this.teamArt = teamArt;
setText("Show Change Report");
setToolTipText(getText());
@@ -37,7 +41,7 @@ public class ShowChangeReportAction extends Action {
enabled = teamArt.getBranchMgr().isCommittedBranchExists();
}
} catch (Exception ex) {
- // do nothing
+ OseeLog.log(AtsPlugin.class, OseeLevel.SEVERE_POPUP, ex);
}
setEnabled(enabled);
}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/ShowMergeManagerAction.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/ShowMergeManagerAction.java
index 517c16efe0..9c5e9fc47b 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/ShowMergeManagerAction.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/ShowMergeManagerAction.java
@@ -30,6 +30,7 @@ public class ShowMergeManagerAction extends Action {
// Since this service is only going to be added for the Implement state, Location.AllState will
// work
public ShowMergeManagerAction(TeamWorkFlowArtifact teamArt) {
+ super();
this.teamArt = teamArt;
setText("Show Merge Manager");
setToolTipText(getText());
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/SubscribedAction.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/SubscribedAction.java
index 337f646c84..18d5d0cd36 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/SubscribedAction.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/SubscribedAction.java
@@ -16,8 +16,7 @@ import java.util.List;
import org.eclipse.jface.action.Action;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.osee.ats.AtsImage;
-import org.eclipse.osee.ats.artifact.ISubscribableArtifact;
-import org.eclipse.osee.ats.artifact.StateMachineArtifact;
+import org.eclipse.osee.ats.artifact.AbstractWorkflowArtifact;
import org.eclipse.osee.ats.internal.AtsPlugin;
import org.eclipse.osee.ats.util.SubscribeManager;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
@@ -34,6 +33,7 @@ public class SubscribedAction extends Action {
private final ISelectedAtsArtifacts selectedAtsArtifacts;
public SubscribedAction(ISelectedAtsArtifacts selectedAtsArtifacts) {
+ super();
this.selectedAtsArtifacts = selectedAtsArtifacts;
updateName();
}
@@ -43,7 +43,7 @@ public class SubscribedAction extends Action {
try {
if (getSelectedSubscribableArts().size() == 1) {
title =
- getSelectedSubscribableArts().iterator().next().amISubscribed() ? "Remove Subscribed" : "Add as Subscribed";
+ SubscribeManager.amISubscribed(getSelectedSubscribableArts().iterator().next()) ? "Remove Subscribed" : "Add as Subscribed";
} else {
title = "Toggle Subscribed";
}
@@ -54,11 +54,11 @@ public class SubscribedAction extends Action {
setToolTipText(title);
}
- public Collection<ISubscribableArtifact> getSelectedSubscribableArts() throws OseeCoreException {
- List<ISubscribableArtifact> favoritableArts = new ArrayList<ISubscribableArtifact>();
+ public Collection<AbstractWorkflowArtifact> getSelectedSubscribableArts() throws OseeCoreException {
+ List<AbstractWorkflowArtifact> favoritableArts = new ArrayList<AbstractWorkflowArtifact>();
for (Artifact art : selectedAtsArtifacts.getSelectedSMAArtifacts()) {
- if (art instanceof ISubscribableArtifact) {
- favoritableArts.add((ISubscribableArtifact) art);
+ if (art instanceof AbstractWorkflowArtifact) {
+ favoritableArts.add((AbstractWorkflowArtifact) art);
}
}
return favoritableArts;
@@ -67,9 +67,7 @@ public class SubscribedAction extends Action {
@Override
public void run() {
try {
- for (ISubscribableArtifact sma : getSelectedSubscribableArts()) {
- new SubscribeManager((StateMachineArtifact) sma).toggleSubscribe();
- }
+ new SubscribeManager(getSelectedSubscribableArts()).toggleSubscribe();
} catch (OseeCoreException ex) {
OseeLog.log(AtsPlugin.class, OseeLevel.SEVERE_POPUP, ex);
}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/TaskAddAction.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/TaskAddAction.java
index de3cbadba5..b6850dd71f 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/TaskAddAction.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/TaskAddAction.java
@@ -29,7 +29,7 @@ public class TaskAddAction extends Action {
}
public static interface ITaskAddActionHandler {
- public void taskAddActionHandler();
+ void taskAddActionHandler();
}
@Override
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/TaskDeleteAction.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/TaskDeleteAction.java
index 336bb6ec14..37f8da28ed 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/TaskDeleteAction.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/TaskDeleteAction.java
@@ -29,7 +29,7 @@ public class TaskDeleteAction extends Action {
}
public static interface ITaskDeleteActionHandler {
- public void taskDeleteActionHandler();
+ void taskDeleteActionHandler();
}
@Override
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/WorkflowDebugAction.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/WorkflowDebugAction.java
index a241c9238a..84782c7263 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/WorkflowDebugAction.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/WorkflowDebugAction.java
@@ -13,7 +13,7 @@ package org.eclipse.osee.ats.actions;
import org.eclipse.jface.action.Action;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.osee.ats.AtsImage;
-import org.eclipse.osee.ats.artifact.StateMachineArtifact;
+import org.eclipse.osee.ats.artifact.AbstractWorkflowArtifact;
import org.eclipse.osee.ats.artifact.TeamDefinitionArtifact;
import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact;
import org.eclipse.osee.ats.internal.AtsPlugin;
@@ -32,9 +32,9 @@ import org.eclipse.osee.framework.ui.swt.ImageManager;
*/
public class WorkflowDebugAction extends Action {
- private final StateMachineArtifact sma;
+ private final AbstractWorkflowArtifact sma;
- public WorkflowDebugAction(StateMachineArtifact sma) {
+ public WorkflowDebugAction(AbstractWorkflowArtifact sma) {
super("Show Workflow Debug Report");
this.sma = sma;
setToolTipText("Show workflow definition and all page, widgets and rules");
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/wizard/ActionableItemFilter.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/wizard/ActionableItemFilter.java
index 468e5f0e2b..b76b5904ca 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/wizard/ActionableItemFilter.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/wizard/ActionableItemFilter.java
@@ -10,6 +10,7 @@
*******************************************************************************/
package org.eclipse.osee.ats.actions.wizard;
+import java.util.Locale;
import java.util.logging.Level;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.jface.viewers.ViewerFilter;
@@ -25,6 +26,7 @@ public class ActionableItemFilter extends ViewerFilter {
private final OSEEFilteredTree treeViewer;
public ActionableItemFilter(OSEEFilteredTree treeViewer) {
+ super();
this.treeViewer = treeViewer;
}
@@ -38,7 +40,7 @@ public class ActionableItemFilter extends ViewerFilter {
private boolean checkItemAndChildren(ActionableItemArtifact item) {
try {
- boolean show = item.getName().toLowerCase().contains(contains.toLowerCase());
+ boolean show = item.getName().toLowerCase().contains(contains.toLowerCase(Locale.US));
if (show) {
return true;
}
@@ -59,7 +61,7 @@ public class ActionableItemFilter extends ViewerFilter {
*/
public void setContains(String contains) {
this.contains = contains;
- if (contains.equals("")) {
+ if (contains.isEmpty()) {
treeViewer.getViewer().collapseAll();
} else {
treeViewer.getViewer().expandAll();
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/wizard/ArtifactSelectWizardPage.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/wizard/ArtifactSelectWizardPage.java
index e9e3e69f33..a4be633489 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/wizard/ArtifactSelectWizardPage.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/wizard/ArtifactSelectWizardPage.java
@@ -40,7 +40,6 @@ import org.eclipse.swt.widgets.Listener;
public class ArtifactSelectWizardPage extends WizardPage {
- private ListViewer artTypeList;
private ListViewer artList;
private Artifact selectedArtifact;
private boolean showArtData = false;
@@ -54,29 +53,29 @@ public class ArtifactSelectWizardPage extends WizardPage {
setTitle("Select an Artifact");
Composite composite = new Composite(parent, SWT.NONE);
- GridLayout gl = new GridLayout();
- gl.numColumns = 2;
- composite.setLayout(gl);
- GridData gd = new GridData(GridData.FILL, GridData.FILL, true, true);
- composite.setLayoutData(gd);
+ GridLayout gridLayout = new GridLayout();
+ gridLayout.numColumns = 2;
+ composite.setLayout(gridLayout);
+ GridData gridData1 = new GridData(GridData.FILL, GridData.FILL, true, true);
+ composite.setLayoutData(gridData1);
Composite leftComp = new Composite(composite, SWT.NONE);
leftComp.setLayout(new GridLayout());
- gd = new GridData(GridData.FILL, GridData.FILL, true, true);
- leftComp.setLayoutData(gd);
+ gridData1 = new GridData(GridData.FILL, GridData.FILL, true, true);
+ leftComp.setLayoutData(gridData1);
new Label(leftComp, SWT.NONE).setText("Artifact Type");
try {
- artTypeList = new ListViewer(leftComp, SWT.BORDER | SWT.SINGLE | SWT.V_SCROLL | SWT.H_SCROLL);
+ ListViewer artTypeList = new ListViewer(leftComp, SWT.BORDER | SWT.SINGLE | SWT.V_SCROLL | SWT.H_SCROLL);
artTypeList.setContentProvider(new ArrayContentProvider());
artTypeList.setLabelProvider(new ArtTypeLabelProvider());
- gd = new GridData(GridData.FILL, GridData.FILL, true, true);
- gd.heightHint = 300;
- gd.widthHint = 200;
- artTypeList.getControl().setLayoutData(gd);
+ gridData1 = new GridData(GridData.FILL, GridData.FILL, true, true);
+ gridData1.heightHint = 300;
+ gridData1.widthHint = 200;
+ artTypeList.getControl().setLayoutData(gridData1);
artTypeList.setInput(ArtifactTypeManager.getValidArtifactTypes(AtsUtil.getAtsBranch()));
artTypeList.addSelectionChangedListener(new ISelectionChangedListener() {
@Override
@@ -101,8 +100,8 @@ public class ArtifactSelectWizardPage extends WizardPage {
Composite rightComp = new Composite(composite, SWT.NONE);
rightComp.setLayout(new GridLayout());
- gd = new GridData(GridData.FILL, GridData.FILL, true, true);
- rightComp.setLayoutData(gd);
+ gridData1 = new GridData(GridData.FILL, GridData.FILL, true, true);
+ rightComp.setLayoutData(gridData1);
Label lab = new Label(rightComp, SWT.NONE);
lab.setText("Artifact (click here for artifact data)");
@@ -110,7 +109,7 @@ public class ArtifactSelectWizardPage extends WizardPage {
lab.addListener(SWT.MouseUp, new Listener() {
@Override
public void handleEvent(Event event) {
- showArtData = !showArtData;
+ showArtData ^= true;
artList.refresh();
}
});
@@ -126,10 +125,10 @@ public class ArtifactSelectWizardPage extends WizardPage {
return getComparator().compare(((Artifact) e1).getName(), ((Artifact) e2).getName());
}
});
- gd = new GridData(GridData.FILL, GridData.FILL, true, true);
- gd.heightHint = 300;
- gd.widthHint = 200;
- artList.getControl().setLayoutData(gd);
+ gridData1 = new GridData(GridData.FILL, GridData.FILL, true, true);
+ gridData1.heightHint = 300;
+ gridData1.widthHint = 200;
+ artList.getControl().setLayoutData(gridData1);
artList.addSelectionChangedListener(new ISelectionChangedListener() {
@Override
public void selectionChanged(SelectionChangedEvent event) {
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/wizard/IAtsTeamWorkflow.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/wizard/IAtsTeamWorkflow.java
index 8aa5e54208..263e20568f 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/wizard/IAtsTeamWorkflow.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/wizard/IAtsTeamWorkflow.java
@@ -30,7 +30,7 @@ public interface IAtsTeamWorkflow {
* @param actionableItems that were selected for the creation
* @return true if responsible, false if not
*/
- public boolean isResponsibleForTeamWorkflowCreation(TeamDefinitionArtifact teamDef, Collection<ActionableItemArtifact> actionableItems) throws OseeCoreException;
+ boolean isResponsibleForTeamWorkflowCreation(TeamDefinitionArtifact teamDef, Collection<ActionableItemArtifact> actionableItems) throws OseeCoreException;
/**
* Return the artifact type name for the given parameters. This method will only be called if
@@ -40,19 +40,19 @@ public interface IAtsTeamWorkflow {
* @param actionableItems that were selected for the creation
* @return string artifact type name
*/
- public String getTeamWorkflowArtifactName(TeamDefinitionArtifact teamDef, Collection<ActionableItemArtifact> actionableItems) throws OseeCoreException;
+ String getTeamWorkflowArtifactName(TeamDefinitionArtifact teamDef, Collection<ActionableItemArtifact> actionableItems) throws OseeCoreException;
/**
* Notification that a teamWorkflow is being duplicated. This allows the extension to do necessary changes to
* duplicated workflow.
*/
- public void teamWorkflowDuplicating(TeamWorkFlowArtifact teamArt, TeamWorkFlowArtifact dupTeamArt) throws OseeCoreException;
+ void teamWorkflowDuplicating(TeamWorkFlowArtifact teamArt, TeamWorkFlowArtifact dupTeamArt) throws OseeCoreException;
/**
* Notification that a teamWorkflow was created. This allows the extension to do necessary initial tasks after the
* team workflow artifact is created. All changes made to dupTeamArt will be persisted after this call.
*/
- public void teamWorkflowCreated(TeamWorkFlowArtifact teamArt);
+ void teamWorkflowCreated(TeamWorkFlowArtifact teamArt);
/**
* Return a collection of all team workflow artifact type names. These are used by ATS when searching is performed
@@ -60,5 +60,5 @@ public interface IAtsTeamWorkflow {
*
* @return collection of all team workflow artifact type names
*/
- public Collection<? extends IArtifactType> getTeamWorkflowArtifactNames() throws OseeCoreException;
+ Collection<? extends IArtifactType> getTeamWorkflowArtifactNames() throws OseeCoreException;
}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/wizard/IAtsWizardItem.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/wizard/IAtsWizardItem.java
index bf6aa5a154..733b16797b 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/wizard/IAtsWizardItem.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/wizard/IAtsWizardItem.java
@@ -28,12 +28,12 @@ public interface IAtsWizardItem {
* determine what (if any) widgets should be added. eg. <XWidget displayName=\"Description\" height=\"80\"
* required=\"true\" xwidgetType=\"XText\" fill=\"Vertically\" \"/>");
*/
- public void getWizardXWidgetExtensions(Collection<ActionableItemArtifact> aias, StringBuffer sb) throws Exception;
+ void getWizardXWidgetExtensions(Collection<ActionableItemArtifact> aias, StringBuffer stringBuffer) throws Exception;
/**
* @return true if widgets will be added based on selected aias
*/
- public boolean hasWizardXWidgetExtensions(Collection<ActionableItemArtifact> aias) throws Exception;
+ boolean hasWizardXWidgetExtensions(Collection<ActionableItemArtifact> aias) throws Exception;
/**
* Determine if Action is valid to create based on wizard data entered. hasWizardXWidgetExtenstions will be called to
@@ -42,13 +42,13 @@ public interface IAtsWizardItem {
* @return result of validation. if true, action will be created; if not, error will popup and action will not be
* created
*/
- public Result isActionValidToCreate(Collection<ActionableItemArtifact> aias, NewActionWizard wizard);
+ Result isActionValidToCreate(Collection<ActionableItemArtifact> aias, NewActionWizard wizard);
/**
* Callback with created action upon completion and creation of the action and it's workflows.
* hasWizardXWidgetExtenstions will be called to determine if this method should be called.
*/
- public void wizardCompleted(ActionArtifact actionArt, NewActionWizard wizard, SkynetTransaction transaction) throws Exception;
+ void wizardCompleted(ActionArtifact actionArt, NewActionWizard wizard, SkynetTransaction transaction) throws Exception;
/**
* Validation that the data entered is valid and the wizard can be finished. This will be called after every
@@ -58,6 +58,6 @@ public interface IAtsWizardItem {
*
* @return true if widget data entered is valid
*/
- public Result isWizardXWidgetsComplete(NewActionWizard wizard);
+ Result isWizardXWidgetsComplete(NewActionWizard wizard);
}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/wizard/NewActionJob.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/wizard/NewActionJob.java
index b87d93ab85..2872eefc8e 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/wizard/NewActionJob.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/wizard/NewActionJob.java
@@ -62,7 +62,7 @@ public class NewActionJob extends Job {
public IStatus run(final IProgressMonitor monitor) {
try {
SkynetTransaction transaction = new SkynetTransaction(AtsUtil.getAtsBranch(), "Create New Action");
- if (title.equals("tt")) {
+ if ("tt".equals(title)) {
title += " " + AtsUtil.getAtsDeveloperIncrementingNum();
}
actionArt =
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/wizard/NewActionPage1.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/wizard/NewActionPage1.java
index 9b1524b7fb..e35f9c0833 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/wizard/NewActionPage1.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/wizard/NewActionPage1.java
@@ -109,15 +109,15 @@ public class NewActionPage1 extends WizardPage {
getContainer().updateButtons();
}
});
- GridData gd = new GridData(GridData.FILL_BOTH);
- gd.heightHint = 400;
- treeViewer.setLayoutData(gd);
+ GridData gridData1 = new GridData(GridData.FILL_BOTH);
+ gridData1.heightHint = 400;
+ treeViewer.setLayoutData(gridData1);
new Label(aiComp, SWT.NONE).setText("Description of highlighted Actionable Item (if any):");
descriptionLabel = new Text(aiComp, SWT.BORDER | SWT.WRAP);
- gd = new GridData(GridData.FILL_BOTH);
- gd.heightHint = 15;
- descriptionLabel.setLayoutData(gd);
+ gridData1 = new GridData(GridData.FILL_BOTH);
+ gridData1.heightHint = 15;
+ descriptionLabel.setLayoutData(gridData1);
descriptionLabel.setEnabled(false);
treeViewer.getViewer().addSelectionChangedListener(new SelectionChangedListener());
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/wizard/NewActionPage2.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/wizard/NewActionPage2.java
index b99a4e0448..1553ed66c5 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/wizard/NewActionPage2.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/wizard/NewActionPage2.java
@@ -39,6 +39,7 @@ public class NewActionPage2 extends WizardPage {
private WorkPage page;
private final NewActionWizard wizard;
private boolean debugPopulated = false;
+ private static String DESCRIPTION = "Description";
protected NewActionPage2(NewActionWizard wizard) {
super("Create new ATS Action", "Create ATS Action", null);
@@ -50,14 +51,14 @@ public class NewActionPage2 extends WizardPage {
public void setVisible(boolean visible) {
super.setVisible(visible);
try {
- if (wizard.getInitialDescription() != null && ((XText) getXWidget("Description")).get().equals("")) {
- ((XText) getXWidget("Description")).set(wizard.getInitialDescription());
+ if (wizard.getInitialDescription() != null && ((XText) getXWidget(DESCRIPTION)).get().equals("")) {
+ ((XText) getXWidget(DESCRIPTION)).set(wizard.getInitialDescription());
}
if (wizard.isTTAction()) {
handlePopulateWithDebugInfo();
}
wizard.createPage3IfNecessary();
- ((XText) getXWidget("Description")).getStyledText().setFocus();
+ ((XText) getXWidget(DESCRIPTION)).getStyledText().setFocus();
} catch (Exception ex) {
OseeLog.log(AtsPlugin.class, OseeLevel.SEVERE_POPUP, ex);
}
@@ -74,22 +75,23 @@ public class NewActionPage2 extends WizardPage {
public void createControl(Composite parent) {
try {
- StringBuffer sb = new StringBuffer("<WorkPage>");
- sb.append("<XWidget displayName=\"Description\" height=\"80\" required=\"true\" xwidgetType=\"XText\" fill=\"Vertically\" toolTip=\"" + AtsAttributeTypes.Description.getDescription() + "\"/>");
- sb.append("<XWidget displayName=\"Change Type\" storageName=\"ats.Change Type\" xwidgetType=\"XCombo(" + ATSXWidgetOptionResolver.OPTIONS_FROM_ATTRIBUTE_VALIDITY + ")\" required=\"true\" horizontalLabel=\"true\" toolTip=\"" + AtsAttributeTypes.ChangeType.getDescription() + "\"/>");
- sb.append("<XWidget displayName=\"Priority\" storageName=\"ats.Priority\" xwidgetType=\"XCombo(" + ATSXWidgetOptionResolver.OPTIONS_FROM_ATTRIBUTE_VALIDITY + ")\" required=\"true\" horizontalLabel=\"true\"/>");
- sb.append("<XWidget displayName=\"Deadline\" xwidgetType=\"XDate\" horizontalLabel=\"true\" toolTip=\"" + AtsAttributeTypes.NeedBy.getDescription() + "\"/>");
- sb.append("<XWidget displayName=\"Validation Required\" xwidgetType=\"XCheckBox\" horizontalLabel=\"true\" labelAfter=\"true\" toolTip=\"" + AtsAttributeTypes.ValidationRequired.getDescription() + "\"/>");
- sb.append("</WorkPage>");
+ StringBuffer stringBuffer = new StringBuffer(800);
+ stringBuffer.append("<WorkPage>");
+ stringBuffer.append("<XWidget displayName=\"Description\" height=\"80\" required=\"true\" xwidgetType=\"XText\" fill=\"Vertically\" toolTip=\"" + AtsAttributeTypes.Description.getDescription() + "\"/>");
+ stringBuffer.append("<XWidget displayName=\"Change Type\" storageName=\"ats.Change Type\" xwidgetType=\"XCombo(" + ATSXWidgetOptionResolver.OPTIONS_FROM_ATTRIBUTE_VALIDITY + ")\" required=\"true\" horizontalLabel=\"true\" toolTip=\"" + AtsAttributeTypes.ChangeType.getDescription() + "\"/>");
+ stringBuffer.append("<XWidget displayName=\"Priority\" storageName=\"ats.Priority\" xwidgetType=\"XCombo(" + ATSXWidgetOptionResolver.OPTIONS_FROM_ATTRIBUTE_VALIDITY + ")\" required=\"true\" horizontalLabel=\"true\"/>");
+ stringBuffer.append("<XWidget displayName=\"Deadline\" xwidgetType=\"XDate\" horizontalLabel=\"true\" toolTip=\"" + AtsAttributeTypes.NeedBy.getDescription() + "\"/>");
+ stringBuffer.append("<XWidget displayName=\"Validation Required\" xwidgetType=\"XCheckBox\" horizontalLabel=\"true\" labelAfter=\"true\" toolTip=\"" + AtsAttributeTypes.ValidationRequired.getDescription() + "\"/>");
+ stringBuffer.append("</WorkPage>");
Composite comp = new Composite(parent, SWT.NONE);
comp.setLayout(new GridLayout(2, false));
comp.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
- page = new WorkPage(sb.toString(), ATSXWidgetOptionResolver.getInstance());
+ page = new WorkPage(stringBuffer.toString(), ATSXWidgetOptionResolver.getInstance());
page.createBody(null, comp, null, xModListener, true);
- ((XText) getXWidget("Description")).getLabelWidget().addListener(SWT.MouseUp, new Listener() {
+ ((XText) getXWidget(DESCRIPTION)).getLabelWidget().addListener(SWT.MouseUp, new Listener() {
@Override
public void handleEvent(Event event) {
if (event.button == 3) {
@@ -114,7 +116,7 @@ public class NewActionPage2 extends WizardPage {
return;
}
try {
- ((XText) getXWidget("Description")).set("See title");
+ ((XText) getXWidget(DESCRIPTION)).set("See title");
// Must use skynet attribute name cause these widget uses the OPTIONS_FROM_ATTRIBUTE_VALIDITY
((XCombo) getXWidget("ats.Priority")).set("4");
((XCombo) getXWidget("ats.Change Type")).set("Improvement");
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/wizard/NewActionPage3.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/wizard/NewActionPage3.java
index 31449c1811..8881fc29b8 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/wizard/NewActionPage3.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/wizard/NewActionPage3.java
@@ -84,23 +84,23 @@ public class NewActionPage3 extends WizardPage {
public void createPage(Composite comp) {
try {
if (page == null) {
- StringBuffer sb = new StringBuffer();
- sb.append("<WorkPage>");
+ StringBuffer stringBuffer = new StringBuffer(500);
+ stringBuffer.append("<WorkPage>");
// sb.append("<XWidget displayName=\"Description\" height=\"80\" required=\"true\"
// xwidgetType=\"XText\" fill=\"Vertically\" toolTip=\""
// + ATSAttributes.DESCRIPTION_ATTRIBUTE.getDescription() + "\"/>");
for (IAtsWizardItem item : wizardExtensionItems) {
try {
if (item.hasWizardXWidgetExtensions(wizard.getSelectedActionableItemArtifacts())) {
- item.getWizardXWidgetExtensions(wizard.getSelectedActionableItemArtifacts(), sb);
+ item.getWizardXWidgetExtensions(wizard.getSelectedActionableItemArtifacts(), stringBuffer);
}
} catch (Exception ex) {
OseeLog.log(AtsPlugin.class, OseeLevel.SEVERE_POPUP, ex);
}
}
- sb.append("</WorkPage>");
+ stringBuffer.append("</WorkPage>");
- page = new WorkPage(sb.toString(), ATSXWidgetOptionResolver.getInstance());
+ page = new WorkPage(stringBuffer.toString(), ATSXWidgetOptionResolver.getInstance());
page.createBody(null, comp, null, xModListener, true);
comp.layout();
@@ -153,7 +153,7 @@ public class NewActionPage3 extends WizardPage {
}
private static void getWizardXWidgetExtensions() {
- if (wizardExtensionItems.size() > 0) {
+ if (wizardExtensionItems.isEmpty()) {
return;
}
@@ -195,7 +195,7 @@ public class NewActionPage3 extends WizardPage {
return true;
}
} catch (Exception ex) {
- // DO NOTHING
+ OseeLog.log(AtsPlugin.class, Level.SEVERE, ex);
}
}
return false;
@@ -212,7 +212,7 @@ public class NewActionPage3 extends WizardPage {
}
}
} catch (Exception ex) {
- // DO NOTHING
+ OseeLog.log(AtsPlugin.class, Level.SEVERE, ex);
}
}
return Result.TrueResult;
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/wizard/NewActionWizard.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/wizard/NewActionWizard.java
index 7795e9a587..cbdd518c82 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/wizard/NewActionWizard.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/wizard/NewActionWizard.java
@@ -44,10 +44,6 @@ public class NewActionWizard extends Wizard implements INewWizard {
private Collection<ActionableItemArtifact> initialAias;
private String initialDescription;
- public NewActionWizard() {
- super();
- }
-
@Override
public boolean performFinish() {
try {
@@ -122,7 +118,7 @@ public class NewActionWizard extends Wizard implements INewWizard {
}
public boolean getValidation() throws OseeCoreException {
- return ((XCheckBox) page2.getXWidget("Validation Required")).get();
+ return ((XCheckBox) page2.getXWidget("Validation Required")).isChecked();
}
public Date getNeedBy() throws OseeCoreException {
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/wizard/NewNotePage.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/wizard/NewNotePage.java
index 7ce4497e38..b8fb8caded 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/wizard/NewNotePage.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/wizard/NewNotePage.java
@@ -62,49 +62,49 @@ public class NewNotePage extends WizardPage {
Composite topC = new Composite(composite, SWT.NONE);
topC.setLayout(ALayout.getZeroMarginLayout(2, false));
- GridData gd = new GridData(GridData.FILL_HORIZONTAL);
- topC.setLayoutData(gd);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ topC.setLayoutData(gridData);
Composite topCLeft = new Composite(topC, SWT.NONE);
topCLeft.setLayout(new GridLayout());
- gd = new GridData(GridData.FILL_HORIZONTAL);
- topCLeft.setLayoutData(gd);
+ gridData = new GridData(GridData.FILL_HORIZONTAL);
+ topCLeft.setLayoutData(gridData);
typeList.createWidgets(topCLeft, 2);
typeList.addSelectionListener(new SelectionAdapter() {
@Override
- public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) {
+ public void widgetSelected(org.eclipse.swt.events.SelectionEvent event) {
update();
};
});
Composite topCRight = new Composite(topC, SWT.NONE);
topCRight.setLayout(new GridLayout());
- gd = new GridData(GridData.FILL_HORIZONTAL);
- topCRight.setLayoutData(gd);
+ gridData = new GridData(GridData.FILL_HORIZONTAL);
+ topCRight.setLayoutData(gridData);
artifactList.createWidgets(topCRight, 2);
artifactList.addSelectionListener(new SelectionAdapter() {
@Override
- public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) {
+ public void widgetSelected(org.eclipse.swt.events.SelectionEvent event) {
update();
};
});
- gd = new GridData(GridData.FILL_HORIZONTAL);
- gd.widthHint = 300;
- artifactList.getList().setLayoutData(gd);
+ gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.widthHint = 300;
+ artifactList.getList().setLayoutData(gridData);
Composite bottomC = new Composite(composite, SWT.NONE);
bottomC.setLayout(new GridLayout());
- gd = new GridData(GridData.FILL_BOTH);
- bottomC.setLayoutData(gd);
+ gridData = new GridData(GridData.FILL_BOTH);
+ bottomC.setLayoutData(gridData);
noteText.createWidgets(bottomC, 2);
noteText.addModifyListener(new ModifyListener() {
@Override
- public void modifyText(org.eclipse.swt.events.ModifyEvent e) {
+ public void modifyText(org.eclipse.swt.events.ModifyEvent event) {
update();
};
});
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/ATSLog.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/ATSLog.java
index 3f04067ac1..39fe737405 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/ATSLog.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/ATSLog.java
@@ -13,21 +13,18 @@ package org.eclipse.osee.ats.artifact;
import java.lang.ref.WeakReference;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Collections;
import java.util.Date;
import java.util.List;
import java.util.logging.Level;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact.DefaultTeamState;
import org.eclipse.osee.ats.internal.AtsPlugin;
+import org.eclipse.osee.ats.util.DefaultTeamState;
import org.eclipse.osee.framework.core.exception.OseeArgumentException;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
import org.eclipse.osee.framework.core.exception.OseeStateException;
import org.eclipse.osee.framework.jdk.core.util.AHTML;
-import org.eclipse.osee.framework.jdk.core.util.AXml;
import org.eclipse.osee.framework.jdk.core.util.DateUtil;
-import org.eclipse.osee.framework.jdk.core.util.Strings;
import org.eclipse.osee.framework.jdk.core.util.xml.Jaxp;
import org.eclipse.osee.framework.logging.OseeLevel;
import org.eclipse.osee.framework.logging.OseeLog;
@@ -44,8 +41,8 @@ public class ATSLog {
private final WeakReference<Artifact> artifactRef;
private boolean enabled = true;
- private static String ATS_LOG_TAG = "AtsLog";
- private static String LOG_ITEM_TAG = "Item";
+ private final static String ATS_LOG_TAG = "AtsLog";
+ private final static String LOG_ITEM_TAG = "Item";
private LogItem cancelledLogItem;
private LogItem completedLogItem;
public static enum LogType {
@@ -110,36 +107,9 @@ public class ATSLog {
return artifactRef.get();
}
- private static Pattern LOG_ITEM_PATTERN =
- Pattern.compile("<Item date=\"(.*?)\" msg=\"(.*?)\" state=\"(.*?)\" type=\"(.*?)\" userId=\"(.*?)\"/>");
-
- private static Pattern LOG_ITEM_TAG_PATTERN = Pattern.compile("<Item ");
-
public List<LogItem> getLogItems() throws OseeCoreException {
- // System.out.println("getLogItems " + artifact.getHumanReadableId());
- List<LogItem> logItems = new ArrayList<LogItem>();
String xml = getArtifact().getSoleAttributeValue(AtsAttributeTypes.Log, "");
- if (!xml.equals("")) {
- Matcher m = LOG_ITEM_PATTERN.matcher(xml);
- while (m.find()) {
- LogItem item =
- new LogItem(m.group(4), m.group(1), Strings.intern(m.group(5)), Strings.intern(m.group(3)),
- AXml.xmlToText(m.group(2)), getArtifact().getHumanReadableId());
- logItems.add(item);
- }
-
- Matcher m2 = LOG_ITEM_TAG_PATTERN.matcher(xml);
- int openTagsFound = 0;
- while (m2.find()) {
- openTagsFound++;
- }
- if (logItems.size() != openTagsFound) {
- OseeLog.log(AtsPlugin.class, Level.SEVERE, String.format(
- "ATS Log: open tags found %d doesn't match log items parsed %d for %s", openTagsFound, logItems.size(),
- getArtifact().getHumanReadableId()));
- }
- }
- return logItems;
+ return LogItem.getLogItems(xml, getArtifact().getHumanReadableId());
}
public Date getLastStatusedDate() throws OseeCoreException {
@@ -158,7 +128,7 @@ public class ATSLog {
for (LogItem item : items) {
Element element = doc.createElement(LOG_ITEM_TAG);
element.setAttribute("type", item.getType().name());
- element.setAttribute("date", item.getDate().getTime() + "");
+ element.setAttribute("date", String.valueOf(item.getDate().getTime()));
element.setAttribute("userId", item.getUser().getUserId());
element.setAttribute("state", item.getState());
element.setAttribute("msg", item.getMsg());
@@ -327,24 +297,21 @@ public class ATSLog {
public String getTable() throws OseeCoreException {
StringBuilder builder = new StringBuilder();
List<LogItem> logItems = getLogItems();
- builder.append("<TABLE BORDER=\"1\" cellspacing=\"1\" cellpadding=\"3%\" width=\"100%\"><THEAD><TR><TH>Event</TH>" + "<TH>State</TH><TH>Message</TH><TH>User</TH><TH>Date</TH></THEAD></TR>");
+ builder.append(AHTML.beginMultiColumnTable(100, 1));
+ builder.append(AHTML.addHeaderRowMultiColumnTable(Arrays.asList("Event", "State", "Message", "User", "Date")));
for (LogItem item : logItems) {
User user = item.getUser();
- if (user != null) {
- builder.append("<TR>");
- builder.append("<TD>" + item.getType() + "</TD>");
- builder.append("<TD>" + (item.getState().equals("") ? "." : item.getState()) + "</TD>");
- builder.append("<TD>" + (item.getMsg().equals("") ? "." : item.getMsg()) + "</TD>");
- if (user.equals(UserManager.getUser())) {
- builder.append("<TD bgcolor=\"#CCCCCC\">" + user.getName() + "</TD>");
- } else {
- builder.append("<TD>" + user.getName() + "</TD>");
- }
- builder.append("<TD>" + item.getDate(DateUtil.MMDDYYHHMM) + "</TD>");
- builder.append("</TR>");
+ String userStr = null;
+ if (user == null) {
+ userStr = item.getUserId();
+ } else {
+ userStr = user.getName();
}
+ builder.append(AHTML.addRowMultiColumnTable(String.valueOf(item.getType()),
+ (item.getState().equals("") ? "." : item.getState()), (item.getMsg().equals("") ? "." : item.getMsg()),
+ userStr, item.getDate(DateUtil.MMDDYYHHMM)));
}
- builder.append("</TABLE>");
+ builder.append(AHTML.endMultiColumnTable());
return builder.toString();
}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/ATSNote.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/ATSNote.java
index 1cc976c301..df55dda6fa 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/ATSNote.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/ATSNote.java
@@ -11,29 +11,25 @@
package org.eclipse.osee.ats.artifact;
import java.lang.ref.WeakReference;
+import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Date;
import java.util.List;
+import java.util.Locale;
import java.util.logging.Level;
import org.eclipse.osee.ats.NoteType;
import org.eclipse.osee.ats.internal.AtsPlugin;
-import org.eclipse.osee.framework.core.data.SystemUser;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
import org.eclipse.osee.framework.core.exception.OseeStateException;
-import org.eclipse.osee.framework.core.exception.UserNotInDatabase;
+import org.eclipse.osee.framework.jdk.core.util.AHTML;
import org.eclipse.osee.framework.jdk.core.util.Strings;
-import org.eclipse.osee.framework.jdk.core.util.xml.Jaxp;
import org.eclipse.osee.framework.logging.OseeLevel;
import org.eclipse.osee.framework.logging.OseeLog;
import org.eclipse.osee.framework.skynet.core.User;
-import org.eclipse.osee.framework.skynet.core.UserManager;
import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
/**
* @author Donald G. Dunne
@@ -41,8 +37,6 @@ import org.w3c.dom.NodeList;
public class ATSNote {
private final WeakReference<Artifact> artifactRef;
private boolean enabled = true;
- private static String ATS_NOTE_TAG = "AtsNote";
- private static String LOG_ITEM_TAG = "Item";
public ATSNote(Artifact artifact) {
this.artifactRef = new WeakReference<Artifact>(artifact);
@@ -67,7 +61,7 @@ public class ATSNote {
if (!enabled) {
return;
}
- NoteItem logItem = new NoteItem(type, state, date.getTime() + "", user, msg);
+ NoteItem logItem = new NoteItem(type, state, String.valueOf(date.getTime()), user, msg);
List<NoteItem> logItems = getNoteItems();
if (logItems.isEmpty()) {
logItems = Arrays.asList(logItem);
@@ -77,40 +71,11 @@ public class ATSNote {
saveNoteItems(logItems);
}
- public static List<NoteItem> getNoteItems(String str, String hrid) {
- List<NoteItem> logItems = new ArrayList<NoteItem>();
- try {
- if (Strings.isValid(str)) {
- NodeList nodes = Jaxp.readXmlDocument(str).getElementsByTagName(LOG_ITEM_TAG);
- for (int i = 0; i < nodes.getLength(); i++) {
- Element element = (Element) nodes.item(i);
- try {
- User user = UserManager.getUserByUserId(element.getAttribute("userId"));
- NoteItem item =
- new NoteItem(element.getAttribute("type"), element.getAttribute("state"),
- element.getAttribute("date"), user, element.getAttribute("msg"));
- logItems.add(item);
- } catch (UserNotInDatabase ex) {
- OseeLog.log(AtsPlugin.class, Level.SEVERE, String.format("Error parsing notes for [%s]", hrid), ex);
- NoteItem item =
- new NoteItem(element.getAttribute("type"), element.getAttribute("state"),
- element.getAttribute("date"), UserManager.getUser(SystemUser.Guest),
- element.getAttribute("msg"));
- logItems.add(item);
- }
- }
- }
- } catch (Exception ex) {
- OseeLog.log(AtsPlugin.class, OseeLevel.SEVERE_POPUP, ex);
- }
- return logItems;
- }
-
public List<NoteItem> getNoteItems() {
try {
String xml = getArtifact().getSoleAttributeValue(AtsAttributeTypes.StateNotes, "");
if (Strings.isValid(xml)) {
- return getNoteItems(xml, getArtifact().getHumanReadableId());
+ return NoteItem.fromXml(xml, getArtifact().getHumanReadableId());
}
} catch (Exception ex) {
OseeLog.log(AtsPlugin.class, OseeLevel.SEVERE_POPUP, ex);
@@ -120,54 +85,54 @@ public class ATSNote {
public void saveNoteItems(List<NoteItem> items) {
try {
- Document doc = Jaxp.newDocumentNamespaceAware();
- Element rootElement = doc.createElement(ATS_NOTE_TAG);
- doc.appendChild(rootElement);
- for (NoteItem item : items) {
- Element element = doc.createElement(LOG_ITEM_TAG);
- element.setAttribute("type", item.getType().name());
- element.setAttribute("state", item.getState());
- element.setAttribute("date", item.getDate().getTime() + "");
- element.setAttribute("userId", item.getUser().getUserId());
- element.setAttribute("msg", item.getMsg());
- rootElement.appendChild(element);
- }
- getArtifact().setSoleAttributeValue(AtsAttributeTypes.StateNotes, Jaxp.getDocumentXml(doc));
+ String xml = NoteItem.toXml(items);
+ getArtifact().setSoleAttributeValue(AtsAttributeTypes.StateNotes, xml);
} catch (Exception ex) {
OseeLog.log(AtsPlugin.class, OseeLevel.SEVERE_POPUP, "Can't create ats note document", ex);
}
}
+ private boolean hasStateNotesAttribute() {
+ try {
+ if (getArtifact().getAttributes(AtsAttributeTypes.StateNotes).isEmpty()) {
+ return false;
+ }
+ } catch (OseeCoreException ex) {
+ OseeLog.log(AtsPlugin.class, Level.SEVERE, ex);
+ return false;
+ }
+ return true;
+ }
+
/**
* Display Note Table; If state == null, only display non-state notes Otherwise, show only notes associated with
* state
*/
public String getTable(String state) {
- ArrayList<NoteItem> showNotes = new ArrayList<NoteItem>();
- List<NoteItem> noteItems = getNoteItems();
- try {
- if (!getArtifact().isAttributeTypeValid(AtsAttributeTypes.StateNotes)) {
- return "";
- }
- } catch (OseeCoreException ex) {
- OseeLog.log(AtsPlugin.class, Level.SEVERE, ex);
+ if (!hasStateNotesAttribute()) {
return "";
}
+ ArrayList<NoteItem> showNotes = new ArrayList<NoteItem>();
+ List<NoteItem> noteItems = getNoteItems();
for (NoteItem li : noteItems) {
- if (state == null) {
- if (li.getState().equals("")) {
- showNotes.add(li);
- }
- } else if (state.equals("ALL") || li.getState().equals(state)) {
+ if (state == null && li.getState().equals("")) {
+ showNotes.add(li);
+ } else if (state != null && ("ALL".equals(state) || li.getState().equals(state))) {
showNotes.add(li);
}
}
if (showNotes.isEmpty()) {
return "";
}
+ return buildTable(showNotes);
+ }
+
+ private String buildTable(List<NoteItem> showNotes) {
StringBuilder builder = new StringBuilder();
- builder.append("<TABLE BORDER=\"1\" cellspacing=\"1\" cellpadding=\"3%\" width=\"100%\"><THEAD><TR><TH>Type</TH><TH>State</TH>" + "<TH>Message</TH><TH>User</TH><TH>Date</TH></THEAD></TR>");
+ builder.append(AHTML.beginMultiColumnTable(100, 1));
+ builder.append(AHTML.addHeaderRowMultiColumnTable(Arrays.asList("Type", "State", "Message", "User", "Date")));
+ DateFormat dateFormat = getDateFormat();
for (NoteItem note : showNotes) {
User user = note.getUser();
String name = "";
@@ -177,24 +142,18 @@ public class ATSNote {
name = user.getName();
}
}
- builder.append("<TR>");
- builder.append("<TD>" + note.getType() + "</TD>");
- builder.append("<TD>" + (note.getState().equals("") ? "," : note.getState()) + "</TD>");
- builder.append("<TD>" + (note.getMsg().equals("") ? "," : note.getMsg()) + "</TD>");
-
- if (user != null && user.isMe()) {
- builder.append("<TD bgcolor=\"#CCCCCC\">" + name + "</TD>");
- } else {
- builder.append("<TD>" + name + "</TD>");
- }
-
- builder.append("<TD>" + new SimpleDateFormat("MM/dd/yyyy h:mm a").format(note.getDate()) + "</TD>");
- builder.append("</TR>");
+ builder.append(AHTML.addRowMultiColumnTable(String.valueOf(note.getType()),
+ (note.getState().isEmpty() ? "," : note.getState()), (note.getMsg().equals("") ? "," : note.getMsg()),
+ name, dateFormat.format(note.getDate())));
}
- builder.append("</TABLE>");
+ builder.append(AHTML.endMultiColumnTable());
return builder.toString();
}
+ public DateFormat getDateFormat() {
+ return new SimpleDateFormat("MM/dd/yyyy h:mm a", Locale.US);
+ }
+
public boolean isEnabled() {
return enabled;
}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/ATSArtifact.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/AbstractAtsArtifact.java
index 5e20bbea5e..d7c3060e98 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/ATSArtifact.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/AbstractAtsArtifact.java
@@ -14,7 +14,6 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Set;
-import org.eclipse.osee.ats.hyper.IHyperArtifact;
import org.eclipse.osee.ats.util.Overview;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
import org.eclipse.osee.framework.core.model.Branch;
@@ -24,9 +23,9 @@ import org.eclipse.osee.framework.skynet.core.artifact.ArtifactFactory;
import org.eclipse.osee.framework.skynet.core.artifact.IATSArtifact;
import org.eclipse.osee.framework.skynet.core.relation.RelationLink;
-public abstract class ATSArtifact extends Artifact implements IHyperArtifact, IATSArtifact {
+public abstract class AbstractAtsArtifact extends Artifact implements IATSArtifact {
- public ATSArtifact(ArtifactFactory parentFactory, String guid, String humanReadableId, Branch branch, ArtifactType artifactType) throws OseeCoreException {
+ public AbstractAtsArtifact(ArtifactFactory parentFactory, String guid, String humanReadableId, Branch branch, ArtifactType artifactType) throws OseeCoreException {
super(parentFactory, guid, humanReadableId, branch, artifactType);
}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/ReviewSMArtifact.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/AbstractReviewArtifact.java
index db437b400c..e623abffc3 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/ReviewSMArtifact.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/AbstractReviewArtifact.java
@@ -21,7 +21,6 @@ import org.eclipse.core.runtime.Status;
import org.eclipse.osee.ats.internal.AtsPlugin;
import org.eclipse.osee.ats.util.AtsNotifyUsers;
import org.eclipse.osee.ats.util.AtsRelationTypes;
-import org.eclipse.osee.ats.util.AtsUtil;
import org.eclipse.osee.ats.util.widgets.XActionableItemsDam;
import org.eclipse.osee.ats.util.widgets.defect.DefectManager;
import org.eclipse.osee.ats.util.widgets.role.UserRole;
@@ -31,8 +30,6 @@ import org.eclipse.osee.framework.core.exception.OseeCoreException;
import org.eclipse.osee.framework.core.model.Branch;
import org.eclipse.osee.framework.core.model.type.ArtifactType;
import org.eclipse.osee.framework.logging.OseeLog;
-import org.eclipse.osee.framework.skynet.core.User;
-import org.eclipse.osee.framework.skynet.core.UserManager;
import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
import org.eclipse.osee.framework.skynet.core.artifact.ArtifactFactory;
import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction;
@@ -40,20 +37,20 @@ import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction;
/**
* @author Donald G. Dunne
*/
-public abstract class ReviewSMArtifact extends TaskableStateMachineArtifact {
+public abstract class AbstractReviewArtifact extends AbstractTaskableArtifact {
protected DefectManager defectManager;
protected UserRoleManager userRoleManager;
private XActionableItemsDam actionableItemsDam;
private Collection<UserRole> preSaveReviewRoleComplete;
- Boolean standAlone = null;
+ private Boolean standAlone = null;
public static enum ReviewBlockType {
None,
Transition,
Commit
};
- public ReviewSMArtifact(ArtifactFactory parentFactory, String guid, String humanReadableId, Branch branch, ArtifactType artifactType) throws OseeCoreException {
+ public AbstractReviewArtifact(ArtifactFactory parentFactory, String guid, String humanReadableId, Branch branch, ArtifactType artifactType) throws OseeCoreException {
super(parentFactory, guid, humanReadableId, branch, artifactType);
}
@@ -64,23 +61,6 @@ public abstract class ReviewSMArtifact extends TaskableStateMachineArtifact {
};
@Override
- public Set<User> getPrivilegedUsers() throws OseeCoreException {
- Set<User> users = new HashSet<User>();
- if (getParentTeamWorkflow() != null) {
- users.addAll(getParentTeamWorkflow().getPrivilegedUsers());
- }
- for (ActionableItemArtifact aia : getActionableItemsDam().getActionableItems()) {
- for (TeamDefinitionArtifact teamDef : aia.getImpactedTeamDefs()) {
- addPriviledgedUsersUpTeamDefinitionTree(teamDef, users);
- }
- }
- if (AtsUtil.isAtsAdmin()) {
- users.add(UserManager.getUser());
- }
- return users;
- }
-
- @Override
public void onAttributePersist(SkynetTransaction transaction) {
super.onAttributePersist(transaction);
// Since multiple ways exist to change the assignees, notification is performed on the persist
@@ -110,11 +90,10 @@ public abstract class ReviewSMArtifact extends TaskableStateMachineArtifact {
public void notifyReviewersComplete() throws OseeCoreException {
UserRoleManager userRoleManager = this.getUserRoleManager();
- if (!preSaveReviewRoleComplete.equals(userRoleManager.getRoleUsersReviewComplete())) {
- //all reviewers are complete; send notification to author/moderator
- if (userRoleManager.getUserRoles(Role.Reviewer).equals(userRoleManager.getRoleUsersReviewComplete())) {
- AtsNotifyUsers.getInstance().notify(this, AtsNotifyUsers.NotifyType.Reviewed);
- }
+ //all reviewers are complete; send notification to author/moderator
+ if (!preSaveReviewRoleComplete.equals(userRoleManager.getRoleUsersReviewComplete()) && userRoleManager.getUserRoles(
+ Role.Reviewer).equals(userRoleManager.getRoleUsersReviewComplete())) {
+ AtsNotifyUsers.getInstance().notify(this, AtsNotifyUsers.NotifyType.Reviewed);
}
preSaveReviewRoleComplete = userRoleManager.getRoleUsersReviewComplete();
}
@@ -122,7 +101,7 @@ public abstract class ReviewSMArtifact extends TaskableStateMachineArtifact {
/**
* Reset managers for case where artifact is re-loaded/initialized
*
- * @see org.eclipse.osee.ats.artifact.StateMachineArtifact#initialize()
+ * @see org.eclipse.osee.ats.artifact.AbstractWorkflowArtifact#initialize()
*/
@Override
protected void initializeSMA() throws OseeCoreException {
@@ -145,7 +124,7 @@ public abstract class ReviewSMArtifact extends TaskableStateMachineArtifact {
String typeStr = getSoleAttributeValue(AtsAttributeTypes.ReviewBlocks, null);
if (typeStr == null) {
// Check old attribute value
- if (getSoleAttributeValue(AtsAttributeTypes.BlockingReview, false) == true) {
+ if (getSoleAttributeValue(AtsAttributeTypes.BlockingReview, false)) {
return ReviewBlockType.Transition;
}
return ReviewBlockType.None;
@@ -160,11 +139,6 @@ public abstract class ReviewSMArtifact extends TaskableStateMachineArtifact {
return defectManager;
}
- @Override
- public String getHyperTargetVersion() {
- return null;
- }
-
public UserRoleManager getUserRoleManager() {
if (userRoleManager == null) {
return userRoleManager = new UserRoleManager(this);
@@ -172,7 +146,7 @@ public abstract class ReviewSMArtifact extends TaskableStateMachineArtifact {
return userRoleManager;
}
- @SuppressWarnings("unused")
+ @SuppressWarnings("unused") // NOPMD by b0727536 on 9/29/10 8:50 AM
public IStatus isUserRoleValid(String namespace) throws OseeCoreException {
// Need this cause it removes all error items of this namespace
return new Status(IStatus.OK, namespace, "");
@@ -200,7 +174,7 @@ public abstract class ReviewSMArtifact extends TaskableStateMachineArtifact {
}
@Override
- public StateMachineArtifact getParentSMA() throws OseeCoreException {
+ public AbstractWorkflowArtifact getParentSMA() throws OseeCoreException {
if (isStandAloneReview()) {
return null;
}
@@ -243,7 +217,7 @@ public abstract class ReviewSMArtifact extends TaskableStateMachineArtifact {
OseeLog.log(AtsPlugin.class, Level.SEVERE,
getArtifactTypeName() + " " + getHumanReadableId() + " has no parent workflow");
}
- if (teams.size() > 0) {
+ if (!teams.isEmpty()) {
parentTeamArt = teams.iterator().next();
}
return parentTeamArt;
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/TaskableStateMachineArtifact.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/AbstractTaskableArtifact.java
index ee765188bf..bbd8fb133b 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/TaskableStateMachineArtifact.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/AbstractTaskableArtifact.java
@@ -43,21 +43,15 @@ import org.eclipse.osee.framework.ui.skynet.widgets.workflow.WorkPageDefinition;
/**
* @author Donald G. Dunne
*/
-public abstract class TaskableStateMachineArtifact extends StateMachineArtifact {
+public abstract class AbstractTaskableArtifact extends AbstractWorkflowArtifact {
- public TaskableStateMachineArtifact(ArtifactFactory parentFactory, String guid, String humanReadableId, Branch branch, ArtifactType artifactType) throws OseeCoreException {
+ public AbstractTaskableArtifact(ArtifactFactory parentFactory, String guid, String humanReadableId, Branch branch, ArtifactType artifactType) throws OseeCoreException {
super(parentFactory, guid, humanReadableId, branch, artifactType);
registerAtsWorldRelation(AtsRelationTypes.SmaToTask_Task);
}
- @SuppressWarnings("unused")
- @Override
- public Set<User> getPrivilegedUsers() throws OseeCoreException {
- return null;
- }
-
@Override
- public void getSmaArtifactsOneLevel(StateMachineArtifact smaArtifact, Set<Artifact> artifacts) throws OseeCoreException {
+ public void getSmaArtifactsOneLevel(AbstractWorkflowArtifact smaArtifact, Set<Artifact> artifacts) throws OseeCoreException {
super.getSmaArtifactsOneLevel(smaArtifact, artifacts);
artifacts.addAll(getTaskArtifacts());
}
@@ -68,11 +62,6 @@ public abstract class TaskableStateMachineArtifact extends StateMachineArtifact
return null;
}
- @Override
- public String getHyperTargetVersion() {
- return null;
- }
-
@SuppressWarnings("unused")
@Override
public String getWorldViewParentID() throws OseeCoreException {
@@ -89,11 +78,6 @@ public abstract class TaskableStateMachineArtifact extends StateMachineArtifact
}
@Override
- public boolean showTaskTab() throws OseeCoreException {
- return isTaskable() || isCompleted() || isCancelled();
- }
-
- @Override
public void atsDelete(Set<Artifact> deleteArts, Map<Artifact, Object> allRelated) throws OseeCoreException {
super.atsDelete(deleteArts, allRelated);
for (TaskArtifact taskArt : getTaskArtifacts()) {
@@ -117,21 +101,6 @@ public abstract class TaskableStateMachineArtifact extends StateMachineArtifact
return String.valueOf(getNumTasksInWork());
}
- public String getStatus(String stateName) throws OseeCoreException {
- int completed = 0, cancelled = 0, inWork = 0;
- for (TaskArtifact taskArt : getTaskArtifacts(stateName)) {
- if (taskArt.isCompleted()) {
- completed++;
- } else if (taskArt.isCancelled()) {
- cancelled++;
- } else {
- inWork++;
- }
- }
- return String.format("Total: %d - InWork: %d - Completed: %d - Cancelled: %d",
- getTaskArtifacts(stateName).size(), inWork, completed, cancelled);
- }
-
public Collection<TaskArtifact> getTaskArtifacts() throws OseeCoreException {
return AtsCacheManager.getTaskArtifacts(this);
}
@@ -320,8 +289,8 @@ public abstract class TaskableStateMachineArtifact extends StateMachineArtifact
List<TaskArtifact> tasks = new ArrayList<TaskArtifact>();
for (String title : titles) {
TaskArtifact taskArt = createNewTask(title);
- if (assignees != null && assignees.size() > 0) {
- Set<User> users = new HashSet<User>();
+ if (assignees != null && !assignees.isEmpty()) {
+ Set<User> users = new HashSet<User>(); // NOPMD by b0727536 on 9/29/10 8:51 AM
for (User art : assignees) {
users.add(art);
}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/StateMachineArtifact.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/AbstractWorkflowArtifact.java
index 694bbc9bb1..cfd25c5e6c 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/StateMachineArtifact.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/AbstractWorkflowArtifact.java
@@ -23,19 +23,20 @@ import java.util.Set;
import java.util.logging.Level;
import org.eclipse.nebula.widgets.xviewer.XViewerCells;
import org.eclipse.osee.ats.artifact.ATSLog.LogType;
-import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact.DefaultTeamState;
import org.eclipse.osee.ats.editor.SMAEditor;
-import org.eclipse.osee.ats.editor.stateItem.AtsStateItems;
+import org.eclipse.osee.ats.editor.stateItem.AtsStateItemManager;
import org.eclipse.osee.ats.editor.stateItem.IAtsStateItem;
import org.eclipse.osee.ats.internal.AtsPlugin;
+import org.eclipse.osee.ats.notify.AtsNotification;
import org.eclipse.osee.ats.util.AtsArtifactTypes;
import org.eclipse.osee.ats.util.AtsNotifyUsers;
import org.eclipse.osee.ats.util.AtsRelationTypes;
import org.eclipse.osee.ats.util.AtsUtil;
import org.eclipse.osee.ats.util.DeadlineManager;
-import org.eclipse.osee.ats.util.Overview;
-import org.eclipse.osee.ats.util.Overview.PreviewStyle;
+import org.eclipse.osee.ats.util.DefaultTeamState;
+import org.eclipse.osee.ats.util.GoalManager;
import org.eclipse.osee.ats.util.StateManager;
+import org.eclipse.osee.ats.util.TransitionOption;
import org.eclipse.osee.ats.util.widgets.ReviewManager;
import org.eclipse.osee.ats.workflow.ATSXWidgetOptionResolver;
import org.eclipse.osee.ats.workflow.AtsWorkPage;
@@ -43,7 +44,6 @@ import org.eclipse.osee.ats.workflow.item.AtsStatePercentCompleteWeightRule;
import org.eclipse.osee.ats.workflow.item.AtsWorkDefinitions;
import org.eclipse.osee.ats.world.IWorldViewArtifact;
import org.eclipse.osee.framework.access.AccessControlManager;
-import org.eclipse.osee.framework.core.data.AccessContextId;
import org.eclipse.osee.framework.core.data.IArtifactType;
import org.eclipse.osee.framework.core.data.SystemUser;
import org.eclipse.osee.framework.core.enums.CoreRelationTypes;
@@ -72,7 +72,6 @@ import org.eclipse.osee.framework.ui.skynet.FrameworkArtifactImageProvider;
import org.eclipse.osee.framework.ui.skynet.group.IGroupExplorerProvider;
import org.eclipse.osee.framework.ui.skynet.notify.OseeNotificationManager;
import org.eclipse.osee.framework.ui.skynet.util.ChangeType;
-import org.eclipse.osee.framework.ui.skynet.util.email.EmailGroup;
import org.eclipse.osee.framework.ui.skynet.widgets.workflow.WorkFlowDefinition;
import org.eclipse.osee.framework.ui.skynet.widgets.workflow.WorkFlowDefinitionFactory;
import org.eclipse.osee.framework.ui.skynet.widgets.workflow.WorkItemDefinition;
@@ -83,36 +82,22 @@ import org.eclipse.swt.graphics.Image;
/**
* @author Donald G. Dunne
*/
-public abstract class StateMachineArtifact extends ATSArtifact implements HasCmAccessControl, IGroupExplorerProvider, IWorldViewArtifact, ISubscribableArtifact, IFavoriteableArtifact {
+public abstract class AbstractWorkflowArtifact extends AbstractAtsArtifact implements HasCmAccessControl, IGroupExplorerProvider, IWorldViewArtifact {
private final Set<IRelationEnumeration> atsWorldRelations = new HashSet<IRelationEnumeration>();
- private Collection<User> preSaveStateAssignees;
- private User preSaveOriginator;
- public static double DEFAULT_HOURS_PER_WORK_DAY = 8;
+ private Collection<User> transitionAssignees;
protected WorkFlowDefinition workFlowDefinition;
- protected Artifact parent;
- protected StateMachineArtifact parentSma;
+ protected AbstractWorkflowArtifact parentSma;
protected TeamWorkFlowArtifact parentTeamArt;
protected ActionArtifact parentAction;
- private Collection<User> transitionAssignees;
- private static String SEPERATOR = "; ";
private StateManager stateMgr;
private DeadlineManager deadlineMgr;
private SMAEditor editor;
private ATSLog atsLog;
private ATSNote atsNote;
- private static final AtsStateItems stateItems = new AtsStateItems();
private boolean inTransition = false;
- public static enum TransitionOption {
- None,
- Persist,
- // Override check whether workflow allows transition to state
- OverrideTransitionValidityCheck,
- // Allows transition to occur with UnAssigned, OseeSystem or Guest
- OverrideAssigneeCheck
- };
-
- public StateMachineArtifact(ArtifactFactory parentFactory, String guid, String humanReadableId, Branch branch, ArtifactType artifactType) throws OseeCoreException {
+
+ public AbstractWorkflowArtifact(ArtifactFactory parentFactory, String guid, String humanReadableId, Branch branch, ArtifactType artifactType) throws OseeCoreException {
super(parentFactory, guid, humanReadableId, branch, artifactType);
}
@@ -145,26 +130,13 @@ public abstract class StateMachineArtifact extends ATSArtifact implements HasCmA
stateMgr = new StateManager(this);
atsLog = new ATSLog(this);
atsNote = new ATSNote(this);
- preSaveStateAssignees = getStateMgr().getAssignees();
- if (getOriginator() == null) {
- preSaveOriginator = UserManager.getUser();
- } else {
- preSaveOriginator = getOriginator();
- }
+ AtsNotification.notifyNewAssigneesAndReset(this, true);
+ AtsNotification.notifyOriginatorAndReset(this, true);
} catch (Exception ex) {
OseeLog.log(AtsPlugin.class, Level.SEVERE, ex);
}
}
- public boolean hasAtsWorldChildren() throws OseeCoreException {
- for (IRelationEnumeration iRelationEnumeration : atsWorldRelations) {
- if (getRelatedArtifactsCount(iRelationEnumeration) > 0) {
- return true;
- }
- }
- return false;
- }
-
public String getHelpContext() {
return "atsWorkflowEditorWorkflowTab";
}
@@ -196,18 +168,6 @@ public abstract class StateMachineArtifact extends ATSArtifact implements HasCmA
return Artifacts.toString("; ", getImplementers());
}
- public Collection<User> getImplementersByState(String stateName) throws OseeCoreException {
- if (isCancelled()) {
- return Arrays.asList(getLog().getCancelledLogItem().getUser());
- }
- Collection<User> users = new HashSet<User>(getStateMgr().getAssignees(stateName));
- LogItem item = getLog().getCompletedLogItem();
- if (item != null) {
- users.add(item.getUser());
- }
- return users;
- }
-
@SuppressWarnings("unused")
public Collection<User> getImplementers() throws OseeCoreException {
return Collections.emptyList();
@@ -242,81 +202,25 @@ public abstract class StateMachineArtifact extends ATSArtifact implements HasCmA
return;
}
try {
- notifyNewAssigneesAndReset();
- notifyOriginatorAndReset();
+ AtsNotification.notifyNewAssigneesAndReset(this, false);
+ AtsNotification.notifyOriginatorAndReset(this, false);
} catch (Exception ex) {
OseeLog.log(AtsPlugin.class, Level.SEVERE, ex);
}
}
- /**
- * Override to apply different algorithm to current section expansion.
- *
- * @return true if section should be expanded
- */
- public boolean isCurrentSectionExpanded(String stateName) throws OseeCoreException {
- return getStateMgr().getCurrentStateName().equals(stateName);
- }
-
- public void notifyNewAssigneesAndReset() throws OseeCoreException {
- if (preSaveStateAssignees == null) {
- preSaveStateAssignees = getStateMgr().getAssignees();
- return;
- }
- Set<User> newAssignees = new HashSet<User>();
- for (User user : getStateMgr().getAssignees()) {
- if (!preSaveStateAssignees.contains(user)) {
- newAssignees.add(user);
- }
- }
- preSaveStateAssignees = getStateMgr().getAssignees();
- if (newAssignees.isEmpty()) {
- return;
- }
- try {
- // These will be processed upon save
- AtsNotifyUsers.getInstance().notify(this, newAssignees, AtsNotifyUsers.NotifyType.Assigned);
- } catch (OseeCoreException ex) {
- OseeLog.log(AtsPlugin.class, OseeLevel.SEVERE_POPUP, ex);
- }
- }
-
- public void notifyOriginatorAndReset() throws OseeCoreException {
- if (preSaveOriginator != null && getOriginator() != null && !getOriginator().equals(preSaveOriginator)) {
- AtsNotifyUsers.getInstance().notify(this, AtsNotifyUsers.NotifyType.Originator);
- }
- preSaveOriginator = getOriginator();
- }
-
@SuppressWarnings("unused")
public boolean isValidationRequired() throws OseeCoreException {
return false;
}
- public abstract Set<User> getPrivilegedUsers() throws OseeCoreException;
-
@Override
public String getDescription() {
return "";
}
- public ArrayList<EmailGroup> getEmailableGroups() throws OseeCoreException {
- ArrayList<EmailGroup> groupNames = new ArrayList<EmailGroup>();
- ArrayList<String> emails = new ArrayList<String>();
- emails.add(getOriginator().getEmail());
- groupNames.add(new EmailGroup("Originator", emails));
- if (getStateMgr().getAssignees().size() > 0) {
- emails = new ArrayList<String>();
- for (User u : getStateMgr().getAssignees()) {
- emails.add(u.getEmail());
- }
- groupNames.add(new EmailGroup("Assignees", emails));
- }
- return groupNames;
- }
-
@SuppressWarnings("unused")
- public StateMachineArtifact getParentSMA() throws OseeCoreException {
+ public AbstractWorkflowArtifact getParentSMA() throws OseeCoreException {
return parentSma;
}
@@ -330,45 +234,6 @@ public abstract class StateMachineArtifact extends ATSArtifact implements HasCmA
return parentTeamArt;
}
- public String getPreviewHtml() throws OseeCoreException {
- return getPreviewHtml(PreviewStyle.NONE);
- }
-
- public String getPreviewHtml(PreviewStyle... styles) throws OseeCoreException {
- Overview o = new Overview();
- o.addHeader(this, styles);
- o.addFooter(this, styles);
- return o.getPage();
- }
-
- public boolean isUnCancellable() {
- try {
- LogItem item = getLog().getStateEvent(LogType.StateCancelled);
- if (item == null) {
- throw new OseeArgumentException("No Cancelled Event");
- }
- for (WorkPageDefinition toWorkPageDefinition : getWorkFlowDefinition().getToPages(getWorkPageDefinition())) {
- if (toWorkPageDefinition.getPageName().equals(item.getState())) {
- return true;
- }
- }
- } catch (Exception ex) {
- OseeLog.log(AtsPlugin.class, Level.SEVERE, ex);
- }
- return false;
- }
-
- public boolean isTaskable() throws OseeCoreException {
- if (isCompleted() || isCancelled()) {
- return false;
- }
- return true;
- }
-
- public boolean showTaskTab() throws OseeCoreException {
- return isTaskable();
- }
-
public String getEditorTitle() throws OseeCoreException {
return getWorldViewType() + ": " + getName();
}
@@ -406,81 +271,6 @@ public abstract class StateMachineArtifact extends ATSArtifact implements HasCmA
}
@Override
- public void addSubscribed(User user, SkynetTransaction transaction) throws OseeCoreException {
- if (!getRelatedArtifacts(AtsRelationTypes.SubscribedUser_User).contains(user)) {
- addRelation(AtsRelationTypes.SubscribedUser_User, user);
- persist(transaction);
- }
-
- }
-
- @Override
- public void removeSubscribed(User user, SkynetTransaction transaction) throws OseeCoreException {
- deleteRelation(AtsRelationTypes.SubscribedUser_User, user);
- persist(transaction);
- }
-
- @Override
- public boolean isSubscribed(User user) throws OseeCoreException {
- return getRelatedArtifacts(AtsRelationTypes.SubscribedUser_User).contains(user);
- }
-
- @Override
- public ArrayList<User> getSubscribed() throws OseeCoreException {
- ArrayList<User> arts = new ArrayList<User>();
- for (Artifact art : getRelatedArtifacts(AtsRelationTypes.SubscribedUser_User)) {
- arts.add((User) art);
- }
- return arts;
- }
-
- @Override
- public void addFavorite(User user, SkynetTransaction transaction) throws OseeCoreException {
- if (!getRelatedArtifacts(AtsRelationTypes.FavoriteUser_User).contains(user)) {
- addRelation(AtsRelationTypes.FavoriteUser_User, user);
- persist(transaction);
- }
- }
-
- @Override
- public void removeFavorite(User user, SkynetTransaction transaction) throws OseeCoreException {
- deleteRelation(AtsRelationTypes.FavoriteUser_User, user);
- persist(transaction);
- }
-
- @Override
- public boolean isFavorite(User user) throws OseeCoreException {
- return getRelatedArtifacts(AtsRelationTypes.FavoriteUser_User).contains(user);
- }
-
- @Override
- public ArrayList<User> getFavorites() throws OseeCoreException {
- ArrayList<User> arts = new ArrayList<User>();
- for (Artifact art : getRelatedArtifacts(AtsRelationTypes.FavoriteUser_User)) {
- arts.add((User) art);
- }
- return arts;
- }
-
- @Override
- public boolean amISubscribed() {
- try {
- return isSubscribed(UserManager.getUser());
- } catch (OseeCoreException ex) {
- return false;
- }
- }
-
- @Override
- public boolean amIFavorite() {
- try {
- return isFavorite(UserManager.getUser());
- } catch (OseeCoreException ex) {
- return false;
- }
- }
-
- @Override
public void atsDelete(Set<Artifact> deleteArts, Map<Artifact, Object> allRelated) throws OseeCoreException {
SMAEditor.close(Collections.singleton(this), true);
super.atsDelete(deleteArts, allRelated);
@@ -499,7 +289,7 @@ public abstract class StateMachineArtifact extends ATSArtifact implements HasCmA
}
@Override
- public String getWorldViewState() throws OseeCoreException {
+ public String getWorldViewState() {
return getStateMgr().getCurrentStateName();
}
@@ -508,10 +298,8 @@ public abstract class StateMachineArtifact extends ATSArtifact implements HasCmA
@Override
public String getWorldViewActivePoc() throws OseeCoreException {
if (isCancelledOrCompleted()) {
- if (implementersStr == null) {
- if (getImplementers().size() > 0) {
- implementersStr = "(" + Artifacts.toString("; ", getImplementers()) + ")";
- }
+ if (implementersStr == null && !getImplementers().isEmpty()) {
+ implementersStr = "(" + Artifacts.toString("; ", getImplementers()) + ")";
}
return implementersStr;
}
@@ -618,17 +406,17 @@ public abstract class StateMachineArtifact extends ATSArtifact implements HasCmA
}
public double getEstimatedHoursFromTasks(String relatedToState) throws OseeCoreException {
- if (!(this instanceof TaskableStateMachineArtifact)) {
+ if (!(this instanceof AbstractTaskableArtifact)) {
return 0;
}
- return ((TaskableStateMachineArtifact) this).getEstimatedHoursFromTasks(relatedToState);
+ return ((AbstractTaskableArtifact) this).getEstimatedHoursFromTasks(relatedToState);
}
public double getEstimatedHoursFromTasks() throws OseeCoreException {
- if (!(this instanceof TaskableStateMachineArtifact)) {
+ if (!(this instanceof AbstractTaskableArtifact)) {
return 0;
}
- return ((TaskableStateMachineArtifact) this).getEstimatedHoursFromTasks();
+ return ((AbstractTaskableArtifact) this).getEstimatedHoursFromTasks();
}
public double getEstimatedHoursFromReviews() throws OseeCoreException {
@@ -683,8 +471,7 @@ public abstract class StateMachineArtifact extends ATSArtifact implements HasCmA
if (est == 0) {
return getEstimatedHoursFromArtifact();
}
- double remain = est - est * getPercentCompleteSMATotal() / 100.0;
- return remain;
+ return est - est * getPercentCompleteSMATotal() / 100.0;
}
public double getRemainHoursTotal() throws OseeCoreException {
@@ -692,10 +479,10 @@ public abstract class StateMachineArtifact extends ATSArtifact implements HasCmA
}
public double getRemainFromTasks() throws OseeCoreException {
- if (!(this instanceof TaskableStateMachineArtifact)) {
+ if (!(this instanceof AbstractTaskableArtifact)) {
return 0;
}
- return ((TaskableStateMachineArtifact) this).getRemainHoursFromTasks();
+ return ((AbstractTaskableArtifact) this).getRemainHoursFromTasks();
}
public double getRemainFromReviews() throws OseeCoreException {
@@ -755,7 +542,7 @@ public abstract class StateMachineArtifact extends ATSArtifact implements HasCmA
@SuppressWarnings("unused")
public double getManHrsPerDayPreference() throws OseeCoreException {
- return DEFAULT_HOURS_PER_WORK_DAY;
+ return AtsUtil.DEFAULT_HOURS_PER_WORK_DAY;
}
@SuppressWarnings("unused")
@@ -844,10 +631,10 @@ public abstract class StateMachineArtifact extends ATSArtifact implements HasCmA
@Override
public String getWorldViewNumberOfTasks() throws OseeCoreException {
- if (!(this instanceof TaskableStateMachineArtifact)) {
+ if (!(this instanceof AbstractTaskableArtifact)) {
return "";
}
- int num = ((TaskableStateMachineArtifact) this).getTaskArtifacts().size();
+ int num = ((AbstractTaskableArtifact) this).getTaskArtifacts().size();
if (num == 0) {
return "";
}
@@ -914,7 +701,7 @@ public abstract class StateMachineArtifact extends ATSArtifact implements HasCmA
}
@SuppressWarnings("unused")
- public void getSmaArtifactsOneLevel(StateMachineArtifact smaArtifact, Set<Artifact> artifacts) throws OseeCoreException {
+ public void getSmaArtifactsOneLevel(AbstractWorkflowArtifact smaArtifact, Set<Artifact> artifacts) throws OseeCoreException {
artifacts.add(smaArtifact);
}
@@ -986,50 +773,6 @@ public abstract class StateMachineArtifact extends ATSArtifact implements HasCmA
// provided for subclass implementation
}
- @Override
- public String getHyperName() {
- return getName();
- }
-
- @Override
- public String getHyperType() {
- try {
- return getArtifactTypeName();
- } catch (Exception ex) {
- return ex.getLocalizedMessage();
- }
- }
-
- @Override
- public String getHyperState() {
- try {
- return getStateMgr().getCurrentStateName();
- } catch (OseeCoreException ex) {
- OseeLog.log(AtsPlugin.class, Level.SEVERE, ex);
- }
- return "";
- }
-
- @Override
- public String getHyperAssignee() {
- try {
- return Artifacts.toString("; ", getStateMgr().getAssignees());
- } catch (OseeCoreException ex) {
- OseeLog.log(AtsPlugin.class, Level.SEVERE, ex);
- }
- return "";
- }
-
- @Override
- public Image getHyperAssigneeImage() throws OseeCoreException {
- return getAssigneeImage();
- }
-
- @Override
- public Artifact getHyperArtifact() {
- return this;
- }
-
@SuppressWarnings("unused")
@Override
public String getWorldViewDecision() throws OseeCoreException {
@@ -1071,7 +814,7 @@ public abstract class StateMachineArtifact extends ATSArtifact implements HasCmA
}
public static Set<IArtifactType> getAllSMAType() throws OseeCoreException {
- Set<IArtifactType> artTypeNames = TeamWorkflowExtensions.getInstance().getAllTeamWorkflowArtifactTypes();
+ Set<IArtifactType> artTypeNames = TeamWorkflowExtensions.getAllTeamWorkflowArtifactTypes();
artTypeNames.add(AtsArtifactTypes.Task);
artTypeNames.add(AtsArtifactTypes.DecisionReview);
artTypeNames.add(AtsArtifactTypes.PeerToPeerReview);
@@ -1088,7 +831,7 @@ public abstract class StateMachineArtifact extends ATSArtifact implements HasCmA
public static List<TeamWorkFlowArtifact> getAllTeamWorkflowArtifacts() throws OseeCoreException {
List<TeamWorkFlowArtifact> result = new ArrayList<TeamWorkFlowArtifact>();
- for (IArtifactType artType : TeamWorkflowExtensions.getInstance().getAllTeamWorkflowArtifactTypes()) {
+ for (IArtifactType artType : TeamWorkflowExtensions.getAllTeamWorkflowArtifactTypes()) {
List<TeamWorkFlowArtifact> teamArts =
org.eclipse.osee.framework.jdk.core.util.Collections.castAll(ArtifactQuery.getArtifactListFromType(artType,
AtsUtil.getAtsBranch()));
@@ -1138,10 +881,10 @@ public abstract class StateMachineArtifact extends ATSArtifact implements HasCmA
* Return hours spent working ONLY on tasks related to stateName
*/
public double getHoursSpentSMAStateTasks(String stateName) throws OseeCoreException {
- if (!(this instanceof TaskableStateMachineArtifact)) {
+ if (!(this instanceof AbstractTaskableArtifact)) {
return 0;
}
- return ((TaskableStateMachineArtifact) this).getHoursSpentFromTasks(stateName);
+ return ((AbstractTaskableArtifact) this).getHoursSpentFromTasks(stateName);
}
/**
@@ -1188,10 +931,10 @@ public abstract class StateMachineArtifact extends ATSArtifact implements HasCmA
* Return Percent Complete ONLY on tasks related to stateName. Total Percent / # Tasks
*/
public int getPercentCompleteSMAStateTasks(String stateName) throws OseeCoreException {
- if (!(this instanceof TaskableStateMachineArtifact)) {
+ if (!(this instanceof AbstractTaskableArtifact)) {
return 0;
}
- return ((TaskableStateMachineArtifact) this).getPercentCompleteFromTasks(stateName);
+ return ((AbstractTaskableArtifact) this).getPercentCompleteFromTasks(stateName);
}
/**
@@ -1222,7 +965,7 @@ public abstract class StateMachineArtifact extends ATSArtifact implements HasCmA
return 100;
}
Map<String, Double> stateToWeightMap = getStatePercentCompleteWeight();
- if (stateToWeightMap.size() > 0) {
+ if (!stateToWeightMap.isEmpty()) {
// Calculate total percent using configured weighting
int percent = 0;
for (String stateName : getWorkFlowDefinition().getPageNames()) {
@@ -1278,8 +1021,8 @@ public abstract class StateMachineArtifact extends ATSArtifact implements HasCmA
int numObjects = 1; // the state itself is one object
// Add percent for each task and bump objects for each task
- if (this instanceof TaskableStateMachineArtifact) {
- Collection<TaskArtifact> tasks = ((TaskableStateMachineArtifact) this).getTaskArtifacts(stateName);
+ if (this instanceof AbstractTaskableArtifact) {
+ Collection<TaskArtifact> tasks = ((AbstractTaskableArtifact) this).getTaskArtifacts(stateName);
for (TaskArtifact taskArt : tasks) {
percent += taskArt.getPercentCompleteSMATotal();
}
@@ -1288,8 +1031,8 @@ public abstract class StateMachineArtifact extends ATSArtifact implements HasCmA
// Add percent for each review and bump objects for each review
if (isTeamWorkflow()) {
- Collection<ReviewSMArtifact> reviews = ReviewManager.getReviews((TeamWorkFlowArtifact) this, stateName);
- for (ReviewSMArtifact reviewArt : reviews) {
+ Collection<AbstractReviewArtifact> reviews = ReviewManager.getReviews((TeamWorkFlowArtifact) this, stateName);
+ for (AbstractReviewArtifact reviewArt : reviews) {
percent += reviewArt.getPercentCompleteSMATotal();
}
numObjects += reviews.size();
@@ -1416,7 +1159,7 @@ public abstract class StateMachineArtifact extends ATSArtifact implements HasCmA
}
@Override
- public String getGroupExplorerName() throws OseeCoreException {
+ public String getGroupExplorerName() {
return String.format("[%s] %s", getStateMgr().getCurrentStateName(), getName());
}
@@ -1519,8 +1262,8 @@ public abstract class StateMachineArtifact extends ATSArtifact implements HasCmA
if (isTeamWorkflow()) {
teamArt = (TeamWorkFlowArtifact) this;
}
- if (this instanceof ReviewSMArtifact) {
- teamArt = ((ReviewSMArtifact) this).getParentTeamWorkflow();
+ if (this instanceof AbstractReviewArtifact) {
+ teamArt = ((AbstractReviewArtifact) this).getParentTeamWorkflow();
}
if (teamArt == null) {
return false;
@@ -1571,7 +1314,7 @@ public abstract class StateMachineArtifact extends ATSArtifact implements HasCmA
return verArt.isReleased();
}
} catch (Exception ex) {
- // Do Nothing
+ OseeLog.log(AtsPlugin.class, Level.SEVERE, ex);
}
return false;
}
@@ -1583,7 +1326,7 @@ public abstract class StateMachineArtifact extends ATSArtifact implements HasCmA
return verArt.isVersionLocked();
}
} catch (Exception ex) {
- // Do Nothing
+ OseeLog.log(AtsPlugin.class, Level.SEVERE, ex);
}
return false;
}
@@ -1592,19 +1335,19 @@ public abstract class StateMachineArtifact extends ATSArtifact implements HasCmA
return getWorldViewTargetedVersion();
}
- public boolean isCompleted() throws OseeCoreException {
+ public boolean isCompleted() {
return stateMgr.getCurrentStateName().equals(DefaultTeamState.Completed.name());
}
- public boolean isCancelled() throws OseeCoreException {
+ public boolean isCancelled() {
return stateMgr.getCurrentStateName().equals(DefaultTeamState.Cancelled.name());
}
- public boolean isCancelledOrCompleted() throws OseeCoreException {
+ public boolean isCancelledOrCompleted() {
return isCompleted() || isCancelled();
}
- public boolean isCurrentState(String stateName) throws OseeCoreException {
+ public boolean isCurrentState(String stateName) {
return stateName.equals(stateMgr.getCurrentStateName());
}
@@ -1624,10 +1367,10 @@ public abstract class StateMachineArtifact extends ATSArtifact implements HasCmA
public Collection<User> getTransitionAssignees() throws OseeCoreException {
if (transitionAssignees != null) {
- if (transitionAssignees.size() > 0 && transitionAssignees.contains(UserManager.getUser(SystemUser.UnAssigned))) {
+ if (!transitionAssignees.isEmpty() && transitionAssignees.contains(UserManager.getUser(SystemUser.UnAssigned))) {
transitionAssignees.remove(UserManager.getUser(SystemUser.UnAssigned));
}
- if (transitionAssignees.size() > 0) {
+ if (!transitionAssignees.isEmpty()) {
return transitionAssignees;
}
}
@@ -1635,11 +1378,7 @@ public abstract class StateMachineArtifact extends ATSArtifact implements HasCmA
}
public String getTransitionAssigneesStr() throws OseeCoreException {
- StringBuffer sb = new StringBuffer();
- for (User u : getTransitionAssignees()) {
- sb.append(u.getName() + SEPERATOR);
- }
- return sb.toString().replaceFirst(SEPERATOR + "$", "");
+ return org.eclipse.osee.framework.jdk.core.util.Collections.toString(";", getTransitionAssignees());
}
public Result transitionToCancelled(String reason, SkynetTransaction transaction, TransitionOption... transitionOption) {
@@ -1696,7 +1435,7 @@ public abstract class StateMachineArtifact extends ATSArtifact implements HasCmA
}
// Check extension points for valid transition
- List<IAtsStateItem> atsStateItems = stateItems.getStateItems(fromWorkPageDefinition.getId());
+ List<IAtsStateItem> atsStateItems = AtsStateItemManager.getStateItems(fromWorkPageDefinition.getId());
for (IAtsStateItem item : atsStateItems) {
Result result = item.transitioning(this, fromWorkPageDefinition.getPageName(), toStateName, toAssignees);
if (result.isFalse()) {
@@ -1763,7 +1502,7 @@ public abstract class StateMachineArtifact extends ATSArtifact implements HasCmA
atsLog.addLog(LogType.StateCancelled, stateMgr.getCurrentStateName(), completeOrCancelReason);
} else {
atsLog.addLog(LogType.StateComplete, stateMgr.getCurrentStateName(),
- (completeOrCancelReason != null ? completeOrCancelReason : ""));
+ (completeOrCancelReason == null ? "" : completeOrCancelReason));
}
atsLog.addLog(LogType.StateEntered, toStateName, "");
@@ -1784,10 +1523,10 @@ public abstract class StateMachineArtifact extends ATSArtifact implements HasCmA
transitioned(fromPage, toPage, toAssignees, true, transaction);
// Notify extension points of transition
- for (IAtsStateItem item : stateItems.getStateItems(fromPage.getId())) {
+ for (IAtsStateItem item : AtsStateItemManager.getStateItems(fromPage.getId())) {
item.transitioned(this, fromPage.getPageName(), toStateName, toAssignees, transaction);
}
- for (IAtsStateItem item : stateItems.getStateItems(toPage.getId())) {
+ for (IAtsStateItem item : AtsStateItemManager.getStateItems(toPage.getId())) {
item.transitioned(this, fromPage.getPageName(), toStateName, toAssignees, transaction);
}
}
@@ -1800,10 +1539,6 @@ public abstract class StateMachineArtifact extends ATSArtifact implements HasCmA
this.editor = editor;
}
- public AtsStateItems getStateItems() {
- return stateItems;
- }
-
public boolean isInTransition() {
return inTransition;
}
@@ -1830,7 +1565,7 @@ public abstract class StateMachineArtifact extends ATSArtifact implements HasCmA
@Override
public String getWorldViewGoalOrder() throws OseeCoreException {
- return GoalArtifact.getGoalOrder(this);
+ return GoalManager.getGoalOrder(this);
}
public AtsWorkPage getCurrentAtsWorkPage() throws OseeCoreException {
@@ -1868,39 +1603,6 @@ public abstract class StateMachineArtifact extends ATSArtifact implements HasCmA
return "";
}
- public Map<String, String> getSMADetails() throws OseeCoreException {
- Map<String, String> details = Artifacts.getDetailsKeyValues(this);
- details.put("Workflow Definition", getWorkFlowDefinition().getName());
- if (getParentActionArtifact() != null) {
- details.put("Action Id", getParentActionArtifact().getHumanReadableId());
- }
- if (!(this instanceof TeamWorkFlowArtifact) && getParentTeamWorkflow() != null) {
- details.put("Parent Team Workflow Id", getParentTeamWorkflow().getHumanReadableId());
- }
- if (this.isOfType(AtsArtifactTypes.TeamWorkflow)) {
- String message = null;
- CmAccessControl accessControl = getAccessControl();
- if (accessControl != null) {
- Collection<? extends AccessContextId> ids = accessControl.getContextId(UserManager.getUser(), this);
- message = ids.toString();
- } else {
- message = "AtsCmAccessControlService not started";
- }
- details.put("Access Context Id", message);
- }
- return details;
- }
-
- protected void addPriviledgedUsersUpTeamDefinitionTree(TeamDefinitionArtifact tda, Set<User> users) throws OseeCoreException {
- users.addAll(tda.getLeads());
- users.addAll(tda.getPrivilegedMembers());
-
- // Walk up tree to get other editors
- if (tda.getParent() != null && tda.getParent() instanceof TeamDefinitionArtifact) {
- addPriviledgedUsersUpTeamDefinitionTree((TeamDefinitionArtifact) tda.getParent(), users);
- }
- }
-
@Override
public CmAccessControl getAccessControl() {
return AtsPlugin.getInstance().getCmService();
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/ActionArtifact.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/ActionArtifact.java
index 91bf4460df..151f145c41 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/ActionArtifact.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/ActionArtifact.java
@@ -8,48 +8,35 @@
* Contributors:
* Boeing - initial API and implementation
*******************************************************************************/
-
package org.eclipse.osee.ats.artifact;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.Collection;
import java.util.Date;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
-import java.util.concurrent.CopyOnWriteArrayList;
import java.util.logging.Level;
import org.eclipse.nebula.widgets.xviewer.XViewerCells;
-import org.eclipse.osee.ats.actions.wizard.IAtsTeamWorkflow;
-import org.eclipse.osee.ats.artifact.ATSLog.LogType;
import org.eclipse.osee.ats.internal.AtsPlugin;
import org.eclipse.osee.ats.util.AtsArtifactTypes;
import org.eclipse.osee.ats.util.AtsPriority.PriorityType;
import org.eclipse.osee.ats.util.AtsRelationTypes;
-import org.eclipse.osee.ats.util.AtsUtil;
-import org.eclipse.osee.ats.util.widgets.dialog.AICheckTreeDialog;
+import org.eclipse.osee.ats.util.GoalManager;
import org.eclipse.osee.ats.world.IWorldViewArtifact;
-import org.eclipse.osee.framework.core.data.IArtifactType;
-import org.eclipse.osee.framework.core.enums.Active;
import org.eclipse.osee.framework.core.enums.CoreRelationTypes;
-import org.eclipse.osee.framework.core.exception.OseeArgumentException;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
import org.eclipse.osee.framework.core.model.Branch;
import org.eclipse.osee.framework.core.model.type.ArtifactType;
import org.eclipse.osee.framework.jdk.core.util.Collections;
import org.eclipse.osee.framework.jdk.core.util.DateUtil;
-import org.eclipse.osee.framework.jdk.core.util.Strings;
import org.eclipse.osee.framework.logging.OseeLog;
import org.eclipse.osee.framework.skynet.core.User;
-import org.eclipse.osee.framework.skynet.core.UserManager;
import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
import org.eclipse.osee.framework.skynet.core.artifact.ArtifactFactory;
-import org.eclipse.osee.framework.skynet.core.artifact.ArtifactTypeManager;
import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction;
import org.eclipse.osee.framework.skynet.core.utility.Artifacts;
-import org.eclipse.osee.framework.ui.plugin.util.AWorkbench;
import org.eclipse.osee.framework.ui.plugin.util.Result;
import org.eclipse.osee.framework.ui.skynet.util.ChangeType;
import org.eclipse.swt.graphics.Image;
@@ -57,7 +44,7 @@ import org.eclipse.swt.graphics.Image;
/**
* @author Donald G. Dunne
*/
-public class ActionArtifact extends ATSArtifact implements IWorldViewArtifact {
+public class ActionArtifact extends AbstractAtsArtifact implements IWorldViewArtifact {
public static enum CreateTeamOption {
Duplicate_If_Exists; // If option exists, then duplication of workflow of same team definition is allowed
@@ -95,7 +82,7 @@ public class ActionArtifact extends ATSArtifact implements IWorldViewArtifact {
private void resetTitleOffChildren() throws OseeCoreException {
String title = "";
for (TeamWorkFlowArtifact team : getTeamWorkFlowArtifacts()) {
- if (title.equals("")) {
+ if (title.isEmpty()) {
title = team.getName();
} else if (!title.equals(team.getName())) {
return;
@@ -125,7 +112,7 @@ public class ActionArtifact extends ATSArtifact implements IWorldViewArtifact {
private void resetDescriptionOffChildren() throws OseeCoreException {
String desc = "";
for (TeamWorkFlowArtifact team : getTeamWorkFlowArtifacts()) {
- if (desc.equals("")) {
+ if (desc.isEmpty()) {
desc = team.getSoleAttributeValue(AtsAttributeTypes.Description, "");
} else if (!desc.equals(team.getSoleAttributeValue(AtsAttributeTypes.Description, ""))) {
return;
@@ -134,7 +121,7 @@ public class ActionArtifact extends ATSArtifact implements IWorldViewArtifact {
if (!desc.equals(getSoleAttributeValue(AtsAttributeTypes.Description, ""))) {
setSoleAttributeValue(AtsAttributeTypes.Description, desc);
}
- if (desc.equals("")) {
+ if (desc.isEmpty()) {
deleteSoleAttribute(AtsAttributeTypes.Description);
}
}
@@ -158,7 +145,6 @@ public class ActionArtifact extends ATSArtifact implements IWorldViewArtifact {
if (changeType != null && getChangeType() != changeType) {
setChangeType(changeType);
}
- return;
}
private void resetPriorityOffChildren() throws OseeCoreException {
@@ -180,7 +166,6 @@ public class ActionArtifact extends ATSArtifact implements IWorldViewArtifact {
if (priorityType != null && getPriority() != priorityType) {
setPriority(priorityType);
}
- return;
}
private void resetUserCommunityOffChildren() throws OseeCoreException {
@@ -230,46 +215,46 @@ public class ActionArtifact extends ATSArtifact implements IWorldViewArtifact {
@Override
public String getWorldViewBranchStatus() throws OseeCoreException {
- StringBuffer sb = new StringBuffer();
+ Set<String> strs = new HashSet<String>();
for (TeamWorkFlowArtifact team : getTeamWorkFlowArtifacts()) {
if (!team.getWorldViewBranchStatus().equals("")) {
- sb.append(team.getWorldViewBranchStatus() + ", ");
+ strs.add(team.getWorldViewBranchStatus());
}
}
- return sb.toString().replaceFirst(", $", "");
+ return Collections.toString(", ", strs);
}
@Override
public String getWorldViewPoint() throws OseeCoreException {
- StringBuffer sb = new StringBuffer();
+ Set<String> strs = new HashSet<String>();
for (TeamWorkFlowArtifact team : getTeamWorkFlowArtifacts()) {
if (!team.getWorldViewPoint().equals("")) {
- sb.append(team.getWorldViewPoint() + ", ");
+ strs.add(team.getWorldViewPoint());
}
}
- return sb.toString().replaceFirst(", $", "");
+ return Collections.toString(", ", strs);
}
@Override
public String getWorldViewNumberOfTasks() throws OseeCoreException {
- StringBuffer sb = new StringBuffer();
+ Set<String> strs = new HashSet<String>();
for (TeamWorkFlowArtifact team : getTeamWorkFlowArtifacts()) {
if (!team.getWorldViewNumberOfTasks().equals("")) {
- sb.append(team.getWorldViewNumberOfTasks() + ", ");
+ strs.add(team.getWorldViewNumberOfTasks());
}
}
- return sb.toString().replaceFirst(", $", "");
+ return Collections.toString(", ", strs);
}
@Override
public String getWorldViewNumberOfTasksRemaining() throws OseeCoreException {
- StringBuffer sb = new StringBuffer();
+ Set<String> strs = new HashSet<String>();
for (TeamWorkFlowArtifact team : getTeamWorkFlowArtifacts()) {
if (!team.getWorldViewNumberOfTasksRemaining().equals("")) {
- sb.append(team.getWorldViewNumberOfTasksRemaining() + ", ");
+ strs.add(team.getWorldViewNumberOfTasksRemaining());
}
}
- return sb.toString().replaceFirst(", $", "");
+ return Collections.toString(", ", strs);
}
@Override
@@ -301,7 +286,8 @@ public class ActionArtifact extends ATSArtifact implements IWorldViewArtifact {
pocs.addAll(team.getStateMgr().getAssignees());
}
}
- return Artifacts.toString("; ", pocs) + (implementers.size() > 0 ? "(" + Artifacts.toString("; ", implementers) + ")" : "");
+ return Artifacts.toString("; ", pocs) + (implementers.isEmpty() ? "" : "(" + Artifacts.toString("; ",
+ implementers) + ")");
}
@Override
@@ -574,268 +560,6 @@ public class ActionArtifact extends ATSArtifact implements IWorldViewArtifact {
}
@Override
- public String getHyperName() {
- return getName();
- }
-
- @Override
- public String getHyperType() {
- try {
- return getArtifactTypeName();
- } catch (Exception ex) {
- return ex.getLocalizedMessage();
- }
- }
-
- @Override
- public String getHyperState() {
- try {
- if (getTeamWorkFlowArtifacts().size() == 1) {
- return getTeamWorkFlowArtifacts().iterator().next().getHyperState();
- }
- } catch (Exception ex) {
- return XViewerCells.getCellExceptionString(ex);
- }
- return "";
- }
-
- @Override
- public String getHyperTargetVersion() {
- return null;
- }
-
- @Override
- public String getHyperAssignee() {
- try {
- if (getTeamWorkFlowArtifacts().size() == 1) {
- return getTeamWorkFlowArtifacts().iterator().next().getHyperAssignee();
- }
- } catch (Exception ex) {
- return XViewerCells.getCellExceptionString(ex);
- }
- return "";
- }
-
- @Override
- public Image getHyperAssigneeImage() throws OseeCoreException {
- if (getTeamWorkFlowArtifacts().size() == 1) {
- return getTeamWorkFlowArtifacts().iterator().next().getHyperAssigneeImage();
- }
- return null;
- }
-
- @Override
- public Artifact getHyperArtifact() {
- return this;
- }
-
- public Result editActionableItems() throws OseeCoreException {
- final AICheckTreeDialog diag =
- new AICheckTreeDialog(
- "Add Impacted Actionable Items",
- "Select New Impacted Actionable Items\n\n" + "Note: Un-selecting existing items will NOT remove the impact.\n" + "Team Workflow with no impact should be transitioned to Cancelled.",
- Active.Active);
-
- diag.setInitialAias(getActionableItems());
- if (diag.open() != 0) {
- return Result.FalseResult;
- }
-
- // ensure that at least one actionable item exists for each team after aias added/removed
- for (TeamWorkFlowArtifact team : getTeamWorkFlowArtifacts()) {
- Set<ActionableItemArtifact> currentAias = team.getActionableItemsDam().getActionableItems();
- Collection<ActionableItemArtifact> checkedAias = diag.getChecked();
- for (ActionableItemArtifact aia : new CopyOnWriteArrayList<ActionableItemArtifact>(currentAias)) {
- if (!checkedAias.contains(aia)) {
- currentAias.remove(aia);
- }
- }
- if (currentAias.isEmpty()) {
- return new Result("Can not remove all actionable items for a team.\n\nActionable Items will go to 0 for [" +
- //
- team.getTeamName() + "][" + team.getHumanReadableId() + "]\n\nCancel team workflow instead.");
- }
- }
-
- final StringBuffer sb = new StringBuffer();
- SkynetTransaction transaction = new SkynetTransaction(AtsUtil.getAtsBranch(), "Edit Actionable Items");
-
- // Add new aias
- for (ActionableItemArtifact aia : diag.getChecked()) {
- Result result = addActionableItemToTeamsOrAddTeams(aia, UserManager.getUser(), transaction);
- sb.append(result.getText());
- }
- // Remove unchecked aias
- for (TeamWorkFlowArtifact team : getTeamWorkFlowArtifacts()) {
- for (ActionableItemArtifact aia : team.getActionableItemsDam().getActionableItems()) {
- if (!diag.getChecked().contains(aia)) {
- team.getActionableItemsDam().removeActionableItem(aia);
- }
- }
- team.persist(transaction);
- }
-
- transaction.execute();
- return new Result(true, sb.toString());
- }
-
- public Result addActionableItemToTeamsOrAddTeams(ActionableItemArtifact aia, User originator, SkynetTransaction transaction) throws OseeCoreException {
- StringBuffer sb = new StringBuffer();
- for (TeamDefinitionArtifact tda : TeamDefinitionArtifact.getImpactedTeamDefs(Arrays.asList(aia))) {
- boolean teamExists = false;
- // Look for team workflow that is associated with this tda
- for (TeamWorkFlowArtifact teamArt : getTeamWorkFlowArtifacts()) {
- // If found
- if (teamArt.getTeamDefinition().equals(tda)) {
- // And workflow doesn't already have this actionable item,
- // ADD it
- if (!teamArt.getActionableItemsDam().getActionableItems().contains(aia)) {
- teamArt.getActionableItemsDam().addActionableItem(aia);
- teamArt.saveSMA(transaction);
- sb.append(aia.getName() + " => added to existing team workflow \"" + tda.getName() + "\"\n");
- teamExists = true;
- } else {
- sb.append(aia.getName() + " => already exists in team workflow \"" + tda.getName() + "\"\n");
- teamExists = true;
- }
- }
- }
- if (!teamExists) {
- TeamWorkFlowArtifact teamArt = createTeamWorkflow(tda, Arrays.asList(aia), tda.getLeads(), transaction);
- if (originator != null) {
- teamArt.getLog().setOriginator(originator);
- }
- teamArt.persist(transaction);
- sb.append(aia.getName() + " => added team workflow \"" + tda.getName() + "\"\n");
- }
- }
- return new Result(true, sb.toString());
- }
-
- public TeamWorkFlowArtifact createTeamWorkflow(TeamDefinitionArtifact teamDef, Collection<ActionableItemArtifact> actionableItems, Collection<User> assignees, SkynetTransaction transaction, CreateTeamOption... createTeamOption) throws OseeCoreException {
- String teamWorkflowArtifactName = AtsArtifactTypes.TeamWorkflow.getName();
- IAtsTeamWorkflow teamExt = null;
-
- // Check if any plugins want to create the team workflow themselves
- for (IAtsTeamWorkflow teamExtension : TeamWorkflowExtensions.getInstance().getAtsTeamWorkflowExtensions()) {
- boolean isResponsible = false;
- try {
- isResponsible = teamExtension.isResponsibleForTeamWorkflowCreation(teamDef, actionableItems);
- } catch (Exception ex) {
- OseeLog.log(AtsPlugin.class, Level.WARNING, ex);
- }
- if (isResponsible) {
- teamWorkflowArtifactName = teamExtension.getTeamWorkflowArtifactName(teamDef, actionableItems);
- teamExt = teamExtension;
- }
- }
-
- // NOTE: The persist of the workflow will auto-email the assignees
- TeamWorkFlowArtifact teamArt =
- createTeamWorkflow(teamDef, actionableItems, assignees, ArtifactTypeManager.getType(teamWorkflowArtifactName),
- transaction, createTeamOption);
- // Notify extension that workflow was created
- if (teamExt != null) {
- teamExt.teamWorkflowCreated(teamArt);
- }
- return teamArt;
- }
-
- public TeamWorkFlowArtifact createTeamWorkflow(TeamDefinitionArtifact teamDef, Collection<ActionableItemArtifact> actionableItems, Collection<User> assignees, IArtifactType artifactType, SkynetTransaction transaction, CreateTeamOption... createTeamOption) throws OseeCoreException {
- return createTeamWorkflow(teamDef, actionableItems, assignees, null, null, artifactType, transaction,
- createTeamOption);
- }
-
- public TeamWorkFlowArtifact createTeamWorkflow(TeamDefinitionArtifact teamDef, Collection<ActionableItemArtifact> actionableItems, Collection<User> assignees, String guid, String hrid, IArtifactType artifactType, SkynetTransaction transaction, CreateTeamOption... createTeamOption) throws OseeCoreException {
-
- if (!Collections.getAggregate(createTeamOption).contains(CreateTeamOption.Duplicate_If_Exists)) {
- // Make sure team doesn't already exist
- for (TeamWorkFlowArtifact teamArt : getTeamWorkFlowArtifacts()) {
- if (teamArt.getTeamDefinition().equals(teamDef)) {
- AWorkbench.popup("ERROR", "Team already exist");
- throw new OseeArgumentException("Team [%s] already exists for Action [%s]", teamDef,
- getHumanReadableId());
- }
- }
- }
-
- TeamWorkFlowArtifact teamArt = null;
- if (guid == null) {
- teamArt = (TeamWorkFlowArtifact) ArtifactTypeManager.addArtifact(artifactType, AtsUtil.getAtsBranch());
- } else {
- teamArt =
- (TeamWorkFlowArtifact) ArtifactTypeManager.addArtifact(artifactType, AtsUtil.getAtsBranch(), guid, hrid);
- }
- setArtifactIdentifyData(this, teamArt);
-
- teamArt.getLog().addLog(LogType.Originated, "", "");
-
- // Relate Workflow to ActionableItems (by guid) if team is responsible
- // for that AI
- for (ActionableItemArtifact aia : actionableItems) {
- if (aia.getImpactedTeamDefs().contains(teamDef)) {
- teamArt.getActionableItemsDam().addActionableItem(aia);
- }
- }
-
- // Relate WorkFlow to Team Definition (by guid due to relation loading
- // issues)
- teamArt.setTeamDefinition(teamDef);
-
- // Initialize state machine
- String startState = teamArt.getWorkFlowDefinition().getStartPage().getPageName();
- teamArt.getStateMgr().initializeStateMachine(startState, assignees);
- teamArt.getLog().addLog(LogType.StateEntered, startState, "");
-
- // Relate Action to WorkFlow
- addRelation(AtsRelationTypes.ActionToWorkflow_WorkFlow, teamArt);
-
- teamArt.persist(transaction);
-
- return teamArt;
- }
-
- /**
- * Set Team Workflow attributes off given action artifact
- */
- public static void setArtifactIdentifyData(ActionArtifact fromAction, TeamWorkFlowArtifact toTeam) throws OseeCoreException {
- String priorityStr = fromAction.getSoleAttributeValue(AtsAttributeTypes.PriorityType, "");
- PriorityType priType = null;
- if (Strings.isValid(priorityStr)) {
- priType = PriorityType.getPriority(priorityStr);
- } else {
- throw new OseeArgumentException("Invalid priority [%s]", priorityStr);
- }
- setArtifactIdentifyData(toTeam, fromAction.getName(),
- fromAction.getSoleAttributeValue(AtsAttributeTypes.Description, ""),
- ChangeType.getChangeType(fromAction.getSoleAttributeValue(AtsAttributeTypes.ChangeType, "")), priType,
- // fromAction.getAttributesToStringList(AtsAttributeTypes.ATS_USER_COMMUNITY),
- fromAction.getSoleAttributeValue(AtsAttributeTypes.ValidationRequired, false),
- fromAction.getSoleAttributeValue(AtsAttributeTypes.NeedBy, (Date) null));
- }
-
- /**
- * Since there is no shared attribute yet, action and workflow arts are all populate with identify data
- */
- public static void setArtifactIdentifyData(Artifact art, String title, String desc, ChangeType changeType, PriorityType priority, Boolean validationRequired, Date needByDate) throws OseeCoreException {
- art.setName(title);
- if (!desc.equals("")) {
- art.setSoleAttributeValue(AtsAttributeTypes.Description, desc);
- }
- art.setSoleAttributeValue(AtsAttributeTypes.ChangeType, changeType.name());
- // art.setAttributeValues(ATSAttributes.USER_COMMUNITY_ATTRIBUTE.getStoreName(), userComms);
- if (priority != null && priority != PriorityType.None) {
- art.setSoleAttributeValue(AtsAttributeTypes.PriorityType, priority.getShortName());
- }
- if (needByDate != null) {
- art.setSoleAttributeValue(AtsAttributeTypes.NeedBy, needByDate);
- }
- if (validationRequired) {
- art.setSoleAttributeValue(AtsAttributeTypes.ValidationRequired, true);
- }
- }
-
- @Override
public String getWorldViewDecision() {
return "";
}
@@ -924,7 +648,7 @@ public class ActionArtifact extends ATSArtifact implements IWorldViewArtifact {
}
}
} catch (OseeCoreException ex) {
- // Do nothing
+ OseeLog.log(AtsPlugin.class, Level.SEVERE, ex);
}
return Result.TrueResult;
}
@@ -1254,7 +978,7 @@ public class ActionArtifact extends ATSArtifact implements IWorldViewArtifact {
@Override
public String getWorldViewGoalOrder() throws OseeCoreException {
- return GoalArtifact.getGoalOrder(this);
+ return GoalManager.getGoalOrder(this);
}
}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/AtsArtifactFactory.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/AtsArtifactFactory.java
index ed97d556aa..200b173131 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/AtsArtifactFactory.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/AtsArtifactFactory.java
@@ -45,32 +45,25 @@ public class AtsArtifactFactory extends ArtifactFactory {
public Artifact getArtifactInstance(String guid, String humandReadableId, Branch branch, ArtifactType artifactType) throws OseeCoreException {
if (artifactType.equals(AtsArtifactTypes.Action)) {
return new ActionArtifact(this, guid, humandReadableId, branch, artifactType);
- }
- if (artifactType.equals(AtsArtifactTypes.Task)) {
+ } else if (artifactType.equals(AtsArtifactTypes.Task)) {
return new TaskArtifact(this, guid, humandReadableId, branch, artifactType);
- }
- if (artifactType.equals(AtsArtifactTypes.TeamWorkflow)) {
+ } else if (artifactType.equals(AtsArtifactTypes.TeamWorkflow)) {
return new TeamWorkFlowArtifact(this, guid, humandReadableId, branch, artifactType);
- }
- if (artifactType.equals(AtsArtifactTypes.TeamDefinition)) {
+ } else if (artifactType.equals(AtsArtifactTypes.TeamDefinition)) {
return new TeamDefinitionArtifact(this, guid, humandReadableId, branch, artifactType);
- }
- if (artifactType.equals(AtsArtifactTypes.Version)) {
+ } else if (artifactType.equals(AtsArtifactTypes.Version)) {
return new VersionArtifact(this, guid, humandReadableId, branch, artifactType);
- }
- if (artifactType.equals(AtsArtifactTypes.ActionableItem)) {
+ } else if (artifactType.equals(AtsArtifactTypes.ActionableItem)) {
return new ActionableItemArtifact(this, guid, humandReadableId, branch, artifactType);
- }
- if (artifactType.equals(AtsArtifactTypes.DecisionReview)) {
+ } else if (artifactType.equals(AtsArtifactTypes.DecisionReview)) {
return new DecisionReviewArtifact(this, guid, humandReadableId, branch, artifactType);
- }
- if (artifactType.equals(AtsArtifactTypes.PeerToPeerReview)) {
+ } else if (artifactType.equals(AtsArtifactTypes.PeerToPeerReview)) {
return new PeerToPeerReviewArtifact(this, guid, humandReadableId, branch, artifactType);
- }
- if (artifactType.equals(AtsArtifactTypes.Goal)) {
+ } else if (artifactType.equals(AtsArtifactTypes.Goal)) {
return new GoalArtifact(this, guid, humandReadableId, branch, artifactType);
+ } else {
+ throw new OseeArgumentException("did not recognize the artifact type [%s]", artifactType);
}
- throw new OseeArgumentException("did not recognize the artifact type [%s]", artifactType);
}
@Override
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/DecisionReviewArtifact.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/DecisionReviewArtifact.java
index 9d47da7e6f..a891e7b207 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/DecisionReviewArtifact.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/DecisionReviewArtifact.java
@@ -11,6 +11,7 @@
package org.eclipse.osee.ats.artifact;
import java.util.Collection;
+import org.eclipse.osee.ats.util.StateManager;
import org.eclipse.osee.ats.util.widgets.XDecisionOptions;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
import org.eclipse.osee.framework.core.model.Branch;
@@ -23,7 +24,7 @@ import org.eclipse.osee.framework.skynet.core.utility.Artifacts;
/**
* @author Donald G. Dunne
*/
-public class DecisionReviewArtifact extends ReviewSMArtifact implements IReviewArtifact, IATSStateMachineArtifact {
+public class DecisionReviewArtifact extends AbstractReviewArtifact implements IReviewArtifact, IATSStateMachineArtifact {
public XDecisionOptions decisionOptions;
public static enum DecisionReviewState {
@@ -44,11 +45,6 @@ public class DecisionReviewArtifact extends ReviewSMArtifact implements IReviewA
}
@Override
- public String getHyperName() {
- return getName();
- }
-
- @Override
public String getWorldViewDecision() throws OseeCoreException {
return getSoleAttributeValue(AtsAttributeTypes.Decision, "");
}
@@ -68,7 +64,7 @@ public class DecisionReviewArtifact extends ReviewSMArtifact implements IReviewA
@Override
public Collection<User> getImplementers() throws OseeCoreException {
- return getImplementersByState(DecisionReviewState.Decision.name());
+ return StateManager.getImplementersByState(this, DecisionReviewState.Decision.name());
}
@Override
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/DecisionReviewWorkflowManager.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/DecisionReviewWorkflowManager.java
index 3010606678..2cd6d16749 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/DecisionReviewWorkflowManager.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/DecisionReviewWorkflowManager.java
@@ -11,7 +11,7 @@
package org.eclipse.osee.ats.artifact;
-import org.eclipse.osee.ats.artifact.StateMachineArtifact.TransitionOption;
+import org.eclipse.osee.ats.util.TransitionOption;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
import org.eclipse.osee.framework.skynet.core.User;
import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction;
@@ -23,7 +23,11 @@ import org.eclipse.osee.framework.ui.plugin.util.Result;
*
* @author Donald G. Dunne
*/
-public class DecisionReviewWorkflowManager {
+public final class DecisionReviewWorkflowManager {
+
+ private DecisionReviewWorkflowManager() {
+ // private constructor
+ }
/**
* Quickly transition to a state with minimal metrics and data entered. Should only be used for automated
@@ -36,24 +40,16 @@ public class DecisionReviewWorkflowManager {
// If in Prepare state, set data and transition to Decision
if (reviewArt.getStateMgr().getCurrentStateName().equals(
DecisionReviewArtifact.DecisionReviewState.Prepare.name())) {
- result = setPrepareStateData(reviewArt, 100, 3, .2);
-
+ result = setPrepareStateData(popup, reviewArt, 100, 3, .2);
if (result.isFalse()) {
- if (popup) {
- result.popup();
- }
return result;
}
result =
- reviewArt.transition(DecisionReviewArtifact.DecisionReviewState.Decision.name(),
- (user != null ? user : reviewArt.getStateMgr().getAssignees().iterator().next()), transaction,
- TransitionOption.None);
- }
- if (result.isFalse()) {
- if (popup) {
- result.popup();
+ transitionToState(popup, DecisionReviewArtifact.DecisionReviewState.Decision.name(), reviewArt, user,
+ transaction);
+ if (result.isFalse()) {
+ return result;
}
- return result;
}
if (toState == DecisionReviewArtifact.DecisionReviewState.Decision) {
return Result.TrueResult;
@@ -62,41 +58,51 @@ public class DecisionReviewWorkflowManager {
// If desired to transition to follow-up, then decision is false
boolean decision = toState != DecisionReviewArtifact.DecisionReviewState.Followup;
- result = setDecisionStateData(reviewArt, decision, 100, .2);
+ result = setDecisionStateData(popup, reviewArt, decision, 100, .2);
if (result.isFalse()) {
- if (popup) {
- result.popup();
- }
return result;
}
- result =
- reviewArt.transition(toState.name(),
- (user != null ? user : reviewArt.getStateMgr().getAssignees().iterator().next()), transaction,
- TransitionOption.None);
+ result = transitionToState(popup, toState.name(), reviewArt, user, transaction);
if (result.isFalse()) {
- if (popup) {
- result.popup();
- }
return result;
}
return Result.TrueResult;
}
- public static Result setPrepareStateData(DecisionReviewArtifact reviewArt, int statePercentComplete, double estimateHours, double stateHoursSpent) throws OseeCoreException {
+ public static Result setPrepareStateData(boolean popup, DecisionReviewArtifact reviewArt, int statePercentComplete, double estimateHours, double stateHoursSpent) throws OseeCoreException {
if (!reviewArt.getStateMgr().getCurrentStateName().equals(
DecisionReviewArtifact.DecisionReviewState.Prepare.name())) {
- return new Result("Action not in Prepare state");
+ Result result = new Result("Action not in Prepare state");
+ if (result.isFalse() && popup) {
+ result.popup();
+ return result;
+ }
}
reviewArt.setSoleAttributeValue(AtsAttributeTypes.EstimatedHours, estimateHours);
reviewArt.getStateMgr().updateMetrics(stateHoursSpent, statePercentComplete, true);
return Result.TrueResult;
}
- public static Result setDecisionStateData(DecisionReviewArtifact reviewArt, boolean decision, int statePercentComplete, double stateHoursSpent) throws OseeCoreException {
+ public static Result transitionToState(boolean popup, String toState, DecisionReviewArtifact reviewArt, User user, SkynetTransaction transaction) throws OseeCoreException {
+ Result result =
+ reviewArt.transition(toState,
+ (user == null ? reviewArt.getStateMgr().getAssignees().iterator().next() : user), transaction,
+ TransitionOption.None);
+ if (result.isFalse() && popup) {
+ result.popup();
+ }
+ return result;
+ }
+
+ public static Result setDecisionStateData(boolean popup, DecisionReviewArtifact reviewArt, boolean decision, int statePercentComplete, double stateHoursSpent) throws OseeCoreException {
if (!reviewArt.getStateMgr().getCurrentStateName().equals(
DecisionReviewArtifact.DecisionReviewState.Decision.name())) {
- return new Result("Action not in Decision state");
+ Result result = new Result("Action not in Decision state");
+ if (result.isFalse() && popup) {
+ result.popup();
+ return result;
+ }
}
reviewArt.setSoleAttributeValue(AtsAttributeTypes.Decision, decision ? "Yes" : "No");
reviewArt.getStateMgr().updateMetrics(stateHoursSpent, statePercentComplete, true);
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/GoalArtifact.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/GoalArtifact.java
index e8d8d067ec..0e737d5a7e 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/GoalArtifact.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/GoalArtifact.java
@@ -10,39 +10,22 @@
*******************************************************************************/
package org.eclipse.osee.ats.artifact;
-import java.text.NumberFormat;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.Collection;
-import java.util.Collections;
import java.util.Date;
-import java.util.HashSet;
import java.util.List;
-import java.util.Set;
-import org.eclipse.jface.window.Window;
-import org.eclipse.nebula.widgets.xviewer.XViewerCells;
-import org.eclipse.osee.ats.artifact.ATSLog.LogType;
-import org.eclipse.osee.ats.util.AtsArtifactTypes;
import org.eclipse.osee.ats.util.AtsRelationTypes;
-import org.eclipse.osee.ats.util.AtsUtil;
import org.eclipse.osee.ats.world.search.GoalSearchItem;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
import org.eclipse.osee.framework.core.model.Branch;
import org.eclipse.osee.framework.core.model.type.ArtifactType;
-import org.eclipse.osee.framework.skynet.core.User;
-import org.eclipse.osee.framework.skynet.core.UserManager;
import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
import org.eclipse.osee.framework.skynet.core.artifact.ArtifactFactory;
-import org.eclipse.osee.framework.skynet.core.artifact.ArtifactTypeManager;
-import org.eclipse.osee.framework.ui.plugin.util.AWorkbench;
-import org.eclipse.osee.framework.ui.skynet.widgets.dialog.ArtifactListDialog;
-import org.eclipse.osee.framework.ui.skynet.widgets.dialog.EntryDialog;
-import org.eclipse.osee.framework.ui.swt.Displays;
/**
* @author Donald G. Dunne
*/
-public class GoalArtifact extends StateMachineArtifact {
+public class GoalArtifact extends AbstractWorkflowArtifact {
public static enum GoalState {
InWork,
@@ -61,16 +44,16 @@ public class GoalArtifact extends StateMachineArtifact {
}
@Override
- public StateMachineArtifact getParentSMA() throws OseeCoreException {
+ public AbstractWorkflowArtifact getParentSMA() throws OseeCoreException {
List<Artifact> parents = getRelatedArtifacts(AtsRelationTypes.Goal_Goal);
if (parents.isEmpty()) {
return null;
}
if (parents.size() == 1) {
- return (StateMachineArtifact) parents.iterator().next();
+ return (AbstractWorkflowArtifact) parents.iterator().next();
}
- System.err.println("Two parent goals, what do here?");
- return (StateMachineArtifact) parents.iterator().next();
+ // TODO Two parent goals, what do here?
+ return (AbstractWorkflowArtifact) parents.iterator().next();
}
@Override
@@ -79,16 +62,6 @@ public class GoalArtifact extends StateMachineArtifact {
}
@Override
- public Set<User> getPrivilegedUsers() {
- return null;
- }
-
- @Override
- public boolean isTaskable() {
- return false;
- }
-
- @Override
public Date getWorldViewReleaseDate() {
return null;
}
@@ -103,83 +76,6 @@ public class GoalArtifact extends StateMachineArtifact {
return null;
}
- @Override
- public String getHyperTargetVersion() {
- return null;
- }
-
- public static void getGoals(Artifact artifact, Set<Artifact> goals, boolean recurse) throws OseeCoreException {
- getGoals(Arrays.asList(artifact), goals, recurse);
- }
-
- public static Collection<Artifact> getGoals(Artifact artifact, boolean recurse) throws OseeCoreException {
- Set<Artifact> goals = new HashSet<Artifact>();
- getGoals(artifact, goals, recurse);
- return goals;
- }
-
- public static void getGoals(Collection<Artifact> artifacts, Set<Artifact> goals, boolean recurse) throws OseeCoreException {
- for (Artifact art : artifacts) {
- if (art instanceof GoalArtifact) {
- goals.add(art);
- }
- goals.addAll(art.getRelatedArtifacts(AtsRelationTypes.Goal_Goal, GoalArtifact.class));
- if (recurse && art instanceof StateMachineArtifact && ((StateMachineArtifact) art).getParentSMA() != null) {
- getGoals(((StateMachineArtifact) art).getParentSMA(), goals, recurse);
- }
- }
- }
-
- public static boolean isHasGoal(Artifact artifact) throws OseeCoreException {
- return artifact.getRelatedArtifactsCount(AtsRelationTypes.Goal_Goal) > 0;
- }
-
- public static String getGoalOrder(Artifact artifact) throws OseeCoreException {
- if (artifact instanceof GoalArtifact) {
- return "";
- }
- if (!isHasGoal(artifact)) {
- return "";
- }
- Collection<Artifact> goals = GoalArtifact.getGoals(artifact, false);
- if (goals.size() > 1) {
- List<Artifact> goalsSorted = new ArrayList<Artifact>(goals);
- Collections.sort(goalsSorted);
- StringBuffer sb = new StringBuffer();
- for (Artifact goal : goalsSorted) {
- sb.append(String.format("%s-[%s] ", getGoalOrder((GoalArtifact) goal, artifact), goal));
- }
- return sb.toString();
- }
- Artifact goal = goals.iterator().next();
- return getGoalOrder((GoalArtifact) goal, artifact);
- }
-
- public static String getGoalOrder(GoalArtifact goalArtifact, Artifact member) throws OseeCoreException {
- List<Artifact> members = goalArtifact.getMembers();
- if (!members.contains(member)) {
- return "";
- }
- try {
- return String.valueOf(members.indexOf(member) + 1);
- } catch (Exception ex) {
- return XViewerCells.getCellExceptionString(ex);
- }
- }
-
- public static GoalArtifact createGoal(String title) throws OseeCoreException {
- GoalArtifact goalArt =
- (GoalArtifact) ArtifactTypeManager.addArtifact(AtsArtifactTypes.Goal, AtsUtil.getAtsBranch());
- goalArt.setName(title);
- goalArt.getLog().addLog(LogType.Originated, "", "");
-
- // Initialize state machine
- goalArt.getStateMgr().initializeStateMachine(GoalState.InWork.name(),
- Collections.singleton(UserManager.getUser()));
- goalArt.getLog().addLog(LogType.StateEntered, GoalState.InWork.name(), "");
- return goalArt;
- }
-
public List<Artifact> getMembers() throws OseeCoreException {
return getRelatedArtifacts(AtsRelationTypes.Goal_Member, false);
}
@@ -190,83 +86,6 @@ public class GoalArtifact extends StateMachineArtifact {
}
}
- /**
- * change goal, prompt if member of two goals
- */
- public static GoalArtifact promptChangeGoalOrder(Artifact artifact) throws OseeCoreException {
- if (!isHasGoal(artifact)) {
- AWorkbench.popup(String.format("No Goal set for artifact [%s]", artifact));
- return null;
- }
- Collection<Artifact> goals = getGoals(artifact, false);
- GoalArtifact goal = null;
- if (goals.size() == 1) {
- goal = (GoalArtifact) goals.iterator().next();
- } else if (goals.size() > 1) {
- ArtifactListDialog dialog = new ArtifactListDialog(Displays.getActiveShell());
- dialog.setTitle("Select Goal");
- dialog.setMessage("Artifact has multiple Goals\n\nSelect Goal to change order");
- dialog.setArtifacts(goals);
- if (dialog.open() == 0) {
- goal = (GoalArtifact) dialog.getSelection();
- } else {
- return null;
- }
- }
- return promptChangeGoalOrder(goal, artifact);
- }
-
- /**
- * change goal order for artifact within given goal
- */
- public static GoalArtifact promptChangeGoalOrder(GoalArtifact goalArtifact, Artifact artifact) throws OseeCoreException {
- return promptChangeGoalOrder(goalArtifact, Arrays.asList(artifact));
- }
-
- /**
- * change goal order for artifacts within given goal
- */
- public static GoalArtifact promptChangeGoalOrder(GoalArtifact goalArtifact, List<Artifact> artifacts) throws OseeCoreException {
- StringBuilder currentOrder = new StringBuilder("Current Order: ");
- for (Artifact artifact : artifacts) {
- if (artifacts.size() == 1 && !isHasGoal(artifact) || goalArtifact == null) {
- AWorkbench.popup(String.format("No Goal set for artifact [%s]", artifact));
- return null;
- }
- String currIndexStr = getGoalOrder(goalArtifact, artifact);
- currentOrder.append(currIndexStr + ", ");
- }
-
- List<Artifact> members = goalArtifact.getMembers();
- EntryDialog ed =
- new EntryDialog(
- "Change Goal Order",
- String.format(
- "Goal: %s\n\n%s\n\nEnter New Order Number from 1..%d or %d for last\n\nNote: Goal will be placed before number entered.",
- goalArtifact, currentOrder.toString().replaceFirst(", $", ""), members.size(), members.size() + 1));
- ed.setNumberFormat(NumberFormat.getIntegerInstance());
-
- int result = ed.open();
- if (result == Window.OK) {
- String newIndexStr = ed.getEntry();
- Integer enteredIndex = new Integer(newIndexStr);
- boolean insertLast = enteredIndex == members.size() + 1;
- Integer membersIndex = insertLast ? members.size() - 1 : enteredIndex - 1;
- if (membersIndex > members.size()) {
- AWorkbench.popup(String.format("New Order Number [%s] out of range 1..%d", newIndexStr, members.size()));
- return null;
- }
- for (Artifact artifact : artifacts) {
- Artifact insertTarget = members.get(membersIndex);
- goalArtifact.setRelationOrder(AtsRelationTypes.Goal_Member, insertTarget, insertLast ? true : false,
- artifact);
- }
- goalArtifact.persist();
- return goalArtifact;
- }
- return null;
- }
-
public Collection<GoalArtifact> getInWorkGoals() throws OseeCoreException {
GoalSearchItem searchItem = new GoalSearchItem("", new ArrayList<TeamDefinitionArtifact>(), false, null);
return org.eclipse.osee.framework.jdk.core.util.Collections.castAll(searchItem.performSearchGetResults());
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/IFavoriteableArtifact.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/IFavoriteableArtifact.java
deleted file mode 100644
index d1734eee0e..0000000000
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/IFavoriteableArtifact.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 Boeing.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Boeing - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osee.ats.artifact;
-
-import java.util.ArrayList;
-import org.eclipse.osee.framework.core.exception.OseeCoreException;
-import org.eclipse.osee.framework.skynet.core.User;
-import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction;
-
-/**
- * @author Donald G. Dunne
- */
-public interface IFavoriteableArtifact {
-
- public void addFavorite(User u, SkynetTransaction transaction) throws OseeCoreException;
-
- public void removeFavorite(User u, SkynetTransaction transaction) throws OseeCoreException;
-
- public boolean isFavorite(User u) throws OseeCoreException;
-
- public ArrayList<User> getFavorites() throws OseeCoreException;
-
- public boolean amIFavorite();
-
-}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/IReviewArtifact.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/IReviewArtifact.java
index 6c728ff423..df3b60104d 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/IReviewArtifact.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/IReviewArtifact.java
@@ -21,14 +21,14 @@ import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
*/
public interface IReviewArtifact {
- public boolean isBlocking() throws OseeCoreException;
+ boolean isBlocking() throws OseeCoreException;
- public DefectManager getDefectManager();
+ DefectManager getDefectManager();
- public UserRoleManager getUserRoleManager();
+ UserRoleManager getUserRoleManager();
- public Artifact getArtifact();
+ Artifact getArtifact();
- public IStatus isUserRoleValid(String namespace) throws OseeCoreException;
+ IStatus isUserRoleValid(String namespace) throws OseeCoreException;
}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/ISubscribableArtifact.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/ISubscribableArtifact.java
deleted file mode 100644
index 1626ce4674..0000000000
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/ISubscribableArtifact.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 Boeing.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Boeing - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osee.ats.artifact;
-
-import java.util.ArrayList;
-import org.eclipse.osee.framework.core.exception.OseeCoreException;
-import org.eclipse.osee.framework.skynet.core.User;
-import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction;
-
-/**
- * @author Donald G. Dunne
- */
-public interface ISubscribableArtifact {
-
- public void addSubscribed(User u, SkynetTransaction transaction) throws OseeCoreException;
-
- public void removeSubscribed(User u, SkynetTransaction transaction) throws OseeCoreException;
-
- public boolean isSubscribed(User u) throws OseeCoreException;
-
- public ArrayList<User> getSubscribed() throws OseeCoreException;
-
- public boolean amISubscribed();
-
-}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/LogItem.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/LogItem.java
index 210f853adf..0dd30f37b8 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/LogItem.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/LogItem.java
@@ -12,14 +12,21 @@ package org.eclipse.osee.ats.artifact;
import static org.eclipse.osee.framework.jdk.core.util.Strings.intern;
import java.text.SimpleDateFormat;
+import java.util.ArrayList;
import java.util.Date;
+import java.util.List;
+import java.util.Locale;
import java.util.logging.Level;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
import org.eclipse.osee.ats.artifact.ATSLog.LogType;
import org.eclipse.osee.ats.internal.AtsPlugin;
import org.eclipse.osee.framework.core.data.SystemUser;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
import org.eclipse.osee.framework.core.exception.UserNotInDatabase;
+import org.eclipse.osee.framework.jdk.core.util.AXml;
import org.eclipse.osee.framework.jdk.core.util.DateUtil;
+import org.eclipse.osee.framework.jdk.core.util.Strings;
import org.eclipse.osee.framework.logging.OseeLog;
import org.eclipse.osee.framework.skynet.core.User;
import org.eclipse.osee.framework.skynet.core.UserManager;
@@ -35,18 +42,42 @@ public class LogItem {
private User user;
private LogType type = LogType.None;
private final String userId;
-
- public String getUserId() {
- return userId;
+ private final static Pattern LOG_ITEM_PATTERN =
+ Pattern.compile("<Item date=\"(.*?)\" msg=\"(.*?)\" state=\"(.*?)\" type=\"(.*?)\" userId=\"(.*?)\"/>");
+ private final static Pattern LOG_ITEM_TAG_PATTERN = Pattern.compile("<Item ");
+
+ public static List<LogItem> getLogItems(String xml, String id) throws OseeCoreException {
+ List<LogItem> logItems = new ArrayList<LogItem>();
+ if (!xml.isEmpty()) {
+ Matcher m = LOG_ITEM_PATTERN.matcher(xml);
+ while (m.find()) {
+ LogItem item =
+ new LogItem(m.group(4), m.group(1), Strings.intern(m.group(5)), Strings.intern(m.group(3)), // NOPMD by b0727536 on 9/29/10 8:52 AM
+ AXml.xmlToText(m.group(2)), id);
+ logItems.add(item);
+ }
+
+ Matcher m2 = LOG_ITEM_TAG_PATTERN.matcher(xml);
+ int openTagsFound = 0;
+ while (m2.find()) {
+ openTagsFound++;
+ }
+ if (logItems.size() != openTagsFound) {
+ OseeLog.log(AtsPlugin.class, Level.SEVERE, String.format(
+ "ATS Log: open tags found %d doesn't match log items parsed %d for %s", openTagsFound, logItems.size(),
+ id));
+ }
+ }
+ return logItems;
}
public LogItem(LogType type, Date date, User user, String state, String msg, String hrid) throws OseeCoreException {
- this(type.name(), date.getTime() + "", user.getUserId(), state, msg, hrid);
+ this(type.name(), String.valueOf(date.getTime()), user.getUserId(), state, msg, hrid);
}
public LogItem(LogType type, String date, String userId, String state, String msg, String hrid) throws OseeCoreException {
- Long l = new Long(date);
- this.date = new Date(l.longValue());
+ Long dateLong = Long.valueOf(date);
+ this.date = new Date(dateLong.longValue());
this.msg = msg;
this.state = intern(state);
this.userId = intern(userId);
@@ -65,7 +96,7 @@ public class LogItem {
}
public String toXml() throws OseeCoreException {
- return "<type>" + type.name() + "</type><date>" + date.getTime() + "</date><user>" + user.getUserId() + "</user><state>" + (state != null ? state : "") + "</state><msg>" + (msg != null ? msg : "") + "</msg>";
+ return "<type>" + type.name() + "</type><date>" + date.getTime() + "</date><user>" + user.getUserId() + "</user><state>" + (state == null ? "" : state) + "</state><msg>" + (msg == null ? "" : msg) + "</msg>";
}
public Date getDate() {
@@ -74,7 +105,7 @@ public class LogItem {
public String getDate(String pattern) {
if (pattern != null) {
- return new SimpleDateFormat(pattern).format(date);
+ return new SimpleDateFormat(pattern, Locale.US).format(date);
}
return date.toString();
}
@@ -83,6 +114,10 @@ public class LogItem {
this.date = date;
}
+ public String getUserId() {
+ return userId;
+ }
+
public String getMsg() {
return msg;
}
@@ -93,11 +128,20 @@ public class LogItem {
@Override
public String toString() {
- try {
- return (msg.equals("") ? "" : msg) + " (" + type + ") " + (state.equals("") ? "" : "from " + state + " ") + "by " + user.getUserId() + " on " + DateUtil.getMMDDYYHHMM(date) + "\n";
- } catch (Exception ex) {
- return (msg.equals("") ? "" : msg) + " (" + type + ") " + (state.equals("") ? "" : "from " + state + " ");
- }
+ return String.format("%s (%s)%s by %s on %s", getToStringMsg(), type, getToStringState(), getToStringUser(),
+ DateUtil.getMMDDYYHHMM(date));
+ }
+
+ private String getToStringUser() {
+ return user == null ? "unknown" : user.getName();
+ }
+
+ private String getToStringState() {
+ return state.isEmpty() ? "" : "from " + state;
+ }
+
+ private String getToStringMsg() {
+ return msg.isEmpty() ? "" : msg;
}
public User getUser() {
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/NoteItem.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/NoteItem.java
index 2fb3f178ad..d49597d281 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/NoteItem.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/NoteItem.java
@@ -11,12 +11,25 @@
package org.eclipse.osee.ats.artifact;
+import java.util.ArrayList;
import java.util.Date;
+import java.util.List;
+import java.util.logging.Level;
import org.eclipse.osee.ats.NoteType;
+import org.eclipse.osee.ats.internal.AtsPlugin;
+import org.eclipse.osee.framework.core.data.SystemUser;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
+import org.eclipse.osee.framework.core.exception.UserNotInDatabase;
import org.eclipse.osee.framework.jdk.core.util.DateUtil;
import org.eclipse.osee.framework.jdk.core.util.Strings;
+import org.eclipse.osee.framework.jdk.core.util.xml.Jaxp;
+import org.eclipse.osee.framework.logging.OseeLevel;
+import org.eclipse.osee.framework.logging.OseeLog;
import org.eclipse.osee.framework.skynet.core.User;
+import org.eclipse.osee.framework.skynet.core.UserManager;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.NodeList;
public class NoteItem {
@@ -25,9 +38,11 @@ public class NoteItem {
private String msg;
private User user;
private NoteType type = NoteType.Other;
+ protected final static String LOG_ITEM_TAG = "Item";
+ private final static String ATS_NOTE_TAG = "AtsNote";
public NoteItem(NoteType type, String state, String date, User user, String msg) {
- Long l = new Long(date);
+ Long l = Long.valueOf(date);
this.date = new Date(l.longValue());
this.state = Strings.intern(state);
this.msg = msg;
@@ -57,7 +72,12 @@ public class NoteItem {
@Override
public String toString() {
- return "Note: \"" + type + "\" from \"" + user.getName() + "\"" + (state.equals("") ? "" : " for \"" + state + "\" state") + " on " + DateUtil.getMMDDYYHHMM(date) + " - " + msg;
+ return String.format("Note: %s from %s%s on %s - %s", type, user.getName(), toStringState(),
+ DateUtil.getMMDDYYHHMM(date), msg);
+ }
+
+ private String toStringState() {
+ return (state.isEmpty() ? "" : " for \"" + state + "\"");
}
public User getUser() {
@@ -73,7 +93,7 @@ public class NoteItem {
}
public String toHTML() {
- return "<b>Note:</b> \"" + type + "\" from \"" + user.getName() + "\"" + (state.equals("") ? "" : " for \"" + state + "\" state") + " on " + DateUtil.getMMDDYYHHMM(date) + " - " + msg;
+ return toString().replaceFirst("^Note: ", "<b>Note:</b>");
}
public String getState() {
@@ -83,4 +103,55 @@ public class NoteItem {
public void setUser(User user) {
this.user = user;
}
+
+ public static List<NoteItem> fromXml(String xml, String hrid) {
+ List<NoteItem> logItems = new ArrayList<NoteItem>();
+ try {
+ if (Strings.isValid(xml)) {
+ NodeList nodes = Jaxp.readXmlDocument(xml).getElementsByTagName(LOG_ITEM_TAG);
+ for (int i = 0; i < nodes.getLength(); i++) {
+ Element element = (Element) nodes.item(i);
+ try {
+ User user = UserManager.getUserByUserId(element.getAttribute("userId"));
+ NoteItem item =
+ new NoteItem(element.getAttribute("type"), element.getAttribute("state"), // NOPMD by b0727536 on 9/29/10 8:52 AM
+ element.getAttribute("date"), user, element.getAttribute("msg"));
+ logItems.add(item);
+ } catch (UserNotInDatabase ex) {
+ OseeLog.log(AtsPlugin.class, Level.SEVERE, String.format("Error parsing notes for [%s]", hrid), ex);
+ NoteItem item =
+ new NoteItem(element.getAttribute("type"), element.getAttribute("state"), // NOPMD by b0727536 on 9/29/10 8:52 AM
+ element.getAttribute("date"), UserManager.getUser(SystemUser.Guest),
+ element.getAttribute("msg"));
+ logItems.add(item);
+ }
+ }
+ }
+ } catch (Exception ex) {
+ OseeLog.log(AtsPlugin.class, OseeLevel.SEVERE_POPUP, ex);
+ }
+ return logItems;
+ }
+
+ public static String toXml(List<NoteItem> items) {
+ try {
+ Document doc = Jaxp.newDocumentNamespaceAware();
+ Element rootElement = doc.createElement(ATS_NOTE_TAG);
+ doc.appendChild(rootElement);
+ for (NoteItem item : items) {
+ Element element = doc.createElement(NoteItem.LOG_ITEM_TAG);
+ element.setAttribute("type", item.getType().name());
+ element.setAttribute("state", item.getState());
+ element.setAttribute("date", String.valueOf(item.getDate().getTime()));
+ element.setAttribute("userId", item.getUser().getUserId());
+ element.setAttribute("msg", item.getMsg());
+ rootElement.appendChild(element);
+ }
+ return Jaxp.getDocumentXml(doc);
+ } catch (Exception ex) {
+ OseeLog.log(AtsPlugin.class, OseeLevel.SEVERE_POPUP, "Can't create ats note document", ex);
+ }
+ return null;
+ }
+
} \ No newline at end of file
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/PeerToPeerReviewArtifact.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/PeerToPeerReviewArtifact.java
index 87392bdd0c..c0d159dd91 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/PeerToPeerReviewArtifact.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/PeerToPeerReviewArtifact.java
@@ -14,6 +14,7 @@ import java.util.Collection;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.osee.ats.internal.AtsPlugin;
+import org.eclipse.osee.ats.util.StateManager;
import org.eclipse.osee.ats.util.widgets.defect.DefectManager;
import org.eclipse.osee.ats.util.widgets.role.UserRole;
import org.eclipse.osee.ats.util.widgets.role.UserRole.Role;
@@ -28,7 +29,7 @@ import org.eclipse.osee.framework.skynet.core.utility.Artifacts;
/**
* @author Donald G. Dunne
*/
-public class PeerToPeerReviewArtifact extends ReviewSMArtifact implements IReviewArtifact, IATSStateMachineArtifact {
+public class PeerToPeerReviewArtifact extends AbstractReviewArtifact implements IReviewArtifact, IATSStateMachineArtifact {
public static enum PeerToPeerReviewState {
Prepare,
@@ -57,7 +58,7 @@ public class PeerToPeerReviewArtifact extends ReviewSMArtifact implements IRevie
if (getStateMgr().getCurrentStateName().equals(PeerToPeerReviewArtifact.PeerToPeerReviewState.Review.name())) {
for (UserRole uRole : userRoleManager.getUserRoles()) {
if (uRole.getHoursSpent() == null) {
- new Status(IStatus.ERROR, AtsPlugin.PLUGIN_ID, "Hours spent must be entered for each role.");
+ return new Status(IStatus.ERROR, AtsPlugin.PLUGIN_ID, "Hours spent must be entered for each role.");
}
}
}
@@ -70,11 +71,6 @@ public class PeerToPeerReviewArtifact extends ReviewSMArtifact implements IRevie
}
@Override
- public String getHyperName() {
- return getName();
- }
-
- @Override
public String getWorldViewDescription() throws OseeCoreException {
return getSoleAttributeValue(AtsAttributeTypes.Description, "");
}
@@ -89,7 +85,7 @@ public class PeerToPeerReviewArtifact extends ReviewSMArtifact implements IRevie
@Override
public Collection<User> getImplementers() throws OseeCoreException {
- Collection<User> users = getImplementersByState(PeerToPeerReviewState.Review.name());
+ Collection<User> users = StateManager.getImplementersByState(this, PeerToPeerReviewState.Review.name());
for (UserRole role : userRoleManager.getUserRoles()) {
users.add(role.getUser());
}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/PeerToPeerReviewWorkflowManager.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/PeerToPeerReviewWorkflowManager.java
index 1af4c50c2c..1e9446d9de 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/PeerToPeerReviewWorkflowManager.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/PeerToPeerReviewWorkflowManager.java
@@ -12,8 +12,7 @@
package org.eclipse.osee.ats.artifact;
import java.util.Collection;
-import org.eclipse.osee.ats.artifact.StateMachineArtifact.TransitionOption;
-import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact.DefaultTeamState;
+import org.eclipse.osee.ats.util.TransitionOption;
import org.eclipse.osee.ats.util.widgets.defect.DefectItem;
import org.eclipse.osee.ats.util.widgets.role.UserRole;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
@@ -27,7 +26,11 @@ import org.eclipse.osee.framework.ui.plugin.util.Result;
*
* @author Donald G. Dunne
*/
-public class PeerToPeerReviewWorkflowManager {
+public final class PeerToPeerReviewWorkflowManager {
+
+ private PeerToPeerReviewWorkflowManager() {
+ // private constructor
+ }
/**
* Quickly transition to a state with minimal metrics and data entered. Should only be used for automated transition
@@ -36,51 +39,51 @@ public class PeerToPeerReviewWorkflowManager {
* @param user User to transition to OR null if should use user of current state
*/
public static Result transitionTo(PeerToPeerReviewArtifact reviewArt, PeerToPeerReviewArtifact.PeerToPeerReviewState toState, Collection<UserRole> roles, Collection<DefectItem> defects, User user, boolean popup, SkynetTransaction transaction) throws OseeCoreException {
- Result result = setPrepareStateData(reviewArt, roles, "DoThis.java", 100, .2, transaction);
+ Result result = setPrepareStateData(popup, reviewArt, roles, "DoThis.java", 100, .2, transaction);
if (result.isFalse()) {
- if (popup) {
- result.popup();
- }
return result;
}
result =
- reviewArt.transition(PeerToPeerReviewArtifact.PeerToPeerReviewState.Review.name(),
- (user != null ? user : reviewArt.getStateMgr().getAssignees().iterator().next()), transaction,
- TransitionOption.None);
+ transitionToState(popup, reviewArt, PeerToPeerReviewArtifact.PeerToPeerReviewState.Review.name(), transaction);
if (result.isFalse()) {
- if (popup) {
- result.popup();
- }
return result;
}
if (toState == PeerToPeerReviewArtifact.PeerToPeerReviewState.Review) {
return Result.TrueResult;
}
- result = setReviewStateData(reviewArt, roles, defects, 100, .2, transaction);
+ result = setReviewStateData(popup, reviewArt, roles, defects, 100, .2, transaction);
if (result.isFalse()) {
- if (popup) {
- result.popup();
- }
return result;
}
result =
- reviewArt.transition(DefaultTeamState.Completed.name(),
- (user != null ? user : reviewArt.getStateMgr().getAssignees().iterator().next()), transaction,
- TransitionOption.None);
+ transitionToState(popup, reviewArt, PeerToPeerReviewArtifact.PeerToPeerReviewState.Completed.name(),
+ transaction);
if (result.isFalse()) {
- if (popup) {
- result.popup();
- }
return result;
}
return Result.TrueResult;
}
- public static Result setPrepareStateData(PeerToPeerReviewArtifact reviewArt, Collection<UserRole> roles, String reviewMaterials, int statePercentComplete, double stateHoursSpent, SkynetTransaction transaction) throws OseeCoreException {
+ private static Result transitionToState(boolean popup, PeerToPeerReviewArtifact teamArt, String toState, SkynetTransaction transaction) throws OseeCoreException {
+ Result result =
+ teamArt.transition(toState, teamArt.getStateMgr().getAssignees().iterator().next(), transaction,
+ TransitionOption.None);
+ if (result.isFalse() && popup) {
+ result.popup();
+ }
+ return result;
+ }
+
+ public static Result setPrepareStateData(boolean popup, PeerToPeerReviewArtifact reviewArt, Collection<UserRole> roles, String reviewMaterials, int statePercentComplete, double stateHoursSpent, SkynetTransaction transaction) throws OseeCoreException {
if (!reviewArt.getStateMgr().getCurrentStateName().equals("Prepare")) {
- return new Result("Action not in Prepare state");
+ Result result = new Result("Action not in Prepare state");
+ if (result.isFalse() && popup) {
+ result.popup();
+ return result;
+ }
+
}
if (roles != null) {
for (UserRole role : roles) {
@@ -92,7 +95,7 @@ public class PeerToPeerReviewWorkflowManager {
return Result.TrueResult;
}
- public static Result setReviewStateData(PeerToPeerReviewArtifact reviewArt, Collection<UserRole> roles, Collection<DefectItem> defects, int statePercentComplete, double stateHoursSpent, SkynetTransaction transaction) throws OseeCoreException {
+ public static Result setReviewStateData(boolean popup, PeerToPeerReviewArtifact reviewArt, Collection<UserRole> roles, Collection<DefectItem> defects, int statePercentComplete, double stateHoursSpent, SkynetTransaction transaction) throws OseeCoreException {
if (roles != null) {
for (UserRole role : roles) {
reviewArt.getUserRoleManager().addOrUpdateUserRole(role, false, transaction);
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/SmaWorkflowLabelProvider.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/SmaWorkflowLabelProvider.java
index 528d0e64ae..d3178e6909 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/SmaWorkflowLabelProvider.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/SmaWorkflowLabelProvider.java
@@ -15,10 +15,6 @@ package org.eclipse.osee.ats.artifact;
*/
public class SmaWorkflowLabelProvider extends TeamWorkflowLabelProvider {
- public SmaWorkflowLabelProvider() {
- super();
- }
-
@Override
public String getText(Object element) {
if (element instanceof TeamWorkFlowArtifact) {
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/TaskArtifact.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/TaskArtifact.java
index f64f37ce5b..adc478cc82 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/TaskArtifact.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/TaskArtifact.java
@@ -12,14 +12,15 @@ package org.eclipse.osee.ats.artifact;
import java.util.Collection;
import java.util.Date;
-import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.logging.Level;
-import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact.DefaultTeamState;
import org.eclipse.osee.ats.internal.AtsPlugin;
import org.eclipse.osee.ats.util.AtsRelationTypes;
+import org.eclipse.osee.ats.util.DefaultTeamState;
+import org.eclipse.osee.ats.util.StateManager;
+import org.eclipse.osee.ats.util.TransitionOption;
import org.eclipse.osee.ats.util.widgets.dialog.TaskResOptionDefinition;
import org.eclipse.osee.ats.util.widgets.dialog.TaskResolutionOptionRule;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
@@ -41,7 +42,7 @@ import org.eclipse.osee.framework.ui.skynet.widgets.workflow.WorkPageDefinition;
/**
* @author Donald G. Dunne
*/
-public class TaskArtifact extends StateMachineArtifact implements IATSStateMachineArtifact {
+public class TaskArtifact extends AbstractWorkflowArtifact implements IATSStateMachineArtifact {
public static enum TaskStates {
InWork,
@@ -57,50 +58,6 @@ public class TaskArtifact extends StateMachineArtifact implements IATSStateMachi
return getWorldViewRelatedToState().equals(getParentSMA().getStateMgr().getCurrentStateName());
}
- @Override
- public void onInitializationComplete() throws OseeCoreException {
- super.onInitializationComplete();
- }
-
- /**
- * Allow parent SMA's assignees and all privileged users up Team tree
- */
- @Override
- public Set<User> getPrivilegedUsers() throws OseeCoreException {
- Set<User> users = new HashSet<User>();
- StateMachineArtifact parentSma = getParentSMA();
- if (parentSma.isTeamWorkflow()) {
- users.addAll(((TeamWorkFlowArtifact) parentSma).getPrivilegedUsers());
- }
- users.addAll(parentSma.getStateMgr().getAssignees());
- return users;
- }
-
- /**
- * Can only un-cancel task when it's related to an active state
- */
- @Override
- public boolean isUnCancellable() {
- try {
- StateMachineArtifact parentSMA = getParentSMA();
- boolean unCancellable =
- parentSMA.getStateMgr().getCurrentStateName().equals(
- getSoleAttributeValue(AtsAttributeTypes.RelatedToState, ""));
- if (!unCancellable) {
- return false;
- }
- return super.isUnCancellable();
- } catch (Exception ex) {
- // Do Nothing
- }
- return false;
- }
-
- @Override
- public boolean isTaskable() {
- return false;
- }
-
public boolean isUsingTaskResolutionOptions() throws OseeCoreException {
return getTaskResolutionOptionDefintions().size() > 0;
}
@@ -190,11 +147,11 @@ public class TaskArtifact extends StateMachineArtifact implements IATSStateMachi
return getParentSMA().getWorldViewEstimatedReleaseDate();
}
- public Boolean isInWork() throws OseeCoreException {
+ public Boolean isInWork() {
return getStateMgr().getCurrentStateName().equals(TaskStates.InWork.name());
}
- public void transitionToCompleted(double additionalHours, SkynetTransaction transaction, TransitionOption... transitionOption) throws OseeCoreException {
+ public void transitionToCompleted(double additionalHours, SkynetTransaction transaction, TransitionOption... transitionOption) {
if (getStateMgr().getCurrentStateName().equals(DefaultTeamState.Completed.name())) {
return;
}
@@ -299,17 +256,16 @@ public class TaskArtifact extends StateMachineArtifact implements IATSStateMachi
if (percent == 0) {
return getWorldViewEstimatedHours();
}
- double remain = getWorldViewEstimatedHours() - est * percent / 100.0;
- return remain;
+ return getWorldViewEstimatedHours() - est * percent / 100.0;
}
@Override
- public StateMachineArtifact getParentSMA() throws OseeCoreException {
+ public AbstractWorkflowArtifact getParentSMA() throws OseeCoreException {
if (parentSma != null) {
return parentSma;
}
- Collection<StateMachineArtifact> smas =
- getRelatedArtifacts(AtsRelationTypes.SmaToTask_Sma, StateMachineArtifact.class);
+ Collection<AbstractWorkflowArtifact> smas =
+ getRelatedArtifacts(AtsRelationTypes.SmaToTask_Sma, AbstractWorkflowArtifact.class);
if (smas.isEmpty()) {
throw new OseeStateException("Task has no parent [%s]", getHumanReadableId());
}
@@ -331,7 +287,7 @@ public class TaskArtifact extends StateMachineArtifact implements IATSStateMachi
if (parentTeamArt != null) {
return parentTeamArt;
}
- StateMachineArtifact sma = getParentSMA();
+ AbstractWorkflowArtifact sma = getParentSMA();
if (sma.isTeamWorkflow()) {
parentTeamArt = (TeamWorkFlowArtifact) sma;
}
@@ -340,7 +296,7 @@ public class TaskArtifact extends StateMachineArtifact implements IATSStateMachi
@Override
public Collection<User> getImplementers() throws OseeCoreException {
- return getImplementersByState(TaskStates.InWork.name());
+ return StateManager.getImplementersByState(this, TaskStates.InWork.name());
}
@Override
@@ -365,7 +321,7 @@ public class TaskArtifact extends StateMachineArtifact implements IATSStateMachi
@Override
public String getWorldViewLegacyPCR() throws OseeCoreException {
- StateMachineArtifact sma = getParentSMA();
+ AbstractWorkflowArtifact sma = getParentSMA();
if (sma != null) {
return sma.getWorldViewLegacyPCR();
}
@@ -373,13 +329,8 @@ public class TaskArtifact extends StateMachineArtifact implements IATSStateMachi
}
@Override
- public String getHyperTargetVersion() {
- return null;
- }
-
- @Override
public String getWorldViewSWEnhancement() throws OseeCoreException {
- StateMachineArtifact sma = getParentSMA();
+ AbstractWorkflowArtifact sma = getParentSMA();
if (sma != null) {
return sma.getWorldViewSWEnhancement();
}
@@ -391,9 +342,4 @@ public class TaskArtifact extends StateMachineArtifact implements IATSStateMachi
return getParentTeamWorkflow().getHumanReadableId();
}
- @Override
- public boolean hasAtsWorldChildren() {
- return false;
- }
-
}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/TeamDefinitionArtifact.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/TeamDefinitionArtifact.java
index db09a20bd0..25c9df832b 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/TeamDefinitionArtifact.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/TeamDefinitionArtifact.java
@@ -67,7 +67,7 @@ public class TeamDefinitionArtifact extends Artifact implements ICommitConfigArt
@Override
public Result isCreateBranchAllowed() throws OseeCoreException {
- if (getSoleAttributeValue(AtsAttributeTypes.AllowCreateBranch, false) == false) {
+ if (!getSoleAttributeValue(AtsAttributeTypes.AllowCreateBranch, false)) {
return new Result(false, "Branch creation disabled for Team Definition [" + this + "]");
}
if (getParentBranch() == null) {
@@ -78,7 +78,7 @@ public class TeamDefinitionArtifact extends Artifact implements ICommitConfigArt
@Override
public Result isCommitBranchAllowed() throws OseeCoreException {
- if (getSoleAttributeValue(AtsAttributeTypes.AllowCommitBranch, false) == false) {
+ if (!getSoleAttributeValue(AtsAttributeTypes.AllowCommitBranch, false)) {
return new Result(false, "Team Definition [" + this + "] not configured to allow branch commit.");
}
if (getParentBranch() == null) {
@@ -346,10 +346,10 @@ public class TeamDefinitionArtifact extends Artifact implements ICommitConfigArt
if (manDaysHrs != null && manDaysHrs != 0) {
return manDaysHrs;
}
- if (teamDef.getParent() != null && teamDef.getParent() instanceof TeamDefinitionArtifact) {
+ if (teamDef.getParent() instanceof TeamDefinitionArtifact) {
return teamDef.getHoursPerWorkDayFromItemAndChildren((TeamDefinitionArtifact) teamDef.getParent());
}
- return StateMachineArtifact.DEFAULT_HOURS_PER_WORK_DAY;
+ return AtsUtil.DEFAULT_HOURS_PER_WORK_DAY;
} catch (Exception ex) {
OseeLog.log(AtsPlugin.class, Level.SEVERE, ex);
}
@@ -433,18 +433,12 @@ public class TeamDefinitionArtifact extends Artifact implements ICommitConfigArt
public Collection<VersionArtifact> getVersionsArtifacts(VersionReleaseType releaseType) throws OseeCoreException {
ArrayList<VersionArtifact> versions = new ArrayList<VersionArtifact>();
for (VersionArtifact version : getVersionsArtifacts()) {
- if (version.isReleased()) {
- if (releaseType == VersionReleaseType.Released || releaseType == VersionReleaseType.Both) {
- versions.add(version);
- }
- } else if (version.isVersionLocked()) {
- if (releaseType == VersionReleaseType.VersionLocked || releaseType == VersionReleaseType.Both) {
- versions.add(version);
- }
- } else {
- if (releaseType == VersionReleaseType.UnReleased || releaseType == VersionReleaseType.Both) {
- versions.add(version);
- }
+ if (version.isReleased() && (releaseType == VersionReleaseType.Released || releaseType == VersionReleaseType.Both)) {
+ versions.add(version);
+ } else if (version.isVersionLocked() && (releaseType == VersionReleaseType.VersionLocked || releaseType == VersionReleaseType.Both)) {
+ versions.add(version);
+ } else if (releaseType == VersionReleaseType.UnReleased || releaseType == VersionReleaseType.Both) {
+ versions.add(version);
}
}
return versions;
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/TeamWorkFlowArtifact.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/TeamWorkFlowArtifact.java
index ae11da2ee7..6aff025bdf 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/TeamWorkFlowArtifact.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/TeamWorkFlowArtifact.java
@@ -11,26 +11,21 @@
package org.eclipse.osee.ats.artifact;
-import java.util.Arrays;
import java.util.Collection;
import java.util.Date;
-import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import java.util.logging.Level;
-import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.nebula.widgets.xviewer.XViewerCells;
import org.eclipse.osee.ats.config.AtsCacheManager;
import org.eclipse.osee.ats.internal.AtsPlugin;
import org.eclipse.osee.ats.util.AtsBranchManager;
import org.eclipse.osee.ats.util.AtsPriority.PriorityType;
import org.eclipse.osee.ats.util.AtsRelationTypes;
-import org.eclipse.osee.ats.util.AtsUtil;
+import org.eclipse.osee.ats.util.DefaultTeamState;
+import org.eclipse.osee.ats.util.StateManager;
import org.eclipse.osee.ats.util.widgets.ReviewManager;
import org.eclipse.osee.ats.util.widgets.XActionableItemsDam;
-import org.eclipse.osee.ats.util.widgets.dialog.AICheckTreeDialog;
-import org.eclipse.osee.ats.workflow.item.AtsWorkDefinitions.RuleWorkItemId;
-import org.eclipse.osee.framework.core.enums.Active;
import org.eclipse.osee.framework.core.exception.OseeArgumentException;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
import org.eclipse.osee.framework.core.exception.OseeStateException;
@@ -41,34 +36,22 @@ import org.eclipse.osee.framework.jdk.core.util.Strings;
import org.eclipse.osee.framework.logging.OseeLevel;
import org.eclipse.osee.framework.logging.OseeLog;
import org.eclipse.osee.framework.skynet.core.User;
-import org.eclipse.osee.framework.skynet.core.UserManager;
import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
import org.eclipse.osee.framework.skynet.core.artifact.ArtifactFactory;
import org.eclipse.osee.framework.skynet.core.artifact.IATSStateMachineArtifact;
import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction;
import org.eclipse.osee.framework.skynet.core.utility.Artifacts;
-import org.eclipse.osee.framework.ui.plugin.util.Result;
import org.eclipse.osee.framework.ui.skynet.util.ChangeType;
import org.eclipse.osee.framework.ui.skynet.widgets.IBranchArtifact;
-import org.eclipse.osee.framework.ui.skynet.widgets.workflow.WorkPageDefinition;
-import org.eclipse.osee.framework.ui.swt.Displays;
/**
* @author Donald G. Dunne
*/
-public class TeamWorkFlowArtifact extends TaskableStateMachineArtifact implements IBranchArtifact, IATSStateMachineArtifact {
+public class TeamWorkFlowArtifact extends AbstractTaskableArtifact implements IBranchArtifact, IATSStateMachineArtifact {
private XActionableItemsDam actionableItemsDam;
private boolean targetedErrorLogged = false;
private final AtsBranchManager branchMgr;
- public static enum DefaultTeamState {
- Endorse,
- Analyze,
- Authorize,
- Implement,
- Completed,
- Cancelled
- }
public TeamWorkFlowArtifact(ArtifactFactory parentFactory, String guid, String humanReadableId, Branch branch, ArtifactType artifactType) throws OseeCoreException {
super(parentFactory, guid, humanReadableId, branch, artifactType);
@@ -77,7 +60,7 @@ public class TeamWorkFlowArtifact extends TaskableStateMachineArtifact implement
}
@Override
- public void getSmaArtifactsOneLevel(StateMachineArtifact smaArtifact, Set<Artifact> artifacts) throws OseeCoreException {
+ public void getSmaArtifactsOneLevel(AbstractWorkflowArtifact smaArtifact, Set<Artifact> artifacts) throws OseeCoreException {
super.getSmaArtifactsOneLevel(smaArtifact, artifacts);
try {
if (getTargetedForVersion() != null) {
@@ -124,43 +107,6 @@ public class TeamWorkFlowArtifact extends TaskableStateMachineArtifact implement
}
@Override
- public Set<User> getPrivilegedUsers() {
- Set<User> users = new HashSet<User>();
- try {
- addPriviledgedUsersUpTeamDefinitionTree(getTeamDefinition(), users);
-
- WorkPageDefinition workPageDefinition = getWorkPageDefinition();
-
- // Add user if allowing privileged edit to all users
- if (!users.contains(UserManager.getUser()) && (workPageDefinition.hasWorkRule(RuleWorkItemId.atsAllowPriviledgedEditToAll.name()) || getTeamDefinition().hasWorkRule(
- RuleWorkItemId.atsAllowPriviledgedEditToAll.name()))) {
- users.add(UserManager.getUser());
- }
-
- // Add user if user is team member and rule exists
- if (!users.contains(UserManager.getUser()) && (workPageDefinition.hasWorkRule(RuleWorkItemId.atsAllowPriviledgedEditToTeamMember.name()) || getTeamDefinition().hasWorkRule(
- RuleWorkItemId.atsAllowPriviledgedEditToTeamMember.name()))) {
- if (getTeamDefinition().getMembers().contains(UserManager.getUser())) {
- users.add(UserManager.getUser());
- }
- }
-
- // Add user if team member is originator and rule exists
- if (!users.contains(UserManager.getUser()) && (workPageDefinition.hasWorkRule(RuleWorkItemId.atsAllowPriviledgedEditToTeamMemberAndOriginator.name()) || getTeamDefinition().hasWorkRule(
- RuleWorkItemId.atsAllowPriviledgedEditToTeamMemberAndOriginator.name()))) {
- if (getOriginator().equals(UserManager.getUser()) && getTeamDefinition().getMembers().contains(
- UserManager.getUser())) {
- users.add(UserManager.getUser());
- }
- }
-
- } catch (Exception ex) {
- OseeLog.log(AtsPlugin.class, OseeLevel.SEVERE_POPUP, ex);
- }
- return users;
- }
-
- @Override