├── img ├── mcp-tab.png ├── class-diagram.gif ├── activity-diagram.gif ├── sequence-diagram.gif └── mcp-connection-request.png ├── src ├── main │ ├── resources │ │ ├── project.properties │ │ ├── conceptual-model-conventions-url.txt │ │ ├── color-palette-guide-url.txt │ │ ├── plugin.xml │ │ └── plantuml-guide-url.txt │ └── java │ │ └── com │ │ └── astahpromcp │ │ ├── tool │ │ ├── common │ │ │ └── inputdto │ │ │ │ ├── NoInputDTO.java │ │ │ │ └── ChunkDTO.java │ │ ├── ToolProvider.java │ │ ├── astah │ │ │ └── pro │ │ │ │ ├── common │ │ │ │ ├── inputdto │ │ │ │ │ ├── IdDTO.java │ │ │ │ │ ├── NameDTO.java │ │ │ │ │ ├── IdListDTO.java │ │ │ │ │ └── PointIntDTO.java │ │ │ │ ├── outputdto │ │ │ │ │ ├── BooleanDTO.java │ │ │ │ │ ├── NameIdTypeListDTO.java │ │ │ │ │ ├── PointDoubleDTO.java │ │ │ │ │ ├── LabelIdTypeListDTO.java │ │ │ │ │ ├── LabelIdTypeDTO.java │ │ │ │ │ ├── NameIdTypeDTO.java │ │ │ │ │ ├── RectangleDTO.java │ │ │ │ │ └── assembler │ │ │ │ │ │ ├── RectangleDTOAssembler.java │ │ │ │ │ │ ├── LabelIdTypeDTOAssembler.java │ │ │ │ │ │ └── NameIdTypeDTOAssembler.java │ │ │ │ ├── ImageRegion.java │ │ │ │ ├── PseudostateKind.java │ │ │ │ ├── NavigabilityKind.java │ │ │ │ ├── VisibilityKind.java │ │ │ │ ├── AggregationKind.java │ │ │ │ └── CombinedFragmentKind.java │ │ │ │ ├── guide │ │ │ │ └── outputdto │ │ │ │ │ └── GuideDTO.java │ │ │ │ ├── project │ │ │ │ ├── inputdto │ │ │ │ │ └── SearchDTO.java │ │ │ │ └── outputdto │ │ │ │ │ ├── NameIdTypeNamespaceListDTO.java │ │ │ │ │ ├── NameIdTypeDefinitionListDTO.java │ │ │ │ │ ├── NameIdTypeDefinitionDTO.java │ │ │ │ │ ├── NameIdTypeNamespaceDTO.java │ │ │ │ │ ├── AllNameIdTypeInfoDTO.java │ │ │ │ │ ├── AllLabelIdTypeInfoDTO.java │ │ │ │ │ └── assembler │ │ │ │ │ ├── NameIdTypeNamespaceDTOAssembler.java │ │ │ │ │ └── NameIdTypeDefinitionDTOAssembler.java │ │ │ │ ├── model │ │ │ │ ├── outputdto │ │ │ │ │ ├── ClassDiagramDTO.java │ │ │ │ │ ├── ElementListDTO.java │ │ │ │ │ ├── NamedElementListDTO.java │ │ │ │ │ ├── TestCaseDTO.java │ │ │ │ │ ├── AssociationClassDTO.java │ │ │ │ │ ├── EnumerationLiteralDTO.java │ │ │ │ │ ├── EnumerationDTO.java │ │ │ │ │ ├── ActivityDiagramDTO.java │ │ │ │ │ ├── PseudostateDTO.java │ │ │ │ │ ├── ObjectNodeDTO.java │ │ │ │ │ ├── SequenceDiagramDTO.java │ │ │ │ │ ├── DiagramDTO.java │ │ │ │ │ ├── LinkDTO.java │ │ │ │ │ ├── StateMachineDiagramDTO.java │ │ │ │ │ ├── CommunicationDiagramDTO.java │ │ │ │ │ ├── RequirementDTO.java │ │ │ │ │ ├── PackageDTO.java │ │ │ │ │ ├── CommentDTO.java │ │ │ │ │ ├── UsageDTO.java │ │ │ │ │ ├── DependencyDTO.java │ │ │ │ │ ├── GateDTO.java │ │ │ │ │ ├── RealizationDTO.java │ │ │ │ │ ├── SlotDTO.java │ │ │ │ │ ├── GeneralizationDTO.java │ │ │ │ │ ├── assembler │ │ │ │ │ │ ├── TestCaseDTOAssembler.java │ │ │ │ │ │ ├── RequirementDTOAssembler.java │ │ │ │ │ │ ├── AssociationClassDTOAssembler.java │ │ │ │ │ │ ├── EnumerationLiteralDTOAssembler.java │ │ │ │ │ │ ├── LinkEndDTOAssembler.java │ │ │ │ │ │ ├── UsageDTOAssembler.java │ │ │ │ │ │ ├── DependencyDTOAssembler.java │ │ │ │ │ │ ├── FlowDTOAssembler.java │ │ │ │ │ │ ├── RealizationDTOAssembler.java │ │ │ │ │ │ ├── GeneralizationDTOAssembler.java │ │ │ │ │ │ ├── TransitionDTOAssembler.java │ │ │ │ │ │ ├── DiagramDTOAssembler.java │ │ │ │ │ │ ├── ControlNodeDTOAssembler.java │ │ │ │ │ │ ├── ObjectNodeDTOAssembler.java │ │ │ │ │ │ ├── AssociationDTOAssembler.java │ │ │ │ │ │ ├── ParameterDTOAssembler.java │ │ │ │ │ │ ├── SlotDTOAssembler.java │ │ │ │ │ │ ├── CommentDTOAssembler.java │ │ │ │ │ │ └── LinkDTOAssembler.java │ │ │ │ │ ├── ExtendDTO.java │ │ │ │ │ ├── IncludeDTO.java │ │ │ │ │ ├── AssociationDTO.java │ │ │ │ │ ├── ImageFileDTO.java │ │ │ │ │ ├── LinkEndDTO.java │ │ │ │ │ ├── ParameterDTO.java │ │ │ │ │ ├── VertexDTO.java │ │ │ │ │ ├── CombinedFragmentDTO.java │ │ │ │ │ ├── ActivityNodeDTO.java │ │ │ │ │ ├── InteractionDTO.java │ │ │ │ │ ├── LifelineDTO.java │ │ │ │ │ ├── InteractionOperandDTO.java │ │ │ │ │ ├── InteractionUseDTO.java │ │ │ │ │ ├── LifelineLinkDTO.java │ │ │ │ │ ├── FlowDTO.java │ │ │ │ │ ├── TransitionDTO.java │ │ │ │ │ ├── StateMachineDTO.java │ │ │ │ │ ├── InstanceSpecificationDTO.java │ │ │ │ │ ├── ElementDTO.java │ │ │ │ │ ├── UseCaseDTO.java │ │ │ │ │ ├── ActivityDTO.java │ │ │ │ │ ├── ControlNodeDTO.java │ │ │ │ │ └── OperationDTO.java │ │ │ │ └── inputdto │ │ │ │ │ ├── StateWithExitDTO.java │ │ │ │ │ ├── StateWithEntryDTO.java │ │ │ │ │ ├── SlotWithValueDTO.java │ │ │ │ │ ├── ClassWithLeafDTO.java │ │ │ │ │ ├── FlowWithActionDTO.java │ │ │ │ │ ├── ClassWithActiveDTO.java │ │ │ │ │ ├── ElementWithStereotypeDTO.java │ │ │ │ │ ├── StateWithDoActivityDTO.java │ │ │ │ │ ├── ClassWithAbstractDTO.java │ │ │ │ │ ├── NewClassInClassDTO.java │ │ │ │ │ ├── OperationWithLeafDTO.java │ │ │ │ │ ├── AttributeWithStaticDTO.java │ │ │ │ │ ├── NewClassInPackageDTO.java │ │ │ │ │ ├── OperationWithStaticDTO.java │ │ │ │ │ ├── TransitionWithEventDTO.java │ │ │ │ │ ├── NamedElementWithNameDTO.java │ │ │ │ │ ├── TransitionWithActionDTO.java │ │ │ │ │ ├── NewAttributeInClassDTO.java │ │ │ │ │ ├── NewInterfaceInClassDTO.java │ │ │ │ │ ├── NewPackageInPackageDTO.java │ │ │ │ │ ├── NewUsageDTO.java │ │ │ │ │ ├── OperationWithAbstractDTO.java │ │ │ │ │ ├── RequirementWithTextDTO.java │ │ │ │ │ ├── LinkEndWithNavigationDTO.java │ │ │ │ │ ├── MessageWithOperationDTO.java │ │ │ │ │ ├── MessageWithReturnValueDTO.java │ │ │ │ │ ├── NamedElementWithAlias1DTO.java │ │ │ │ │ ├── NamedElementWithAlias2DTO.java │ │ │ │ │ ├── NewGeneralizationDTO.java │ │ │ │ │ ├── ObjectNodeWithBaseDTO.java │ │ │ │ │ ├── AttributeWithInitialValueDTO.java │ │ │ │ │ ├── AttributeWithTypeDTO.java │ │ │ │ │ ├── LifelineWithBaseClassDTO.java │ │ │ │ │ ├── LinkEndWithAggregationDTO.java │ │ │ │ │ ├── LinkEndWithCompositionDTO.java │ │ │ │ │ ├── MessageWithAsynchronousDTO.java │ │ │ │ │ ├── NewInterfaceInPackageDTO.java │ │ │ │ │ ├── NewRealizationDTO.java │ │ │ │ │ ├── NewTestCaseInPackageDTO.java │ │ │ │ │ ├── ParameterWithTypeDTO.java │ │ │ │ │ ├── InteractionUseWithArgumentDTO.java │ │ │ │ │ ├── NewEnumerationInPackageDTO.java │ │ │ │ │ ├── NewTestCaseInTestCaseDTO.java │ │ │ │ │ ├── OperationWithReturnTypeDTO.java │ │ │ │ │ ├── NewRequirementInPackageDTO.java │ │ │ │ │ ├── ActionWithCallingActivityDTO.java │ │ │ │ │ ├── NewParameterToOperationDTO.java │ │ │ │ │ ├── ParameterWithTypeExpressionDTO.java │ │ │ │ │ ├── MessageWithReturnValueVariableDTO.java │ │ │ │ │ ├── NewDependencyDTO.java │ │ │ │ │ ├── NewRequirementInRequirementDTO.java │ │ │ │ │ ├── RequirementWithIdDTO.java │ │ │ │ │ ├── EnumerationLiteralWithValueDTO.java │ │ │ │ │ ├── OperationWithReturnTypeExpressionDTO.java │ │ │ │ │ ├── MessageWithArgumentDTO.java │ │ │ │ │ ├── NamedElementWithDefinitionDTO.java │ │ │ │ │ ├── NamedElementWithParentDTO.java │ │ │ │ │ ├── NewEnumerationLiteralInEnumerationDTO.java │ │ │ │ │ ├── ElementWithTypeModifierDTO.java │ │ │ │ │ ├── InstanceSpecificationWithClassifierDTO.java │ │ │ │ │ ├── ElementWithTaggedValueDTO.java │ │ │ │ │ ├── InteractionUseWithSequenceDiagramDTO.java │ │ │ │ │ ├── NamedElementWithVisibilityDTO.java │ │ │ │ │ ├── AttributeWithTypeExpressionDTO.java │ │ │ │ │ ├── FlowWithGuardDTO.java │ │ │ │ │ ├── CombinedFragmentWithKindDTO.java │ │ │ │ │ ├── AssociationEndWithAggregationKindDTO.java │ │ │ │ │ ├── AssociationEndWithNavigabilityDTO.java │ │ │ │ │ ├── AttributeWithIntMultiplicityDTO.java │ │ │ │ │ ├── MessageWithGuardDTO.java │ │ │ │ │ ├── StateWithInternalTransitionDTO.java │ │ │ │ │ ├── TransitionWithGuardDTO.java │ │ │ │ │ ├── NewAssociationClassDTO.java │ │ │ │ │ ├── NewCopyDependencyDTO.java │ │ │ │ │ ├── NewInteractionOperandDTO.java │ │ │ │ │ ├── NewOperationInClassDTO.java │ │ │ │ │ ├── NewTraceDependencyDTO.java │ │ │ │ │ ├── NewVerifyDependencyDTO.java │ │ │ │ │ ├── NewRefineDependencyDTO.java │ │ │ │ │ ├── NewSatisfyDependencyDTO.java │ │ │ │ │ ├── NewTaggedValueToElementDTO.java │ │ │ │ │ ├── InteractionOperandWithGuardDTO.java │ │ │ │ │ ├── NewDeriveReqtDependencyDTO.java │ │ │ │ │ ├── NewQualifierToAssociationEndDTO.java │ │ │ │ │ └── NewTemplateParameterToClassDTO.java │ │ │ │ ├── editor │ │ │ │ └── inputdto │ │ │ │ │ ├── DeleteDiagramDTO.java │ │ │ │ │ ├── NewActorDTO.java │ │ │ │ │ ├── NewUseCaseDTO.java │ │ │ │ │ ├── NewDiagramInPackageDTO.java │ │ │ │ │ ├── NewActivityDiagramDTO.java │ │ │ │ │ ├── NewExtensionPointDTO.java │ │ │ │ │ ├── NewUseCaseDiagramDTO.java │ │ │ │ │ ├── DeletePresentationDTO.java │ │ │ │ │ ├── NewSequenceDiagramInPackageDTO.java │ │ │ │ │ ├── NewTerminationDTO.java │ │ │ │ │ ├── NewStateMachineDiagramDTO.java │ │ │ │ │ ├── NewExtendDTO.java │ │ │ │ │ ├── NewIncludeDTO.java │ │ │ │ │ ├── NewForkNodeDTO.java │ │ │ │ │ ├── NewJoinNodeDTO.java │ │ │ │ │ ├── NewLifelineDTO.java │ │ │ │ │ ├── NewRegionDTO.java │ │ │ │ │ ├── DeleteRegionDTO.java │ │ │ │ │ ├── NewDecisionMergeNodeDTO.java │ │ │ │ │ ├── NewNoteAnchorDTO.java │ │ │ │ │ ├── NewTransitionDTO.java │ │ │ │ │ ├── NewFlowDTO.java │ │ │ │ │ ├── NewLinkSourceAndTargetDTO.java │ │ │ │ │ ├── NewReturnMessageDTO.java │ │ │ │ │ ├── NewTextWithPointDTO.java │ │ │ │ │ ├── NewNoteDTO.java │ │ │ │ │ ├── NewNodePresentationDTO.java │ │ │ │ │ ├── ChangeParentStateDTO.java │ │ │ │ │ ├── NewJpgImageWithPointDTO.java │ │ │ │ │ ├── NewPngImageWithPointDTO.java │ │ │ │ │ ├── NewActionDTO.java │ │ │ │ │ ├── NewProcessDTO.java │ │ │ │ │ ├── NewSvgImageWithPointDTO.java │ │ │ │ │ ├── NewFinalNodeDTO.java │ │ │ │ │ ├── NewConnectorDTO.java │ │ │ │ │ ├── NewFlowFinalNodeDTO.java │ │ │ │ │ ├── NewLinkPresentationDTO.java │ │ │ │ │ ├── NewDependencyDTO.java │ │ │ │ │ ├── NewAcceptEventActionDTO.java │ │ │ │ │ ├── NewSendSignalActionDTO.java │ │ │ │ │ ├── NewInstanceWithPointDTO.java │ │ │ │ │ ├── NewAcceptTimeEventActionDTO.java │ │ │ │ │ ├── NewInitialNodeDTO.java │ │ │ │ │ ├── NewStateDTO.java │ │ │ │ │ ├── NewAssociationClassPresentationDTO.java │ │ │ │ │ ├── NewFinalStateDTO.java │ │ │ │ │ ├── NewChoicePseudostateDTO.java │ │ │ │ │ ├── NewInitialPseudostateDTO.java │ │ │ │ │ ├── NewJunctionPseudostateDTO.java │ │ │ │ │ ├── NewSubMachineStateDTO.java │ │ │ │ │ ├── NewDeepHistoryPseudostateDTO.java │ │ │ │ │ ├── NewShallowHistoryPseudostateDTO.java │ │ │ │ │ ├── NewObjectNodeDTO.java │ │ │ │ │ ├── NewInteractionUseDTO.java │ │ │ │ │ ├── NewActivityParameterNodeDTO.java │ │ │ │ │ ├── NewCallBehaviorActionDTO.java │ │ │ │ │ ├── NewForkPseudostateDTO.java │ │ │ │ │ ├── NewJoinPseudostateDTO.java │ │ │ │ │ ├── NewLostMessageDTO.java │ │ │ │ │ ├── NewMessageDTO.java │ │ │ │ │ ├── NewPartitionDTO.java │ │ │ │ │ ├── NewFoundMessageDTO.java │ │ │ │ │ ├── NewCreateMessageDTO.java │ │ │ │ │ ├── NewDestroyMessageDTO.java │ │ │ │ │ ├── NewCombinedFragmentDTO.java │ │ │ │ │ └── NewPinWithBaseClassAndParentActionDTO.java │ │ │ │ ├── view │ │ │ │ ├── inputdto │ │ │ │ │ ├── ZoomFactorDTO.java │ │ │ │ │ └── PresentationWithHighlightColorDTO.java │ │ │ │ └── outputdto │ │ │ │ │ └── ZoomFactorDTO.java │ │ │ │ ├── presentation │ │ │ │ ├── outputdto │ │ │ │ │ ├── PresentationListDTO.java │ │ │ │ │ ├── NodePresentationDTO.java │ │ │ │ │ └── LinkPresentationDTO.java │ │ │ │ └── inputdto │ │ │ │ │ ├── NodePresentationWithWidthDTO.java │ │ │ │ │ ├── NodePresentationWithHeightDTO.java │ │ │ │ │ ├── PresentationWithColorDTO.java │ │ │ │ │ ├── PresentationWithLabelDTO.java │ │ │ │ │ ├── NodePresentationWithLocationDTO.java │ │ │ │ │ └── LinkPresentationWithPointsDTO.java │ │ │ │ └── image │ │ │ │ └── inputdto │ │ │ │ └── DiagramWithImageRegionDTO.java │ │ ├── log │ │ │ ├── outputdto │ │ │ │ ├── LogDirectoryDTO.java │ │ │ │ └── LogFileDTO.java │ │ │ └── LogToolFactory.java │ │ ├── visualization │ │ │ ├── inputdto │ │ │ │ └── PlantumlDTO.java │ │ │ └── outputdto │ │ │ │ └── PlantumlDTO.java │ │ ├── config │ │ │ ├── outputdto │ │ │ │ └── WorkspaceDirectoryPathDTO.java │ │ │ └── ConfigToolFactory.java │ │ ├── knowledge │ │ │ └── outputdto │ │ │ │ ├── DocumentChunkDTO.java │ │ │ │ └── DocumentDTO.java │ │ ├── ToolDefinition.java │ │ └── JsonSupport.java │ │ └── ui │ │ └── ExtraTabUiBuilder.java └── test │ └── resources │ └── modelfile │ ├── model │ ├── ActionTest.asta │ ├── FlowTest.asta │ ├── VertexTest.asta │ ├── ActivityTest.asta │ ├── GateToolTest.asta │ ├── LinkToolTest.asta │ ├── SlotToolTest.asta │ ├── ClassToolTest.asta │ ├── CommentToolTest.asta │ ├── ControlNodeTest.asta │ ├── DiagramToolTest.asta │ ├── ElementToolTest.asta │ ├── ExtendToolTest.asta │ ├── IncludeToolTest.asta │ ├── LinkEndToolTest.asta │ ├── MessageToolTest.asta │ ├── ObjectNodeTest.asta │ ├── PackageToolTest.asta │ ├── PartitionTest.asta │ ├── StateToolTest.asta │ ├── TransitionTest.asta │ ├── UsageToolTest.asta │ ├── UseCaseToolTest.asta │ ├── ActivityNodeTest.asta │ ├── AttributeToolTest.asta │ ├── LifelineToolTest.asta │ ├── OperationToolTest.asta │ ├── ParameterToolTest.asta │ ├── TestCaseToolTest.asta │ ├── ActivityDiagramTest.asta │ ├── AssociationToolTest.asta │ ├── DependencyToolTest.asta │ ├── EnumerationToolTest.asta │ ├── InteractionToolTest.asta │ ├── NamedElementToolTest.asta │ ├── PseudostateToolTest.asta │ ├── RealizationToolTest.asta │ ├── RequirementToolTest.asta │ ├── StateMachineToolTest.asta │ ├── DiagramEditorToolTest.asta │ ├── GeneralizationToolTest.asta │ ├── InteractionUseToolTest.asta │ ├── ActivityDiagramEditorTest.asta │ ├── AssociationClassToolTest.asta │ ├── CombinedFragmentToolTest.asta │ ├── EnumerationLiteralToolTest.asta │ ├── InteractionOperandToolTest.asta │ ├── StateMachineDiagramToolTest.asta │ ├── CommunicationDiagramToolTest.asta │ └── InstanceSpecificationToolTest.asta │ ├── editor │ ├── DiagramEditorToolTest.asta │ ├── BasicModelEditorToolTest.asta │ ├── BasicDiagramEditorToolTest.asta │ ├── ClassDiagramEditorToolTest.asta │ ├── UseCaseModelEditorToolTest.asta │ ├── ActivityDiagramEditorToolTest.asta │ ├── SequenceDiagramEditorToolTest.asta │ ├── UseCaseDiagramEditorToolTest.asta │ ├── StructureDiagramEditorToolTest.asta │ ├── RequirementDiagramEditorToolTest.asta │ └── StateMachineDiagramEditorToolTest.asta │ ├── project │ ├── ProjectInfoToolTest.asta │ └── ProjectAccessorToolTest.asta │ ├── view │ ├── DiagramViewManagerToolTest.asta │ └── ProjectViewManagerToolTest.asta │ └── presentation │ ├── PresentationToolTest.asta │ ├── LinkPresentationToolTest.asta │ └── NodePresentationToolTest.asta └── install-plugin-for-mac.sh /img/mcp-tab.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/astah-pro-mcp/main/img/mcp-tab.png -------------------------------------------------------------------------------- /img/class-diagram.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/astah-pro-mcp/main/img/class-diagram.gif -------------------------------------------------------------------------------- /img/activity-diagram.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/astah-pro-mcp/main/img/activity-diagram.gif -------------------------------------------------------------------------------- /img/sequence-diagram.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/astah-pro-mcp/main/img/sequence-diagram.gif -------------------------------------------------------------------------------- /img/mcp-connection-request.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/astah-pro-mcp/main/img/mcp-connection-request.png -------------------------------------------------------------------------------- /src/main/resources/project.properties: -------------------------------------------------------------------------------- 1 | project.artifactId=${project.artifactId} 2 | project.version=${project.version} 3 | -------------------------------------------------------------------------------- /src/main/resources/conceptual-model-conventions-url.txt: -------------------------------------------------------------------------------- 1 | https://semiceu.github.io/style-guide/1.0.0/gc-conceptual-model-conventions.html 2 | -------------------------------------------------------------------------------- /src/test/resources/modelfile/model/ActionTest.asta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/astah-pro-mcp/main/src/test/resources/modelfile/model/ActionTest.asta -------------------------------------------------------------------------------- /src/test/resources/modelfile/model/FlowTest.asta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/astah-pro-mcp/main/src/test/resources/modelfile/model/FlowTest.asta -------------------------------------------------------------------------------- /src/test/resources/modelfile/model/VertexTest.asta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/astah-pro-mcp/main/src/test/resources/modelfile/model/VertexTest.asta -------------------------------------------------------------------------------- /src/test/resources/modelfile/model/ActivityTest.asta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/astah-pro-mcp/main/src/test/resources/modelfile/model/ActivityTest.asta -------------------------------------------------------------------------------- /src/test/resources/modelfile/model/GateToolTest.asta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/astah-pro-mcp/main/src/test/resources/modelfile/model/GateToolTest.asta -------------------------------------------------------------------------------- /src/test/resources/modelfile/model/LinkToolTest.asta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/astah-pro-mcp/main/src/test/resources/modelfile/model/LinkToolTest.asta -------------------------------------------------------------------------------- /src/test/resources/modelfile/model/SlotToolTest.asta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/astah-pro-mcp/main/src/test/resources/modelfile/model/SlotToolTest.asta -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/common/inputdto/NoInputDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.common.inputdto; 2 | 3 | public record NoInputDTO( 4 | ) { 5 | } 6 | -------------------------------------------------------------------------------- /src/test/resources/modelfile/model/ClassToolTest.asta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/astah-pro-mcp/main/src/test/resources/modelfile/model/ClassToolTest.asta -------------------------------------------------------------------------------- /src/test/resources/modelfile/model/CommentToolTest.asta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/astah-pro-mcp/main/src/test/resources/modelfile/model/CommentToolTest.asta -------------------------------------------------------------------------------- /src/test/resources/modelfile/model/ControlNodeTest.asta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/astah-pro-mcp/main/src/test/resources/modelfile/model/ControlNodeTest.asta -------------------------------------------------------------------------------- /src/test/resources/modelfile/model/DiagramToolTest.asta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/astah-pro-mcp/main/src/test/resources/modelfile/model/DiagramToolTest.asta -------------------------------------------------------------------------------- /src/test/resources/modelfile/model/ElementToolTest.asta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/astah-pro-mcp/main/src/test/resources/modelfile/model/ElementToolTest.asta -------------------------------------------------------------------------------- /src/test/resources/modelfile/model/ExtendToolTest.asta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/astah-pro-mcp/main/src/test/resources/modelfile/model/ExtendToolTest.asta -------------------------------------------------------------------------------- /src/test/resources/modelfile/model/IncludeToolTest.asta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/astah-pro-mcp/main/src/test/resources/modelfile/model/IncludeToolTest.asta -------------------------------------------------------------------------------- /src/test/resources/modelfile/model/LinkEndToolTest.asta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/astah-pro-mcp/main/src/test/resources/modelfile/model/LinkEndToolTest.asta -------------------------------------------------------------------------------- /src/test/resources/modelfile/model/MessageToolTest.asta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/astah-pro-mcp/main/src/test/resources/modelfile/model/MessageToolTest.asta -------------------------------------------------------------------------------- /src/test/resources/modelfile/model/ObjectNodeTest.asta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/astah-pro-mcp/main/src/test/resources/modelfile/model/ObjectNodeTest.asta -------------------------------------------------------------------------------- /src/test/resources/modelfile/model/PackageToolTest.asta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/astah-pro-mcp/main/src/test/resources/modelfile/model/PackageToolTest.asta -------------------------------------------------------------------------------- /src/test/resources/modelfile/model/PartitionTest.asta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/astah-pro-mcp/main/src/test/resources/modelfile/model/PartitionTest.asta -------------------------------------------------------------------------------- /src/test/resources/modelfile/model/StateToolTest.asta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/astah-pro-mcp/main/src/test/resources/modelfile/model/StateToolTest.asta -------------------------------------------------------------------------------- /src/test/resources/modelfile/model/TransitionTest.asta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/astah-pro-mcp/main/src/test/resources/modelfile/model/TransitionTest.asta -------------------------------------------------------------------------------- /src/test/resources/modelfile/model/UsageToolTest.asta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/astah-pro-mcp/main/src/test/resources/modelfile/model/UsageToolTest.asta -------------------------------------------------------------------------------- /src/test/resources/modelfile/model/UseCaseToolTest.asta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/astah-pro-mcp/main/src/test/resources/modelfile/model/UseCaseToolTest.asta -------------------------------------------------------------------------------- /src/test/resources/modelfile/model/ActivityNodeTest.asta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/astah-pro-mcp/main/src/test/resources/modelfile/model/ActivityNodeTest.asta -------------------------------------------------------------------------------- /src/test/resources/modelfile/model/AttributeToolTest.asta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/astah-pro-mcp/main/src/test/resources/modelfile/model/AttributeToolTest.asta -------------------------------------------------------------------------------- /src/test/resources/modelfile/model/LifelineToolTest.asta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/astah-pro-mcp/main/src/test/resources/modelfile/model/LifelineToolTest.asta -------------------------------------------------------------------------------- /src/test/resources/modelfile/model/OperationToolTest.asta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/astah-pro-mcp/main/src/test/resources/modelfile/model/OperationToolTest.asta -------------------------------------------------------------------------------- /src/test/resources/modelfile/model/ParameterToolTest.asta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/astah-pro-mcp/main/src/test/resources/modelfile/model/ParameterToolTest.asta -------------------------------------------------------------------------------- /src/test/resources/modelfile/model/TestCaseToolTest.asta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/astah-pro-mcp/main/src/test/resources/modelfile/model/TestCaseToolTest.asta -------------------------------------------------------------------------------- /src/test/resources/modelfile/model/ActivityDiagramTest.asta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/astah-pro-mcp/main/src/test/resources/modelfile/model/ActivityDiagramTest.asta -------------------------------------------------------------------------------- /src/test/resources/modelfile/model/AssociationToolTest.asta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/astah-pro-mcp/main/src/test/resources/modelfile/model/AssociationToolTest.asta -------------------------------------------------------------------------------- /src/test/resources/modelfile/model/DependencyToolTest.asta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/astah-pro-mcp/main/src/test/resources/modelfile/model/DependencyToolTest.asta -------------------------------------------------------------------------------- /src/test/resources/modelfile/model/EnumerationToolTest.asta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/astah-pro-mcp/main/src/test/resources/modelfile/model/EnumerationToolTest.asta -------------------------------------------------------------------------------- /src/test/resources/modelfile/model/InteractionToolTest.asta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/astah-pro-mcp/main/src/test/resources/modelfile/model/InteractionToolTest.asta -------------------------------------------------------------------------------- /src/test/resources/modelfile/model/NamedElementToolTest.asta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/astah-pro-mcp/main/src/test/resources/modelfile/model/NamedElementToolTest.asta -------------------------------------------------------------------------------- /src/test/resources/modelfile/model/PseudostateToolTest.asta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/astah-pro-mcp/main/src/test/resources/modelfile/model/PseudostateToolTest.asta -------------------------------------------------------------------------------- /src/test/resources/modelfile/model/RealizationToolTest.asta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/astah-pro-mcp/main/src/test/resources/modelfile/model/RealizationToolTest.asta -------------------------------------------------------------------------------- /src/test/resources/modelfile/model/RequirementToolTest.asta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/astah-pro-mcp/main/src/test/resources/modelfile/model/RequirementToolTest.asta -------------------------------------------------------------------------------- /src/test/resources/modelfile/model/StateMachineToolTest.asta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/astah-pro-mcp/main/src/test/resources/modelfile/model/StateMachineToolTest.asta -------------------------------------------------------------------------------- /src/test/resources/modelfile/editor/DiagramEditorToolTest.asta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/astah-pro-mcp/main/src/test/resources/modelfile/editor/DiagramEditorToolTest.asta -------------------------------------------------------------------------------- /src/test/resources/modelfile/model/DiagramEditorToolTest.asta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/astah-pro-mcp/main/src/test/resources/modelfile/model/DiagramEditorToolTest.asta -------------------------------------------------------------------------------- /src/test/resources/modelfile/model/GeneralizationToolTest.asta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/astah-pro-mcp/main/src/test/resources/modelfile/model/GeneralizationToolTest.asta -------------------------------------------------------------------------------- /src/test/resources/modelfile/model/InteractionUseToolTest.asta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/astah-pro-mcp/main/src/test/resources/modelfile/model/InteractionUseToolTest.asta -------------------------------------------------------------------------------- /src/test/resources/modelfile/project/ProjectInfoToolTest.asta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/astah-pro-mcp/main/src/test/resources/modelfile/project/ProjectInfoToolTest.asta -------------------------------------------------------------------------------- /src/test/resources/modelfile/editor/BasicModelEditorToolTest.asta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/astah-pro-mcp/main/src/test/resources/modelfile/editor/BasicModelEditorToolTest.asta -------------------------------------------------------------------------------- /src/test/resources/modelfile/model/ActivityDiagramEditorTest.asta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/astah-pro-mcp/main/src/test/resources/modelfile/model/ActivityDiagramEditorTest.asta -------------------------------------------------------------------------------- /src/test/resources/modelfile/model/AssociationClassToolTest.asta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/astah-pro-mcp/main/src/test/resources/modelfile/model/AssociationClassToolTest.asta -------------------------------------------------------------------------------- /src/test/resources/modelfile/model/CombinedFragmentToolTest.asta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/astah-pro-mcp/main/src/test/resources/modelfile/model/CombinedFragmentToolTest.asta -------------------------------------------------------------------------------- /src/test/resources/modelfile/project/ProjectAccessorToolTest.asta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/astah-pro-mcp/main/src/test/resources/modelfile/project/ProjectAccessorToolTest.asta -------------------------------------------------------------------------------- /src/test/resources/modelfile/view/DiagramViewManagerToolTest.asta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/astah-pro-mcp/main/src/test/resources/modelfile/view/DiagramViewManagerToolTest.asta -------------------------------------------------------------------------------- /src/test/resources/modelfile/view/ProjectViewManagerToolTest.asta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/astah-pro-mcp/main/src/test/resources/modelfile/view/ProjectViewManagerToolTest.asta -------------------------------------------------------------------------------- /src/test/resources/modelfile/editor/BasicDiagramEditorToolTest.asta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/astah-pro-mcp/main/src/test/resources/modelfile/editor/BasicDiagramEditorToolTest.asta -------------------------------------------------------------------------------- /src/test/resources/modelfile/editor/ClassDiagramEditorToolTest.asta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/astah-pro-mcp/main/src/test/resources/modelfile/editor/ClassDiagramEditorToolTest.asta -------------------------------------------------------------------------------- /src/test/resources/modelfile/editor/UseCaseModelEditorToolTest.asta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/astah-pro-mcp/main/src/test/resources/modelfile/editor/UseCaseModelEditorToolTest.asta -------------------------------------------------------------------------------- /src/test/resources/modelfile/model/EnumerationLiteralToolTest.asta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/astah-pro-mcp/main/src/test/resources/modelfile/model/EnumerationLiteralToolTest.asta -------------------------------------------------------------------------------- /src/test/resources/modelfile/model/InteractionOperandToolTest.asta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/astah-pro-mcp/main/src/test/resources/modelfile/model/InteractionOperandToolTest.asta -------------------------------------------------------------------------------- /src/test/resources/modelfile/model/StateMachineDiagramToolTest.asta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/astah-pro-mcp/main/src/test/resources/modelfile/model/StateMachineDiagramToolTest.asta -------------------------------------------------------------------------------- /src/test/resources/modelfile/presentation/PresentationToolTest.asta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/astah-pro-mcp/main/src/test/resources/modelfile/presentation/PresentationToolTest.asta -------------------------------------------------------------------------------- /src/test/resources/modelfile/editor/ActivityDiagramEditorToolTest.asta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/astah-pro-mcp/main/src/test/resources/modelfile/editor/ActivityDiagramEditorToolTest.asta -------------------------------------------------------------------------------- /src/test/resources/modelfile/editor/SequenceDiagramEditorToolTest.asta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/astah-pro-mcp/main/src/test/resources/modelfile/editor/SequenceDiagramEditorToolTest.asta -------------------------------------------------------------------------------- /src/test/resources/modelfile/editor/UseCaseDiagramEditorToolTest.asta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/astah-pro-mcp/main/src/test/resources/modelfile/editor/UseCaseDiagramEditorToolTest.asta -------------------------------------------------------------------------------- /src/test/resources/modelfile/model/CommunicationDiagramToolTest.asta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/astah-pro-mcp/main/src/test/resources/modelfile/model/CommunicationDiagramToolTest.asta -------------------------------------------------------------------------------- /src/test/resources/modelfile/model/InstanceSpecificationToolTest.asta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/astah-pro-mcp/main/src/test/resources/modelfile/model/InstanceSpecificationToolTest.asta -------------------------------------------------------------------------------- /src/test/resources/modelfile/editor/StructureDiagramEditorToolTest.asta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/astah-pro-mcp/main/src/test/resources/modelfile/editor/StructureDiagramEditorToolTest.asta -------------------------------------------------------------------------------- /src/test/resources/modelfile/presentation/LinkPresentationToolTest.asta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/astah-pro-mcp/main/src/test/resources/modelfile/presentation/LinkPresentationToolTest.asta -------------------------------------------------------------------------------- /src/test/resources/modelfile/presentation/NodePresentationToolTest.asta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/astah-pro-mcp/main/src/test/resources/modelfile/presentation/NodePresentationToolTest.asta -------------------------------------------------------------------------------- /src/test/resources/modelfile/editor/RequirementDiagramEditorToolTest.asta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/astah-pro-mcp/main/src/test/resources/modelfile/editor/RequirementDiagramEditorToolTest.asta -------------------------------------------------------------------------------- /src/test/resources/modelfile/editor/StateMachineDiagramEditorToolTest.asta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/astah-pro-mcp/main/src/test/resources/modelfile/editor/StateMachineDiagramEditorToolTest.asta -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/ToolProvider.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool; 2 | 3 | import java.util.List; 4 | 5 | // An interface for providing a collection of tools to the MCP server 6 | public interface ToolProvider { 7 | 8 | List createToolDefinitions(); 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/common/inputdto/IdDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.common.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record IdDTO( 6 | @JsonPropertyDescription("Identifier") 7 | String id 8 | ) { 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/common/inputdto/NameDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.common.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NameDTO( 6 | @JsonPropertyDescription("Name") 7 | String name 8 | ) { 9 | } 10 | -------------------------------------------------------------------------------- /src/main/resources/color-palette-guide-url.txt: -------------------------------------------------------------------------------- 1 | https://designsystem.digital.gov/design-tokens/color/overview/ 2 | https://designsystem.digital.gov/design-tokens/color/theme-tokens/ 3 | https://designsystem.digital.gov/design-tokens/color/state-tokens/ 4 | https://designsystem.digital.gov/design-tokens/color/system-tokens/ 5 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/common/outputdto/BooleanDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.common.outputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record BooleanDTO( 6 | @JsonPropertyDescription("Boolean value") 7 | boolean value 8 | ) { 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/log/outputdto/LogDirectoryDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.log.outputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record LogDirectoryDTO( 6 | @JsonPropertyDescription("Log directory path") 7 | String logDirectoryPath 8 | ) { 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/visualization/inputdto/PlantumlDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.visualization.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record PlantumlDTO( 6 | @JsonPropertyDescription("PlantUML code") 7 | String plantumlCode 8 | ) { 9 | } 10 | -------------------------------------------------------------------------------- /src/main/resources/plugin.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 8 | 9 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/guide/outputdto/GuideDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.guide.outputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record GuideDTO( 6 | @JsonPropertyDescription("Guide content") 7 | String content 8 | ) { 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/project/inputdto/SearchDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.common.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record SearchDTO( 6 | @JsonPropertyDescription("Search string") 7 | String searchString 8 | ) { 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/visualization/outputdto/PlantumlDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.visualization.outputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record PlantumlDTO( 6 | @JsonPropertyDescription("PlantUML code") 7 | String plantumlCode 8 | ) { 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/outputdto/ClassDiagramDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.outputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record ClassDiagramDTO( 6 | @JsonPropertyDescription("Diagram information") 7 | DiagramDTO diagram 8 | ) { 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/common/inputdto/ChunkDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.common.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record ChunkDTO( 6 | @JsonPropertyDescription("Index of the chunk to retrieve. The index starts from 0.") 7 | int chunkIndex 8 | ) { 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/editor/inputdto/DeleteDiagramDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.editor.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record DeleteDiagramDTO( 6 | @JsonPropertyDescription("Delete target diagram identifier") 7 | String targetDiagramId 8 | ) { 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/config/outputdto/WorkspaceDirectoryPathDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.config.outputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record WorkspaceDirectoryPathDTO( 6 | @JsonPropertyDescription("Workspace directory path") 7 | String workspaceDirectoryPath 8 | ) { 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/common/inputdto/IdListDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.common.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | import java.util.List; 6 | 7 | public record IdListDTO( 8 | @JsonPropertyDescription("List value of identifiers") 9 | List value 10 | ) { 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/outputdto/ElementListDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.outputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | import java.util.List; 6 | 7 | public record ElementListDTO( 8 | @JsonPropertyDescription("List value of elements") 9 | List value 10 | ) { 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/common/inputdto/PointIntDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.common.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record PointIntDTO( 6 | @JsonPropertyDescription("X coordinate") 7 | int x, 8 | 9 | @JsonPropertyDescription("Y coordinate") 10 | int y 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/view/inputdto/ZoomFactorDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.view.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record ZoomFactorDTO( 6 | @JsonPropertyDescription("Zoom factor value (e.g., 1.0 for 100%, 1.5 for 150%, 0.5 for 50%)") 7 | double zoomFactorValue 8 | ) { 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/view/outputdto/ZoomFactorDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.view.outputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record ZoomFactorDTO( 6 | @JsonPropertyDescription("Zoom factor value (e.g., 1.0 for 100%, 1.5 for 150%, 0.5 for 50%)") 7 | double zoomFactorValue 8 | ) { 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/knowledge/outputdto/DocumentChunkDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.knowledge.outputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record DocumentChunkDTO( 6 | @JsonPropertyDescription("The document content of this chunk. If no chunk data exists, an empty string is set.") 7 | String content 8 | ) { 9 | } 10 | -------------------------------------------------------------------------------- /src/main/resources/plantuml-guide-url.txt: -------------------------------------------------------------------------------- 1 | https://plantuml.com/class-diagram.html 2 | https://plantuml.com/object-diagram.html 3 | https://plantuml.com/sequence-diagram.html 4 | https://plantuml.com/use-case-diagram.html 5 | https://plantuml.com/activity-diagram-beta.html 6 | https://plantuml.com/state-diagram.html 7 | https://plantuml.com/component-diagram.html 8 | https://plantuml.com/deployment-diagram.html 9 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/common/ImageRegion.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.common; 2 | 3 | public enum ImageRegion { 4 | // Since some AI agents tend to specify ENUM literals in lowercase even when they are defined in uppercase, the literals are defined in lowercase. 5 | full, 6 | top_left, 7 | top_right, 8 | bottom_left, 9 | bottom_right; 10 | } 11 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/common/outputdto/NameIdTypeListDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.common.outputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | import java.util.List; 6 | 7 | public record NameIdTypeListDTO( 8 | @JsonPropertyDescription("List value of name, identifier and type") 9 | List value 10 | ) { 11 | } -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/common/outputdto/PointDoubleDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.common.outputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record PointDoubleDTO( 6 | @JsonPropertyDescription("X coordinate") 7 | double x, 8 | 9 | @JsonPropertyDescription("Y coordinate") 10 | double y 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/outputdto/NamedElementListDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.outputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | import java.util.List; 6 | 7 | public record NamedElementListDTO( 8 | @JsonPropertyDescription("List value of named elements") 9 | List value 10 | ) { 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/common/outputdto/LabelIdTypeListDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.common.outputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | import java.util.List; 6 | 7 | public record LabelIdTypeListDTO( 8 | @JsonPropertyDescription("List value of label, identifier and type") 9 | List value 10 | ) { 11 | } -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/StateWithExitDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record StateWithExitDTO( 6 | @JsonPropertyDescription("Target state ID") 7 | String targetStateId, 8 | 9 | @JsonPropertyDescription("Exit") 10 | String exit 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/StateWithEntryDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record StateWithEntryDTO( 6 | @JsonPropertyDescription("Target state ID") 7 | String targetStateId, 8 | 9 | @JsonPropertyDescription("Entry") 10 | String entry 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/presentation/outputdto/PresentationListDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.presentation.outputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | import java.util.List; 6 | 7 | public record PresentationListDTO( 8 | @JsonPropertyDescription("List value of presentations") 9 | List value 10 | ) { 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/SlotWithValueDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record SlotWithValueDTO( 6 | @JsonPropertyDescription("Target slot identifier") 7 | String targetSlotId, 8 | 9 | @JsonPropertyDescription("Slot value") 10 | String value 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/outputdto/TestCaseDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.outputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record TestCaseDTO( 6 | @JsonPropertyDescription("Class information") 7 | ClassDTO clazz, 8 | 9 | @JsonPropertyDescription("Test case identifier") 10 | String testCaseId 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/ClassWithLeafDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record ClassWithLeafDTO( 6 | @JsonPropertyDescription("Target class identifier") 7 | String targetClassId, 8 | 9 | @JsonPropertyDescription("Is Leaf") 10 | boolean isLeaf 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/FlowWithActionDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record FlowWithActionDTO( 6 | @JsonPropertyDescription("Target flow identifier") 7 | String targetFlowId, 8 | 9 | @JsonPropertyDescription("Action") 10 | String action 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/editor/inputdto/NewActorDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.editor.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewActorDTO( 6 | @JsonPropertyDescription("Parent package identifier") 7 | String parentPackageId, 8 | 9 | @JsonPropertyDescription("New actor name") 10 | String newActorName 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/ClassWithActiveDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record ClassWithActiveDTO( 6 | @JsonPropertyDescription("Target class identifier") 7 | String targetClassId, 8 | 9 | @JsonPropertyDescription("Is Active") 10 | boolean isActive 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/ElementWithStereotypeDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record ElementWithStereotypeDTO( 6 | @JsonPropertyDescription("Target element identifier") 7 | String id, 8 | 9 | @JsonPropertyDescription("Stereotype") 10 | String stereotype 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/StateWithDoActivityDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record StateWithDoActivityDTO( 6 | @JsonPropertyDescription("Target state ID") 7 | String targetStateId, 8 | 9 | @JsonPropertyDescription("DoActivity") 10 | String doActivity 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/editor/inputdto/NewUseCaseDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.editor.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewUseCaseDTO( 6 | @JsonPropertyDescription("Parent package identifier") 7 | String parentPackageId, 8 | 9 | @JsonPropertyDescription("New usecase name") 10 | String newUsecaseName 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/ClassWithAbstractDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record ClassWithAbstractDTO( 6 | @JsonPropertyDescription("Target class identifier") 7 | String targetClassId, 8 | 9 | @JsonPropertyDescription("Is Abstract") 10 | boolean isAbstract 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/NewClassInClassDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewClassInClassDTO( 6 | @JsonPropertyDescription("Parent class identifier") 7 | String parentClassId, 8 | 9 | @JsonPropertyDescription("New class name") 10 | String newClassName 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/OperationWithLeafDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record OperationWithLeafDTO( 6 | @JsonPropertyDescription("Target operation identifier") 7 | String targetOperationId, 8 | 9 | @JsonPropertyDescription("Is Leaf") 10 | boolean isLeaf 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/knowledge/outputdto/DocumentDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.knowledge.outputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record DocumentDTO( 6 | @JsonPropertyDescription("The total number of chunks.") 7 | int totalChunks, 8 | 9 | @JsonPropertyDescription("The first chunk of the document text.") 10 | String firstChunk 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/AttributeWithStaticDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record AttributeWithStaticDTO( 6 | @JsonPropertyDescription("Target attribute identifier") 7 | String targetAttributeId, 8 | 9 | @JsonPropertyDescription("Is Static") 10 | boolean isStatic 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/NewClassInPackageDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewClassInPackageDTO( 6 | @JsonPropertyDescription("Parent package identifier") 7 | String parentPackageId, 8 | 9 | @JsonPropertyDescription("New class name") 10 | String newClassName 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/OperationWithStaticDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record OperationWithStaticDTO( 6 | @JsonPropertyDescription("Target operation identifier") 7 | String targetOperationId, 8 | 9 | @JsonPropertyDescription("Is Static") 10 | boolean isStatic 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/TransitionWithEventDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record TransitionWithEventDTO( 6 | @JsonPropertyDescription("Target transition identifier") 7 | String targetTransitionId, 8 | 9 | @JsonPropertyDescription("Event") 10 | String event 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/NamedElementWithNameDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NamedElementWithNameDTO( 6 | @JsonPropertyDescription("Target named element identifier") 7 | String targetNamedElementId, 8 | 9 | @JsonPropertyDescription("Name") 10 | String name 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/TransitionWithActionDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record TransitionWithActionDTO( 6 | @JsonPropertyDescription("Target transition identifier") 7 | String targetTransitionId, 8 | 9 | @JsonPropertyDescription("Action") 10 | String action 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/outputdto/AssociationClassDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.outputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record AssociationClassDTO( 6 | @JsonPropertyDescription("Class information") 7 | ClassDTO class_, 8 | 9 | @JsonPropertyDescription("Association information") 10 | AssociationDTO association 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/project/outputdto/NameIdTypeNamespaceListDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.project.outputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | import java.util.List; 6 | 7 | public record NameIdTypeNamespaceListDTO( 8 | @JsonPropertyDescription("List value of name, identifier, type and namespace") 9 | List value 10 | ) { 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/editor/inputdto/NewDiagramInPackageDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.editor.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewDiagramInPackageDTO( 6 | @JsonPropertyDescription("Target package identifier") 7 | String targetPackageId, 8 | 9 | @JsonPropertyDescription("New diagram name") 10 | String newDiagramName 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/NewAttributeInClassDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewAttributeInClassDTO( 6 | @JsonPropertyDescription("Parent class identifier") 7 | String parentClassId, 8 | 9 | @JsonPropertyDescription("New attribute name") 10 | String newAttributeName 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/NewInterfaceInClassDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewInterfaceInClassDTO( 6 | @JsonPropertyDescription("Parent class identifier") 7 | String parentClassId, 8 | 9 | @JsonPropertyDescription("New interface name") 10 | String newInterfaceName 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/NewPackageInPackageDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewPackageInPackageDTO( 6 | @JsonPropertyDescription("Parent package identifier") 7 | String parentPackageId, 8 | 9 | @JsonPropertyDescription("New package name") 10 | String newPackageName 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/NewUsageDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewUsageDTO( 6 | @JsonPropertyDescription("Client class identifier") 7 | String clientClassId, 8 | 9 | @JsonPropertyDescription("Supplier class identifier") 10 | String supplierClassId 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/OperationWithAbstractDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record OperationWithAbstractDTO( 6 | @JsonPropertyDescription("Target operation identifier") 7 | String targetOperationId, 8 | 9 | @JsonPropertyDescription("Is Abstract") 10 | boolean isAbstract 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/RequirementWithTextDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record RequirementWithTextDTO( 6 | @JsonPropertyDescription("Target requirement identifier") 7 | String id, 8 | 9 | @JsonPropertyDescription("Requirement text") 10 | String requirementText 11 | ) { 12 | } 13 | 14 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/LinkEndWithNavigationDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record LinkEndWithNavigationDTO( 6 | @JsonPropertyDescription("Target link end identifier") 7 | String targetLinkEndId, 8 | 9 | @JsonPropertyDescription("Is Navigation") 10 | boolean isNavigation 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/MessageWithOperationDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record MessageWithOperationDTO( 6 | @JsonPropertyDescription("Target message identifier") 7 | String targetMessageId, 8 | 9 | @JsonPropertyDescription("Operation identifier") 10 | String operationId 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/MessageWithReturnValueDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record MessageWithReturnValueDTO( 6 | @JsonPropertyDescription("Target message identifier") 7 | String targetMessageId, 8 | 9 | @JsonPropertyDescription("Return value") 10 | String returnValue 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/NamedElementWithAlias1DTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NamedElementWithAlias1DTO( 6 | @JsonPropertyDescription("Target named element identifier") 7 | String targetNamedElementId, 8 | 9 | @JsonPropertyDescription("Alias1") 10 | String alias1 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/NamedElementWithAlias2DTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NamedElementWithAlias2DTO( 6 | @JsonPropertyDescription("Target named element identifier") 7 | String targetNamedElementId, 8 | 9 | @JsonPropertyDescription("Alias2") 10 | String alias2 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/NewGeneralizationDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewGeneralizationDTO( 6 | @JsonPropertyDescription("Sub class identifier") 7 | String subClassId, 8 | 9 | @JsonPropertyDescription("Super class identifier") 10 | String superClassId 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/ObjectNodeWithBaseDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record ObjectNodeWithBaseDTO( 6 | @JsonPropertyDescription("Target object node identifier") 7 | String targetObjectNodeId, 8 | 9 | @JsonPropertyDescription("Base class identifier") 10 | String baseClassId 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/AttributeWithInitialValueDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record AttributeWithInitialValueDTO( 6 | @JsonPropertyDescription("Target attribute identifier") 7 | String targetAttributeId, 8 | 9 | @JsonPropertyDescription("Initial value") 10 | String initialValue 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/AttributeWithTypeDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record AttributeWithTypeDTO( 6 | @JsonPropertyDescription("Target attribute identifier") 7 | String targetAttributeId, 8 | 9 | @JsonPropertyDescription("Attribute type identifier") 10 | String attributeTypeId 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/LifelineWithBaseClassDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record LifelineWithBaseClassDTO( 6 | @JsonPropertyDescription("Target lifeline identifier") 7 | String targetLifelineId, 8 | 9 | @JsonPropertyDescription("Base class identifier") 10 | String baseClassId 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/LinkEndWithAggregationDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record LinkEndWithAggregationDTO( 6 | @JsonPropertyDescription("Target link end identifier") 7 | String targetLinkEndId, 8 | 9 | @JsonPropertyDescription("Is Aggregation") 10 | boolean isAggregation 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/LinkEndWithCompositionDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record LinkEndWithCompositionDTO( 6 | @JsonPropertyDescription("Target link end identifier") 7 | String targetLinkEndId, 8 | 9 | @JsonPropertyDescription("Is Composition") 10 | boolean isComposition 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/MessageWithAsynchronousDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record MessageWithAsynchronousDTO( 6 | @JsonPropertyDescription("Target message identifier") 7 | String targetMessageId, 8 | 9 | @JsonPropertyDescription("Is asynchronous") 10 | boolean isAsynchronous 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/NewInterfaceInPackageDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewInterfaceInPackageDTO( 6 | @JsonPropertyDescription("Parent package identifier") 7 | String parentPackageId, 8 | 9 | @JsonPropertyDescription("New interface name") 10 | String newInterfaceName 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/NewRealizationDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewRealizationDTO( 6 | @JsonPropertyDescription("Client class identifier") 7 | String clientClassId, 8 | 9 | @JsonPropertyDescription("Supplier class identifier") 10 | String supplierClassId 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/NewTestCaseInPackageDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewTestCaseInPackageDTO( 6 | @JsonPropertyDescription("Parent package identifier") 7 | String parentPackageId, 8 | 9 | @JsonPropertyDescription("New test case name") 10 | String newTestCaseName 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/ParameterWithTypeDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record ParameterWithTypeDTO( 6 | @JsonPropertyDescription("Target parameter identifier") 7 | String targetParameterId, 8 | 9 | @JsonPropertyDescription("Parameter type identifier") 10 | String parameterTypeId 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/outputdto/EnumerationLiteralDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.outputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record EnumerationLiteralDTO( 6 | @JsonPropertyDescription("Named element information") 7 | NamedElementDTO namedElementDTO, 8 | 9 | @JsonPropertyDescription("Enumeration literal value") 10 | String value 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/common/outputdto/LabelIdTypeDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.common.outputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record LabelIdTypeDTO( 6 | @JsonPropertyDescription("Label") 7 | String label, 8 | 9 | @JsonPropertyDescription("Identifier") 10 | String id, 11 | 12 | @JsonPropertyDescription("Type") 13 | String type 14 | ) { 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/editor/inputdto/NewActivityDiagramDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.editor.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewActivityDiagramDTO( 6 | @JsonPropertyDescription("Parent package identifier") 7 | String parentPackageId, 8 | 9 | @JsonPropertyDescription("New activity diagram name") 10 | String newActivityDiagramName 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/editor/inputdto/NewExtensionPointDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.editor.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewExtensionPointDTO( 6 | @JsonPropertyDescription("Target usecase identifier") 7 | String targetUsecaseId, 8 | 9 | @JsonPropertyDescription("New extension point name") 10 | String newExtensionPointName 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/editor/inputdto/NewUseCaseDiagramDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.editor.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewUseCaseDiagramDTO( 6 | @JsonPropertyDescription("Parent package identifier") 7 | String parentPackageId, 8 | 9 | @JsonPropertyDescription("New use case diagram name") 10 | String newUseCaseDiagramName 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/InteractionUseWithArgumentDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record InteractionUseWithArgumentDTO( 6 | @JsonPropertyDescription("Target interaction use identifier") 7 | String targetInteractionUseId, 8 | 9 | @JsonPropertyDescription("Argument") 10 | String argument 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/NewEnumerationInPackageDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewEnumerationInPackageDTO( 6 | @JsonPropertyDescription("Parent package identifier") 7 | String parentPackageId, 8 | 9 | @JsonPropertyDescription("New enumeration name") 10 | String newEnumerationName 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/NewTestCaseInTestCaseDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewTestCaseInTestCaseDTO( 6 | @JsonPropertyDescription("Parent test case identifier") 7 | String parentTestCaseId, 8 | 9 | @JsonPropertyDescription("New test case name") 10 | String newTestCaseName 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/OperationWithReturnTypeDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record OperationWithReturnTypeDTO( 6 | @JsonPropertyDescription("Target operation identifier") 7 | String targetOperationId, 8 | 9 | @JsonPropertyDescription("Return type identifier") 10 | String returnTypeId 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/NewRequirementInPackageDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewRequirementInPackageDTO( 6 | @JsonPropertyDescription("Parent package identifier") 7 | String parentPackageId, 8 | 9 | @JsonPropertyDescription("New requirement name") 10 | String newRequirementName 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/presentation/inputdto/NodePresentationWithWidthDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.presentation.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NodePresentationWithWidthDTO( 6 | @JsonPropertyDescription("Target node presentation identifier") 7 | String nodePresentationId, 8 | 9 | @JsonPropertyDescription("Node width") 10 | int width 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/presentation/inputdto/NodePresentationWithHeightDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.presentation.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NodePresentationWithHeightDTO( 6 | @JsonPropertyDescription("Target node presentation identifier") 7 | String nodePresentationId, 8 | 9 | @JsonPropertyDescription("Node height") 10 | int height 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/editor/inputdto/DeletePresentationDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.editor.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record DeletePresentationDTO( 6 | @JsonPropertyDescription("Target diagram identifier") 7 | String targetDiagramId, 8 | 9 | @JsonPropertyDescription("Delete target presentation identifier") 10 | String targetPresentationId 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/ActionWithCallingActivityDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record ActionWithCallingActivityDTO( 6 | @JsonPropertyDescription("Target action identifier") 7 | String targetActionId, 8 | 9 | @JsonPropertyDescription("Calling activity identifier") 10 | String callingActivityId 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/NewParameterToOperationDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewParameterToOperationDTO( 6 | @JsonPropertyDescription("Target operation identifier") 7 | String targetOperationId, 8 | 9 | @JsonPropertyDescription("New parameter name") 10 | String newParameterName 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/ParameterWithTypeExpressionDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record ParameterWithTypeExpressionDTO( 6 | @JsonPropertyDescription("Target parameter identifier") 7 | String targetParameterId, 8 | 9 | @JsonPropertyDescription("Parameter type expression") 10 | String typeExpression 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/MessageWithReturnValueVariableDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record MessageWithReturnValueVariableDTO( 6 | @JsonPropertyDescription("Target message identifier") 7 | String targetMessageId, 8 | 9 | @JsonPropertyDescription("Return value variable") 10 | String returnValueVariable 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/NewDependencyDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewDependencyDTO( 6 | @JsonPropertyDescription("Source named element identifier") 7 | String sourceNamedElementId, 8 | 9 | @JsonPropertyDescription("Target named element identifier") 10 | String targetNamedElementId 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/NewRequirementInRequirementDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewRequirementInRequirementDTO( 6 | @JsonPropertyDescription("Parent requirement identifier") 7 | String parentRequirementId, 8 | 9 | @JsonPropertyDescription("New requirement name") 10 | String newRequirementName 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/RequirementWithIdDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record RequirementWithIdDTO( 6 | @JsonPropertyDescription("Target requirement identifier") 7 | String id, 8 | 9 | @JsonPropertyDescription("Requirement identifier (The unique id of the requirement)") 10 | String requirementId 11 | ) { 12 | } 13 | 14 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/outputdto/EnumerationDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.outputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | import java.util.List; 6 | 7 | public record EnumerationDTO( 8 | @JsonPropertyDescription("Class information") 9 | ClassDTO classDTO, 10 | 11 | @JsonPropertyDescription("Enumeration literals") 12 | List enumerationLiterals 13 | ) { 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/editor/inputdto/NewSequenceDiagramInPackageDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.editor.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewSequenceDiagramInPackageDTO( 6 | @JsonPropertyDescription("Parent package identifier") 7 | String parentPackageId, 8 | 9 | @JsonPropertyDescription("New sequence diagram name") 10 | String newSequenceDiagramName 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/editor/inputdto/NewTerminationDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.editor.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewTerminationDTO( 6 | @JsonPropertyDescription("Target sequence diagram identifier") 7 | String targetSequenceDiagramId, 8 | 9 | @JsonPropertyDescription("Target node presentation identifier") 10 | String targetNodePresentationId 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/EnumerationLiteralWithValueDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record EnumerationLiteralWithValueDTO( 6 | @JsonPropertyDescription("Target enumeration literal identifier") 7 | String targetEnumerationLiteralId, 8 | 9 | @JsonPropertyDescription("Enumeration literal value") 10 | String value 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/log/outputdto/LogFileDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.log.outputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record LogFileDTO( 6 | @JsonPropertyDescription("Log file path") 7 | String logFilePath, 8 | 9 | @JsonPropertyDescription("Number of lines in the log file") 10 | long lineCount, 11 | 12 | @JsonPropertyDescription("File size in bytes") 13 | long fileSize 14 | ) { 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/common/PseudostateKind.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.common; 2 | 3 | public enum PseudostateKind { 4 | // Since some AI agents tend to specify ENUM literals in lowercase even when they are defined in uppercase, the literals are defined in lowercase. 5 | choice, 6 | deep_history, 7 | entry_point, 8 | exit_point, 9 | fork, 10 | initial, 11 | join, 12 | junction, 13 | shallow_history, 14 | stub 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/editor/inputdto/NewStateMachineDiagramDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.editor.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewStateMachineDiagramDTO( 6 | @JsonPropertyDescription("Parent named element identifier") 7 | String parentNamedElementId, 8 | 9 | @JsonPropertyDescription("New state machine diagram name") 10 | String newStateMachineDiagramName 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/OperationWithReturnTypeExpressionDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record OperationWithReturnTypeExpressionDTO( 6 | @JsonPropertyDescription("Target operation identifier") 7 | String targetOperationId, 8 | 9 | @JsonPropertyDescription("Return type expression") 10 | String returnTypeExpression 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/outputdto/ActivityDiagramDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.outputdto; 2 | 3 | import com.astahpromcp.tool.astah.pro.common.outputdto.NameIdTypeDTO; 4 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 5 | 6 | public record ActivityDiagramDTO( 7 | @JsonPropertyDescription("Diagram information") 8 | DiagramDTO diagram, 9 | 10 | @JsonPropertyDescription("Activity") 11 | NameIdTypeDTO activity 12 | ) { 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/outputdto/PseudostateDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.outputdto; 2 | 3 | import com.astahpromcp.tool.astah.pro.common.PseudostateKind; 4 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 5 | 6 | public record PseudostateDTO( 7 | @JsonPropertyDescription("Vertex information") 8 | VertexDTO vertex, 9 | 10 | @JsonPropertyDescription("Pseudostate kind") 11 | PseudostateKind pseudostateKind 12 | ) { 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/presentation/inputdto/PresentationWithColorDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.presentation.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record PresentationWithColorDTO( 6 | @JsonPropertyDescription("Target presentation identifier") 7 | String presentationId, 8 | 9 | @JsonPropertyDescription("Color value (in the format #FFFFFF).") 10 | String color 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/MessageWithArgumentDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record MessageWithArgumentDTO( 6 | @JsonPropertyDescription("Target message identifier") 7 | String targetMessageId, 8 | 9 | @JsonPropertyDescription("Message argument (shown in the parentheses right after the message name)") 10 | String argument 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/NamedElementWithDefinitionDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NamedElementWithDefinitionDTO( 6 | @JsonPropertyDescription("Target named element identifier") 7 | String targetNamedElementId, 8 | 9 | @JsonPropertyDescription("Definition (In other words, a descriptive text)") 10 | String definition 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/image/inputdto/DiagramWithImageRegionDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.image.inputdto; 2 | 3 | import com.astahpromcp.tool.astah.pro.common.ImageRegion; 4 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 5 | 6 | public record DiagramWithImageRegionDTO( 7 | @JsonPropertyDescription("Target diagram identifier") 8 | String targetDiagramId, 9 | 10 | @JsonPropertyDescription("Image region") 11 | ImageRegion region 12 | ) { 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/NamedElementWithParentDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NamedElementWithParentDTO( 6 | @JsonPropertyDescription("Target named element identifier") 7 | String targetNamedElementid, 8 | 9 | @JsonPropertyDescription("New parent named element identifier") 10 | String newParentNamedElementId 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/outputdto/ObjectNodeDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.outputdto; 2 | 3 | import com.astahpromcp.tool.astah.pro.common.outputdto.NameIdTypeDTO; 4 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 5 | 6 | public record ObjectNodeDTO( 7 | @JsonPropertyDescription("Activity node information") 8 | ActivityNodeDTO activityNode, 9 | 10 | @JsonPropertyDescription("Base class") 11 | NameIdTypeDTO baseClass 12 | ) { 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/outputdto/SequenceDiagramDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.outputdto; 2 | 3 | import com.astahpromcp.tool.astah.pro.common.outputdto.NameIdTypeDTO; 4 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 5 | 6 | public record SequenceDiagramDTO( 7 | @JsonPropertyDescription("Diagram information") 8 | DiagramDTO diagram, 9 | 10 | @JsonPropertyDescription("Interaction") 11 | NameIdTypeDTO interaction 12 | ) { 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/NewEnumerationLiteralInEnumerationDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewEnumerationLiteralInEnumerationDTO( 6 | @JsonPropertyDescription("Parent enumeration identifier") 7 | String parentEnumerationId, 8 | 9 | @JsonPropertyDescription("New enumeration literal name") 10 | String newEnumerationLiteralName 11 | ) { 12 | } 13 | 14 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/ToolDefinition.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool; 2 | 3 | import io.modelcontextprotocol.server.McpSyncServerExchange; 4 | import io.modelcontextprotocol.spec.McpSchema; 5 | 6 | import java.util.function.BiFunction; 7 | 8 | // A record to encapsulate a tool's schema and its handler function 9 | public record ToolDefinition( 10 | McpSchema.Tool toolSchema, 11 | BiFunction toolHandler 12 | ) { 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/editor/inputdto/NewExtendDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.editor.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewExtendDTO( 6 | @JsonPropertyDescription("Usecase identifier") 7 | String usecaseId, 8 | 9 | @JsonPropertyDescription("Extended usecase identifier") 10 | String extendedUsecaseId, 11 | 12 | @JsonPropertyDescription("New extend name") 13 | String newExtendName 14 | ) { 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/editor/inputdto/NewIncludeDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.editor.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewIncludeDTO( 6 | @JsonPropertyDescription("Usecase identifier") 7 | String usecaseId, 8 | 9 | @JsonPropertyDescription("Included usecase identifier") 10 | String includedUsecaseId, 11 | 12 | @JsonPropertyDescription("New include name") 13 | String newIncludeName 14 | ) { 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/ElementWithTypeModifierDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record ElementWithTypeModifierDTO( 6 | @JsonPropertyDescription("Target element identifier") 7 | String id, 8 | 9 | @JsonPropertyDescription("Type modifier: A symbol appended to the type name, such as * (C++ pointer) and & (C++ reference).") 10 | String typeModifier 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/InstanceSpecificationWithClassifierDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record InstanceSpecificationWithClassifierDTO( 6 | @JsonPropertyDescription("Target classifier identifier") 7 | String targetClassifierId, 8 | 9 | @JsonPropertyDescription("Target instance specification identifier") 10 | String targetInstanceSpecificationId 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/project/outputdto/NameIdTypeDefinitionListDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.project.outputdto; 2 | 3 | import com.astahpromcp.tool.astah.pro.project.outputdto.NameIdTypeDefinitionDTO; 4 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 5 | 6 | import java.util.List; 7 | 8 | public record NameIdTypeDefinitionListDTO( 9 | @JsonPropertyDescription("List value of name, identifier, type and definition") 10 | List value 11 | ) { 12 | } -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/view/inputdto/PresentationWithHighlightColorDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.view.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record PresentationWithHighlightColorDTO( 6 | @JsonPropertyDescription("Target presentation identifier") 7 | String presentationId, 8 | 9 | @JsonPropertyDescription("Highlight color value (in the format #FFFFFF).") 10 | String highlightColor 11 | ) { 12 | } 13 | 14 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/outputdto/DiagramDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.outputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | import java.util.List; 6 | 7 | public record DiagramDTO( 8 | @JsonPropertyDescription("Named element information") 9 | NamedElementDTO namedElement, 10 | 11 | @JsonPropertyDescription("Identifiers of contained presentations") 12 | List containedPresentationIds 13 | ) { 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/ElementWithTaggedValueDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record ElementWithTaggedValueDTO( 6 | @JsonPropertyDescription("Target element identifier") 7 | String targetElementId, 8 | 9 | @JsonPropertyDescription("Target key of tagged value") 10 | String targetKey, 11 | 12 | @JsonPropertyDescription("Value") 13 | String value 14 | ) { 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/outputdto/LinkDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.outputdto; 2 | 3 | import com.astahpromcp.tool.astah.pro.common.outputdto.NameIdTypeDTO; 4 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 5 | 6 | import java.util.List; 7 | 8 | public record LinkDTO( 9 | @JsonPropertyDescription("Named element information") 10 | NamedElementDTO namedElement, 11 | 12 | @JsonPropertyDescription("Link ends") 13 | List linkEnds 14 | ) { 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/outputdto/StateMachineDiagramDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.outputdto; 2 | 3 | import com.astahpromcp.tool.astah.pro.common.outputdto.NameIdTypeDTO; 4 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 5 | 6 | public record StateMachineDiagramDTO( 7 | @JsonPropertyDescription("Named element information") 8 | NamedElementDTO namedElement, 9 | 10 | @JsonPropertyDescription("StateMachine") 11 | NameIdTypeDTO stateMachine 12 | ) { 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/presentation/inputdto/PresentationWithLabelDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.presentation.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record PresentationWithLabelDTO( 6 | @JsonPropertyDescription("Target presentation identifier") 7 | String presentationId, 8 | 9 | @JsonPropertyDescription("Label text. Note that newline characters (\\n) cannot be used in labels.") 10 | String label 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/editor/inputdto/NewForkNodeDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.editor.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewForkNodeDTO( 6 | @JsonPropertyDescription("Target activity diagram identifier") 7 | String targetActivityDiagramId, 8 | 9 | @JsonPropertyDescription("Location X coordinate") 10 | int locationX, 11 | 12 | @JsonPropertyDescription("Location Y coordinate") 13 | int locationY 14 | ) { 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/editor/inputdto/NewJoinNodeDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.editor.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewJoinNodeDTO( 6 | @JsonPropertyDescription("Target activity diagram identifier") 7 | String targetActivityDiagramId, 8 | 9 | @JsonPropertyDescription("Location X coordinate") 10 | int locationX, 11 | 12 | @JsonPropertyDescription("Location Y coordinate") 13 | int locationY 14 | ) { 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/InteractionUseWithSequenceDiagramDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record InteractionUseWithSequenceDiagramDTO( 6 | @JsonPropertyDescription("Target interaction use identifier") 7 | String targetInteractionUseId, 8 | 9 | @JsonPropertyDescription("Target sequence diagram identifier to be referred to") 10 | String targetSequenceDiagramId 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/NamedElementWithVisibilityDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.astahpromcp.tool.astah.pro.common.VisibilityKind; 4 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 5 | 6 | public record NamedElementWithVisibilityDTO( 7 | @JsonPropertyDescription("Target named element identifier") 8 | String targetNamedElementId, 9 | 10 | @JsonPropertyDescription("Visibility") 11 | VisibilityKind visibility 12 | ) { 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/outputdto/CommunicationDiagramDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.outputdto; 2 | 3 | import com.astahpromcp.tool.astah.pro.common.outputdto.NameIdTypeDTO; 4 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 5 | 6 | public record CommunicationDiagramDTO( 7 | @JsonPropertyDescription("Diagram information") 8 | DiagramDTO diagram, 9 | 10 | @JsonPropertyDescription("Interaction of the communication diagram") 11 | NameIdTypeDTO interaction 12 | ) { 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/editor/inputdto/NewLifelineDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.editor.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewLifelineDTO( 6 | @JsonPropertyDescription("Target sequence diagram identifier") 7 | String targetSequenceDiagramId, 8 | 9 | @JsonPropertyDescription("New lifeline name") 10 | String newLifelineName, 11 | 12 | @JsonPropertyDescription("Location X coordinate") 13 | int locationX 14 | ) { 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/editor/inputdto/NewRegionDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.editor.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewRegionDTO( 6 | @JsonPropertyDescription("Target diagram identifier") 7 | String targetDiagramId, 8 | 9 | @JsonPropertyDescription("Parent node presentation identifier.") 10 | String parentNodePresentationId, 11 | 12 | @JsonPropertyDescription("Is Horizontal") 13 | boolean isHorizontal 14 | ) { 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/editor/inputdto/DeleteRegionDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.editor.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record DeleteRegionDTO( 6 | @JsonPropertyDescription("Target diagram identifier") 7 | String targetDiagramId, 8 | 9 | @JsonPropertyDescription("Parent node presentation identifier") 10 | String parentNodePresentationId, 11 | 12 | @JsonPropertyDescription("Region index to delete") 13 | int index 14 | ) { 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/editor/inputdto/NewDecisionMergeNodeDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.editor.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewDecisionMergeNodeDTO( 6 | @JsonPropertyDescription("Target activity diagram identifier") 7 | String targetActivityDiagramId, 8 | 9 | @JsonPropertyDescription("Location X coordinate") 10 | int locationX, 11 | 12 | @JsonPropertyDescription("Location Y coordinate") 13 | int locationY 14 | ) { 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/AttributeWithTypeExpressionDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record AttributeWithTypeExpressionDTO( 6 | @JsonPropertyDescription("Target attribute identifier") 7 | String targetAttributeId, 8 | 9 | @JsonPropertyDescription("Type expression: The string representation of a type, consisting of the type name and its modifiers.") 10 | String typeExpression 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/FlowWithGuardDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record FlowWithGuardDTO( 6 | @JsonPropertyDescription("Target flow identifier") 7 | String targetFlowId, 8 | 9 | @JsonPropertyDescription("Guard condition. '[]' is appended to the guard condition when it is displayed. Therefore, it is not necessary to add '[]' to the guard condition.") 10 | String guard 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/outputdto/RequirementDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.outputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record RequirementDTO( 6 | @JsonPropertyDescription("Class information") 7 | ClassDTO clazz, 8 | 9 | @JsonPropertyDescription("Requirement identifier (The unique id of the requirement)") 10 | String requirementId, 11 | 12 | @JsonPropertyDescription("Requirement text") 13 | String requirementText 14 | ) { 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/outputdto/PackageDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.outputdto; 2 | 3 | import com.astahpromcp.tool.astah.pro.common.outputdto.NameIdTypeDTO; 4 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 5 | 6 | import java.util.List; 7 | 8 | public record PackageDTO( 9 | @JsonPropertyDescription("Named element information") 10 | NamedElementDTO namedElement, 11 | 12 | @JsonPropertyDescription("Owned elements") 13 | List ownedElementNameAndIds 14 | ) { 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/project/outputdto/NameIdTypeDefinitionDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.project.outputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NameIdTypeDefinitionDTO( 6 | @JsonPropertyDescription("Name") 7 | String name, 8 | 9 | @JsonPropertyDescription("Identifier") 10 | String id, 11 | 12 | @JsonPropertyDescription("Type") 13 | String type, 14 | 15 | @JsonPropertyDescription("Definition") 16 | String definition 17 | ) { 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/project/outputdto/NameIdTypeNamespaceDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.project.outputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NameIdTypeNamespaceDTO( 6 | @JsonPropertyDescription("Name") 7 | String name, 8 | 9 | @JsonPropertyDescription("Identifier") 10 | String id, 11 | 12 | @JsonPropertyDescription("Type") 13 | String type, 14 | 15 | @JsonPropertyDescription("Full namespace") 16 | String namespace 17 | ) { 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/CombinedFragmentWithKindDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.astahpromcp.tool.astah.pro.common.CombinedFragmentKind; 4 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 5 | 6 | public record CombinedFragmentWithKindDTO( 7 | @JsonPropertyDescription("Target combined fragment identifier") 8 | String targetCombinedFragmentId, 9 | 10 | @JsonPropertyDescription("Combined fragment kind") 11 | CombinedFragmentKind kind 12 | ) { 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/outputdto/CommentDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.outputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | import java.util.List; 6 | 7 | public record CommentDTO( 8 | @JsonPropertyDescription("Named element information") 9 | NamedElementDTO namedElement, 10 | 11 | @JsonPropertyDescription("Comment body text") 12 | String body, 13 | 14 | @JsonPropertyDescription("Annotated elements") 15 | List annotatedElements 16 | ) { 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/AssociationEndWithAggregationKindDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.astahpromcp.tool.astah.pro.common.AggregationKind; 4 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 5 | 6 | public record AssociationEndWithAggregationKindDTO( 7 | @JsonPropertyDescription("Target association end identifier") 8 | String targetAssociationEndId, 9 | 10 | @JsonPropertyDescription("Aggregation kind") 11 | AggregationKind aggregationKind 12 | ) { 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/AssociationEndWithNavigabilityDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.astahpromcp.tool.astah.pro.common.NavigabilityKind; 4 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 5 | 6 | public record AssociationEndWithNavigabilityDTO( 7 | @JsonPropertyDescription("Target association end identifier") 8 | String targetAssociationEndId, 9 | 10 | @JsonPropertyDescription("Navigability kind") 11 | NavigabilityKind navigabilityKind 12 | ) { 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/AttributeWithIntMultiplicityDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record AttributeWithIntMultiplicityDTO( 6 | @JsonPropertyDescription("Target attribute identifier") 7 | String targetAttributeId, 8 | 9 | @JsonPropertyDescription("Lower integer value") 10 | int lowerIntValue, 11 | 12 | @JsonPropertyDescription("Upper integer value") 13 | int upperIntValue 14 | ) { 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/MessageWithGuardDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record MessageWithGuardDTO( 6 | @JsonPropertyDescription("Target message identifier") 7 | String targetMessageId, 8 | 9 | @JsonPropertyDescription("Guard condition. '[]' is appended to the guard condition when it is displayed. Therefore, it is not necessary to add '[]' to the guard condition.") 10 | String guard 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/editor/inputdto/NewNoteAnchorDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.editor.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewNoteAnchorDTO( 6 | @JsonPropertyDescription("Target diagram identifier") 7 | String targetDiagramId, 8 | 9 | @JsonPropertyDescription("Target note identifier") 10 | String targetNoteId, 11 | 12 | @JsonPropertyDescription("Target presentation identifier") 13 | String targetPresentationId 14 | ) { 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/StateWithInternalTransitionDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record StateWithInternalTransitionDTO( 6 | @JsonPropertyDescription("Target state ID") 7 | String targetStateId, 8 | 9 | @JsonPropertyDescription("Event") 10 | String event, 11 | 12 | @JsonPropertyDescription("Guard") 13 | String guard, 14 | 15 | @JsonPropertyDescription("Action") 16 | String action 17 | ) { 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/TransitionWithGuardDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record TransitionWithGuardDTO( 6 | @JsonPropertyDescription("Target transition identifier") 7 | String targetTransitionId, 8 | 9 | @JsonPropertyDescription("Guard condition. '[]' is appended to the guard condition when it is displayed. Therefore, it is not necessary to add '[]' to the guard condition.") 10 | String guard 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/outputdto/UsageDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.outputdto; 2 | 3 | import com.astahpromcp.tool.astah.pro.common.outputdto.NameIdTypeDTO; 4 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 5 | 6 | public record UsageDTO( 7 | @JsonPropertyDescription("Named element information") 8 | NamedElementDTO namedElement, 9 | 10 | @JsonPropertyDescription("Client") 11 | NameIdTypeDTO client, 12 | 13 | @JsonPropertyDescription("Supplier") 14 | NameIdTypeDTO supplier 15 | ) { 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/presentation/inputdto/NodePresentationWithLocationDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.presentation.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NodePresentationWithLocationDTO( 6 | @JsonPropertyDescription("Target node presentation identifier") 7 | String nodePresentationId, 8 | 9 | @JsonPropertyDescription("Location X coordinate") 10 | int locationX, 11 | 12 | @JsonPropertyDescription("Location Y coordinate") 13 | int locationY 14 | ) { 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/NewAssociationClassDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewAssociationClassDTO( 6 | @JsonPropertyDescription("Source class identifier") 7 | String sourceClassId, 8 | 9 | @JsonPropertyDescription("Target class identifier") 10 | String targetClassId, 11 | 12 | @JsonPropertyDescription("New association class name") 13 | String newAssociationClassName 14 | ) { 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/NewCopyDependencyDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewCopyDependencyDTO( 6 | @JsonPropertyDescription("Source requirement identifier") 7 | String sourceRequirementId, 8 | 9 | @JsonPropertyDescription("Target requirement identifier") 10 | String targetRequirementId, 11 | 12 | @JsonPropertyDescription("New copy dependency name") 13 | String newCopyDependencyName 14 | ) { 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/NewInteractionOperandDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewInteractionOperandDTO( 6 | @JsonPropertyDescription("Target combined fragment identifier") 7 | String targetCombinedFragmentId, 8 | 9 | @JsonPropertyDescription("New interaction operand name") 10 | String newInteractionOperandName, 11 | 12 | @JsonPropertyDescription("Guard condition") 13 | String guard 14 | ) { 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/editor/inputdto/NewTransitionDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.editor.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewTransitionDTO( 6 | @JsonPropertyDescription("Target diagram identifier") 7 | String targetDiagramId, 8 | 9 | @JsonPropertyDescription("Source node presentation identifier") 10 | String sourceNodePresentationId, 11 | 12 | @JsonPropertyDescription("Target node presentation identifier") 13 | String targetNodePresentationId 14 | ) { 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/NewOperationInClassDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewOperationInClassDTO( 6 | @JsonPropertyDescription("Parent class identifier") 7 | String parentClassId, 8 | 9 | @JsonPropertyDescription("New operation name. '()' is appended to the operation name when it is displayed. Therefore, it is not necessary to add '()' at the end of the operation name.") 10 | String newOperationName 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/NewTraceDependencyDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewTraceDependencyDTO( 6 | @JsonPropertyDescription("Source requirement identifier") 7 | String sourceRequirementId, 8 | 9 | @JsonPropertyDescription("Target requirement identifier") 10 | String targetRequirementId, 11 | 12 | @JsonPropertyDescription("New trace dependency name") 13 | String newTraceDependencyName 14 | ) { 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/NewVerifyDependencyDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewVerifyDependencyDTO( 6 | @JsonPropertyDescription("Source test case identifier") 7 | String sourceTestCaseId, 8 | 9 | @JsonPropertyDescription("Target requirement identifier") 10 | String targetRequirementId, 11 | 12 | @JsonPropertyDescription("New verify dependency name") 13 | String newVerifyDependencyName 14 | ) { 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/outputdto/DependencyDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.outputdto; 2 | 3 | import com.astahpromcp.tool.astah.pro.common.outputdto.NameIdTypeDTO; 4 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 5 | 6 | public record DependencyDTO( 7 | @JsonPropertyDescription("Named element information") 8 | NamedElementDTO namedElement, 9 | 10 | @JsonPropertyDescription("Client") 11 | NameIdTypeDTO client, 12 | 13 | @JsonPropertyDescription("Supplier") 14 | NameIdTypeDTO supplier 15 | ) { 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/outputdto/GateDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.outputdto; 2 | 3 | import com.astahpromcp.tool.astah.pro.common.outputdto.NameIdTypeDTO; 4 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 5 | 6 | public record GateDTO( 7 | @JsonPropertyDescription("Named element information") 8 | NamedElementDTO namedElement, 9 | 10 | @JsonPropertyDescription("Interaction use") 11 | NameIdTypeDTO interactionUse, 12 | 13 | @JsonPropertyDescription("Message") 14 | NameIdTypeDTO message 15 | ) { 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/outputdto/RealizationDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.outputdto; 2 | 3 | import com.astahpromcp.tool.astah.pro.common.outputdto.NameIdTypeDTO; 4 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 5 | 6 | public record RealizationDTO( 7 | @JsonPropertyDescription("Named element information") 8 | NamedElementDTO namedElement, 9 | 10 | @JsonPropertyDescription("Client") 11 | NameIdTypeDTO client, 12 | 13 | @JsonPropertyDescription("Supplier") 14 | NameIdTypeDTO supplier 15 | ) { 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/editor/inputdto/NewFlowDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.editor.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewFlowDTO( 6 | @JsonPropertyDescription("Target activity diagram identifier") 7 | String targetActivityDiagramId, 8 | 9 | @JsonPropertyDescription("Source node presentation identifier") 10 | String sourceNodePresentationId, 11 | 12 | @JsonPropertyDescription("Target node presentation identifier") 13 | String targetNodePresentationId 14 | ) { 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/NewRefineDependencyDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewRefineDependencyDTO( 6 | @JsonPropertyDescription("Source requirement identifier") 7 | String sourceRequirementId, 8 | 9 | @JsonPropertyDescription("Target requirement identifier") 10 | String targetRequirementId, 11 | 12 | @JsonPropertyDescription("New refine dependency name") 13 | String newRefineDependencyName 14 | ) { 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/outputdto/SlotDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.outputdto; 2 | 3 | import com.astahpromcp.tool.astah.pro.common.outputdto.NameIdTypeDTO; 4 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 5 | 6 | public record SlotDTO( 7 | @JsonPropertyDescription("Named element information") 8 | NamedElementDTO namedElement, 9 | 10 | @JsonPropertyDescription("Slot's defining attribute") 11 | NameIdTypeDTO definingAttribute, 12 | 13 | @JsonPropertyDescription("Value") 14 | String value 15 | ) { 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/NewSatisfyDependencyDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewSatisfyDependencyDTO( 6 | @JsonPropertyDescription("Source requirement identifier") 7 | String sourceRequirementId, 8 | 9 | @JsonPropertyDescription("Target requirement identifier") 10 | String targetRequirementId, 11 | 12 | @JsonPropertyDescription("New satisfy dependency name") 13 | String newSatisfyDependencyName 14 | ) { 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/NewTaggedValueToElementDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewTaggedValueToElementDTO( 6 | @JsonPropertyDescription("Target element identifier") 7 | String targetElementId, 8 | 9 | @JsonPropertyDescription("New key of tagged value") 10 | String newKeyOfTaggedValue, 11 | 12 | @JsonPropertyDescription("New value of tagged value") 13 | String newValueOfTaggedValue 14 | ) { 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/project/outputdto/AllNameIdTypeInfoDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.project.outputdto; 2 | 3 | import com.astahpromcp.tool.astah.pro.common.outputdto.NameIdTypeDTO; 4 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 5 | 6 | import java.util.List; 7 | 8 | public record AllNameIdTypeInfoDTO( 9 | @JsonPropertyDescription("Total number of chunks") 10 | int totalChunks, 11 | 12 | @JsonPropertyDescription("The first chunk of the list of name, identifier and type") 13 | List firstChunk 14 | ) { 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/outputdto/GeneralizationDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.outputdto; 2 | 3 | import com.astahpromcp.tool.astah.pro.common.outputdto.NameIdTypeDTO; 4 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 5 | 6 | public record GeneralizationDTO( 7 | @JsonPropertyDescription("Named element information") 8 | NamedElementDTO namedElement, 9 | 10 | @JsonPropertyDescription("Super type") 11 | NameIdTypeDTO superType, 12 | 13 | @JsonPropertyDescription("Sub type") 14 | NameIdTypeDTO subType 15 | ) { 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/project/outputdto/AllLabelIdTypeInfoDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.project.outputdto; 2 | 3 | import com.astahpromcp.tool.astah.pro.common.outputdto.LabelIdTypeDTO; 4 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 5 | 6 | import java.util.List; 7 | 8 | public record AllLabelIdTypeInfoDTO( 9 | @JsonPropertyDescription("Total number of chunks") 10 | int totalChunks, 11 | 12 | @JsonPropertyDescription("The first chunk of the list of label, identifier and type") 13 | List firstChunk 14 | ) { 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/editor/inputdto/NewLinkSourceAndTargetDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.editor.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewLinkSourceAndTargetDTO( 6 | @JsonPropertyDescription("Target diagram identifier") 7 | String targetDiagramId, 8 | 9 | @JsonPropertyDescription("Source node presentation identifier") 10 | String sourceNodePresentationId, 11 | 12 | @JsonPropertyDescription("Target node presentation identifier") 13 | String targetNodePresentationId 14 | ) { 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/InteractionOperandWithGuardDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record InteractionOperandWithGuardDTO( 6 | @JsonPropertyDescription("Target interaction operand identifier") 7 | String targetInteractionOperandId, 8 | 9 | @JsonPropertyDescription("Guard condition. '[]' is appended to the guard condition when it is displayed. Therefore, it is not necessary to add '[]' to the guard condition.") 10 | String guard 11 | ) { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/NewDeriveReqtDependencyDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewDeriveReqtDependencyDTO( 6 | @JsonPropertyDescription("Source requirement identifier") 7 | String sourceRequirementId, 8 | 9 | @JsonPropertyDescription("Target requirement identifier") 10 | String targetRequirementId, 11 | 12 | @JsonPropertyDescription("New derive reqt dependency name") 13 | String newDeriveReqtDependencyName 14 | ) { 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/outputdto/assembler/TestCaseDTOAssembler.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.outputdto.assembler; 2 | 3 | import com.change_vision.jude.api.inf.model.ITestCase; 4 | import lombok.NonNull; 5 | import com.astahpromcp.tool.astah.pro.model.outputdto.TestCaseDTO; 6 | 7 | public class TestCaseDTOAssembler { 8 | public static TestCaseDTO toDTO(@NonNull ITestCase testCase) throws Exception { 9 | return new TestCaseDTO( 10 | ClassDTOAssembler.toDTO(testCase), 11 | testCase.getTestCaseID() 12 | ); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/common/outputdto/NameIdTypeDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.common.outputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NameIdTypeDTO( 6 | @JsonPropertyDescription("Name") 7 | String name, 8 | 9 | @JsonPropertyDescription("Identifier") 10 | String id, 11 | 12 | @JsonPropertyDescription("Type") 13 | String type 14 | ) { 15 | public static NameIdTypeDTO empty() { 16 | return new NameIdTypeDTO( 17 | "", 18 | "", 19 | ""); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/NewQualifierToAssociationEndDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewQualifierToAssociationEndDTO( 6 | @JsonPropertyDescription("Target association end identifier") 7 | String targetAssociationEndId, 8 | 9 | @JsonPropertyDescription("Qualifier type identifier") 10 | String qualifierTypeId, 11 | 12 | @JsonPropertyDescription("New qualifier name") 13 | String newQualifierName 14 | ) { 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/outputdto/ExtendDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.outputdto; 2 | 3 | import com.astahpromcp.tool.astah.pro.common.outputdto.NameIdTypeDTO; 4 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 5 | 6 | public record ExtendDTO( 7 | @JsonPropertyDescription("Named element information") 8 | NamedElementDTO namedElement, 9 | 10 | @JsonPropertyDescription("Extending UseCase") 11 | NameIdTypeDTO extendingUseCase, 12 | 13 | @JsonPropertyDescription("Extended UseCase") 14 | NameIdTypeDTO extendedUseCase 15 | ) { 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/editor/inputdto/NewReturnMessageDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.editor.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewReturnMessageDTO( 6 | @JsonPropertyDescription("Target sequence diagram identifier") 7 | String targetSequenceDiagramId, 8 | 9 | @JsonPropertyDescription("Target message identifier corresponding to the return message") 10 | String targetMessageId, 11 | 12 | @JsonPropertyDescription("New return message name") 13 | String newReturnMessageName 14 | ) { 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/outputdto/IncludeDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.outputdto; 2 | 3 | import com.astahpromcp.tool.astah.pro.common.outputdto.NameIdTypeDTO; 4 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 5 | 6 | public record IncludeDTO( 7 | @JsonPropertyDescription("Named element information") 8 | NamedElementDTO namedElement, 9 | 10 | @JsonPropertyDescription("Including UseCase") 11 | NameIdTypeDTO includingUseCase, 12 | 13 | @JsonPropertyDescription("Included UseCase") 14 | NameIdTypeDTO includedUseCase 15 | ) { 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/editor/inputdto/NewTextWithPointDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.editor.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewTextWithPointDTO( 6 | @JsonPropertyDescription("Target diagram identifier") 7 | String targetDiagramId, 8 | 9 | @JsonPropertyDescription("Text content") 10 | String textContent, 11 | 12 | @JsonPropertyDescription("Location X coordinate") 13 | int locationX, 14 | 15 | @JsonPropertyDescription("Location Y coordinate") 16 | int locationY 17 | ) { 18 | } 19 | 20 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/inputdto/NewTemplateParameterToClassDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewTemplateParameterToClassDTO( 6 | @JsonPropertyDescription("Target class identifier") 7 | String targetClassId, 8 | 9 | @JsonPropertyDescription("Template parameter type identifier") 10 | String templateParameterTypeId, 11 | 12 | @JsonPropertyDescription("New template parameter name") 13 | String newTemplateParameterName 14 | ) { 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/outputdto/AssociationDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.outputdto; 2 | 3 | import com.astahpromcp.tool.astah.pro.common.outputdto.NameIdTypeDTO; 4 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 5 | 6 | public record AssociationDTO( 7 | @JsonPropertyDescription("Named element information") 8 | NamedElementDTO namedElement, 9 | 10 | @JsonPropertyDescription("Association end A") 11 | NameIdTypeDTO associationEndA, 12 | 13 | @JsonPropertyDescription("Association end B") 14 | NameIdTypeDTO associationEndB 15 | ) { 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/common/NavigabilityKind.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.common; 2 | 3 | public enum NavigabilityKind { 4 | // Since some AI agents tend to specify ENUM literals in lowercase even when they are defined in uppercase, the literals are defined in lowercase. 5 | navigable, 6 | non_navigable, 7 | unspecified; 8 | 9 | public String toAstahValue() { 10 | return switch (this) { 11 | case navigable -> "Navigable"; 12 | case non_navigable -> "Non_Navigable"; 13 | case unspecified -> "Unspecified"; 14 | }; 15 | } 16 | } -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/editor/inputdto/NewNoteDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.editor.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewNoteDTO( 6 | @JsonPropertyDescription("Target diagram identifier") 7 | String targetDiagramId, 8 | 9 | @JsonPropertyDescription("Note content") 10 | String noteContent, 11 | 12 | @JsonPropertyDescription("Location X coordinate") 13 | int locationX, 14 | 15 | @JsonPropertyDescription("Location Y coordinate") 16 | int locationY 17 | ) { 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/common/outputdto/RectangleDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.common.outputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record RectangleDTO( 6 | @JsonPropertyDescription("X coordinate (double value)") 7 | double x, 8 | 9 | @JsonPropertyDescription("Y coordinate (double value)") 10 | double y, 11 | 12 | @JsonPropertyDescription("Width (double value)") 13 | double width, 14 | 15 | @JsonPropertyDescription("Height (double value)") 16 | double height 17 | ) { 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/outputdto/ImageFileDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.outputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record ImageFileDTO( 6 | @JsonPropertyDescription("Image file path") 7 | String imageFilePath, 8 | 9 | @JsonPropertyDescription("Image format (e.g., 'png', 'jpg', 'gif')") 10 | String imageFormat, 11 | 12 | @JsonPropertyDescription("Image width in pixels") 13 | int imageWidth, 14 | 15 | @JsonPropertyDescription("Image height in pixels") 16 | int imageHeight 17 | ) { 18 | } 19 | 20 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/editor/inputdto/NewNodePresentationDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.editor.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewNodePresentationDTO( 6 | @JsonPropertyDescription("Target diagram identifier") 7 | String targetDiagramId, 8 | 9 | @JsonPropertyDescription("Target element identifier") 10 | String targetElementId, 11 | 12 | @JsonPropertyDescription("Location X coordinate") 13 | int locationX, 14 | 15 | @JsonPropertyDescription("Location Y coordinate") 16 | int locationY 17 | ) { 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/outputdto/LinkEndDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.outputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record LinkEndDTO( 6 | @JsonPropertyDescription("Named element information") 7 | NamedElementDTO namedElement, 8 | 9 | @JsonPropertyDescription("Is Aggregation") 10 | boolean isAggregation, 11 | 12 | @JsonPropertyDescription("Is Composition") 13 | boolean isComposition, 14 | 15 | @JsonPropertyDescription("Is Navigation") 16 | boolean isNavigation 17 | ) { 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/editor/inputdto/ChangeParentStateDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.editor.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record ChangeParentStateDTO( 6 | @JsonPropertyDescription("Target diagram identifier") 7 | String targetDiagramId, 8 | 9 | @JsonPropertyDescription("Target state identifier") 10 | String targetStateId, 11 | 12 | @JsonPropertyDescription("Parent state identifier. If there is no parent state (i.e., when rendering at the top level), set an empty string.") 13 | String parentStateId 14 | ) { 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/editor/inputdto/NewJpgImageWithPointDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.editor.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewJpgImageWithPointDTO( 6 | @JsonPropertyDescription("Target diagram identifier") 7 | String targetDiagramId, 8 | 9 | @JsonPropertyDescription("URL pointing to a JPG image.") 10 | String imageUrl, 11 | 12 | @JsonPropertyDescription("Location X coordinate") 13 | int locationX, 14 | 15 | @JsonPropertyDescription("Location Y coordinate") 16 | int locationY 17 | ) { 18 | } 19 | 20 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/editor/inputdto/NewPngImageWithPointDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.editor.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewPngImageWithPointDTO( 6 | @JsonPropertyDescription("Target diagram identifier") 7 | String targetDiagramId, 8 | 9 | @JsonPropertyDescription("URL pointing to a PNG image.") 10 | String imageUrl, 11 | 12 | @JsonPropertyDescription("Location X coordinate") 13 | int locationX, 14 | 15 | @JsonPropertyDescription("Location Y coordinate") 16 | int locationY 17 | ) { 18 | } 19 | 20 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/presentation/inputdto/LinkPresentationWithPointsDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.presentation.inputdto; 2 | 3 | import com.astahpromcp.tool.astah.pro.common.inputdto.PointIntDTO; 4 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 5 | 6 | import java.util.List; 7 | 8 | public record LinkPresentationWithPointsDTO( 9 | @JsonPropertyDescription("Target link presentation identifier") 10 | String targetLinkPresentationId, 11 | 12 | @JsonPropertyDescription("Draw points with the connection points in the rectangles.") 13 | List drawPoints 14 | ) { 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/common/VisibilityKind.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.common; 2 | 3 | public enum VisibilityKind { 4 | // Since some AI agents tend to specify ENUM literals in lowercase even when they are defined in uppercase, the literals are defined in lowercase. 5 | public_, 6 | protected_, 7 | private_, 8 | package_; 9 | 10 | public String toAstahValue() { 11 | return switch (this) { 12 | case public_ -> "public"; 13 | case protected_ -> "protected"; 14 | case private_ -> "private"; 15 | case package_ -> "package"; 16 | }; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/common/outputdto/assembler/RectangleDTOAssembler.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.common.outputdto.assembler; 2 | 3 | import lombok.NonNull; 4 | import java.awt.geom.Rectangle2D; 5 | import com.astahpromcp.tool.astah.pro.common.outputdto.RectangleDTO; 6 | 7 | public class RectangleDTOAssembler { 8 | public static RectangleDTO toDTO(@NonNull Rectangle2D astahRectangle) throws Exception { 9 | 10 | return new RectangleDTO( 11 | astahRectangle.getX(), 12 | astahRectangle.getY(), 13 | astahRectangle.getWidth(), 14 | astahRectangle.getHeight()); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/editor/inputdto/NewActionDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.editor.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewActionDTO( 6 | @JsonPropertyDescription("Target activity diagram identifier") 7 | String targetActivityDiagramId, 8 | 9 | @JsonPropertyDescription("New action name. An empty string is not allowed as an action name.") 10 | String newActionName, 11 | 12 | @JsonPropertyDescription("Location X coordinate") 13 | int locationX, 14 | 15 | @JsonPropertyDescription("Location Y coordinate") 16 | int locationY 17 | ) { 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/outputdto/ParameterDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.outputdto; 2 | 3 | import com.astahpromcp.tool.astah.pro.common.outputdto.NameIdTypeDTO; 4 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 5 | 6 | public record ParameterDTO( 7 | @JsonPropertyDescription("Named element information") 8 | NamedElementDTO namedElement, 9 | 10 | @JsonPropertyDescription("Type") 11 | NameIdTypeDTO type, 12 | 13 | @JsonPropertyDescription("Type expression: The string representation of a type, consisting of the type name and its modifiers.") 14 | String typeExpression 15 | ) { 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/outputdto/VertexDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.outputdto; 2 | 3 | import com.astahpromcp.tool.astah.pro.common.outputdto.NameIdTypeDTO; 4 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 5 | 6 | import java.util.List; 7 | 8 | public record VertexDTO( 9 | @JsonPropertyDescription("Named element information") 10 | NamedElementDTO namedElement, 11 | 12 | @JsonPropertyDescription("Incoming transitions") 13 | List incomingTransitions, 14 | 15 | @JsonPropertyDescription("Outgoing transitions") 16 | List outgoingTransitions 17 | ) { 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/common/outputdto/assembler/LabelIdTypeDTOAssembler.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.common.outputdto.assembler; 2 | 3 | import com.change_vision.jude.api.inf.presentation.IPresentation; 4 | import lombok.NonNull; 5 | import com.astahpromcp.tool.astah.pro.common.outputdto.LabelIdTypeDTO; 6 | 7 | public class LabelIdTypeDTOAssembler { 8 | public static LabelIdTypeDTO toDTO(@NonNull IPresentation astahPresentation) throws Exception { 9 | return new LabelIdTypeDTO( 10 | astahPresentation.getLabel(), 11 | astahPresentation.getID(), 12 | astahPresentation.getType()); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/editor/inputdto/NewProcessDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.editor.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewProcessDTO( 6 | @JsonPropertyDescription("Target activity diagram identifier") 7 | String targetActivityDiagramId, 8 | 9 | @JsonPropertyDescription("New process name. An empty string is not allowed as a process name.") 10 | String newProcessName, 11 | 12 | @JsonPropertyDescription("Location X coordinate") 13 | int locationX, 14 | 15 | @JsonPropertyDescription("Location Y coordinate") 16 | int locationY 17 | ) { 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/editor/inputdto/NewSvgImageWithPointDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.editor.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewSvgImageWithPointDTO( 6 | @JsonPropertyDescription("Target diagram identifier") 7 | String targetDiagramId, 8 | 9 | @JsonPropertyDescription("Image SVG code. Note that SVG code must be enclosed within SVG tags.") 10 | String imageSvgCode, 11 | 12 | @JsonPropertyDescription("Location X coordinate") 13 | int locationX, 14 | 15 | @JsonPropertyDescription("Location Y coordinate") 16 | int locationY 17 | ) { 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/editor/inputdto/NewFinalNodeDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.editor.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewFinalNodeDTO( 6 | @JsonPropertyDescription("Target activity diagram identifier") 7 | String targetActivityDiagramId, 8 | 9 | @JsonPropertyDescription("New final node name. An empty string is not allowed as a node name.") 10 | String newFinalNodeName, 11 | 12 | @JsonPropertyDescription("Location X coordinate") 13 | int locationX, 14 | 15 | @JsonPropertyDescription("Location Y coordinate") 16 | int locationY 17 | ) { 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/outputdto/CombinedFragmentDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.outputdto; 2 | 3 | import com.astahpromcp.tool.astah.pro.common.outputdto.NameIdTypeDTO; 4 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 5 | 6 | import java.util.List; 7 | 8 | public record CombinedFragmentDTO( 9 | @JsonPropertyDescription("Named element information") 10 | NamedElementDTO namedElement, 11 | 12 | @JsonPropertyDescription("Combined fragment kind") 13 | String combinedFragmentKind, 14 | 15 | @JsonPropertyDescription("Interaction operands") 16 | List interactionOperands 17 | ) { 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/presentation/outputdto/NodePresentationDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.presentation.outputdto; 2 | 3 | import com.astahpromcp.tool.astah.pro.common.outputdto.RectangleDTO; 4 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 5 | 6 | import java.util.List; 7 | 8 | public record NodePresentationDTO( 9 | @JsonPropertyDescription("Presentation information") 10 | PresentationDTO presentation, 11 | 12 | @JsonPropertyDescription("Identifiers of connected links") 13 | List linkIds, 14 | 15 | @JsonPropertyDescription("Drawn rectangle") 16 | RectangleDTO drawnRectangle 17 | ) { 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/editor/inputdto/NewConnectorDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.editor.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewConnectorDTO( 6 | @JsonPropertyDescription("Target activity diagram identifier") 7 | String targetActivityDiagramId, 8 | 9 | @JsonPropertyDescription("New connector name. An empty string is not allowed as a connector name.") 10 | String newConnectorName, 11 | 12 | @JsonPropertyDescription("Location X coordinate") 13 | int locationX, 14 | 15 | @JsonPropertyDescription("Location Y coordinate") 16 | int locationY 17 | ) { 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/outputdto/assembler/RequirementDTOAssembler.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.outputdto.assembler; 2 | 3 | import com.change_vision.jude.api.inf.model.IRequirement; 4 | import lombok.NonNull; 5 | import com.astahpromcp.tool.astah.pro.model.outputdto.RequirementDTO; 6 | 7 | public class RequirementDTOAssembler { 8 | public static RequirementDTO toDTO(@NonNull IRequirement astahRequirement) throws Exception { 9 | return new RequirementDTO( 10 | ClassDTOAssembler.toDTO(astahRequirement), 11 | astahRequirement.getRequirementID(), 12 | astahRequirement.getRequirementText()); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/editor/inputdto/NewFlowFinalNodeDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.editor.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewFlowFinalNodeDTO( 6 | @JsonPropertyDescription("Target activity diagram identifier") 7 | String targetActivityDiagramId, 8 | 9 | @JsonPropertyDescription("New flow final node name. An empty string is not allowed as a node name.") 10 | String newFlowFinalNodeName, 11 | 12 | @JsonPropertyDescription("Location X coordinate") 13 | int locationX, 14 | 15 | @JsonPropertyDescription("Location Y coordinate") 16 | int locationY 17 | ) { 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/editor/inputdto/NewLinkPresentationDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.editor.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewLinkPresentationDTO( 6 | @JsonPropertyDescription("Target diagram identifier") 7 | String targetDiagramId, 8 | 9 | @JsonPropertyDescription("Target element identifier") 10 | String targetElementId, 11 | 12 | @JsonPropertyDescription("Source node presentation identifier") 13 | String sourceNodePresentationId, 14 | 15 | @JsonPropertyDescription("Target node presentation identifier") 16 | String targetNodePresentationId 17 | ) { 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/editor/inputdto/NewDependencyDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.editor.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewDependencyDTO( 6 | @JsonPropertyDescription("Target activity diagram identifier") 7 | String targetActivityDiagramId, 8 | 9 | @JsonPropertyDescription("Client node presentation identifier") 10 | String clientNodePresentationId, 11 | 12 | @JsonPropertyDescription("Supplier node presentation identifier") 13 | String supplierNodePresentationId, 14 | 15 | @JsonPropertyDescription("New dependency name") 16 | String newDependencyName 17 | ) { 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/outputdto/assembler/AssociationClassDTOAssembler.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.outputdto.assembler; 2 | 3 | import com.change_vision.jude.api.inf.model.IAssociationClass; 4 | import lombok.NonNull; 5 | import com.astahpromcp.tool.astah.pro.model.outputdto.AssociationClassDTO; 6 | 7 | public class AssociationClassDTOAssembler { 8 | 9 | public static AssociationClassDTO toDTO(@NonNull IAssociationClass associationClass) throws Exception { 10 | return new AssociationClassDTO( 11 | ClassDTOAssembler.toDTO(associationClass), 12 | AssociationDTOAssembler.toDTO(associationClass)); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/outputdto/ActivityNodeDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.outputdto; 2 | 3 | import com.astahpromcp.tool.astah.pro.common.outputdto.NameIdTypeDTO; 4 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 5 | 6 | import java.util.List; 7 | 8 | public record ActivityNodeDTO( 9 | @JsonPropertyDescription("Named element information") 10 | NamedElementDTO namedElement, 11 | 12 | @JsonPropertyDescription("Incoming control flows and object flows") 13 | List incomingFlows, 14 | 15 | @JsonPropertyDescription("Outgoing control flows and object flows") 16 | List outgoingFlows 17 | ) { 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/editor/inputdto/NewAcceptEventActionDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.editor.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewAcceptEventActionDTO( 6 | @JsonPropertyDescription("Target activity diagram identifier") 7 | String targetActivityDiagramId, 8 | 9 | @JsonPropertyDescription("New accept event action name. An empty string is not allowed as an action name.") 10 | String newAcceptEventActionName, 11 | 12 | @JsonPropertyDescription("Location X coordinate") 13 | int locationX, 14 | 15 | @JsonPropertyDescription("Location Y coordinate") 16 | int locationY 17 | ) { 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/editor/inputdto/NewSendSignalActionDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.editor.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewSendSignalActionDTO( 6 | @JsonPropertyDescription("Target activity diagram identifier") 7 | String targetActivityDiagramId, 8 | 9 | @JsonPropertyDescription("New send signal action name. An empty string is not allowed as an action name.") 10 | String newSendSignalActionName, 11 | 12 | @JsonPropertyDescription("Location X coordinate") 13 | int locationX, 14 | 15 | @JsonPropertyDescription("Location Y coordinate") 16 | int locationY 17 | ) { 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/outputdto/assembler/EnumerationLiteralDTOAssembler.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.outputdto.assembler; 2 | 3 | import com.change_vision.jude.api.inf.model.IEnumerationLiteral; 4 | import lombok.NonNull; 5 | import com.astahpromcp.tool.astah.pro.model.outputdto.EnumerationLiteralDTO; 6 | 7 | public class EnumerationLiteralDTOAssembler { 8 | public static EnumerationLiteralDTO toDTO(@NonNull IEnumerationLiteral astahEnumerationLiteral) throws Exception { 9 | 10 | return new EnumerationLiteralDTO( 11 | NamedElementDTOAssembler.toDTO(astahEnumerationLiteral), 12 | astahEnumerationLiteral.getValue()); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/editor/inputdto/NewInstanceWithPointDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.editor.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewInstanceWithPointDTO( 6 | @JsonPropertyDescription("Target diagram identifier") 7 | String targetDiagramId, 8 | 9 | @JsonPropertyDescription("Target class identifier") 10 | String targetClassId, 11 | 12 | @JsonPropertyDescription("New instance name") 13 | String newInstanceName, 14 | 15 | @JsonPropertyDescription("Location X coordinate") 16 | int locationX, 17 | 18 | @JsonPropertyDescription("Location Y coordinate") 19 | int locationY 20 | ) { 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/outputdto/InteractionDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.outputdto; 2 | 3 | import com.astahpromcp.tool.astah.pro.common.outputdto.NameIdTypeDTO; 4 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 5 | 6 | import java.util.List; 7 | 8 | public record InteractionDTO( 9 | @JsonPropertyDescription("Named element information") 10 | NamedElementDTO namedElement, 11 | 12 | @JsonPropertyDescription("Lifelines") 13 | List lifelines, 14 | 15 | @JsonPropertyDescription("Messages") 16 | List messages, 17 | 18 | @JsonPropertyDescription("Gates") 19 | List gates 20 | ) { 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/outputdto/LifelineDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.outputdto; 2 | 3 | import com.astahpromcp.tool.astah.pro.common.outputdto.NameIdTypeDTO; 4 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 5 | 6 | import java.util.List; 7 | 8 | public record LifelineDTO( 9 | @JsonPropertyDescription("Named element information") 10 | NamedElementDTO namedElement, 11 | 12 | @JsonPropertyDescription("Base class") 13 | NameIdTypeDTO baseClass, 14 | 15 | @JsonPropertyDescription("Fragments") 16 | List fragments, 17 | 18 | @JsonPropertyDescription("Lifeline links") 19 | List lifelineLinks 20 | ) { 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/editor/inputdto/NewAcceptTimeEventActionDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.editor.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewAcceptTimeEventActionDTO( 6 | @JsonPropertyDescription("Target activity diagram identifier") 7 | String targetActivityDiagramId, 8 | 9 | @JsonPropertyDescription("New accept time event action name. An empty string is not allowed as an action name.") 10 | String newAcceptTimeEventActionName, 11 | 12 | @JsonPropertyDescription("Location X coordinate") 13 | int locationX, 14 | 15 | @JsonPropertyDescription("Location Y coordinate") 16 | int locationY 17 | ) { 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/editor/inputdto/NewInitialNodeDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.editor.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewInitialNodeDTO( 6 | @JsonPropertyDescription("Target activity diagram identifier") 7 | String targetActivityDiagramId, 8 | 9 | @JsonPropertyDescription("New initial node name. An empty string is not allowed as a node name. An empty string is not allowed as a node name.") 10 | String newInitialNodeName, 11 | 12 | @JsonPropertyDescription("Location X coordinate") 13 | int locationX, 14 | 15 | @JsonPropertyDescription("Location Y coordinate") 16 | int locationY 17 | ) { 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/editor/inputdto/NewStateDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.editor.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewStateDTO( 6 | @JsonPropertyDescription("Target diagram identifier") 7 | String targetDiagramId, 8 | 9 | @JsonPropertyDescription("Parent node presentation identifier. If there is no parent node presentation (i.e., when rendering at the top level), set an empty string.") 10 | String parentNodePresentationId, 11 | 12 | @JsonPropertyDescription("Location X coordinate") 13 | int locationX, 14 | 15 | @JsonPropertyDescription("Location Y coordinate") 16 | int locationY 17 | ) { 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/outputdto/InteractionOperandDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.outputdto; 2 | 3 | import com.astahpromcp.tool.astah.pro.common.outputdto.NameIdTypeDTO; 4 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 5 | 6 | import java.util.List; 7 | 8 | public record InteractionOperandDTO( 9 | @JsonPropertyDescription("Named element information") 10 | NamedElementDTO namedElement, 11 | 12 | @JsonPropertyDescription("Guard condition") 13 | String guard, 14 | 15 | @JsonPropertyDescription("Lifelines") 16 | List lifelines, 17 | 18 | @JsonPropertyDescription("Messages") 19 | List messages 20 | ) { 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/outputdto/InteractionUseDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.outputdto; 2 | 3 | import com.astahpromcp.tool.astah.pro.common.outputdto.NameIdTypeDTO; 4 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 5 | 6 | import java.util.List; 7 | 8 | public record InteractionUseDTO( 9 | @JsonPropertyDescription("Named element information") 10 | NamedElementDTO namedElement, 11 | 12 | @JsonPropertyDescription("Argument") 13 | String argument, 14 | 15 | @JsonPropertyDescription("Sequence diagram refers to") 16 | NameIdTypeDTO sequenceDiagram, 17 | 18 | @JsonPropertyDescription("Gates") 19 | List gates 20 | ) { 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/editor/inputdto/NewAssociationClassPresentationDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.editor.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewAssociationClassPresentationDTO( 6 | @JsonPropertyDescription("Target diagram identifier") 7 | String targetDiagramId, 8 | 9 | @JsonPropertyDescription("Target association class identifier") 10 | String targetAssociationClassId, 11 | 12 | @JsonPropertyDescription("Source node presentation identifier") 13 | String sourceNodePresentationId, 14 | 15 | @JsonPropertyDescription("Target node presentation identifier") 16 | String targetNodePresentationId 17 | ) { 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/editor/inputdto/NewFinalStateDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.editor.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewFinalStateDTO( 6 | @JsonPropertyDescription("Target diagram identifier") 7 | String targetDiagramId, 8 | 9 | @JsonPropertyDescription("Parent node presentation identifier. If there is no parent node presentation (i.e., when rendering at the top level), set an empty string.") 10 | String parentNodePresentationId, 11 | 12 | @JsonPropertyDescription("Location X coordinate") 13 | int locationX, 14 | 15 | @JsonPropertyDescription("Location Y coordinate") 16 | int locationY 17 | ) { 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/outputdto/LifelineLinkDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.outputdto; 2 | 3 | import com.astahpromcp.tool.astah.pro.common.outputdto.NameIdTypeDTO; 4 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 5 | 6 | import java.util.List; 7 | 8 | public record LifelineLinkDTO( 9 | @JsonPropertyDescription("Named element information") 10 | NamedElementDTO namedElement, 11 | 12 | @JsonPropertyDescription("Messages") 13 | List messages, 14 | 15 | @JsonPropertyDescription("Source lifeline") 16 | NameIdTypeDTO sourceLifeline, 17 | 18 | @JsonPropertyDescription("Target lifeline") 19 | NameIdTypeDTO targetLifeline 20 | ) { 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/outputdto/assembler/LinkEndDTOAssembler.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.outputdto.assembler; 2 | 3 | import com.change_vision.jude.api.inf.model.ILinkEnd; 4 | import lombok.NonNull; 5 | import com.astahpromcp.tool.astah.pro.model.outputdto.LinkEndDTO; 6 | 7 | public class LinkEndDTOAssembler { 8 | public static LinkEndDTO toDTO(@NonNull ILinkEnd astahLinkEnd) throws Exception { 9 | 10 | return new LinkEndDTO( 11 | NamedElementDTOAssembler.toDTO(astahLinkEnd), 12 | astahLinkEnd.isAggregate(), 13 | astahLinkEnd.isComposite(), 14 | "Navigable".equals(astahLinkEnd.getNavigability())); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/editor/inputdto/NewChoicePseudostateDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.editor.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewChoicePseudostateDTO( 6 | @JsonPropertyDescription("Target diagram identifier") 7 | String targetDiagramId, 8 | 9 | @JsonPropertyDescription("Parent node presentation identifier. If there is no parent node presentation (i.e., when rendering at the top level), set an empty string.") 10 | String parentNodePresentationId, 11 | 12 | @JsonPropertyDescription("Location X coordinate") 13 | int locationX, 14 | 15 | @JsonPropertyDescription("Location Y coordinate") 16 | int locationY 17 | ) { 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/editor/inputdto/NewInitialPseudostateDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.editor.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewInitialPseudostateDTO( 6 | @JsonPropertyDescription("Target diagram identifier") 7 | String targetDiagramId, 8 | 9 | @JsonPropertyDescription("Parent node presentation identifier. If there is no parent node presentation (i.e., when rendering at the top level), set an empty string.") 10 | String parentNodePresentationId, 11 | 12 | @JsonPropertyDescription("Location X coordinate") 13 | int locationX, 14 | 15 | @JsonPropertyDescription("Location Y coordinate") 16 | int locationY 17 | ) { 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/editor/inputdto/NewJunctionPseudostateDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.editor.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewJunctionPseudostateDTO( 6 | @JsonPropertyDescription("Target diagram identifier") 7 | String targetDiagramId, 8 | 9 | @JsonPropertyDescription("Parent node presentation identifier. If there is no parent node presentation (i.e., when rendering at the top level), set an empty string.") 10 | String parentNodePresentationId, 11 | 12 | @JsonPropertyDescription("Location X coordinate") 13 | int locationX, 14 | 15 | @JsonPropertyDescription("Location Y coordinate") 16 | int locationY 17 | ) { 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/editor/inputdto/NewSubMachineStateDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.editor.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewSubMachineStateDTO( 6 | @JsonPropertyDescription("Target diagram identifier") 7 | String targetDiagramId, 8 | 9 | @JsonPropertyDescription("Parent node presentation identifier") 10 | String parentNodePresentationId, 11 | 12 | @JsonPropertyDescription("Sub machine diagram identifier") 13 | String subMachineDiagramId, 14 | 15 | @JsonPropertyDescription("Location X coordinate") 16 | int locationX, 17 | 18 | @JsonPropertyDescription("Location Y coordinate") 19 | int locationY 20 | ) { 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/editor/inputdto/NewDeepHistoryPseudostateDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.editor.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewDeepHistoryPseudostateDTO( 6 | @JsonPropertyDescription("Target diagram identifier") 7 | String targetDiagramId, 8 | 9 | @JsonPropertyDescription("Parent node presentation identifier. If there is no parent node presentation (i.e., when rendering at the top level), set an empty string.") 10 | String parentNodePresentationId, 11 | 12 | @JsonPropertyDescription("Location X coordinate") 13 | int locationX, 14 | 15 | @JsonPropertyDescription("Location Y coordinate") 16 | int locationY 17 | ) { 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/editor/inputdto/NewShallowHistoryPseudostateDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.editor.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewShallowHistoryPseudostateDTO( 6 | @JsonPropertyDescription("Target diagram identifier") 7 | String targetDiagramId, 8 | 9 | @JsonPropertyDescription("Parent node presentation identifier. If there is no parent node presentation (i.e., when rendering at the top level), set an empty string.") 10 | String parentNodePresentationId, 11 | 12 | @JsonPropertyDescription("Location X coordinate") 13 | int locationX, 14 | 15 | @JsonPropertyDescription("Location Y coordinate") 16 | int locationY 17 | ) { 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/outputdto/FlowDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.outputdto; 2 | 3 | import com.astahpromcp.tool.astah.pro.common.outputdto.NameIdTypeDTO; 4 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 5 | 6 | public record FlowDTO( 7 | @JsonPropertyDescription("Named element information") 8 | NamedElementDTO namedElement, 9 | 10 | @JsonPropertyDescription("Source activity node") 11 | NameIdTypeDTO sourceActivityNode, 12 | 13 | @JsonPropertyDescription("Target activity node") 14 | NameIdTypeDTO targetActivityNode, 15 | 16 | @JsonPropertyDescription("Action") 17 | String action, 18 | 19 | @JsonPropertyDescription("Guard condition") 20 | String guard 21 | ) { 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/common/outputdto/assembler/NameIdTypeDTOAssembler.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.common.outputdto.assembler; 2 | 3 | import com.astahpromcp.tool.astah.pro.model.outputdto.NamedElementDTO; 4 | import com.change_vision.jude.api.inf.model.INamedElement; 5 | import lombok.NonNull; 6 | import com.astahpromcp.tool.astah.pro.common.outputdto.NameIdTypeDTO; 7 | 8 | public class NameIdTypeDTOAssembler { 9 | public static NameIdTypeDTO toDTO(@NonNull INamedElement namedElement) throws Exception { 10 | 11 | return new NameIdTypeDTO( 12 | namedElement.getName(), 13 | namedElement.getId(), 14 | NamedElementDTO.Type.getCorrespondingType(namedElement).getTypeName()); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/editor/inputdto/NewObjectNodeDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.editor.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewObjectNodeDTO( 6 | @JsonPropertyDescription("Target activity diagram identifier") 7 | String targetActivityDiagramId, 8 | 9 | @JsonPropertyDescription("Base class identifier") 10 | String baseClassId, 11 | 12 | @JsonPropertyDescription("New object node name. An empty string is not allowed as a node name.") 13 | String newObjectNodeName, 14 | 15 | @JsonPropertyDescription("Location X coordinate") 16 | int locationX, 17 | 18 | @JsonPropertyDescription("Location Y coordinate") 19 | int locationY 20 | ) { 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/outputdto/assembler/UsageDTOAssembler.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.outputdto.assembler; 2 | 3 | import com.astahpromcp.tool.astah.pro.common.outputdto.assembler.NameIdTypeDTOAssembler; 4 | import com.change_vision.jude.api.inf.model.IUsage; 5 | import lombok.NonNull; 6 | import com.astahpromcp.tool.astah.pro.model.outputdto.UsageDTO; 7 | 8 | public class UsageDTOAssembler { 9 | public static UsageDTO toDTO(@NonNull IUsage astahUsage) throws Exception { 10 | 11 | return new UsageDTO( 12 | NamedElementDTOAssembler.toDTO(astahUsage), 13 | NameIdTypeDTOAssembler.toDTO(astahUsage.getClient()), 14 | NameIdTypeDTOAssembler.toDTO(astahUsage.getSupplier())); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /install-plugin-for-mac.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -euo pipefail 3 | 4 | # This script installs the built astah-pro-mcp plugin JAR file into Astah. 5 | 6 | PLUGIN_DIR="$HOME/.astah/professional/plugins" 7 | 8 | if [ ! -d "$PLUGIN_DIR" ]; then 9 | echo "Creating plugin directory: $PLUGIN_DIR" 10 | mkdir -p "$PLUGIN_DIR" 11 | fi 12 | 13 | shopt -s nullglob 14 | jar_files=(target/astah-pro-mcp-*.jar) 15 | shopt -u nullglob 16 | 17 | if [ ${#jar_files[@]} -eq 0 ]; then 18 | echo "Error: No astah-pro-mcp-*.jar file found in target directory." 19 | exit 1 20 | fi 21 | 22 | jar_file="${jar_files[0]}" 23 | 24 | echo "Copying plugin..." 25 | echo "Source: $jar_file" 26 | echo "Destination: $PLUGIN_DIR" 27 | 28 | cp -f "$jar_file" "$PLUGIN_DIR/" 29 | 30 | echo "Installation completed." 31 | 32 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/common/AggregationKind.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.common; 2 | 3 | public enum AggregationKind { 4 | // Since some AI agents tend to specify ENUM literals in lowercase even when they are defined in uppercase, the literals are defined in lowercase. 5 | aggregate, 6 | composite, 7 | none; 8 | 9 | public com.change_vision.jude.api.inf.model.AggregationKind toAstahValue() { 10 | return switch (this) { 11 | case aggregate -> com.change_vision.jude.api.inf.model.AggregationKind.AGGREGATE; 12 | case composite -> com.change_vision.jude.api.inf.model.AggregationKind.COMPOSITE; 13 | case none -> com.change_vision.jude.api.inf.model.AggregationKind.NONE; 14 | }; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/editor/inputdto/NewInteractionUseDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.editor.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewInteractionUseDTO( 6 | @JsonPropertyDescription("Target sequence diagram identifier") 7 | String targetSequenceDiagramId, 8 | 9 | @JsonPropertyDescription("New interaction use name") 10 | String newInteractionUseName, 11 | 12 | @JsonPropertyDescription("Location X coordinate") 13 | int locationX, 14 | 15 | @JsonPropertyDescription("Location Y coordinate") 16 | int locationY, 17 | 18 | @JsonPropertyDescription("Width") 19 | int width, 20 | 21 | @JsonPropertyDescription("Height") 22 | int height 23 | ) { 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/editor/inputdto/NewActivityParameterNodeDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.editor.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewActivityParameterNodeDTO( 6 | @JsonPropertyDescription("Target activity diagram identifier") 7 | String targetActivityDiagramId, 8 | 9 | @JsonPropertyDescription("Base class identifier") 10 | String baseClassId, 11 | 12 | @JsonPropertyDescription("New activity parameter node name. An empty string is not allowed as a node name.") 13 | String newActivityParameterNodeName, 14 | 15 | @JsonPropertyDescription("Location X coordinate") 16 | int locationX, 17 | 18 | @JsonPropertyDescription("Location Y coordinate") 19 | int locationY 20 | ) { 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/outputdto/TransitionDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.outputdto; 2 | 3 | import com.astahpromcp.tool.astah.pro.common.outputdto.NameIdTypeDTO; 4 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 5 | 6 | public record TransitionDTO( 7 | @JsonPropertyDescription("Named element information") 8 | NamedElementDTO namedElement, 9 | 10 | @JsonPropertyDescription("Source vertex") 11 | NameIdTypeDTO sourceVertex, 12 | 13 | @JsonPropertyDescription("Target vertex") 14 | NameIdTypeDTO targetVertex, 15 | 16 | @JsonPropertyDescription("Action") 17 | String action, 18 | 19 | @JsonPropertyDescription("Event") 20 | String event, 21 | 22 | @JsonPropertyDescription("Guard condition") 23 | String guard 24 | ) { 25 | } 26 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/outputdto/assembler/DependencyDTOAssembler.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.outputdto.assembler; 2 | 3 | import com.astahpromcp.tool.astah.pro.common.outputdto.assembler.NameIdTypeDTOAssembler; 4 | import com.change_vision.jude.api.inf.model.IDependency; 5 | import lombok.NonNull; 6 | import com.astahpromcp.tool.astah.pro.model.outputdto.DependencyDTO; 7 | 8 | public class DependencyDTOAssembler { 9 | public static DependencyDTO toDTO(@NonNull IDependency astahDependency) throws Exception { 10 | 11 | return new DependencyDTO( 12 | NamedElementDTOAssembler.toDTO(astahDependency), 13 | NameIdTypeDTOAssembler.toDTO(astahDependency.getClient()), 14 | NameIdTypeDTOAssembler.toDTO(astahDependency.getSupplier())); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/config/ConfigToolFactory.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.config; 2 | 3 | import com.astahpromcp.tool.ToolCategoryFlags; 4 | import com.astahpromcp.tool.ToolProvider; 5 | import lombok.extern.slf4j.Slf4j; 6 | 7 | import java.util.List; 8 | 9 | // Factory for creating config tools 10 | @Slf4j 11 | public class ConfigToolFactory { 12 | 13 | public ConfigToolFactory() { 14 | // No dependencies 15 | } 16 | 17 | public List createToolProviders(ToolCategoryFlags categoryFlags) { 18 | try { 19 | return List.of( 20 | new ConfigTool() 21 | ); 22 | 23 | } catch (Exception e) { 24 | log.warn("Error creating config tools", e); 25 | return List.of(); 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/outputdto/StateMachineDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.outputdto; 2 | 3 | import com.astahpromcp.tool.astah.pro.common.outputdto.NameIdTypeDTO; 4 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 5 | 6 | import java.util.List; 7 | 8 | public record StateMachineDTO( 9 | @JsonPropertyDescription("Named element information") 10 | NamedElementDTO namedElement, 11 | 12 | @JsonPropertyDescription("StateMachine diagram") 13 | NameIdTypeDTO stateMachineDiagram, 14 | 15 | @JsonPropertyDescription("States") 16 | List states, 17 | 18 | @JsonPropertyDescription("Transitions") 19 | List transitions, 20 | 21 | @JsonPropertyDescription("Vertexes") 22 | List vertexes 23 | ) { 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/outputdto/assembler/FlowDTOAssembler.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.outputdto.assembler; 2 | 3 | import com.astahpromcp.tool.astah.pro.common.outputdto.assembler.NameIdTypeDTOAssembler; 4 | import com.change_vision.jude.api.inf.model.IFlow; 5 | import lombok.NonNull; 6 | import com.astahpromcp.tool.astah.pro.model.outputdto.FlowDTO; 7 | 8 | public class FlowDTOAssembler { 9 | public static FlowDTO toDTO(@NonNull IFlow astahFlow) throws Exception { 10 | return new FlowDTO( 11 | NamedElementDTOAssembler.toDTO(astahFlow), 12 | NameIdTypeDTOAssembler.toDTO(astahFlow.getSource()), 13 | NameIdTypeDTOAssembler.toDTO(astahFlow.getTarget()), 14 | astahFlow.getAction(), 15 | astahFlow.getGuard()); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/project/outputdto/assembler/NameIdTypeNamespaceDTOAssembler.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.project.outputdto.assembler; 2 | 3 | import com.astahpromcp.tool.astah.pro.model.outputdto.NamedElementDTO; 4 | import com.change_vision.jude.api.inf.model.IClass; 5 | import lombok.NonNull; 6 | import com.astahpromcp.tool.astah.pro.project.outputdto.NameIdTypeNamespaceDTO; 7 | 8 | public class NameIdTypeNamespaceDTOAssembler { 9 | public static NameIdTypeNamespaceDTO toDTO(@NonNull IClass astahClass) throws Exception { 10 | return new NameIdTypeNamespaceDTO( 11 | astahClass.getName(), 12 | astahClass.getId(), 13 | NamedElementDTO.Type.getCorrespondingType(astahClass).getTypeName(), 14 | astahClass.getFullNamespace(".")); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/outputdto/assembler/RealizationDTOAssembler.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.outputdto.assembler; 2 | 3 | import com.astahpromcp.tool.astah.pro.common.outputdto.assembler.NameIdTypeDTOAssembler; 4 | import com.change_vision.jude.api.inf.model.IRealization; 5 | import lombok.NonNull; 6 | import com.astahpromcp.tool.astah.pro.model.outputdto.RealizationDTO; 7 | 8 | public class RealizationDTOAssembler { 9 | public static RealizationDTO toDTO(@NonNull IRealization astahRealization) throws Exception { 10 | 11 | return new RealizationDTO( 12 | NamedElementDTOAssembler.toDTO(astahRealization), 13 | NameIdTypeDTOAssembler.toDTO(astahRealization.getClient()), 14 | NameIdTypeDTOAssembler.toDTO(astahRealization.getSupplier())); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/editor/inputdto/NewCallBehaviorActionDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.editor.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewCallBehaviorActionDTO( 6 | @JsonPropertyDescription("Target activity diagram identifier") 7 | String targetActivityDiagramId, 8 | 9 | @JsonPropertyDescription("Activity diagram identifier to reference") 10 | String referenceActivityDiagramId, 11 | 12 | @JsonPropertyDescription("New call behavior action name. An empty string is not allowed as an action name.") 13 | String newCallBehaviorActionName, 14 | 15 | @JsonPropertyDescription("Location X coordinate") 16 | int locationX, 17 | 18 | @JsonPropertyDescription("Location Y coordinate") 19 | int locationY 20 | ) { 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/outputdto/InstanceSpecificationDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.outputdto; 2 | 3 | import com.astahpromcp.tool.astah.pro.common.outputdto.NameIdTypeDTO; 4 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 5 | 6 | import java.util.List; 7 | 8 | public record InstanceSpecificationDTO( 9 | @JsonPropertyDescription("Named element information") 10 | NamedElementDTO namedElement, 11 | 12 | @JsonPropertyDescription("Classifier") 13 | NameIdTypeDTO classifier, 14 | 15 | @JsonPropertyDescription("Parent instance specification") 16 | NameIdTypeDTO parentInstanceSpecification, 17 | 18 | @JsonPropertyDescription("Link ends") 19 | List linkEnds, 20 | 21 | @JsonPropertyDescription("Slots") 22 | List slots 23 | ) { 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/presentation/outputdto/LinkPresentationDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.presentation.outputdto; 2 | 3 | import com.astahpromcp.tool.astah.pro.common.outputdto.PointDoubleDTO; 4 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 5 | 6 | import java.util.List; 7 | 8 | public record LinkPresentationDTO( 9 | @JsonPropertyDescription("Presentation information") 10 | PresentationDTO presentation, 11 | 12 | @JsonPropertyDescription("Identifier of source end node") 13 | String sourceNodeEndId, 14 | 15 | @JsonPropertyDescription("Identifier of target end node") 16 | String targetNodeEndId, 17 | 18 | @JsonPropertyDescription("Drawn points with the connection points in the rectangles") 19 | List drawnPoints 20 | ) { 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/project/outputdto/assembler/NameIdTypeDefinitionDTOAssembler.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.project.outputdto.assembler; 2 | 3 | import com.astahpromcp.tool.astah.pro.project.outputdto.NameIdTypeDefinitionDTO; 4 | import com.astahpromcp.tool.astah.pro.model.outputdto.NamedElementDTO; 5 | import com.change_vision.jude.api.inf.model.INamedElement; 6 | import lombok.NonNull; 7 | 8 | public class NameIdTypeDefinitionDTOAssembler { 9 | public static NameIdTypeDefinitionDTO toDTO(@NonNull INamedElement namedElement) throws Exception { 10 | return new NameIdTypeDefinitionDTO( 11 | namedElement.getName(), 12 | namedElement.getId(), 13 | NamedElementDTO.Type.getCorrespondingType(namedElement).getTypeName(), 14 | namedElement.getDefinition()); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/log/LogToolFactory.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.log; 2 | 3 | import com.astahpromcp.tool.ToolCategoryFlags; 4 | import com.astahpromcp.tool.ToolProvider; 5 | import lombok.extern.slf4j.Slf4j; 6 | 7 | import java.util.List; 8 | 9 | // Factory for creating log tools 10 | @Slf4j 11 | public class LogToolFactory { 12 | 13 | public LogToolFactory() { 14 | // No dependencies 15 | } 16 | 17 | public List createToolProviders(ToolCategoryFlags categoryFlags) { 18 | try { 19 | return List.of( 20 | new AstahProLogFileTool(), 21 | new McpServerLogFileTool() 22 | ); 23 | 24 | } catch (Exception e) { 25 | log.warn("Error creating log tools", e); 26 | return List.of(); 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/outputdto/assembler/GeneralizationDTOAssembler.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.outputdto.assembler; 2 | 3 | import com.astahpromcp.tool.astah.pro.common.outputdto.assembler.NameIdTypeDTOAssembler; 4 | import com.change_vision.jude.api.inf.model.IGeneralization; 5 | import lombok.NonNull; 6 | import com.astahpromcp.tool.astah.pro.model.outputdto.GeneralizationDTO; 7 | 8 | public class GeneralizationDTOAssembler { 9 | public static GeneralizationDTO toDTO(@NonNull IGeneralization astahGeneralization) throws Exception { 10 | 11 | return new GeneralizationDTO( 12 | NamedElementDTOAssembler.toDTO(astahGeneralization), 13 | NameIdTypeDTOAssembler.toDTO(astahGeneralization.getSuperType()), 14 | NameIdTypeDTOAssembler.toDTO(astahGeneralization.getSubType())); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/editor/inputdto/NewForkPseudostateDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.editor.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewForkPseudostateDTO( 6 | @JsonPropertyDescription("Target diagram identifier") 7 | String targetDiagramId, 8 | 9 | @JsonPropertyDescription("Parent node presentation identifier. If there is no parent node presentation (i.e., when rendering at the top level), set an empty string.") 10 | String parentNodePresentationId, 11 | 12 | @JsonPropertyDescription("Location X coordinate") 13 | int locationX, 14 | 15 | @JsonPropertyDescription("Location Y coordinate") 16 | int locationY, 17 | 18 | @JsonPropertyDescription("Width") 19 | int width, 20 | 21 | @JsonPropertyDescription("Height") 22 | int height 23 | ) { 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/editor/inputdto/NewJoinPseudostateDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.editor.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewJoinPseudostateDTO( 6 | @JsonPropertyDescription("Target diagram identifier") 7 | String targetDiagramId, 8 | 9 | @JsonPropertyDescription("Parent node presentation identifier. If there is no parent node presentation (i.e., when rendering at the top level), set an empty string.") 10 | String parentNodePresentationId, 11 | 12 | @JsonPropertyDescription("Location X coordinate") 13 | int locationX, 14 | 15 | @JsonPropertyDescription("Location Y coordinate") 16 | int locationY, 17 | 18 | @JsonPropertyDescription("Width") 19 | int width, 20 | 21 | @JsonPropertyDescription("Height") 22 | int height 23 | ) { 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/outputdto/ElementDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.outputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | import java.util.List; 6 | import java.util.Map; 7 | 8 | public record ElementDTO( 9 | @JsonPropertyDescription("Element identifier") 10 | String id, 11 | 12 | @JsonPropertyDescription("Type modifier: A symbol appended to the type name, such as * (C++ pointer) and & (C++ reference).") 13 | String typeModifier, 14 | 15 | @JsonPropertyDescription("Stereotypes") 16 | List stereotypes, 17 | 18 | @JsonPropertyDescription("Tagged values") 19 | Map taggedValues, 20 | 21 | @JsonPropertyDescription("Identifiers of corresponding presentations") 22 | List correspondingPresentationIds 23 | ) { 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/outputdto/UseCaseDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.outputdto; 2 | 3 | import com.astahpromcp.tool.astah.pro.common.outputdto.NameIdTypeDTO; 4 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 5 | 6 | import java.util.List; 7 | 8 | public record UseCaseDTO( 9 | @JsonPropertyDescription("Class information") 10 | ClassDTO clazz, 11 | 12 | @JsonPropertyDescription("Includes") 13 | List includes, 14 | 15 | @JsonPropertyDescription("Inverse includes") 16 | List inverseIncludes, 17 | 18 | @JsonPropertyDescription("Extends") 19 | List extends_, 20 | 21 | @JsonPropertyDescription("Inverse extends") 22 | List inverseExtends, 23 | 24 | @JsonPropertyDescription("Extension points") 25 | List extensionPoints 26 | ) { 27 | } 28 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/editor/inputdto/NewLostMessageDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.editor.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewLostMessageDTO( 6 | @JsonPropertyDescription("Target sequence diagram identifier") 7 | String targetSequenceDiagramId, 8 | 9 | @JsonPropertyDescription("New lost message name. '()' is appended to the message name when it is displayed. Therefore, it is not necessary to add '()' at the end of the message name.") 10 | String newLostMessageName, 11 | 12 | @JsonPropertyDescription("Target sender node presentation identifier") 13 | String targetSenderNodePresentationId, 14 | 15 | @JsonPropertyDescription("End point X coordinate") 16 | int endPointX, 17 | 18 | @JsonPropertyDescription("End point Y coordinate") 19 | int endPointY 20 | ) { 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/editor/inputdto/NewMessageDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.editor.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewMessageDTO( 6 | @JsonPropertyDescription("Target sequence diagram identifier") 7 | String targetSequenceDiagramId, 8 | 9 | @JsonPropertyDescription("New message name. '()' is appended to the message name when it is displayed. Therefore, it is not necessary to add '()' at the end of the message name.") 10 | String newMessageName, 11 | 12 | @JsonPropertyDescription("Sender node presentation identifier") 13 | String senderNodePresentationId, 14 | 15 | @JsonPropertyDescription("Receiver node presentation identifier") 16 | String receiverNodePresentationId, 17 | 18 | @JsonPropertyDescription("Location Y coordinate") 19 | int locationY 20 | ) { 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/editor/inputdto/NewPartitionDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.editor.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewPartitionDTO( 6 | @JsonPropertyDescription("Target activity diagram identifier") 7 | String targetActivityDiagramId, 8 | 9 | @JsonPropertyDescription("Super partition identifier. In the absence of a super partition, set an empty string.") 10 | String superPartitionId, 11 | 12 | @JsonPropertyDescription("Previous partition identifier. In the absence of a previous partition, set an empty string.") 13 | String previousPartitionId, 14 | 15 | @JsonPropertyDescription("New partition name") 16 | String newPartitionName, 17 | 18 | @JsonPropertyDescription("Is horizontal (True: Horizontal partition / False: Vertical partition)") 19 | boolean isHorizontal 20 | ) { 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/editor/inputdto/NewFoundMessageDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.editor.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewFoundMessageDTO( 6 | @JsonPropertyDescription("Target sequence diagram identifier") 7 | String targetSequenceDiagramId, 8 | 9 | @JsonPropertyDescription("New found message name. '()' is appended to the message name when it is displayed. Therefore, it is not necessary to add '()' at the end of the message name.") 10 | String newFoundMessageName, 11 | 12 | @JsonPropertyDescription("Start point X coordinate") 13 | int startPointX, 14 | 15 | @JsonPropertyDescription("Start point Y coordinate") 16 | int startPointY, 17 | 18 | @JsonPropertyDescription("Target receiver node presentation identifier") 19 | String targetReceiverNodePresentationId 20 | ) { 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/editor/inputdto/NewCreateMessageDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.editor.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewCreateMessageDTO( 6 | @JsonPropertyDescription("Target sequence diagram identifier") 7 | String targetSequenceDiagramId, 8 | 9 | @JsonPropertyDescription("New create message name. '()' is appended to the message name when it is displayed. Therefore, it is not necessary to add '()' at the end of the message name.") 10 | String newCreateMessageName, 11 | 12 | @JsonPropertyDescription("Sender node presentation identifier") 13 | String senderNodePresentationId, 14 | 15 | @JsonPropertyDescription("Receiver node presentation identifier") 16 | String receiverNodePresentationId, 17 | 18 | @JsonPropertyDescription("Location Y coordinate") 19 | int locationY 20 | ) { 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/editor/inputdto/NewDestroyMessageDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.editor.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewDestroyMessageDTO( 6 | @JsonPropertyDescription("Target sequence diagram identifier") 7 | String targetSequenceDiagramId, 8 | 9 | @JsonPropertyDescription("New destroy message name. '()' is appended to the message name when it is displayed. Therefore, it is not necessary to add '()' at the end of the message name.") 10 | String newDestroyMessageName, 11 | 12 | @JsonPropertyDescription("Sender node presentation identifier") 13 | String senderNodePresentationId, 14 | 15 | @JsonPropertyDescription("Receiver node presentation identifier") 16 | String receiverNodePresentationId, 17 | 18 | @JsonPropertyDescription("Location Y coordinate") 19 | int locationY 20 | ) { 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/outputdto/assembler/TransitionDTOAssembler.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.outputdto.assembler; 2 | 3 | import com.astahpromcp.tool.astah.pro.common.outputdto.assembler.NameIdTypeDTOAssembler; 4 | import com.change_vision.jude.api.inf.model.ITransition; 5 | import lombok.NonNull; 6 | import com.astahpromcp.tool.astah.pro.model.outputdto.TransitionDTO; 7 | 8 | public class TransitionDTOAssembler { 9 | public static TransitionDTO toDTO(@NonNull ITransition astahTransition) throws Exception { 10 | return new TransitionDTO( 11 | NamedElementDTOAssembler.toDTO(astahTransition), 12 | NameIdTypeDTOAssembler.toDTO(astahTransition.getSource()), 13 | NameIdTypeDTOAssembler.toDTO(astahTransition.getTarget()), 14 | astahTransition.getAction(), 15 | astahTransition.getEvent(), 16 | astahTransition.getGuard()); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/outputdto/ActivityDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.outputdto; 2 | 3 | import com.astahpromcp.tool.astah.pro.common.outputdto.NameIdTypeDTO; 4 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 5 | 6 | import java.util.List; 7 | 8 | public record ActivityDTO( 9 | @JsonPropertyDescription("Named element information") 10 | NamedElementDTO namedElement, 11 | 12 | @JsonPropertyDescription("Activity diagram") 13 | NameIdTypeDTO activityDiagram, 14 | 15 | @JsonPropertyDescription("Activity nodes") 16 | List activityNodes, 17 | 18 | @JsonPropertyDescription("Call behavior actions") 19 | List callBehaviorActions, 20 | 21 | @JsonPropertyDescription("Control flows and object flows") 22 | List flows, 23 | 24 | @JsonPropertyDescription("Partitions") 25 | List partitions 26 | ) { 27 | } 28 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/ui/ExtraTabUiBuilder.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.ui; 2 | 3 | import javax.swing.*; 4 | import java.awt.*; 5 | import java.util.Objects; 6 | import java.util.function.Supplier; 7 | 8 | public final class ExtraTabUiBuilder { 9 | 10 | private final Supplier panelSupplier; 11 | 12 | public ExtraTabUiBuilder(Supplier panelSupplier) { 13 | this.panelSupplier = Objects.requireNonNull(panelSupplier, "panelSupplier"); 14 | } 15 | 16 | public void build(JPanel parent) { 17 | Objects.requireNonNull(parent, "parent"); 18 | 19 | Runnable task = () -> { 20 | parent.setLayout(new BorderLayout()); 21 | parent.add(panelSupplier.get(), BorderLayout.CENTER); 22 | }; 23 | 24 | if (SwingUtilities.isEventDispatchThread()) { 25 | task.run(); 26 | } else { 27 | SwingUtilities.invokeLater(task); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/outputdto/assembler/DiagramDTOAssembler.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.outputdto.assembler; 2 | 3 | import com.change_vision.jude.api.inf.model.IDiagram; 4 | import com.change_vision.jude.api.inf.presentation.IPresentation; 5 | import lombok.NonNull; 6 | import com.astahpromcp.tool.astah.pro.model.outputdto.DiagramDTO; 7 | 8 | import java.util.ArrayList; 9 | import java.util.List; 10 | 11 | public class DiagramDTOAssembler { 12 | public static DiagramDTO toDTO(@NonNull IDiagram astahDiagram) throws Exception { 13 | 14 | List containedPresentationIds = new ArrayList<>(); 15 | for (IPresentation presentation : astahDiagram.getPresentations()) { 16 | containedPresentationIds.add(presentation.getID()); 17 | } 18 | 19 | return new DiagramDTO( 20 | NamedElementDTOAssembler.toDTO(astahDiagram), 21 | containedPresentationIds); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/outputdto/assembler/ControlNodeDTOAssembler.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.outputdto.assembler; 2 | 3 | import com.change_vision.jude.api.inf.model.IControlNode; 4 | import lombok.NonNull; 5 | import com.astahpromcp.tool.astah.pro.model.outputdto.ControlNodeDTO; 6 | 7 | public class ControlNodeDTOAssembler { 8 | public static ControlNodeDTO toDTO(@NonNull IControlNode astahControlNode) throws Exception { 9 | return new ControlNodeDTO( 10 | ActivityNodeDTOAssembler.toDTO(astahControlNode), 11 | astahControlNode.isConnector(), 12 | astahControlNode.isDecisionMergeNode(), 13 | astahControlNode.isFinalNode(), 14 | astahControlNode.isFlowFinalNode(), 15 | astahControlNode.isForkNode(), 16 | astahControlNode.isInitialNode(), 17 | astahControlNode.isJoinNode(), 18 | astahControlNode.isMergeNode()); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/JsonSupport.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool; 2 | 3 | import com.fasterxml.jackson.databind.DeserializationFeature; 4 | import com.fasterxml.jackson.databind.ObjectMapper; 5 | import com.fasterxml.jackson.databind.SerializationFeature; 6 | import io.modelcontextprotocol.json.McpJsonMapper; 7 | import io.modelcontextprotocol.json.jackson.JacksonMcpJsonMapper; 8 | 9 | public final class JsonSupport { 10 | 11 | private JsonSupport() { 12 | } 13 | 14 | // ObjectMapper is used to convert JSON to and from Java objects 15 | public static final ObjectMapper OBJ_MAPPER = new ObjectMapper() 16 | .findAndRegisterModules() 17 | .configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false) 18 | .disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS); 19 | 20 | // McpJsonMapper is used to convert JSON to and from MCP objects 21 | public static final McpJsonMapper MCP_JSON_MAPPER = new JacksonMcpJsonMapper(OBJ_MAPPER); 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/editor/inputdto/NewCombinedFragmentDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.editor.inputdto; 2 | 3 | import com.astahpromcp.tool.astah.pro.common.CombinedFragmentKind; 4 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 5 | 6 | public record NewCombinedFragmentDTO( 7 | @JsonPropertyDescription("Target sequence diagram identifier") 8 | String targetSequenceDiagramId, 9 | 10 | @JsonPropertyDescription("New combined fragment name") 11 | String newCombinedFragmentName, 12 | 13 | @JsonPropertyDescription("Combined fragment kind") 14 | CombinedFragmentKind combinedFragmentKind, 15 | 16 | @JsonPropertyDescription("Location X coordinate") 17 | int locationX, 18 | 19 | @JsonPropertyDescription("Location Y coordinate") 20 | int locationY, 21 | 22 | @JsonPropertyDescription("Width") 23 | int width, 24 | 25 | @JsonPropertyDescription("Height") 26 | int height 27 | ) { 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/editor/inputdto/NewPinWithBaseClassAndParentActionDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.editor.inputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record NewPinWithBaseClassAndParentActionDTO( 6 | @JsonPropertyDescription("Target activity diagram identifier") 7 | String targetActivityDiagramId, 8 | 9 | @JsonPropertyDescription("Base class identifier") 10 | String baseClassId, 11 | 12 | @JsonPropertyDescription("Parent action identifier") 13 | String parentActionId, 14 | 15 | @JsonPropertyDescription("New pin name. An empty string is not allowed as a pin name.") 16 | String newPinName, 17 | 18 | @JsonPropertyDescription("Is input pin (True: Input pin / False: Output pin)") 19 | boolean isInput, 20 | 21 | @JsonPropertyDescription("Location X coordinate") 22 | int locationX, 23 | 24 | @JsonPropertyDescription("Location Y coordinate") 25 | int locationY 26 | ) { 27 | } 28 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/outputdto/assembler/ObjectNodeDTOAssembler.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.outputdto.assembler; 2 | 3 | import com.astahpromcp.tool.astah.pro.common.outputdto.NameIdTypeDTO; 4 | import com.astahpromcp.tool.astah.pro.common.outputdto.assembler.NameIdTypeDTOAssembler; 5 | import com.change_vision.jude.api.inf.model.IObjectNode; 6 | import lombok.NonNull; 7 | import com.astahpromcp.tool.astah.pro.model.outputdto.ObjectNodeDTO; 8 | 9 | public class ObjectNodeDTOAssembler { 10 | public static ObjectNodeDTO toDTO(@NonNull IObjectNode astahObjectNode) throws Exception { 11 | 12 | NameIdTypeDTO base; 13 | if (astahObjectNode.getBase() != null) { 14 | base = NameIdTypeDTOAssembler.toDTO(astahObjectNode.getBase()); 15 | } else { 16 | base = NameIdTypeDTO.empty(); 17 | } 18 | 19 | return new ObjectNodeDTO( 20 | ActivityNodeDTOAssembler.toDTO(astahObjectNode), 21 | base); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/outputdto/ControlNodeDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.outputdto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 4 | 5 | public record ControlNodeDTO( 6 | @JsonPropertyDescription("Activity node information") 7 | ActivityNodeDTO activityNode, 8 | 9 | @JsonPropertyDescription("Is Connector") 10 | boolean isConnector, 11 | 12 | @JsonPropertyDescription("Is Decision merge node") 13 | boolean isDecisionMergeNode, 14 | 15 | @JsonPropertyDescription("Is Final node") 16 | boolean isFinalNode, 17 | 18 | @JsonPropertyDescription("Is Flow final node") 19 | boolean isFlowFinalNode, 20 | 21 | @JsonPropertyDescription("Is Fork node") 22 | boolean isForkNode, 23 | 24 | @JsonPropertyDescription("Is Initial node") 25 | boolean isInitialNode, 26 | 27 | @JsonPropertyDescription("Is Join node") 28 | boolean isJoinNode, 29 | 30 | @JsonPropertyDescription("Is Merge node") 31 | boolean isMergeNode 32 | ) { 33 | } 34 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/outputdto/OperationDTO.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.outputdto; 2 | 3 | import com.astahpromcp.tool.astah.pro.common.outputdto.NameIdTypeDTO; 4 | import com.fasterxml.jackson.annotation.JsonPropertyDescription; 5 | 6 | import java.util.List; 7 | 8 | public record OperationDTO( 9 | @JsonPropertyDescription("Named element information") 10 | NamedElementDTO namedElement, 11 | 12 | @JsonPropertyDescription("Is Abstract") 13 | boolean isAbstract, 14 | 15 | @JsonPropertyDescription("Is Leaf") 16 | boolean isLeaf, 17 | 18 | @JsonPropertyDescription("Is Static") 19 | boolean isStatic, 20 | 21 | @JsonPropertyDescription("Parameters") 22 | List parameters, 23 | 24 | @JsonPropertyDescription("Return type") 25 | NameIdTypeDTO returnType, 26 | 27 | @JsonPropertyDescription("Return type expression: The string representation of a return type, consisting of the return type name and its modifiers.") 28 | String returnTypeExpression 29 | ) { 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/outputdto/assembler/AssociationDTOAssembler.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.outputdto.assembler; 2 | 3 | import com.astahpromcp.tool.astah.pro.common.outputdto.assembler.NameIdTypeDTOAssembler; 4 | import com.change_vision.jude.api.inf.model.IAssociation; 5 | import com.change_vision.jude.api.inf.model.IAttribute; 6 | import lombok.NonNull; 7 | import com.astahpromcp.tool.astah.pro.model.outputdto.AssociationDTO; 8 | 9 | public class AssociationDTOAssembler { 10 | public static AssociationDTO toDTO(@NonNull IAssociation astahAssociation) throws Exception { 11 | 12 | IAttribute[] memberEnds = astahAssociation.getMemberEnds(); 13 | IAttribute associationEndA = memberEnds[0]; 14 | IAttribute associationEndB = memberEnds[1]; 15 | 16 | return new AssociationDTO( 17 | NamedElementDTOAssembler.toDTO(astahAssociation), 18 | NameIdTypeDTOAssembler.toDTO(associationEndA), 19 | NameIdTypeDTOAssembler.toDTO(associationEndB)); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/common/CombinedFragmentKind.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.common; 2 | 3 | public enum CombinedFragmentKind { 4 | // Since some AI agents tend to specify ENUM literals in lowercase even when they are defined in uppercase, the literals are defined in lowercase. 5 | alt, 6 | assert_, 7 | break_, 8 | consider, 9 | critical, 10 | ignore, 11 | loop, 12 | neg, 13 | opt, 14 | par, 15 | seq, 16 | strict; 17 | 18 | public String toAstahValue() { 19 | return switch (this) { 20 | case alt -> "alt"; 21 | case assert_ -> "assert"; 22 | case break_ -> "break"; 23 | case consider -> "consider"; 24 | case critical -> "critical"; 25 | case ignore -> "ignore"; 26 | case loop -> "loop"; 27 | case neg -> "neg"; 28 | case opt -> "opt"; 29 | case par -> "par"; 30 | case seq -> "seq"; 31 | case strict -> "strict"; 32 | }; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/outputdto/assembler/ParameterDTOAssembler.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.outputdto.assembler; 2 | 3 | import com.astahpromcp.tool.astah.pro.common.outputdto.NameIdTypeDTO; 4 | import com.astahpromcp.tool.astah.pro.common.outputdto.assembler.NameIdTypeDTOAssembler; 5 | import com.change_vision.jude.api.inf.model.IParameter; 6 | import lombok.NonNull; 7 | import com.astahpromcp.tool.astah.pro.model.outputdto.ParameterDTO; 8 | 9 | public class ParameterDTOAssembler { 10 | public static ParameterDTO toDTO(@NonNull IParameter astahParameter) throws Exception { 11 | 12 | NameIdTypeDTO type; 13 | if (astahParameter.getType() != null) { 14 | type = NameIdTypeDTOAssembler.toDTO(astahParameter.getType()); 15 | } else { 16 | type = NameIdTypeDTO.empty(); 17 | } 18 | 19 | return new ParameterDTO( 20 | NamedElementDTOAssembler.toDTO(astahParameter), 21 | type, 22 | astahParameter.getTypeExpression()); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/outputdto/assembler/SlotDTOAssembler.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.outputdto.assembler; 2 | 3 | import com.astahpromcp.tool.astah.pro.common.outputdto.NameIdTypeDTO; 4 | import com.astahpromcp.tool.astah.pro.common.outputdto.assembler.NameIdTypeDTOAssembler; 5 | import com.change_vision.jude.api.inf.model.ISlot; 6 | import lombok.NonNull; 7 | import com.astahpromcp.tool.astah.pro.model.outputdto.SlotDTO; 8 | 9 | public class SlotDTOAssembler { 10 | public static SlotDTO toDTO(@NonNull ISlot astahSlot) throws Exception { 11 | 12 | NameIdTypeDTO definingAttribute; 13 | if (astahSlot.getDefiningAttribute() != null) { 14 | definingAttribute = NameIdTypeDTOAssembler.toDTO(astahSlot.getDefiningAttribute()); 15 | } else { 16 | definingAttribute = NameIdTypeDTO.empty(); 17 | } 18 | 19 | return new SlotDTO( 20 | NamedElementDTOAssembler.toDTO(astahSlot), 21 | definingAttribute, 22 | astahSlot.getValue()); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/outputdto/assembler/CommentDTOAssembler.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.outputdto.assembler; 2 | 3 | import com.change_vision.jude.api.inf.model.IComment; 4 | import com.change_vision.jude.api.inf.model.IElement; 5 | import lombok.NonNull; 6 | import com.astahpromcp.tool.astah.pro.model.outputdto.CommentDTO; 7 | import com.astahpromcp.tool.astah.pro.model.outputdto.ElementDTO; 8 | 9 | import java.util.ArrayList; 10 | import java.util.List; 11 | 12 | public class CommentDTOAssembler { 13 | public static CommentDTO toDTO(@NonNull IComment astahComment) throws Exception { 14 | 15 | List annotatedElementDTOs = new ArrayList<>(); 16 | for (IElement astahElement : astahComment.getAnnotatedElements()) { 17 | annotatedElementDTOs.add(ElementDTOAssembler.toDTO(astahElement)); 18 | } 19 | 20 | return new CommentDTO( 21 | NamedElementDTOAssembler.toDTO(astahComment), 22 | astahComment.getBody(), 23 | annotatedElementDTOs); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/main/java/com/astahpromcp/tool/astah/pro/model/outputdto/assembler/LinkDTOAssembler.java: -------------------------------------------------------------------------------- 1 | package com.astahpromcp.tool.astah.pro.model.outputdto.assembler; 2 | 3 | import com.astahpromcp.tool.astah.pro.common.outputdto.NameIdTypeDTO; 4 | import com.astahpromcp.tool.astah.pro.common.outputdto.assembler.NameIdTypeDTOAssembler; 5 | import com.change_vision.jude.api.inf.model.ILink; 6 | import com.change_vision.jude.api.inf.model.ILinkEnd; 7 | import lombok.NonNull; 8 | import com.astahpromcp.tool.astah.pro.model.outputdto.LinkDTO; 9 | 10 | import java.util.ArrayList; 11 | import java.util.List; 12 | 13 | public class LinkDTOAssembler { 14 | public static LinkDTO toDTO(@NonNull ILink astahLink) throws Exception { 15 | 16 | List linkEndDTOs = new ArrayList<>(); 17 | for (ILinkEnd astahLinkEnd : astahLink.getMemberEnds()) { 18 | linkEndDTOs.add(NameIdTypeDTOAssembler.toDTO(astahLinkEnd)); 19 | } 20 | 21 | return new LinkDTO( 22 | NamedElementDTOAssembler.toDTO(astahLink), 23 | linkEndDTOs); 24 | } 25 | } 26 | --------------------------------------------------------------------------------