/* * Copyright 2014 Red Hat, Inc. and/or its affiliates. * * 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 org.guvnor.messageconsole.events; import org.guvnor.common.services.shared.message.Level; import org.jboss.errai.common.client.api.annotations.Portable; import org.uberfire.backend.vfs.Path; @Portable public class SystemMessage { private String userId; private String messageType; private long id; private Level level; private Path path; private int line; private int column; private String text; public SystemMessage() { //needed for marshalling. } public String getMessageType() { return messageType; } public void setMessageType( String messageType ) { this.messageType = messageType; } public String getUserId() { return userId; } public void setUserId( String userId ) { this.userId = userId; } public long getId() { return id; } public void setId( long id ) { this.id = id; } public Level getLevel() { return level; } public void setLevel( Level level ) { this.level = level; } public Path getPath() { return path; } public void setPath( Path path ) { this.path = path; } public int getLine() { return line; } public void setLine( int line ) { this.line = line; } public int getColumn() { return column; } public void setColumn( int column ) { this.column = column; } public String getText() { return text; } public void setText( String text ) { this.text = text; } /** * Check whether two Messages are equivalent. Properties "id", and userId are not used in the comparison as * it is inconsistent for identical error messages generated in a different sequence during * validation by the underlying KieBuilder. */ @Override public boolean equals( Object o ) { if ( this == o ) { return true; } if ( !( o instanceof SystemMessage ) ) { return false; } SystemMessage that = (SystemMessage) o; if ( messageType != null ? !messageType.equals( that.messageType ) : that.messageType != null ) { return false; } if ( column != that.column ) { return false; } if ( line != that.line ) { return false; } if ( level != that.level ) { return false; } if ( path != null ? !path.equals( that.path ) : that.path != null ) { return false; } if ( text != null ? !text.equals( that.text ) : that.text != null ) { return false; } return true; } /** * HashCode implementation fo Messages. Properties "id" and userId are not used in the generation as * it is inconsistent for identical error messages generated in a different sequence during * validation by the underlying KieBuilder. */ @Override public int hashCode() { int result = level != null ? level.hashCode() : 0; result = ~~result; result = 31 * result + ( messageType != null ? messageType.hashCode() : 0 ); result = ~~result; result = 31 * result + ( path != null ? path.hashCode() : 0 ); result = ~~result; result = 31 * result + line; result = ~~result; result = 31 * result + column; result = ~~result; result = 31 * result + ( text != null ? text.hashCode() : 0 ); result = ~~result; return result; } }