3030import com .epam .reportportal .extension .jira .command .PostTicketCommand ;
3131import com .epam .reportportal .extension .jira .command .RetrieveCreationParamsCommand ;
3232import com .epam .reportportal .extension .jira .command .RetrieveUpdateParamsCommand ;
33+ import com .epam .reportportal .extension .jira .command .TestConnectionCommand ;
3334import com .epam .reportportal .extension .jira .command .UserSearchCommand ;
34- import com .epam .reportportal .extension .jira .command .atlassian .CloudJiraClientProviderExtended ;
35- import com .epam .reportportal .extension .jira .command .connection .TestConnectionCommand ;
3635import com .epam .reportportal .extension .jira .command .utils .CloudJiraClientProvider ;
3736import com .epam .reportportal .extension .jira .command .utils .JIRATicketDescriptionService ;
3837import com .epam .reportportal .extension .jira .event .launch .StartLaunchEventListener ;
5251import com .fasterxml .jackson .databind .DeserializationFeature ;
5352import com .fasterxml .jackson .databind .MapperFeature ;
5453import com .fasterxml .jackson .databind .ObjectMapper ;
54+ import com .fasterxml .jackson .databind .SerializationFeature ;
5555import com .fasterxml .jackson .databind .introspect .JacksonAnnotationIntrospector ;
5656import com .fasterxml .jackson .datatype .jsr310 .JavaTimeModule ;
57+ import jakarta .annotation .PostConstruct ;
5758import java .util .ArrayList ;
5859import java .util .HashMap ;
5960import java .util .List ;
6061import java .util .Map ;
6162import java .util .function .Supplier ;
6263import java .util .stream .Collectors ;
63- import javax .annotation .PostConstruct ;
6464import org .jasypt .util .text .BasicTextEncryptor ;
6565import org .pf4j .Extension ;
6666import org .springframework .beans .factory .DisposableBean ;
7676 */
7777@ Extension
7878public class CloudJiraExtension implements ReportPortalExtensionPoint , DisposableBean {
79- private static final String DOCUMENTATION_LINK_FIELD = "documentationLink" ;
80- private static final String DOCUMENTATION_LINK = "https://reportportal.io/docs/plugins/AtlassianJiraCloud" ;
81- public static final String BINARY_DATA_PROPERTIES_FILE_ID = "binary-data.properties" ;
79+
80+ private static final String DOCUMENTATION_LINK_FIELD = "documentationLink" ;
81+ private static final String DOCUMENTATION_LINK = "https://reportportal.io/docs/plugins/AtlassianJiraCloud" ;
82+ public static final String BINARY_DATA_PROPERTIES_FILE_ID = "binary-data.properties" ;
8283
8384 private static final String PLUGIN_ID = "JIRA Cloud" ;
8485
86+ private static final String NAME_FIELD = "name" ;
87+
88+ private static final String PLUGIN_NAME = "Jira Cloud" ;
89+
8590 private final String resourcesDir ;
8691
8792 private final Supplier <Map <String , PluginCommand <?>>> pluginCommandMapping =
@@ -96,7 +101,6 @@ public class CloudJiraExtension implements ReportPortalExtensionPoint, Disposabl
96101 private final Supplier <ApplicationListener <StartLaunchEvent >> startLaunchEventListenerSupplier ;
97102
98103 private final Supplier <CloudJiraClientProvider > cloudJiraClientProviderSupplier ;
99- private final Supplier <CloudJiraClientProvider > cloudJiraClientProviderExtendedSupplier ;
100104
101105 private final Supplier <JIRATicketDescriptionService > jiraTicketDescriptionServiceSupplier ;
102106
@@ -131,9 +135,8 @@ public class CloudJiraExtension implements ReportPortalExtensionPoint, Disposabl
131135 private DataStoreService dataStoreService ;
132136
133137 public CloudJiraExtension (Map <String , Object > initParams ) {
134- resourcesDir =
135- IntegrationTypeProperties .RESOURCES_DIRECTORY .getValue (initParams ).map (String ::valueOf )
136- .orElse ("" );
138+ resourcesDir = IntegrationTypeProperties .RESOURCES_DIRECTORY .getValue (initParams ).map (String ::valueOf )
139+ .orElse ("" );
137140 objectMapper = configureObjectMapper ();
138141
139142 pluginLoadedListenerSupplier = new MemoizingSupplier <>(() -> new PluginEventListener (
@@ -145,9 +148,7 @@ PLUGIN_ID, new PluginEventHandlerFactory(integrationTypeRepository, integrationR
145148
146149 requestEntityConverter = new RequestEntityConverter (objectMapper );
147150
148- cloudJiraClientProviderSupplier =
149- new MemoizingSupplier <>(() -> new CloudJiraClientProvider (textEncryptor ));
150- cloudJiraClientProviderExtendedSupplier = new MemoizingSupplier <>(() -> new CloudJiraClientProviderExtended (textEncryptor ));
151+ cloudJiraClientProviderSupplier = new MemoizingSupplier <>(() -> new CloudJiraClientProvider (textEncryptor ));
151152
152153 jiraTicketDescriptionServiceSupplier = new MemoizingSupplier <>(
153154 () -> new JIRATicketDescriptionService (logRepository , testItemRepository ));
@@ -158,6 +159,7 @@ protected ObjectMapper configureObjectMapper() {
158159 om .setAnnotationIntrospector (new JacksonAnnotationIntrospector ());
159160 om .configure (MapperFeature .DEFAULT_VIEW_INCLUSION , true );
160161 om .configure (DeserializationFeature .FAIL_ON_UNKNOWN_PROPERTIES , false );
162+ om .configure (SerializationFeature .WRITE_DATES_AS_TIMESTAMPS , false );
161163 om .registerModule (new JavaTimeModule ());
162164 return om ;
163165 }
@@ -167,6 +169,7 @@ protected ObjectMapper configureObjectMapper() {
167169 Map <String , Object > params = new HashMap <>();
168170 params .put (ALLOWED_COMMANDS , new ArrayList <>(pluginCommandMapping .get ().keySet ()));
169171 params .put (DOCUMENTATION_LINK_FIELD , DOCUMENTATION_LINK );
172+ params .put (NAME_FIELD , PLUGIN_NAME );
170173 params .put (COMMON_COMMANDS , new ArrayList <>(commonPluginCommandMapping .get ().keySet ()));
171174 return params ;
172175 }
@@ -224,19 +227,15 @@ private Map<String, CommonPluginCommand<?>> getCommonCommands() {
224227 return commands .stream ().collect (Collectors .toMap (NamedPluginCommand ::getName , it -> it ));
225228 }
226229
227- private Map <String , PluginCommand <?>> getCommands () {
228- List <PluginCommand <?>> commands = new ArrayList <>();
229- commands .add (new UserSearchCommand (projectRepository , cloudJiraClientProviderSupplier .get ()));
230- commands .add (new TestConnectionCommand (cloudJiraClientProviderSupplier .get ()));
231- commands .add (new GetIssueFieldsCommand (projectRepository , cloudJiraClientProviderExtendedSupplier .get ()));
232- commands .add (new GetIssueTypesCommand (projectRepository , cloudJiraClientProviderSupplier .get ()));
233- commands .add (new PostTicketCommand (projectRepository ,
234- requestEntityConverter ,
235- cloudJiraClientProviderExtendedSupplier .get (),
236- jiraTicketDescriptionServiceSupplier .get (),
237- dataStoreService
238- ));
239- return commands .stream ().collect (Collectors .toMap (NamedPluginCommand ::getName , it -> it ));
230+ private Map <String , PluginCommand <?>> getCommands () {
231+ List <PluginCommand <?>> commands = new ArrayList <>();
232+ commands .add (new UserSearchCommand (projectRepository , cloudJiraClientProviderSupplier .get ()));
233+ commands .add (new TestConnectionCommand (cloudJiraClientProviderSupplier .get ()));
234+ commands .add (new GetIssueFieldsCommand (projectRepository , cloudJiraClientProviderSupplier .get ()));
235+ commands .add (new GetIssueTypesCommand (projectRepository , cloudJiraClientProviderSupplier .get ()));
236+ commands .add (new PostTicketCommand (projectRepository , requestEntityConverter , cloudJiraClientProviderSupplier .get (),
237+ jiraTicketDescriptionServiceSupplier .get (), dataStoreService ));
238+ return commands .stream ().collect (Collectors .toMap (NamedPluginCommand ::getName , it -> it ));
240239
241240 }
242241}
0 commit comments