From eae2baefcc285883a15ff7793e0c6742aaf4edf0 Mon Sep 17 00:00:00 2001 From: Huang, Hua Date: Fri, 14 Aug 2015 17:20:30 +0800 Subject: [PATCH] Fix KYLIN-949 by adding hashCode() and equals() method in PrepareSqlRequest --- .../kylin/rest/request/PrepareSqlRequest.java | 185 ++++++++++++++------- 1 file changed, 121 insertions(+), 64 deletions(-) diff --git a/server/src/main/java/org/apache/kylin/rest/request/PrepareSqlRequest.java b/server/src/main/java/org/apache/kylin/rest/request/PrepareSqlRequest.java index 6d694f7..d8ae0f9 100644 --- a/server/src/main/java/org/apache/kylin/rest/request/PrepareSqlRequest.java +++ b/server/src/main/java/org/apache/kylin/rest/request/PrepareSqlRequest.java @@ -1,64 +1,121 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you 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.apache.kylin.rest.request; - -/** - * @author xduo - * - */ -public class PrepareSqlRequest extends SQLRequest { - - public PrepareSqlRequest() { - super(); - } - - private StateParam[] params; - - public StateParam[] getParams() { - return params; - } - - public void setParams(StateParam[] params) { - this.params = params; - } - - public static class StateParam { - private String className; - private String value; - - public StateParam() { - } - - public String getClassName() { - return className; - } - - public void setClassName(String className) { - this.className = className; - } - - public String getValue() { - return value; - } - - public void setValue(String value) { - this.value = value; - } - } -} +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you 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.apache.kylin.rest.request; + +import java.util.Arrays; + +/** + * @author xduo + * + */ +public class PrepareSqlRequest extends SQLRequest { + + public PrepareSqlRequest() { + super(); + } + + private StateParam[] params; + + public StateParam[] getParams() { + return params; + } + + public void setParams(StateParam[] params) { + this.params = params; + } + + public static class StateParam { + private String className; + private String value; + + public StateParam() { + } + + public String getClassName() { + return className; + } + + public void setClassName(String className) { + this.className = className; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((className == null) ? 0 : className.hashCode()); + result = prime * result + ((value == null) ? 0 : value.hashCode()); + return result; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + StateParam other = (StateParam)obj; + if (className == null) { + if (other.className != null) + return false; + } else if (!className.equals(other.className)) + return false; + if (value == null) { + if (other.value != null) + return false; + } else if (!value.equals(other.value)) + return false; + return true; + } + } + + @Override + public int hashCode() { + final int prime = 31; + int result = super.hashCode(); + result = prime * result + ((params == null) ? 0 : Arrays.hashCode(params)); + return result; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + if (!super.equals(obj)) + return false; + PrepareSqlRequest other = (PrepareSqlRequest)obj; + if (!Arrays.equals(params, other.params)) + return false; + return true; + } +} -- 1.8.3.1