Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[SAIA] Add new object type SAIA #614

Open
wants to merge 13 commits into
base: main
Choose a base branch
from
Binary file added file-formats/saia/.DS_Store
albertmink marked this conversation as resolved.
Show resolved Hide resolved
Binary file not shown.
5 changes: 5 additions & 0 deletions file-formats/saia/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# SAIA File Format

File | Cardinality | Definition | Schema | Example
:--- | :--- | :--- | :--- | :---
`<name>.saia.json` | 1 | [`zif_aff_saia_v1.intf.abap`](./type/zif_aff_saia_v1.intf.abap) | [`saia-v1.json`](./saia-v1.json)
165 changes: 165 additions & 0 deletions file-formats/saia/saia-v1.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,165 @@
{
"$comment": "This file is autogenerated, do not edit manually, see https://github.com/SAP/abap-file-formats for more information.",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://github.com/SAP/abap-file-formats/blob/main/file-formats/saia/saia-v1.json",
"title": "ADT IDE Action",
"description": "ADT IDE Action (SAIA) v1",
"type": "object",
"properties": {
"formatVersion": {
"title": "Format Version",
"description": "Format version",
"type": "string",
"const": "1"
},
"header": {
"title": "Header",
"description": "Header",
"type": "object",
"properties": {
"description": {
"title": "Description",
"description": "Description of the ABAP object",
"type": "string",
"maxLength": 100
},
"originalLanguage": {
"title": "Original Language",
"description": "Original language of the ABAP object",
"type": "string",
"minLength": 2
},
"abapLanguageVersion": {
"title": "ABAP Language Version",
"description": "ABAP language version",
"type": "string",
"enum": [
"standard",
"keyUser",
"cloudDevelopment"
],
"enumTitles": [
"Standard",
"ABAP for Key Users",
"ABAP Cloud Development"
],
"enumDescriptions": [
"Standard",
"ABAP for key user extensibility",
"ABAP cloud development"
],
"default": "standard"
}
},
"additionalProperties": false,
"required": [
"description",
"originalLanguage"
]
},
"actionId": {
"title": "Unique Id of the Action",
"description": "Unique action id - it should be human readable and reveal what the action is supposed to do Action id is case insensitive",
albertmink marked this conversation as resolved.
Show resolved Hide resolved
"type": "string"
},
"title": {
"title": "Action Title",
"description": "Action title for the action",
"type": "string"
},
"description": {
"title": "Action Description",
"description": "What is the action doing and how can it be used",
"type": "string"
},
"filters": {
"title": "Action Filter(In development)",
"description": "new filter mechanis currently under development Filter for application of action according to specific object type or object type groups (currently under development).",
"type": "object",
"properties": {
"numberOfFocusedResources": {
"title": "Number of Focused Resources",
"description": "Number of Focused Resources",
"type": "string",
"maxLength": 30
},
"supportedDevObjectTypes": {
"title": "Supported Development Object Types",
"description": "Supported development object types",
"type": "array",
"uniqueItems": true,
"items": {
"type": "object",
"properties": {
"objtypeTr": {
"description": "Object Type in Object Directory",
"type": "string",
"maxLength": 4
},
"subtypeWb": {
"description": "WB Request: (Internal) Type of an ABAP Workbench Object",
"type": "string",
"maxLength": 3
}
},
"additionalProperties": false
}
},
"supportedResourceTypes": {
"title": "Supported Resource Types",
"description": "Supported resource types",
"type": "array",
"uniqueItems": true,
"items": {
"title": "Resource Type",
"description": "Resource type",
"type": "object",
"properties": {
"categoryScheme": {
"title": "Category Scheme",
"description": "Category scheme",
"type": "string"
},
"categoryTerm": {
"title": "Category Term",
"description": "Category term",
"type": "string"
}
},
"additionalProperties": false
}
}
},
"additionalProperties": false
},
"implementationClass": {
"title": "Action Handler Class",
"description": "Implementation class for handling the action input. Needs to implement interface {@link if_aia_action }.",
"type": "string",
"maxLength": 30
},
"inputUiConfigurationClass": {
"title": "Action Input UI Class",
"description": "The ABAP class implementing the server-driven UI input configuration. Needs to implement interface {@link IF_AIA_SD_ACTION_INPUT }.",
"type": "string",
"maxLength": 30
},
"dontShowInRunActionDialog": {
"title": "Run Action Dialog Visibility",
"description": "Flag to indicate that the action shouldn't be shown in the action selection dialog where all available actions are listed.",
"type": "boolean"
}
},
"additionalProperties": false,
"required": [
"formatVersion",
"header",
"actionId",
"title",
"description",
"filters",
"implementationClass",
"inputUiConfigurationClass",
"dontShowInRunActionDialog"
]
}
99 changes: 99 additions & 0 deletions file-formats/saia/type/zif_aff_saia_v1.intf.abap
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
INTERFACE zif_aff_saia_v1
PUBLIC.

TYPES:
"! <p class="shorttext">Resource Type</p>
"! Resource type
BEGIN OF resource_type,

