Skip to content
Snippets Groups Projects

Evolution du TangoParser pour écrire sur les atributs SPECTRUM et correction...

22 files
+ 2113
1631
Compare changes
  • Side-by-side
  • Inline

Files

+ 164
0
 
@startuml TangoParser class diagram
 
title
 
<font color=red>TangoParser</font>
 
<b>Diagram Class</b>
 
Partial class diagram
 
01/10/2021
 
<u>Guillaume Pichon - Synchrotron SOLEIL</u>
 
end title
 
 
abstract class AJepParser [[java:fr.soleil.tango.parser.AJepParser]] {
 
-isVector: boolean
 
~logger: Logger
 
#{static} CONFIG_ERROR: String
 
#jep: JEP
 
#AJepParser()
 
#setVector(isVector: boolean): void
 
#parse(name: String, expression: String): Object
 
 
-logAvailableFunctions(): void
 
+{abstract} getExpression(): String
 
+{abstract} refresh(lock: boolean): void
 
+{abstract} getValue(lock: boolean): Object
 
+{abstract} getName(): String
 
+{abstract} initExpression(): void
 
+toString(): String
 
}
 
class JepParserRead [[java:fr.soleil.tango.parser.JepParserRead]] {
 
-logger: Logger
 
-name: String
 
-expressionsR: String
 
-variables: BiMap<String,String>
 
-variablesJep: List<AJepParser>
 
-variablesJepToRead: List<AJepParser>
 
-locker: Lock
 
-dataSource: TangoSource
 
-sourceName: String
 
~attributes: CaseInsensitiveMap<String>
 
+JepParserRead(deviceName: String, name: String, expressionsR: String, variables: BiMap<String,String>, variablesJep: List<AJepParser>, dataSource: TangoSource)
 
+getExpression(): String
 
+refresh(lock: boolean): void
 
+getValue(lock: boolean): Object
 
+initExpression(): void
 
+getName(): String
 
}
 
class JepParserWrite [[java:fr.soleil.tango.parser.JepParserWrite]] {
 
-logger: Logger
 
-name: String
 
-locker: Lock
 
-expression: String
 
-variables: BiMap<String,String>
 
-variablesJep: List<AJepParser>
 
-variablesJepToRead: List<AJepParser>
 
-dataSource: TangoSource
 
-sourceName: String
 
-attributeName: String
 
-writeSymbol: String
 
-resultSymbol: String
 
+JepParserWrite(deviceName: String, expression: String, name: String, variables: BiMap<String,String>, variablesJepToRead: List<AJepParser>, dataSource: TangoSource)
 
+getExpression(): String
 
+initExpression(): void
 
+setValue(value: Object): void
 
+getValue(lock: boolean): Object
 
+isAttribute(): boolean
 
+getName(): String
 
+refresh(lock: boolean): void
 
+getAttributeName(): String
 
}
 
class DynamicAttributeParser [[java:fr.soleil.tango.server.tangoparser.DynamicAttributeParser]] {
 
-logger: Logger
 
-config: AttributeConfiguration
 
-isSynchronous: boolean
 
-jepParserWriterGroup: WriteExpressionGroup
 
-value: AttributeValue
 
-variablesJep: List<AJepParser>
 
-jepParserRead: JepParserRead
 
-isWriteInitialized: boolean
 
+DynamicAttributeParser(deviceName: String, config: AttributeConfiguration, expressionsR: String, expressionsW: List<String>, variables: BiMap<String,String>, sourceGroup: TangoSource)
 
+DynamicAttributeParser(deviceName: String, config: AttributeConfiguration, expressionsR: String, expressionsW: List<String>, variables: BiMap<String,String>, variablesJep: List<AJepParser>, sourceGroup: TangoSource)
 
+getConfiguration(): AttributeConfiguration
 
+getExpression(): String[]
 
+getStateMachine(): StateMachineBehavior
 
+getValue(): AttributeValue
 
+setValue(value: AttributeValue): void
 
+launchRefresh(lock: boolean): void
 
+refreshValue(lock: boolean): void
 
+getJepParsers(): List<AJepParser>
 
}
 
interface IAttributeBehavior {
 
}
 
 
class TangoParser [[java:fr.soleil.tango.server.tangoparser.TangoParser]] {
 
-{static} DEFAULT_REFRESH_PERIOD: int
 
-{static} STOP_COMMAND_NAME: String
 
-{static} FR_SOLEIL_MANAGEMENT_TYPE_TANGO_PARSER_STATS: String
 
-logger: Logger
 
-xlogger: XLogger
 
-{static} CACHE_REFRESHER: CacheRefresher
 
-commandNameList: String[]
 
-{static} version: String
 
-attributeNames: String[]
 
-useDiagnosticFunctions: boolean
 
-inputNames: String[]
 
-iONames: String[]
 
-movingState: String
 
-outputNames: String[]
 
-periodRefresh: int
 
-priorityList: String[]
 
-scanMode: boolean
 
-stopCommandFullNameList: String[]
 
-dynMngt: DynamicManager
 
-device: DeviceManager
 
-initFailed: boolean
 
-attribMap: BiMap<String,String>
 
-mBeans: TangoParserStats
 
-oNames: String[]
 
-state: DeviceState
 
-stateResolver: StateResolver
 
-status: String
 
-variablesJep: List<AJepParser>
 
-{static} srcManager: SourceManager
 
+aroundInvoke(ctx: InvocationContext): void
 
-checkProperty(propertyName: String, canBeEmpty: boolean, propertyPattern: String, syntax: String, propertyValue: String[]): void
 
+deleteDevice(): void
 
+evaluateExpression(argin: String): String[]
 
+getLastCacheError(): String
 
+getExpression(argin: String): String[]
 
+getState(): DeviceState
 
+getStatus(): String
 
+initDevice(): void
 
-copyArrayAndClean(array: String[]): Set<String>
 
-initInputExp(): void
 
-initIOExp(): void
 
-initManagement(): void
 
-initOutputExp(): void
 
-initTangoJep(): void
 
-removeEmptyLineFromProperty(propertyName: String, propertyValue: String[]): String[]
 
+setExpression(argin: String[]): void
 
+setState(state: DeviceState): void
 
+setStatus(status: String): void
 
+setDynMngt(dynMngt: DynamicManager): void
 
+setAttributeNames(attributeNames: String[]): void
 
+setInputNames(inputNames: String[]): void
 
+setIONames(iONames: String[]): void
 
+setOutputNames(outputNames: String[]): void
 
+setUseDiagnosticFunctions(useDiagnosticFunctions: boolean): void
 
+setMovingState(movingState: String): void
 
+setPeriodRefresh(periodRefresh: int): void
 
+setPriorityList(priorityList: String[]): void
 
+setStopCommandFullNameList(stopCommandFullNameList: String[]): void
 
+setScanMode(scanMode: boolean): void
 
+setDevice(device: DeviceManager): void
 
+{static} getVersion(): String
 
+{static} setSrcManager(srcManager: SourceManager): void
 
+setCommandNameList(commandNameList: String[]): void
 
+{static} main(args: String[]): void
 
-{static} toType(string: String): int
 
}
 
 
IAttributeBehavior <|.. DynamicAttributeParser
 
AJepParser <|-- JepParserRead
 
AJepParser <|-- JepParserWrite
 
 
@enduml
 
Loading