Skip to content

Commit

Permalink
Merge branch 'release/2021.15.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
sfeilmeier committed Sep 9, 2021
2 parents 56d037e + 0f9c2b9 commit bc282db
Show file tree
Hide file tree
Showing 397 changed files with 15,074 additions and 5,054 deletions.
5 changes: 4 additions & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -56,4 +56,7 @@ jobs:
run: git diff --exit-code io.openems.edge.application/EdgeApp.bndrun

- name: Build OpenEMS UI
run: ./gradlew buildUiForEdge --continue
run: |
cd ui
npm ci --prefer-offline --cache ~/.npm
node_modules/@angular/cli/bin/ng build -c "openems,openems-edge-prod,prod"
8 changes: 7 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -218,4 +218,10 @@ gradle-app.setting
# End of https://www.gitignore.io/api/java,maven,gradle,angular,eclipse,node

# docs
/doc/build/package-lock.json
/doc/build/package-lock.json

# tools (docker) build Directories
/tools/docker/openems-backend/build
/tools/docker/openems-edge/build
/tools/docker/openems-ui/build
.atom-build.yml
27 changes: 12 additions & 15 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,23 @@ tasks.named('wrapper') {
jarFile = rootProject.file('.gradle-wrapper/gradle-wrapper.jar')
}

// UTF-8
tasks.withType(JavaCompile) {
options.encoding = 'UTF-8'
}

/*
* Build OpenEMS Edge and Backend Components
*/
task buildComponents() {
subprojects.each { proj ->
if (proj.tasks.findAll { it.name == 'compileJava' }) {
dependsOn(proj.compileJava)
proj.test {
testLogging {
events "passed", "skipped", "failed", "standardOut", "standardError"
}
}
}
}
}
Expand Down Expand Up @@ -47,20 +57,6 @@ task buildBackend() {
}
}

/*
* Build OpenEMS UI for OpenEMS Backend
*/
task buildUiForBackend() {
dependsOn ":ui:buildForBackend"
}

/*
* Build OpenEMS UI for OpenEMS Edge
*/
task buildUiForEdge() {
dependsOn ":ui:buildForEdge"
}

/*
* Javadoc
*/
Expand All @@ -69,6 +65,7 @@ task buildAggregatedJavadocs(type: Javadoc, description: 'Generate javadocs from
title = "OpenEMS Javadoc"
subprojects.each { proj ->
proj.tasks.withType(Javadoc).each { javadocTask ->
javadocTask.options.encoding = 'UTF-8'
options.addStringOption('Xdoclint:none', '-quiet')
source += javadocTask.source
classpath += javadocTask.classpath
Expand Down Expand Up @@ -158,4 +155,4 @@ task buildAntoraDocs(dependsOn: copyBundleReadmes) {
into "${buildDir}/www"
}
}
}
}
2 changes: 1 addition & 1 deletion cnf/build.bnd
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ buildpath: \
osgi.cmpn;version='7.0.0',\
slf4j.api;version='1.7.32',\
com.google.guava;version='30.1.1',\
com.google.gson;version='2.8.7'
com.google.gson;version='2.8.8'

testpath: \
slf4j.simple,\
Expand Down
18 changes: 9 additions & 9 deletions cnf/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.7</version>
<version>2.8.8</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
Expand Down Expand Up @@ -100,13 +100,13 @@
<!-- Used by io.openems.edge.evcs.ocpp. -->
<groupId>eu.chargetime.ocpp</groupId>
<artifactId>OCPP-J</artifactId>
<version>1.0</version>
<version>1.0.1</version>
</dependency>
<dependency>
<!-- Used by io.openems.edge.evcs.ocpp. -->
<groupId>eu.chargetime.ocpp</groupId>
<artifactId>v1_6</artifactId>
<version>1.0</version>
<version>1.0.1</version>
</dependency>
<!-- info -->
<dependency>
Expand All @@ -125,7 +125,7 @@
<!-- Used by SDNotify -->
<groupId>net.java.dev.jna</groupId>
<artifactId>jna</artifactId>
<version>5.8.0</version>
<version>5.9.0</version>
</dependency>
<!-- org -->
<dependency>
Expand Down Expand Up @@ -165,7 +165,7 @@
<!-- Changelog: https://github.com/apache/felix-dev/commits/master/http -->
<groupId>org.apache.felix</groupId>
<artifactId>org.apache.felix.http.jetty</artifactId>
<version>4.1.10</version>
<version>4.1.12</version>
</dependency>
<dependency>
<!-- Apache Felix Metatype Service -->
Expand All @@ -186,7 +186,7 @@
<!-- Changelog: https://github.com/apache/felix-dev/blob/master/webconsole/changelog.txt -->
<groupId>org.apache.felix</groupId>
<artifactId>org.apache.felix.webconsole</artifactId>
<version>4.6.2</version>
<version>4.7.0</version>
</dependency>
<dependency>
<groupId>org.apache.felix</groupId>
Expand Down Expand Up @@ -228,7 +228,7 @@
<!-- HTML processing -->
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.10.2</version>
<version>1.14.2</version>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
Expand All @@ -248,12 +248,12 @@
<dependency>
<groupId>org.ops4j.pax.logging</groupId>
<artifactId>pax-logging-api</artifactId>
<version>2.0.9</version>
<version>2.0.10</version>
</dependency>
<dependency>
<groupId>org.ops4j.pax.logging</groupId>
<artifactId>pax-logging-log4j1</artifactId>
<version>2.0.9</version>
<version>2.0.10</version>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
Expand Down
2 changes: 1 addition & 1 deletion doc/modules/ROOT/pages/single_document.adoc
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
= OpenEMS - Open Energy Management System
ifndef::toc[]
(c) 2020 OpenEMS Association e.V.
Version 2021.14.0
Version 2021.15.0
:sectnums:
:sectnumlevels: 4
:toc:
Expand Down
10 changes: 5 additions & 5 deletions io.openems.backend.application/BackendApp.bndrun
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@