Check failure on line 7 in file-formats/saia/type/zif_aff_saia_v1.intf.abap

View check run for this annotation

abaplint / abaplint

Bad TYPES naming, expected "^TY_.+$", got "resource_type"

https://rules.abaplint.org/types_naming
"! <p class="shorttext">Category Scheme</p>
"! Category scheme
category_scheme TYPE string,
"! <p class="shorttext">Category Term</p>
"! Category term
category_term TYPE string,
END OF resource_type.

"! <p class="shorttext">Development Object Types</p>
"! Development object types
TYPES development_object_types TYPE SORTED TABLE OF wbobjtype WITH UNIQUE DEFAULT KEY.

Check failure on line 18 in file-formats/saia/type/zif_aff_saia_v1.intf.abap

View check run for this annotation

abaplint / abaplint

Bad TYPES naming, expected "^TY_.+$", got "development_object_types"

https://rules.abaplint.org/types_naming

Check failure on line 18 in file-formats/saia/type/zif_aff_saia_v1.intf.abap

View check run for this annotation

abaplint / abaplint

Type "DEVELOPMENT_OBJECT_TYPES" contains unknown: WBOBJTYPE not found, lookup

https://rules.abaplint.org/unknown_types

"! <p class="shorttext">Resource Types</p>
"! Resource types
TYPES resource_types TYPE SORTED TABLE OF resource_type WITH UNIQUE DEFAULT KEY.

Check failure on line 22 in file-formats/saia/type/zif_aff_saia_v1.intf.abap

View check run for this annotation

abaplint / abaplint

Bad TYPES naming, expected "^TY_.+$", got "resource_types"

https://rules.abaplint.org/types_naming

TYPES:

Check failure on line 24 in file-formats/saia/type/zif_aff_saia_v1.intf.abap

View check run for this annotation

abaplint / abaplint

Downport ENUM

https://rules.abaplint.org/downport
"! <p class="shorttext">Number of Focuses Resources</p>
"! Number of focused resources
BEGIN OF ENUM number_of_focused_resources,

Check failure on line 27 in file-formats/saia/type/zif_aff_saia_v1.intf.abap

View check run for this annotation

abaplint / abaplint

Statement does not exist in ABAPv702(or a parser error), "TYPES"

https://rules.abaplint.org/parser_error
"! <p class="shorttext">Exactly One</p>
"! Exactly one
exactly_one,

Check failure on line 30 in file-formats/saia/type/zif_aff_saia_v1.intf.abap

View check run for this annotation

abaplint / abaplint

Bad TYPES naming, expected "^TY_.+$", got "exactly_one"

https://rules.abaplint.org/types_naming
"! <p class="shorttext">At Least One</p>
"! At least one
at_least_one,

Check failure on line 33 in file-formats/saia/type/zif_aff_saia_v1.intf.abap

View check run for this annotation

abaplint / abaplint

Bad TYPES naming, expected "^TY_.+$", got "at_least_one"

https://rules.abaplint.org/types_naming
"! <p class="shorttext">More Than One</p>
"! More than one
more_than_one,

Check failure on line 36 in file-formats/saia/type/zif_aff_saia_v1.intf.abap

View check run for this annotation

abaplint / abaplint

Bad TYPES naming, expected "^TY_.+$", got "more_than_one"

https://rules.abaplint.org/types_naming
END OF ENUM number_of_focused_resources.

Check failure on line 37 in file-formats/saia/type/zif_aff_saia_v1.intf.abap

View check run for this annotation

abaplint / abaplint

Statement does not exist in ABAPv702(or a parser error), "TYPES"

https://rules.abaplint.org/parser_error

TYPES:
"! <p class="shorttext">Action Filter</p>
"! Filtering of action according to specified applicable criteria. If filter is satisfied then the action is available and will be shown.

Check failure on line 41 in file-formats/saia/type/zif_aff_saia_v1.intf.abap

View check run for this annotation

abaplint / abaplint

Reduce line length to max 120, currently 141

https://rules.abaplint.org/line_length
"! $required
BEGIN OF filters,

Check failure on line 43 in file-formats/saia/type/zif_aff_saia_v1.intf.abap

View check run for this annotation

abaplint / abaplint

Bad TYPES naming, expected "^TY_.+$", got "filters"

https://rules.abaplint.org/types_naming

Check failure on line 43 in file-formats/saia/type/zif_aff_saia_v1.intf.abap

View check run for this annotation

abaplint / abaplint

Type "FILTERS" contains unknown: NUMBER_OF_FOCUSED_RESOURCES not found, lookup

https://rules.abaplint.org/unknown_types
"! <p class="shorttext">Number of Focused Resources</p>
"! Number of Focused Resources
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sentence case

number_of_focused_resources TYPE number_of_focused_resources,
"! <p class="shorttext">Supported Development Object Types</p>
"! Supported development object types
supported_dev_object_types TYPE development_object_types,
"! <p class="shorttext">Supported Resource Types</p>
"! Supported resource types
supported_resource_types TYPE resource_types,
END OF filters.

