diff --git a/CMakeLists.txt b/CMakeLists.txt index fdeb0b4e233dc148b56fb4ae97bc79fbae68779a..ca05daeaf9d8b0290f300b7beaf67bb89f990840 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -18,30 +18,30 @@ add_compile_options(-std=c++11 -DRODS_SERVER -Wall -Wextra - -Wpedantic -Wcast-align -Wredundant-decls -Wuninitialized + -Wpedantic -Wconversion -Wno-missing-field-initializers -Wno-unused-parameter) find_package(Boost 1.51 COMPONENTS locale REQUIRED) -include_directories(${Boost_INCLUDE_DIR}) +include_directories(SYSTEM ${Boost_INCLUDE_DIR}) find_package(CURL REQUIRED) -include_directories(${CURL_INCLUDE_DIRS}) +include_directories(SYSTEM ${CURL_INCLUDE_DIRS}) find_package(LibXml2 REQUIRED) -include_directories(${LIBXML2_INCLUDE_DIR}) +include_directories(SYSTEM ${LIBXML2_INCLUDE_DIR}) find_package(LibXslt REQUIRED) -include_directories(${LIBXSLT_INCLUDE_DIR}) +include_directories(SYSTEM ${LIBXSLT_INCLUDE_DIR}) find_package(Jansson REQUIRED) -include_directories(${JANSSON_INCLUDE_DIRS}) +include_directories(SYSTEM ${JANSSON_INCLUDE_DIRS}) -include_directories("/usr/include/irods") +include_directories(SYSTEM "/usr/include/irods") add_library(msiSetUpperCaseWhereQuery SHARED src/msiSetUpperCaseWhereQuery.cc) add_library(msiStrToUpper SHARED src/msiStrToUpper.cc) @@ -92,19 +92,17 @@ set(CPACK_GENERATOR "RPM") set(CPACK_PACKAGE_NAME "irods-uu-microservices") set(CPACK_PACKAGE_VENDOR "Utrecht University <fbyoda@uu.nl>") set(CPACK_PACKAGE_CONTACT "Utrecht University <fbyoda@uu.nl>") -set(CPACK_PACKAGE_VERSION "4.1.11_0.3.3") +set(CPACK_PACKAGE_VERSION "4.1.11_0.5.1") set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/package/description.txt") set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Miscellaneous microservices developed by Utrecht university.") set(CPACK_RESOURCE_FILE_README "${CMAKE_CURRENT_SOURCE_DIR}/README.md") -set(CPACK_RPM_PACKAGE_RELEASE "1") +set(CPACK_RPM_PACKAGE_RELEASE "4") set(CPACK_RPM_PACKAGE_LICENSE "LGPLv3") -set(CPACK_RPM_PACKAGE_REQUIRES "boost-locale >= 1.51") -set(CPACK_RPM_PACKAGE_REQUIRES "libcurl >= 7.29.0") -set(CPACK_RPM_PACKAGE_REQUIRES "libxml2 >= 2.9.1") -set(CPACK_RPM_PACKAGE_REQUIRES "libxslt >= 1.1.28") +set(CPACK_RPM_PACKAGE_REQUIRES "boost-locale >= 1.51, libcurl >= 7.29.0, libxml2 >= 2.9.1, libxslt >= 1.1.28, jansson >= 2.10") +set(CPACK_RPM_PACKAGE_CONFLICTS "rit-irods-microservices, irods-microservice-plugins-loadmeta") set(CPACK_RPM_PACKAGE_URL "https://github.com/UtrechtUniversity/irods-uu-microservices") set(CPACK_RPM_PACKAGE_AUTOREQ 0) set(CPACK_RPM_PACKAGE_AUTOPROV 0) diff --git a/src/msiLoadMetadataFromXml.cc b/src/msiLoadMetadataFromXml.cc index 34b7424625536d8e6e5aebd00ce27cfca35012ce..56aad4048c455b70a2e48b05565b8dd41bc36c94 100644 --- a/src/msiLoadMetadataFromXml.cc +++ b/src/msiLoadMetadataFromXml.cc @@ -114,6 +114,13 @@ msiLoadMetadataFromXml(msParam_t *targetObj, msParam_t *xmlParam, ruleExecInfo_t /* for new AVU creation */ modAVUMetadataInp_t modAVUMetadataInp; + char attribute[] = "Attribute"; + char value[] = "Value"; + char unit[] = "Unit"; + char target[] = "Target"; + char add[] = "add"; + char collection[] = "-C"; + char dataObject[] = "-d"; const size_t MAX_ATTR_NAME_LEN = 2700; const size_t MAX_ATTR_VALUE_LEN = 2700; const size_t MAX_ATTR_UNIT_LEN = 250; @@ -261,7 +268,7 @@ msiLoadMetadataFromXml(msParam_t *targetObj, msParam_t *xmlParam, ruleExecInfo_t if (nodes->nodeTab[i]) { - attrName = (char*)xmlNodeGetContent(getChildNodeByName(nodes->nodeTab[i], "Attribute")); + attrName = (char*)xmlNodeGetContent(getChildNodeByName(nodes->nodeTab[i], attribute)); if (!attrName) { rodsLog (LOG_ERROR, "msiLoadMetadataFromXml: AVU does not contain an Attribute element"); continue; @@ -276,7 +283,7 @@ msiLoadMetadataFromXml(msParam_t *targetObj, msParam_t *xmlParam, ruleExecInfo_t i + 1); } - attrValue = (char*)xmlNodeGetContent(getChildNodeByName(nodes->nodeTab[i], "Value")); + attrValue = (char*)xmlNodeGetContent(getChildNodeByName(nodes->nodeTab[i], value)); if (!attrValue) { rodsLog(LOG_ERROR, "msiLoadMetadataFromXml: AVU #%d does not contain a Value element", i + 1); @@ -293,7 +300,7 @@ msiLoadMetadataFromXml(msParam_t *targetObj, msParam_t *xmlParam, ruleExecInfo_t continue; } - attrUnit = (char*)xmlNodeGetContent(getChildNodeByName(nodes->nodeTab[i], "Unit")); + attrUnit = (char*)xmlNodeGetContent(getChildNodeByName(nodes->nodeTab[i], unit)); /* attrUnit can be null */ if (attrUnit) { attrUnitLen = strlen(attrUnit); @@ -306,7 +313,7 @@ msiLoadMetadataFromXml(msParam_t *targetObj, msParam_t *xmlParam, ruleExecInfo_t /* init modAVU input */ memset (&modAVUMetadataInp, 0, sizeof(modAVUMetadataInp_t)); - modAVUMetadataInp.arg0 = "add"; + modAVUMetadataInp.arg0 = add; /* Use target object if one was provided, otherwise look for it in the XML doc */ if (myTargetObjInp->objPath != NULL && strlen(myTargetObjInp->objPath) > 0) @@ -315,15 +322,15 @@ msiLoadMetadataFromXml(msParam_t *targetObj, msParam_t *xmlParam, ruleExecInfo_t } else { - modAVUMetadataInp.arg2 = xmlURIUnescapeString((char*)xmlNodeGetContent(getChildNodeByName(nodes->nodeTab[i], "Target")), + modAVUMetadataInp.arg2 = xmlURIUnescapeString((char*)xmlNodeGetContent(getChildNodeByName(nodes->nodeTab[i], target)), MAX_NAME_LEN, NULL); } /* check if data or collection */ if (isColl(rsComm, modAVUMetadataInp.arg2, &coll_id) < 0) { - modAVUMetadataInp.arg1 = "-d"; + modAVUMetadataInp.arg1 = dataObject; } else { - modAVUMetadataInp.arg1 = "-C"; + modAVUMetadataInp.arg1 = collection; } modAVUMetadataInp.arg3 = attrName; diff --git a/src/msiXsltApply.cc b/src/msiXsltApply.cc index dc68f361292480ecb180c9027762e8462104115a..532c9d044bbec0b03cd1b68c5b9fac2f04e68580 100644 --- a/src/msiXsltApply.cc +++ b/src/msiXsltApply.cc @@ -268,5 +268,5 @@ extern "C" { -}; // extern "C" +} // extern "C"