2017-01-26 7 views
5

को आमंत्रित करने के लिए किया जाता है, मैंने सोनार स्कैन रिपोर्ट द्वारा दिखाए गए अपर्याप्त शाखा कवरेज समस्या को हल करने के लिए कक्षा के एक निजी निर्माता को आमंत्रित करने के प्रतिबिंब का उपयोग किया।उच्चतम फोर्टिफ़ाई: प्रतिबिंब पर एक्सेस विनिर्देशक हेरफेर जिसका प्रयोग निजी कन्स्ट्रक्टर

// reflection to access a private constructor of a class 
     Constructor<CMISBridgeMaps> c = CMISBridgeMaps.class.getDeclaredConstructor(new Class[0]); 
     c.setAccessible(true); 
     cmisBridgeMaps = c.newInstance(new Object[0]); 

ऊपर कोड मेरी सोनार स्कैन महत्वपूर्ण मुद्दा हल: यह मेरा कोड का स्निपेट मैं काम कर रहा था है। लेकिन दुर्भाग्य से मज़बूत अब निम्न पंक्ति पर पहुँच विनिर्देशक हेरफेर मुद्दा दिखा रहा है:

c.setAccessible(true); 

मैं कैसे हल दोनों मज़बूत और मुद्दों sonarcube कर सकते हैं? किसी भी तरह की सहायता का स्वागत किया जाएगा।

उत्तर

-2

यदि आप वसंत का उपयोग करते हैं, तो आप उस क्षेत्र को सुलभ बनाने के लिए ReflectionUtils.makeAccessible(field) का उपयोग कर सकते हैं। Fortify इस चिमटा के बारे में शिकायत नहीं करता है।

आप this article में इसके बारे में और अधिक पढ़ सकते हैं।

संबंधित मुद्दे