TYPES:
"! <p class="shorttext">ADT IDE Action</p>
"! ADT IDE Action (SAIA) v1
BEGIN OF ty_main,

Check failure on line 58 in file-formats/saia/type/zif_aff_saia_v1.intf.abap

View check run for this annotation

abaplint / abaplint

Type "TY_MAIN" contains unknown: NUMBER_OF_FOCUSED_RESOURCES not found, lookup

https://rules.abaplint.org/unknown_types
"! <p class="shorttext">Format Version</p>
"! Format version
"! $required
format_version TYPE zif_aff_types_v1=>ty_format_version,
"! <p class="shorttext">Header</p>
"! Header
"! $required
header TYPE zif_aff_types_v1=>ty_header_100,
"! <p class="shorttext">Unique Id of the Action</p>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
"! <p class="shorttext">Unique Id of the Action</p>
"! <p class="shorttext">Action ID</p>

should be enough

"! Unique action id - it should be human readable and reveal what the action is supposed to do
"! Action id is case insensitive
"! $required
action_id TYPE string, " length restriction, check how long it should be, su22 variant restrictions???

Check failure on line 71 in file-formats/saia/type/zif_aff_saia_v1.intf.abap

View check run for this annotation

abaplint / abaplint

Do not use end of line comments - move comment to previous row instead

https://rules.abaplint.org/check_comments

Check failure on line 71 in file-formats/saia/type/zif_aff_saia_v1.intf.abap

View check run for this annotation

abaplint / abaplint

Reduce line length to max 120, currently 157

https://rules.abaplint.org/line_length
"! <p class="shorttext">Action Title</p>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here's the same

Suggested change
"! <p class="shorttext">Action Title</p>
"! <p class="shorttext">Title</p>

"! Action title for the action
"! $required
title TYPE string,
"! <p class="shorttext">Action Description</p>
uenal-akkaya marked this conversation as resolved.
Show resolved Hide resolved
"! What is the action doing and how can it be used
"! $required
description TYPE string,
"! new filter mechanis currently under development
"! <p class="shorttext">Action Filter(In development)</p>
uenal-akkaya marked this conversation as resolved.
Show resolved Hide resolved
"! Filter for application of action according to specific object type or object type groups (currently under development).

Check failure on line 82 in file-formats/saia/type/zif_aff_saia_v1.intf.abap

View check run for this annotation

abaplint / abaplint

Reduce line length to max 120, currently 128

https://rules.abaplint.org/line_length
"! $required
filters TYPE filters, " -> all filters stored in a string on database

Check failure on line 84 in file-formats/saia/type/zif_aff_saia_v1.intf.abap

View check run for this annotation

abaplint / abaplint

Do not use end of line comments - move comment to previous row instead

https://rules.abaplint.org/check_comments

Check failure on line 84 in file-formats/saia/type/zif_aff_saia_v1.intf.abap

View check run for this annotation

abaplint / abaplint

Reduce line length to max 120, currently 125

https://rules.abaplint.org/line_length
"! <p class="shorttext">Action Handler Class</p>
"! Implementation class for handling the action input. Needs to implement interface {@link if_aia_action }.
"! $required
implementation_class TYPE seoclsname,
"! <p class="shorttext">Action Input UI Class</p>
"! The ABAP class implementing the server-driven UI input configuration. Needs to implement interface {@link IF_AIA_SD_ACTION_INPUT }.

Check failure on line 90 in file-formats/saia/type/zif_aff_saia_v1.intf.abap

View check run for this annotation

abaplint / abaplint

Reduce line length to max 120, currently 140

https://rules.abaplint.org/line_length
"! $required
input_ui_configuration_class TYPE seoclsname,
"! <p class="shorttext">Run Action Dialog Visibility</p>
"! Flag to indicate that the action shouldn't be shown in the action selection dialog where all available actions are listed.

Check failure on line 94 in file-formats/saia/type/zif_aff_saia_v1.intf.abap

View check run for this annotation

abaplint / abaplint

Reduce line length to max 120, currently 131

https://rules.abaplint.org/line_length
"! $required
dont_show_in_run_action_dialog TYPE abap_bool, " put in a structure: options -> all options stored in a string in database

Check failure on line 96 in file-formats/saia/type/zif_aff_saia_v1.intf.abap

View check run for this annotation

abaplint / abaplint

Do not use end of line comments - move comment to previous row instead

https://rules.abaplint.org/check_comments

Check failure on line 96 in file-formats/saia/type/zif_aff_saia_v1.intf.abap

View check run for this annotation

abaplint / abaplint

Reduce line length to max 120, currently 153

https://rules.abaplint.org/line_length
END OF ty_main.

ENDINTERFACE.
7 changes: 7 additions & 0 deletions file-formats/saia/type/zif_aff_saia_v1.intf.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"formatVersion": "1",
"header": {
"description": "types for abap file format of ide actions",
"originalLanguage": "en"
}
}
Loading