Package io.openems.backend.metadata.odoo
Class OdooMetadata
java.lang.Object
io.openems.backend.common.component.AbstractOpenemsBackendComponent
io.openems.backend.common.metadata.AbstractMetadata
io.openems.backend.metadata.odoo.OdooMetadata
public class OdooMetadata
extends AbstractMetadata
implements Metadata, Mailer, org.osgi.service.event.EventHandler
-
Nested Class Summary
Nested classes/interfaces inherited from interface io.openems.backend.common.metadata.Metadata
Metadata.Events
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
addEdgeToUser
(User user, Edge edge) Assigns Edge to current user.authenticate
(String sessionId) Tries to authenticate at the Odoo server using a sessionId from a cookie.authenticate
(String username, String password) Authenticates the User by username and password.edge()
Handles operations with Edge.Gets all Offline-Edges.Get an Edge by its unique Edge-ID.getEdgeBySetupPassword
(String setupPassword) Get an Edge by Edge-SetupPassword.getEdgeIdForApikey
(String apikey) Gets the Edge-ID for an API-Key, i.e.org.osgi.service.event.EventAdmin
Returns an EventAdmin, used by Edge objects.Gets theOdooHandler
.getPageDevice
(User user, GetEdgesRequest.PaginationOptions paginationOptions) Gets a map of Edge-IDs with the role of the given user.Gets thePostgresHandler
.getRoleForEdge
(User user, String edgeId) Gets the Role for a edge of the current user.getSerialNumberForEdge
(Edge edge) Get serial number for the givenEdge
.byte[]
getSetupProtocol
(User user, int setupProtocolId) Returns the Setup Protocol PDF for the given id.com.google.gson.JsonObject
getSetupProtocolData
(User user, String edgeId) Return the Setup Protocol data as a JsonObject.Gets the User for the given User-ID.getUserAlertingSettings
(String edgeId) Gets all the alerting settings for given edge id.getUserAlertingSettings
(String edgeId, String userId) Gets the alerting settings for given edge id and userId.getUserInformation
(User user) Gets information about the given userUser
.void
handleEvent
(org.osgi.service.event.Event event) void
Log an error message including the Component ID.void
Log an info message including the Component ID.void
Closes a session for a User.void
Log a warn message including the Component ID.void
registerUser
(com.google.gson.JsonObject jsonObject, OpenemsOEM.Manufacturer oem) Register a user.void
sendMail
(ZonedDateTime sendAt, String template, com.google.gson.JsonElement params) Send alerting mail at stamp to users.void
setUserAlertingSettings
(User user, String edgeId, List<AlertingSetting> users) Sets the alerting settings for the given list of users.void
setUserInformation
(User user, com.google.gson.JsonObject jsonObject) Update the given userUser
with new informationJsonObject
.int
submitSetupProtocol
(User user, com.google.gson.JsonObject jsonObject) Submit the installation assistant protocol.void
updateUserLanguage
(User user, Language language) Update language from given user.Methods inherited from class io.openems.backend.common.metadata.AbstractMetadata
isInitialized, setInitialized
Methods inherited from class io.openems.backend.common.component.AbstractOpenemsBackendComponent
getName, logDebug, logDebug, logError, logInfo, logWarn
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface io.openems.backend.common.metadata.Metadata
addEdgeToUser, getEdgeOrError, isInitialized
-
Field Details
-
odooHandler
-
postgresHandler
-
-
Constructor Details
-
OdooMetadata
public OdooMetadata()
-
-
Method Details
-
authenticate
public User authenticate(String username, String password) throws OpenemsError.OpenemsNamedException Description copied from interface:Metadata
Authenticates the User by username and password.- Specified by:
authenticate
in interfaceMetadata
- Parameters:
username
- the Usernamepassword
- the Password- Returns:
- the
User
- Throws:
OpenemsError.OpenemsNamedException
- on error
-
authenticate
Tries to authenticate at the Odoo server using a sessionId from a cookie.- Specified by:
authenticate
in interfaceMetadata
- Parameters:
sessionId
- the Session-ID- Returns:
- the
User
- Throws:
OpenemsException
- on errorOpenemsError.OpenemsNamedException
- on error
-
logout
Description copied from interface:Metadata
Closes a session for a User. -
getEdgeIdForApikey
Description copied from interface:Metadata
Gets the Edge-ID for an API-Key, i.e. authenticates the API-Key.- Specified by:
getEdgeIdForApikey
in interfaceMetadata
- Parameters:
apikey
- the API-Key- Returns:
- the Edge-ID or Empty
-
getEdgeBySetupPassword
Description copied from interface:Metadata
Get an Edge by Edge-SetupPassword.- Specified by:
getEdgeBySetupPassword
in interfaceMetadata
- Parameters:
setupPassword
- to find Edge- Returns:
- Edge as a Optional
-
getEdge
Description copied from interface:Metadata
Get an Edge by its unique Edge-ID. -
getUser
Description copied from interface:Metadata
Gets the User for the given User-ID. -
getAllOfflineEdges
Description copied from interface:Metadata
Gets all Offline-Edges.- Specified by:
getAllOfflineEdges
in interfaceMetadata
- Returns:
- collection of Edges.
-
getOdooHandler
Gets theOdooHandler
.- Returns:
- the
OdooHandler
-
getPostgresHandler
Gets thePostgresHandler
.- Returns:
- the
PostgresHandler
-
logInfo
Description copied from class:AbstractOpenemsBackendComponent
Log an info message including the Component ID.- Overrides:
logInfo
in classAbstractOpenemsBackendComponent
- Parameters:
log
- the Logger that is used for writing the logmessage
- the Info-message
-
logWarn
Description copied from class:AbstractOpenemsBackendComponent
Log a warn message including the Component ID.- Overrides:
logWarn
in classAbstractOpenemsBackendComponent
- Parameters:
log
- the Logger that is used for writing the logmessage
- the Warn-message
-
logError
Description copied from class:AbstractOpenemsBackendComponent
Log an error message including the Component ID.- Overrides:
logError
in classAbstractOpenemsBackendComponent
- Parameters:
log
- the Logger that is used for writing the logmessage
- the Error-message
-
addEdgeToUser
Description copied from interface:Metadata
Assigns Edge to current user.If assignment fails, an OpenemsNamedException is thrown.
- Specified by:
addEdgeToUser
in interfaceMetadata
- Parameters:
user
- TheUser
edge
- TheEdge
- Throws:
OpenemsError.OpenemsNamedException
- on error
-
getUserInformation
Description copied from interface:Metadata
Gets information about the given userUser
.- Specified by:
getUserInformation
in interfaceMetadata
- Parameters:
user
-User
to read information- Returns:
Map
about the user- Throws:
OpenemsError.OpenemsNamedException
- on error
-
setUserInformation
public void setUserInformation(User user, com.google.gson.JsonObject jsonObject) throws OpenemsError.OpenemsNamedException Description copied from interface:Metadata
Update the given userUser
with new informationJsonObject
.- Specified by:
setUserInformation
in interfaceMetadata
- Parameters:
user
-User
to updatejsonObject
-JsonObject
information about the user- Throws:
OpenemsError.OpenemsNamedException
- on error
-
getSetupProtocol
public byte[] getSetupProtocol(User user, int setupProtocolId) throws OpenemsError.OpenemsNamedException Description copied from interface:Metadata
Returns the Setup Protocol PDF for the given id.- Specified by:
getSetupProtocol
in interfaceMetadata
- Parameters:
user
-User
the current usersetupProtocolId
- the setup protocol id to search- Returns:
- the Setup Protocol PDF as a byte array
- Throws:
OpenemsError.OpenemsNamedException
- on error
-
getSetupProtocolData
public com.google.gson.JsonObject getSetupProtocolData(User user, String edgeId) throws OpenemsError.OpenemsNamedException Description copied from interface:Metadata
Return the Setup Protocol data as a JsonObject.- Specified by:
getSetupProtocolData
in interfaceMetadata
- Parameters:
user
-User
the current useredgeId
- theEdge
ID to get the data- Returns:
- Setup Protocol as a JsonObject
- Throws:
OpenemsError.OpenemsNamedException
- on error
-
submitSetupProtocol
public int submitSetupProtocol(User user, com.google.gson.JsonObject jsonObject) throws OpenemsError.OpenemsNamedException Description copied from interface:Metadata
Submit the installation assistant protocol.- Specified by:
submitSetupProtocol
in interfaceMetadata
- Parameters:
user
-User
the current userjsonObject
-JsonObject
the setup protocol- Returns:
- id of created setup protocol
- Throws:
OpenemsError.OpenemsNamedException
- on error
-
registerUser
public void registerUser(com.google.gson.JsonObject jsonObject, OpenemsOEM.Manufacturer oem) throws OpenemsError.OpenemsNamedException Description copied from interface:Metadata
Register a user.- Specified by:
registerUser
in interfaceMetadata
- Parameters:
jsonObject
-JsonObject
that represents an useroem
- OEM name- Throws:
OpenemsError.OpenemsNamedException
- on error
-
updateUserLanguage
public void updateUserLanguage(User user, Language language) throws OpenemsError.OpenemsNamedException Description copied from interface:Metadata
Update language from given user.- Specified by:
updateUserLanguage
in interfaceMetadata
- Parameters:
user
-User
the current userlanguage
- to set language- Throws:
OpenemsError.OpenemsNamedException
- on error
-
getEventAdmin
public org.osgi.service.event.EventAdmin getEventAdmin()Description copied from interface:Metadata
Returns an EventAdmin, used by Edge objects.- Specified by:
getEventAdmin
in interfaceMetadata
- Returns:
EventAdmin
-
handleEvent
public void handleEvent(org.osgi.service.event.Event event) - Specified by:
handleEvent
in interfaceorg.osgi.service.event.EventHandler
-
edge
Description copied from interface:Metadata
Handles operations with Edge.To be completed. This should eventually replace Edge.
- Specified by:
edge
in interfaceMetadata
- Returns:
- an
EdgeHandler
-
getSerialNumberForEdge
Description copied from interface:Metadata
Get serial number for the givenEdge
.- Specified by:
getSerialNumberForEdge
in interfaceMetadata
- Parameters:
edge
-Edge
to search for serial number- Returns:
- Serial number or empty
Optional
-
sendMail
Description copied from interface:Mailer
Send alerting mail at stamp to users. -
getUserAlertingSettings
Description copied from interface:Metadata
Gets all the alerting settings for given edge id.- Specified by:
getUserAlertingSettings
in interfaceMetadata
- Parameters:
edgeId
- the Edge ID- Returns:
- List of
AlertingSetting
- Throws:
OpenemsException
- on error
-
getUserAlertingSettings
public AlertingSetting getUserAlertingSettings(String edgeId, String userId) throws OpenemsException Description copied from interface:Metadata
Gets the alerting settings for given edge id and userId.- Specified by:
getUserAlertingSettings
in interfaceMetadata
- Parameters:
edgeId
- the Edge IDuserId
- the User ID- Returns:
- List of
UserRoleDelayTime
- Throws:
OpenemsException
- on error
-
setUserAlertingSettings
public void setUserAlertingSettings(User user, String edgeId, List<AlertingSetting> users) throws OpenemsException Description copied from interface:Metadata
Sets the alerting settings for the given list of users.- Specified by:
setUserAlertingSettings
in interfaceMetadata
- Parameters:
user
-User
the current useredgeId
- the Edge-IDusers
- list of users to update- Throws:
OpenemsException
- on error
-
getPageDevice
public Map<String,Role> getPageDevice(User user, GetEdgesRequest.PaginationOptions paginationOptions) throws OpenemsError.OpenemsNamedException Description copied from interface:Metadata
Gets a map of Edge-IDs with the role of the given user.- Specified by:
getPageDevice
in interfaceMetadata
- Parameters:
user
-User
the current userpaginationOptions
- the options of the requesting page- Returns:
- the role to the Edge-IDs
- Throws:
OpenemsError.OpenemsNamedException
- on error
-
getRoleForEdge
Description copied from interface:Metadata
Gets the Role for a edge of the current user.- Specified by:
getRoleForEdge
in interfaceMetadata
- Parameters:
user
-User
the current useredgeId
- the Edge-ID- Returns:
- the role to the edge
- Throws:
OpenemsError.OpenemsNamedException
- on error
-