PageParameters.hashCode is inconsistent with equals for named parameters in a different order
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 78/100
Línea de trabajo
Busca PageParameters.equals y PageParameters.hashCode en el código fuente Java y luego lee su implementación y las pruebas cercanas. Añade o actualiza una prueba para parámetros con nombre iguales insertados en distinto orden y verifica que sus códigos hash coincidan; el issue describe la suma de los códigos hash de los pares como una posible opción.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
PageParameters.equals and PageParameters.hashCode disagree about the named parameters, so two PageParameters that are equal can have different hash codes. That breaks the contract of Object.hashCode.
equals compares the named parameters regardless of their order: the lists must hold the same pairs, each the same number of times. hashCode uses namedParameters.hashCode(), the order-sensitive hash of the List<NamedPair>.
PageParameters a = new PageParameters().add("a", "1").add("b", "2");
PageParameters b = new PageParameters().add("b", "2").add("a", "1");
a.equals(b); // true
a.hashCode() == b.hashCode(); // false
Anything that puts PageParameters in a hash-based collection, or in a key that includes them, can treat these two as different. The fix is to make hashCode order-insensitive for the named parameters, for example by summing the hash codes of the pairs.
- Lenguaje dominante
- Java
- Estrellas
- 799
- Forks
- 420
- Merge medio
- 18 h 37 min
- PR fusionados (30 d)
- 140
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de apache/wicket
-
Document and enforce pull request review guidelinesPosiblemente ocupada @dashorst la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
Los mantenedores suelen responder en 1 día
-
COOP and COEP exemptions compare with the context path, so page exemptions never matchPosiblemente ocupada @asvanberg la tomó hace 18 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 67/100
apache/wicket#1661 · 1 comentario · 1 reacción ·
Los mantenedores suelen responder en 1 día
-
The CSP report-uri is lost in development mode because strict() clears itQuizá libre de nuevo @VelpulaGangavardhan la tomó hace 23 días y no hay ningún pull request abierto. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
apache/wicket#1660 · 5 comentarios ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
Los mantenedores suelen responder en 1 día
Todos los issues de apache/wicket
Issues similares
-
`Time.at(t, in: nil)` returns UTC instead of the local time (or the time zone of `t`), unlike CRubyAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
hermes-queue
Dificultad 1/5 Menos de una hora Aptitud para principiantes 72/100
chrisalunlloyd2-sudo/mindpalace#349 ·
Los mantenedores suelen responder en 1 día
-
Retry-After parser accepts invalid delay-seconds valuesPosiblemente ocupada @Dhruvraj-Rana la tomó hoy. AbiertoBug
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
open-telemetry/opentelemetry-java#9018 ·
Los mantenedores suelen responder en 2 días
-
bug priority: medium Review effort [1-5]: 2 status: needs-triage type: bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
carlos-emr/carlos#5818 ·
Los mantenedores suelen responder en 1 día
-
bug good first issue help wanted tooling
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
appmonster007/kmip-adapter#100 ·