-runbundles: \
Java-WebSocket;version='[1.5.2,1.5.3)',\
com.google.gson;version='[2.8.7,2.8.8)',\
com.google.gson;version='[2.8.8,2.8.9)',\
com.google.guava;version='[30.1.1,30.1.2)',\
com.google.guava.failureaccess;version='[1.0.1,1.0.2)',\
com.zaxxer.HikariCP;version='[4.0.3,4.0.4)',\
Expand All @@ -63,18 +63,18 @@
org.apache.commons.commons-fileupload;version='[1.4.0,1.4.1)',\
org.apache.commons.commons-io;version='[2.8.0,2.8.1)',\
org.apache.felix.configadmin;version='[1.9.20,1.9.21)',\
org.apache.felix.http.jetty;version='[4.1.10,4.1.11)',\
org.apache.felix.http.jetty;version='[4.1.12,4.1.13)',\
org.apache.felix.http.servlet-api;version='[1.1.2,1.1.3)',\
org.apache.felix.inventory;version='[1.1.0,1.1.1)',\
org.apache.felix.metatype;version='[1.2.4,1.2.5)',\
org.apache.felix.scr;version='[2.1.20,2.1.21)',\
org.apache.felix.webconsole;version='[4.6.2,4.6.3)',\
org.apache.felix.webconsole;version='[4.7.0,4.7.1)',\
org.apache.felix.webconsole.plugins.ds;version='[2.1.0,2.1.1)',\
org.apache.servicemix.bundles.ws-commons-util;version='[1.0.2,1.0.3)',\
org.apache.servicemix.bundles.xmlrpc-client;version='[3.1.3,3.1.4)',\
org.jsr-305;version='[3.0.2,3.0.3)',\
org.ops4j.pax.logging.pax-logging-api;version='[2.0.9,2.0.10)',\
org.ops4j.pax.logging.pax-logging-log4j1;version='[2.0.9,2.0.10)',\
org.ops4j.pax.logging.pax-logging-api;version='[2.0.10,2.0.11)',\
org.ops4j.pax.logging.pax-logging-log4j1;version='[2.0.10,2.0.11)',\
org.osgi.service.jdbc;version='[1.0.0,1.0.1)',\
org.osgi.util.function;version='[1.1.0,1.1.1)',\
org.osgi.util.promise;version='[1.1.1,1.1.2)',\
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
import io.openems.common.channel.Level;
import io.openems.common.exceptions.OpenemsError;
import io.openems.common.exceptions.OpenemsError.OpenemsNamedException;
import io.openems.common.jsonrpc.request.UpdateUserLanguageRequest.Language;
import io.openems.common.exceptions.OpenemsException;
import io.openems.common.types.ChannelAddress;
import io.openems.common.types.EdgeConfig;
Expand Down Expand Up @@ -270,4 +271,13 @@ public static String activeStateChannelsToString(
*/
public void registerUser(JsonObject jsonObject) throws OpenemsNamedException;

/**
* Update language from given user.
*
* @param user {@link User} the current user
* @param language to set language
* @throws OpenemsNamedException on error
*/
public void updateUserLanguage(User user, Language language) throws OpenemsNamedException;

}
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,13 @@ public class User extends AbstractUser {
*/
private final String token;

public User(String id, String name, String token, Role globalRole, NavigableMap<String, Role> roles) {
private final String language;

public User(String id, String name, String token, Role globalRole, NavigableMap<String, Role> roles,
String language) {
super(id, name, globalRole, roles);
this.token = token;
this.language = language;
}

/**
Expand All @@ -36,6 +40,15 @@ public String getToken() {
return this.token;
}

/**
* Gets the user language.
*
* @return the language
*/
public String getLanguage() {
return language;
}

/**
* Gets the information whether the Users Role for the given Edge is equal or
* more privileged than the given Role.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@
import io.openems.common.exceptions.NotImplementedException;
import io.openems.common.exceptions.OpenemsError;
import io.openems.common.exceptions.OpenemsError.OpenemsNamedException;
import io.openems.common.jsonrpc.request.UpdateUserLanguageRequest.Language;
import io.openems.common.session.Role;
import io.openems.common.types.EdgeConfig;
import io.openems.common.types.EdgeConfigDiff;
Expand All @@ -52,6 +53,8 @@ public class DummyMetadata extends AbstractMetadata implements Metadata {
private final Map<String, User> users = new HashMap<>();
private final Map<String, MyEdge> edges = new HashMap<>();

private Language defaultLanguage = Language.DE;

public DummyMetadata() {
super("Metadata.Dummy");
this.setInitialized();
Expand All @@ -75,7 +78,7 @@ public User authenticate(String username, String password) throws OpenemsNamedEx
for (String edgeId : this.edges.keySet()) {
roles.put(edgeId, Role.ADMIN);
}
User user = new User(username, name, token, Role.ADMIN, roles);
User user = new User(username, name, token, Role.ADMIN, roles, this.defaultLanguage.name());
this.users.put(user.getId(), user);
return user;
}
Expand Down Expand Up @@ -201,4 +204,9 @@ public void registerUser(JsonObject jsonObject) throws OpenemsNamedException {
throw new IllegalArgumentException("DummyMetadata.registerUser() is not implemented");
}

@Override
public void updateUserLanguage(User user, Language language) throws OpenemsNamedException {
this.defaultLanguage = language;
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@
import io.openems.common.exceptions.NotImplementedException;
import io.openems.common.exceptions.OpenemsError;
import io.openems.common.exceptions.OpenemsError.OpenemsNamedException;
import io.openems.common.jsonrpc.request.UpdateUserLanguageRequest.Language;
import io.openems.common.session.Role;
import io.openems.common.types.EdgeConfig;
import io.openems.common.utils.JsonUtils;
Expand Down Expand Up @@ -74,6 +75,7 @@ public class FileMetadata extends AbstractMetadata implements Metadata {

private User user;
private String path = "";
private static Language LANGUAGE = Language.DE;

public FileMetadata() {
super("Metadata.File");
Expand Down Expand Up @@ -207,7 +209,7 @@ private synchronized void refreshData() {

private static User generateUser() {
return new User(FileMetadata.USER_ID, FileMetadata.USER_NAME, UUID.randomUUID().toString(),
FileMetadata.USER_GLOBAL_ROLE, new TreeMap<>());
FileMetadata.USER_GLOBAL_ROLE, new TreeMap<>(), LANGUAGE.name());
}

@Override
Expand Down Expand Up @@ -240,4 +242,9 @@ public void registerUser(JsonObject jsonObject) throws OpenemsNamedException {
throw new IllegalArgumentException("FileMetadata.registerUser() is not implemented");
}

@Override
public void updateUserLanguage(User user, Language locale) throws OpenemsNamedException {
LANGUAGE = locale;
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -237,7 +237,8 @@ public enum User implements Field {
PASSWORD("password", true), //
PARTNER("partner_id", true), //
GLOBAL_ROLE("global_role", true), //
GROUPS("groups_id", true);
GROUPS("groups_id", true), //
OPENEMS_LANGUAGE("openems_language", true);

public static final String ODOO_MODEL = "res.users";
public static final String ODOO_TABLE = ODOO_MODEL.replace(".", "_");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ public class MyUser extends User {
private final int odooId;

public MyUser(int odooId, String login, String name, String token, Role globalRole,
NavigableMap<String, Role> roles) {
super(login, name, token, globalRole, roles);
NavigableMap<String, Role> roles, String language) {
super(login, name, token, globalRole, roles, language);
this.odooId = odooId;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
import io.openems.backend.metadata.odoo.odoo.OdooUserRole;
import io.openems.backend.metadata.odoo.postgres.PostgresHandler;
import io.openems.common.exceptions.OpenemsError.OpenemsNamedException;
import io.openems.common.jsonrpc.request.UpdateUserLanguageRequest.Language;
import io.openems.common.exceptions.OpenemsException;
import io.openems.common.session.Role;
import io.openems.common.utils.JsonUtils;
Expand Down Expand Up @@ -104,13 +105,16 @@ public User authenticate(String sessionId) throws OpenemsNamedException {
roles.put(edgeId, role);
}
JsonObject jUser = JsonUtils.getAsJsonObject(result, "user");
int odooUserId = JsonUtils.getAsInt(jUser, "id");

MyUser user = new MyUser(//
JsonUtils.getAsInt(jUser, "id"), //
odooUserId, //
JsonUtils.getAsString(jUser, "login"), //
JsonUtils.getAsString(jUser, "name"), //
sessionId, //
Role.getRole(JsonUtils.getAsString(jUser, "global_role")), //
roles);
roles, //
JsonUtils.getAsString(jUser, "language"));

this.users.put(user.getId(), user);
return user;
Expand Down Expand Up @@ -225,4 +229,9 @@ public void registerUser(JsonObject jsonObject) throws OpenemsNamedException {
this.odooHandler.registerUser(jsonObject, role);
}

@Override
public void updateUserLanguage(User user, Language language) throws OpenemsNamedException {
this.odooHandler.updateUserLanguage((MyUser) user, language);
}

}
Loading

0 comments on commit bc282db

Please sign in to comment.