tdf#154703 writerfilter framePr: avoid exception with hasValue

I'm assuming that because the range has multiple border definitions
in the various paragraphs that the left border was considered
undefined. Whatever the reason, a (void) uno::Any as a border
was causing the conversion to fail.

No matching existing unit tests found.
make CppunitTest_sw_ooxmlexport18 CPPUNIT_TEST_NAME=testTdf154703_framePr

Change-Id: I02fabfd035cad0f2094b023936ff1d33ed7f3fb7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150156
Reviewed-by: Justin Luth <jluth@mail.com>
Tested-by: Jenkins
diff --git a/sw/qa/extras/ooxmlexport/data/tdf154703_framePr.docx b/sw/qa/extras/ooxmlexport/data/tdf154703_framePr.docx
new file mode 100644
index 0000000..2ec5b49
--- /dev/null
+++ b/sw/qa/extras/ooxmlexport/data/tdf154703_framePr.docx
Binary files differ
diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport18.cxx b/sw/qa/extras/ooxmlexport/ooxmlexport18.cxx
index b871961..6f84d97 100644
--- a/sw/qa/extras/ooxmlexport/ooxmlexport18.cxx
+++ b/sw/qa/extras/ooxmlexport/ooxmlexport18.cxx
@@ -159,6 +159,12 @@ DECLARE_OOXMLEXPORT_TEST(testTdf154129_framePr1, "tdf154129_framePr1.docx")
    }
}

DECLARE_OOXMLEXPORT_TEST(testTdf154703_framePr, "tdf154703_framePr.docx")
{
    // the frame conversion had been failing, so it imported as plain text only.
    CPPUNIT_ASSERT_EQUAL(1, getShapes());
}

DECLARE_OOXMLEXPORT_TEST(testTdf153613_anchoredAfterPgBreak, "tdf153613_anchoredAfterPgBreak.docx")
{
    const auto& pLayout = parseLayoutDump();
diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
index 775b219..5e8d271 100644
--- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx
+++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
@@ -1559,9 +1559,10 @@ static void lcl_MoveBorderPropertiesToFrame(std::vector<beans::PropertyValue>& r
            beans::PropertyValue aValue;
            aValue.Name = sPropertyName;
            aValue.Value = xTextRangeProperties->getPropertyValue(sPropertyName);
            rFrameProperties.push_back(aValue);
            if( nProperty < 4 )
                xTextRangeProperties->setPropertyValue( sPropertyName, uno::Any(table::BorderLine2()));
            if (aValue.Value.hasValue())
                rFrameProperties.push_back(aValue);
        }
    }
    catch( const uno::Exception& )