These changes complement #11 where locally saved e-mail address can be "name.surname@example.com", but e-mail address in LDAP can be "Name.Surname@example.com". They are treated as two different e-mail addresses and user gets 2 invitation notification e-mails. We change ThreePid model's address property to convert all info to lowercase and [be915ae
](be915aed94
) can do it's job better. The downside of this is that all medium addresses get converted to lowercase, not only e-mails. For now I can't think of any examples where medium values need to stay case sensitive.
62 lines
1.6 KiB
Java
62 lines
1.6 KiB
Java
/*
|
|
* matrix-java-sdk - Matrix Client SDK for Java
|
|
* Copyright (C) 2017 Kamax Sarl
|
|
*
|
|
* https://www.kamax.io/
|
|
*
|
|
* This program is free software: you can redistribute it and/or modify
|
|
* it under the terms of the GNU Affero General Public License as
|
|
* published by the Free Software Foundation, either version 3 of the
|
|
* License, or (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU Affero General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Affero General Public License
|
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
package io.kamax.matrix;
|
|
|
|
public class ThreePid implements _ThreePid {
|
|
|
|
private String medium;
|
|
private String address;
|
|
|
|
public ThreePid(String medium, String address) {
|
|
this.medium = medium;
|
|
this.address = address.toLowerCase();
|
|
}
|
|
|
|
@Override
|
|
public String getMedium() {
|
|
return medium;
|
|
}
|
|
|
|
@Override
|
|
public String getAddress() {
|
|
return address;
|
|
}
|
|
|
|
@Override
|
|
public boolean equals(Object o) {
|
|
if (this == o) return true;
|
|
if (o == null || getClass() != o.getClass()) return false;
|
|
|
|
ThreePid threePid = (ThreePid) o;
|
|
|
|
if (!medium.equals(threePid.medium)) return false;
|
|
return address.equals(threePid.address);
|
|
}
|
|
|
|
@Override
|
|
public int hashCode() {
|
|
int result = medium.hashCode();
|
|
result = 31 * result + address.hashCode();
|
|
return result;
|
|
}
|
|
|
|
}
|