From 9a7da75ec8b8c7199112411bf3ae910d0902ff77 Mon Sep 17 00:00:00 2001 From: Benjamin Date: Tue, 22 Feb 2022 08:47:03 +0100 Subject: [PATCH] =?UTF-8?q?Impl=C3=A9mentation=20de=20l'interface=20IProto?= =?UTF-8?q?colWriter.go=20dans=20la=20r=C3=A8gle=20HelloRule.go?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/protocol/IProtocolWriter.go | 4 +-- pkg/protocol/rules/readers/EraseFileRule.go | 5 +++- pkg/protocol/rules/writers/HelloRule.go | 29 +++++++++++++++++++++ 3 files changed, 35 insertions(+), 3 deletions(-) diff --git a/pkg/protocol/IProtocolWriter.go b/pkg/protocol/IProtocolWriter.go index 66c0e71..5354e41 100644 --- a/pkg/protocol/IProtocolWriter.go +++ b/pkg/protocol/IProtocolWriter.go @@ -2,9 +2,9 @@ package protocol // IProtocolReader Représentation abstraite d'un protocol type IProtocolWriter interface { - // Permet de récupérer le nom de la commande + // GetCmd Permet de récupérer le nom de la commande GetCmd() string - // Permet de vérifier la validité d'une donnée censée suivre les règles d'un protocol + // Execute Permet de vérifier la validité d'une donnée censée suivre les règles d'un protocol Execute(argsData []string) } diff --git a/pkg/protocol/rules/readers/EraseFileRule.go b/pkg/protocol/rules/readers/EraseFileRule.go index 7bf9061..bbb04e4 100644 --- a/pkg/protocol/rules/readers/EraseFileRule.go +++ b/pkg/protocol/rules/readers/EraseFileRule.go @@ -7,7 +7,6 @@ const EraseFileRuleName = "ffe_erasefile" // EraseFileRule Demande de suppression d'un fichier type EraseFileRule struct { - protocol.IProtocolReader // Cmd Nom de la règle Cmd string @@ -23,6 +22,10 @@ func CreateEraseFileRule(pattern string) *EraseFileRule { } } +func (rule EraseFileRule) GetCmd() string { + return rule.Cmd +} + func (rule EraseFileRule) Execute(data string) string { if rule.Match(data) { diff --git a/pkg/protocol/rules/writers/HelloRule.go b/pkg/protocol/rules/writers/HelloRule.go index 32b3f9b..c52ad84 100644 --- a/pkg/protocol/rules/writers/HelloRule.go +++ b/pkg/protocol/rules/writers/HelloRule.go @@ -1 +1,30 @@ package writers + +import "_StorBackEnd/pkg/protocol" + +const HelloRuleName = "sbe_hello" + +type HelloRule struct { + // Cmd Nom de la règle + Cmd string + + // matcher Permet d'extraire de éléments d'une chaine + matcher *protocol.RegexMatcher +} + +// CreateHelloRule Création d'une instance de HelloRule +func CreateHelloRule(pattern string) *HelloRule { + return &HelloRule{ + Cmd: HelloRuleName, + matcher: protocol.CreateRegexMatcher(pattern), + } +} + +func (rule HelloRule) GetCmd() string { + return rule.Cmd +} + +func (rule HelloRule) Execute(argsData []string) { + //TODO implement me + panic("implement me") +}