SmsGlobalDataCodingProvider.java

1
package fr.sii.ogham.sms.builder.smsglobal;
2
3
import static com.cloudhopper.commons.charset.CharsetUtil.NAME_GSM;
4
import static com.cloudhopper.commons.charset.CharsetUtil.NAME_UCS_2;
5
import static com.cloudhopper.commons.gsm.DataCoding.CHAR_ENC_DEFAULT;
6
import static com.cloudhopper.commons.gsm.DataCoding.CHAR_ENC_UCS2;
7
import static com.cloudhopper.commons.gsm.DataCoding.createCharacterEncodingGroup;
8
9
import com.cloudhopper.commons.charset.CharsetUtil;
10
import com.cloudhopper.commons.gsm.DataCoding;
11
12
import fr.sii.ogham.sms.encoder.Encoded;
13
import fr.sii.ogham.sms.sender.impl.cloudhopper.exception.DataCodingException;
14
import fr.sii.ogham.sms.sender.impl.cloudhopper.exception.UnsupportedCharsetException;
15
import fr.sii.ogham.sms.sender.impl.cloudhopper.preparator.DataCodingProvider;
16
17
/**
18
 * SMSGlobal only supports either GSM 8-bit or UCS-2 encodings.
19
 * 
20
 * <p>
21
 * If GSM 8-bit encoding is used, DCS value is set to 0
22
 * </p>
23
 * 
24
 * <p>
25
 * If UCS-2 encoding is used, DCS value is set to 8
26
 * </p>
27
 * 
28
 * 
29
 * @author Aurélien Baudet
30
 *
31
 */
32
public class SmsGlobalDataCodingProvider implements DataCodingProvider {
33
34
	@Override
35
	public DataCoding provide(Encoded encoded) throws DataCodingException {
36
		String charsetName = encoded.getCharsetName();
37 2 1. provide : negated conditional → NO_COVERAGE
2. provide : negated conditional → KILLED
		if (NAME_UCS_2.equals(charsetName)) {
38 2 1. provide : replaced return value with null for fr/sii/ogham/sms/builder/smsglobal/SmsGlobalDataCodingProvider::provide → NO_COVERAGE
2. provide : replaced return value with null for fr/sii/ogham/sms/builder/smsglobal/SmsGlobalDataCodingProvider::provide → KILLED
			return createCharacterEncodingGroup(CHAR_ENC_UCS2);
39
		}
40 4 1. provide : negated conditional → NO_COVERAGE
2. provide : negated conditional → NO_COVERAGE
3. provide : negated conditional → KILLED
4. provide : negated conditional → KILLED
		if (NAME_GSM.equals(charsetName) || CharsetUtil.NAME_GSM8.equals(charsetName)) {
41 2 1. provide : replaced return value with null for fr/sii/ogham/sms/builder/smsglobal/SmsGlobalDataCodingProvider::provide → NO_COVERAGE
2. provide : replaced return value with null for fr/sii/ogham/sms/builder/smsglobal/SmsGlobalDataCodingProvider::provide → KILLED
			return createCharacterEncodingGroup(CHAR_ENC_DEFAULT);
42
		}
43
		throw new UnsupportedCharsetException(charsetName + " not supported by SmsGlobal (it will result in invalid characters). " + 
44
											"Please use one of CharsetUtil.NAME_GSM, CharsetUtil.NAME_GSM_8 or CharsetUtil.NAME_UCS_2",
45
											encoded);
46
	}
47
48
}

Mutations

37

1.1
Location : provide
Killed by : none
negated conditional → NO_COVERAGE

2.2
Location : provide
Killed by : oghamsmsglobal.ut.SmsGlobalCodingProviderSpec
negated conditional → KILLED

38

1.1
Location : provide
Killed by : none
replaced return value with null for fr/sii/ogham/sms/builder/smsglobal/SmsGlobalDataCodingProvider::provide → NO_COVERAGE

2.2
Location : provide
Killed by : oghamsmsglobal.ut.SmsGlobalCodingProviderSpec
replaced return value with null for fr/sii/ogham/sms/builder/smsglobal/SmsGlobalDataCodingProvider::provide → KILLED

40

1.1
Location : provide
Killed by : none
negated conditional → NO_COVERAGE

2.2
Location : provide
Killed by : oghamsmsglobal.ut.SmsGlobalCodingProviderSpec
negated conditional → KILLED

3.3
Location : provide
Killed by : oghamsmsglobal.ut.SmsGlobalCodingProviderSpec
negated conditional → KILLED

4.4
Location : provide
Killed by : none
negated conditional → NO_COVERAGE

41

1.1
Location : provide
Killed by : oghamsmsglobal.ut.SmsGlobalCodingProviderSpec
replaced return value with null for fr/sii/ogham/sms/builder/smsglobal/SmsGlobalDataCodingProvider::provide → KILLED

2.2
Location : provide
Killed by : none
replaced return value with null for fr/sii/ogham/sms/builder/smsglobal/SmsGlobalDataCodingProvider::provide → NO_COVERAGE

Active mutators

Tests examined


Report generated by PIT OGHAM