Merged in feature/fix_sonar_and_lifecycle (pull request #345)

Feature/fix sonar and lifecycle
This commit is contained in:
Eduard Heimbuch
2019-11-01 09:13:35 +00:00
7 changed files with 65 additions and 20 deletions

16
pom.xml
View File

@@ -398,6 +398,14 @@
<version>1.1.1</version>
</dependency>
<!-- utils -->
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.13</version>
</dependency>
</dependencies>
</dependencyManagement>
@@ -826,7 +834,7 @@
<resteasy.version>3.6.2.Final</resteasy.version>
<jersey-client.version>1.19.4</jersey-client.version>
<enunciate.version>2.11.1</enunciate.version>
<jackson.version>2.9.8</jackson.version>
<jackson.version>2.10.0</jackson.version>
<guice.version>4.0</guice.version>
<jaxb.version>2.3.0</jaxb.version>
@@ -834,12 +842,12 @@
<legman.version>1.5.1</legman.version>
<!-- webserver -->
<jetty.version>9.4.14.v20181114</jetty.version>
<jetty.maven.version>9.4.14.v20181114</jetty.maven.version>
<jetty.version>9.4.22.v20191022</jetty.version>
<jetty.maven.version>9.4.22.v20191022</jetty.maven.version>
<!-- security libraries -->
<ssp.version>1.2.0</ssp.version>
<shiro.version>1.4.0</shiro.version>
<shiro.version>1.4.1</shiro.version>
<!-- repository libraries -->
<jgit.version>v5.4.0.201906121030-r-scm2</jgit.version>

View File

@@ -0,0 +1,25 @@
import { chooseLocale, supportedLocales } from "./DateFromNow";
describe("test choose locale", () => {
it("should choose de", () => {
const locale = chooseLocale("de_DE", ["de", "en"]);
expect(locale).toBe(supportedLocales.de);
});
it("should choose de, even without language array", () => {
const locale = chooseLocale("de", []);
expect(locale).toBe(supportedLocales.de);
});
it("should choose es", () => {
const locale = chooseLocale("de", ["af", "be", "es"]);
expect(locale).toBe(supportedLocales.es);
});
it("should fallback en", () => {
const locale = chooseLocale("af", ["af", "be"]);
expect(locale).toBe(supportedLocales.en);
});
});

View File

@@ -10,8 +10,9 @@ type LocaleMap = {
type DateInput = Date | string;
const supportedLocales: LocaleMap = {
export const supportedLocales: LocaleMap = {
enUS,
en: enUS,
de,
es
};
@@ -40,14 +41,26 @@ const DateElement = styled.time`
cursor: help;
`;
export const chooseLocale = (language: string, languages?: string[]) => {
for (const lng of languages || []) {
const locale = supportedLocales[lng];
if (locale) {
return locale;
}
}
const locale = supportedLocales[language];
if (locale) {
return locale;
}
return enUS;
};
class DateFromNow extends React.Component<Props> {
getLocale = (): Locale => {
const { i18n } = this.props;
const locale = supportedLocales[i18n.language];
if (!locale) {
return enUS;
}
return locale;
return chooseLocale(i18n.language, i18n.languages);
};
createOptions = () => {
@@ -64,7 +77,7 @@ class DateFromNow extends React.Component<Props> {
toDate = (value: DateInput): Date => {
if (value instanceof Date) {
return value as Date;
return value;
}
return parseISO(value);
};

View File

@@ -1,4 +1,4 @@
import * as React from "react";
import React, { ReactNode } from "react";
import { apiClient, Loading } from "@scm-manager/ui-components";
import { getUiPluginsLink } from "../modules/indexResource";
import { connect } from "react-redux";
@@ -6,7 +6,7 @@ import loadBundle from "./loadBundle";
type Props = {
loaded: boolean;
children: React.Node;
children: ReactNode;
link: string;
callback: () => void;
};
@@ -55,7 +55,7 @@ class PluginLoader extends React.Component<Props, State> {
});
const promises = [];
const sortedPlugins = plugins.sort(comparePluginsByName);
const sortedPlugins = [...plugins].sort(comparePluginsByName);
for (const plugin of sortedPlugins) {
promises.push(this.loadPlugin(plugin));
}
@@ -96,7 +96,8 @@ const comparePluginsByName = (a: Plugin, b: Plugin) => {
}
return 0;
};
const mapStateToProps = state => {
const mapStateToProps = (state: any) => {
const link = getUiPluginsLink(state);
return {
link

View File

@@ -7,8 +7,6 @@ import { urls } from "@scm-manager/ui-components";
const loadPath = urls.withContextPath("/locales/{{lng}}/{{ns}}.json");
// TODO load locales for moment
i18n
.use(Backend)
.use(LanguageDetector)

View File

@@ -87,7 +87,8 @@ class FileTree extends React.Component<Props> {
};
if (tree._embedded && tree._embedded.children) {
files.push(...tree._embedded.children.sort(compareFiles));
const children = [...tree._embedded.children].sort(compareFiles);
files.push(...children);
}
if (files && files.length > 0) {

View File

@@ -235,7 +235,6 @@
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.9</version>
</dependency>
<dependency>
@@ -273,7 +272,7 @@
<dependency>
<groupId>org.apache.tika</groupId>
<artifactId>tika-core</artifactId>
<version>1.20</version>
<version>1.22</version>
</dependency>
<!-- class loader leak prevention -->