/*
 * Copyright 2019 EPAM Systems
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.epam.ta.reportportal.ws.model.log;

import com.epam.ta.reportportal.ws.model.issue.Issue;
import com.fasterxml.jackson.annotation.JsonInclude;

import java.util.List;
import java.util.Set;

/**
 * @author <a href="mailto:ihar_kahadouski@epam.com">Ihar Kahadouski</a>
 */
@JsonInclude(JsonInclude.Include.NON_NULL)
public class SearchLogRs {

	private Long launchId;

	private Long itemId;

	private String itemName;

	private String path;

	private double duration;

	private String status;

	private Issue issue;

	private Set<String> patternTemplates;

	private List<String> logMessages;

	public Long getLaunchId() {
		return launchId;
	}

	public void setLaunchId(Long launchId) {
		this.launchId = launchId;
	}

	public Set<String> getPatternTemplates() {
		return patternTemplates;
	}

	public void setPatternTemplates(Set<String> patternTemplates) {
		this.patternTemplates = patternTemplates;
	}

	public String getPath() {
		return path;
	}

	public void setPath(String path) {
		this.path = path;
	}

	public Long getItemId() {
		return itemId;
	}

	public void setItemId(Long itemId) {
		this.itemId = itemId;
	}

	public String getItemName() {
		return itemName;
	}

	public void setItemName(String itemName) {
		this.itemName = itemName;
	}

	public double getDuration() {
		return duration;
	}

	public void setDuration(double duration) {
		this.duration = duration;
	}

	public String getStatus() {
		return status;
	}

	public void setStatus(String status) {
		this.status = status;
	}

	public Issue getIssue() {
		return issue;
	}

	public void setIssue(Issue issue) {
		this.issue = issue;
	}

	public List<String> getLogMessages() {
		return logMessages;
	}

	public void setLogMessages(List<String> logMessages) {
		this.logMessages = logMessages;
	}

	@Override
	public String toString() {
		final StringBuilder sb = new StringBuilder("SearchLogRs{");
		sb.append("launchId=").append(launchId);
		sb.append(", itemId=").append(itemId);
		sb.append(", itemName='").append(itemName).append('\'');
		sb.append(", path='").append(path).append('\'');
		sb.append(", duration=").append(duration);
		sb.append(", status='").append(status).append('\'');
		sb.append(", issue=").append(issue);
		sb.append(", patternTemplates=").append(patternTemplates);
		sb.append(", logMessages=").append(logMessages);
		sb.append('}');
		return sb.toString();
	}
}

@@ -765,16 +765,38 @@
 l.List;%0A
+import java.util.Map;%0A
 import j
@@ -809,16 +809,16 @@
 il.Set;%0A
-
 %0A/**%0A * 
@@ -983,24 +983,53 @@
  launchId;%0A%0A
+%09private String launchName;%0A%0A
 %09private Lon
@@ -1089,16 +1089,55 @@
  path;%0A%0A
+%09private Map%3CLong, String%3E pathNames;%0A%0A
 %09private
@@ -1239,24 +1239,24 @@
 Templates;%0A%0A
-
 %09private Lis
@@ -1279,16 +1279,316 @@
 sages;%0A%0A
+%09public String getLaunchName() %7B%0A%09%09return launchName;%0A%09%7D%0A%0A%09public void setLaunchName(String launchName) %7B%0A%09%09this.launchName = launchName;%0A%09%7D%0A%0A%09public Map%3CLong, String%3E getPathNames() %7B%0A%09%09return pathNames;%0A%09%7D%0A%0A%09public void setPathNames(Map%3CLong, String%3E pathNames) %7B%0A%09%09this.pathNames = pathNames;%0A%09%7D%0A%0A
 %09public 
@@ -2901,24 +2901,87 @@
 (launchId);%0A
+%09%09sb.append(%22, launchName='%22).append(launchName).append('%5C'');%0A
 %09%09sb.append(
@@ -3111,32 +3111,79 @@
 ).append('%5C'');%0A
+%09%09sb.append(%22, pathNames=%22).append(pathNames);%0A
 %09%09sb.append(%22, d

add launch name and path names to search log response