diff options
author | Ashod Nakashian <ashod.nakashian@collabora.co.uk> | 2018-10-02 06:02:39 -0400 |
---|---|---|
committer | Ashod Nakashian <ashnakash@gmail.com> | 2019-12-26 04:34:37 +0100 |
commit | 7a3d0af89a302bd074cc21b4f25402922670bbd3 (patch) | |
tree | 5f839522c19cf70f73292db1fc4017c954c89d64 | |
parent | 412eaa9d66157e1da71580a245e1693143e6de34 (diff) |
sw: paragraph-sign: formatting
Change-Id: I9bf1b58aa6e18202a5f7eba010cc5b914e1d33d4
Reviewed-on: https://gerrit.libreoffice.org/63005
Tested-by: Jenkins
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
(cherry picked from commit 89c351a2610cc24720f391cf933f8af170de03ed)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/85806
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
-rw-r--r-- | sw/source/core/edit/edfcol.cxx | 41 |
1 files changed, 23 insertions, 18 deletions
diff --git a/sw/source/core/edit/edfcol.cxx b/sw/source/core/edit/edfcol.cxx index ccc5028eb311..8068e618ffcf 100644 --- a/sw/source/core/edit/edfcol.cxx +++ b/sw/source/core/edit/edfcol.cxx @@ -360,14 +360,16 @@ SignatureDescr lcl_getSignatureDescr(const uno::Reference<frame::XModel>& xModel SignatureDescr aDescr; aDescr.msId = sFieldId; + const OUString prefix = ParagraphSignatureRDFNamespace + sFieldId; const std::map<OUString, OUString> aStatements = lcl_getRDFStatements(xModel, xParagraph); - const auto itSig = aStatements.find(ParagraphSignatureRDFNamespace + sFieldId + ParagraphSignatureDigestRDFName); + + const auto itSig = aStatements.find(prefix + ParagraphSignatureDigestRDFName); aDescr.msSignature = (itSig != aStatements.end() ? itSig->second : OUString()); - const auto itDate = aStatements.find(ParagraphSignatureRDFNamespace + sFieldId + ParagraphSignatureDateRDFName); + const auto itDate = aStatements.find(prefix + ParagraphSignatureDateRDFName); aDescr.msDate = (itDate != aStatements.end() ? itDate->second : OUString()); - const auto itUsage = aStatements.find(ParagraphSignatureRDFNamespace + sFieldId + ParagraphSignatureUsageRDFName); + const auto itUsage = aStatements.find(prefix + ParagraphSignatureUsageRDFName); aDescr.msUsage = (itUsage != aStatements.end() ? itUsage->second : OUString()); return aDescr; @@ -377,14 +379,16 @@ SignatureDescr lcl_getSignatureDescr(const uno::Reference<frame::XModel>& xModel const uno::Reference<css::text::XTextContent>& xParagraph, const uno::Reference<css::text::XTextField>& xField) { - const std::pair<OUString, OUString> pair = lcl_getRDF(xModel, xField, ParagraphSignatureIdRDFName); - return (!pair.second.isEmpty() ? lcl_getSignatureDescr(xModel, xParagraph, pair.second) : SignatureDescr()); + const OUString sFieldId = lcl_getRDF(xModel, xField, ParagraphSignatureIdRDFName).second; + if (!sFieldId.isEmpty()) + return lcl_getSignatureDescr(xModel, xParagraph, sFieldId); + + return SignatureDescr(); } /// Validate and create the signature field display text from the fields. -std::pair<bool, OUString> -lcl_MakeParagraphSignatureFieldText(const SignatureDescr& aDescr, - const OString& utf8Text) +std::pair<bool, OUString> lcl_MakeParagraphSignatureFieldText(const SignatureDescr& aDescr, + const OString& utf8Text) { OUString msg = SwResId(STR_INVALID_SIGNATURE); bool valid = false; @@ -400,7 +404,8 @@ lcl_MakeParagraphSignatureFieldText(const SignatureDescr& aDescr, const std::vector<unsigned char> sig(svl::crypto::DecodeHexString(encSignature)); SignatureInformation aInfo(0); valid = svl::crypto::Signing::Verify(data, false, sig, aInfo); - valid = valid && aInfo.nStatus == css::xml::crypto::SecurityOperationStatus_OPERATION_SUCCEEDED; + valid = valid + && aInfo.nStatus == xml::crypto::SecurityOperationStatus_OPERATION_SUCCEEDED; msg = SwResId(STR_SIGNED_BY) + ": " + aInfo.ouSubject + ", "; msg += aDescr.msDate; @@ -412,7 +417,6 @@ lcl_MakeParagraphSignatureFieldText(const SignatureDescr& aDescr, return std::make_pair(valid, msg); } - /// Validate and return validation result and signature field display text. std::pair<bool, OUString> lcl_MakeParagraphSignatureFieldText(const uno::Reference<frame::XModel>& xModel, @@ -428,11 +432,10 @@ lcl_MakeParagraphSignatureFieldText(const uno::Reference<frame::XModel>& xModel, OUString lcl_getNextSignatureId(const uno::Reference<frame::XModel>& xModel, const uno::Reference<text::XTextContent>& xParagraph) { - const std::pair<OUString, OUString> pair = lcl_getRDF(xModel, xParagraph, ParagraphSignatureLastIdRDFName); - return OUString::number(!pair.second.isEmpty() ? pair.second.toInt32() + 1 : 1); + const OUString sFieldId = lcl_getRDF(xModel, xParagraph, ParagraphSignatureLastIdRDFName).second; + return OUString::number(!sFieldId.isEmpty() ? sFieldId.toInt32() + 1 : 1); } - /// Creates and inserts Paragraph Signature Metadata field and creates the RDF entry uno::Reference<text::XTextField> lcl_InsertParagraphSignature(const uno::Reference<frame::XModel>& xModel, const uno::Reference<text::XTextContent>& xParagraph, @@ -466,10 +469,11 @@ uno::Reference<text::XTextField> lcl_InsertParagraphSignature(const uno::Referen // Now set the RDF on the paragraph, since that's what is preserved in .doc(x). const css::uno::Reference<css::rdf::XResource> xParaSubject(xParagraph, uno::UNO_QUERY); + const OUString prefix = ParagraphSignatureRDFNamespace + sId; SwRDFHelper::addStatement(xModel, MetaNS, MetaFilename, xParaSubject, ParagraphSignatureLastIdRDFName, sId); - SwRDFHelper::addStatement(xModel, MetaNS, MetaFilename, xParaSubject, ParagraphSignatureRDFNamespace + sId + ParagraphSignatureDigestRDFName, signature); - SwRDFHelper::addStatement(xModel, MetaNS, MetaFilename, xParaSubject, ParagraphSignatureRDFNamespace + sId + ParagraphSignatureUsageRDFName, usage); - SwRDFHelper::addStatement(xModel, MetaNS, MetaFilename, xParaSubject, ParagraphSignatureRDFNamespace + sId + ParagraphSignatureDateRDFName, rBuffer.makeStringAndClear()); + SwRDFHelper::addStatement(xModel, MetaNS, MetaFilename, xParaSubject, prefix + ParagraphSignatureDigestRDFName, signature); + SwRDFHelper::addStatement(xModel, MetaNS, MetaFilename, xParaSubject, prefix + ParagraphSignatureUsageRDFName, usage); + SwRDFHelper::addStatement(xModel, MetaNS, MetaFilename, xParaSubject, prefix + ParagraphSignatureDateRDFName, rBuffer.makeStringAndClear()); return xField; } @@ -512,8 +516,9 @@ bool lcl_UpdateParagraphSignatureField(SwDoc* pDoc, const uno::Reference<css::text::XTextField>& xField, const OString& utf8Text) { - const std::pair<bool, OUString> res = lcl_MakeParagraphSignatureFieldText(xModel, xParagraph, xField, utf8Text); - return lcl_DoUpdateParagraphSignatureField(pDoc, xField, res.second); + const OUString sDisplayText + = lcl_MakeParagraphSignatureFieldText(xModel, xParagraph, xField, utf8Text).second; + return lcl_DoUpdateParagraphSignatureField(pDoc, xField, sDisplayText); } void lcl_RemoveParagraphMetadataField(const uno::Reference<css::text::XTextField>& xField) |