DtEnd dtEnd1 = (DtEnd) property; if (dtEnd1.getDate() instanceof DateTime) { DateTime dateTime = (DateTime) dtEnd1.getDate(); // ensure tzid matches date-time timezone.. // Parameter tzId = dtEnd1.getParameters().getParameter( // Parameter.TZID); dtEnd = Calendar.getInstance(); dtEnd.setTimeInMillis(dateTime.getTime()); if (dateTime.getTimeZone() != null) dtEnd.setTimeZone(dateTime.getTimeZone()); } else { Date dateTime = dtEnd1.getDate(); // ensure tzid matches date-time timezone.. // Parameter tzId = dtEnd1.getParameters().getParameter( // Parameter.TZID); dtEnd = Calendar.getInstance(); dtEnd.setTimeInMillis(dateTime.getTime()); }
DtStamp dtStamp1 = (DtStamp) property; if (dtStamp1.getDate() instanceof DateTime) { DateTime dateTime = (DateTime) dtStamp1.getDate(); // ensure tzid matches date-time timezone.. // Parameter tzId = // dtStamp1.getParameters().getParameter( // Parameter.TZID); dtStamp = Calendar.getInstance(); dtStamp.setTimeInMillis(dateTime.getTime()); if (dateTime.getTimeZone() != null) dtStamp.setTimeZone(dateTime.getTimeZone()); } else { Date dateTime = dtStamp1.getDate(); // ensure tzid matches date-time timezone.. // Parameter tzId = // dtStamp1.getParameters().getParameter( // Parameter.TZID); dtStamp = Calendar.getInstance(); dtStamp.setTimeInMillis(dateTime.getTime()); }
Clone fragments detected by clone detection tool
File path: /columba-1.4-src/calendar/src/main/java/org/columba/calendar/parser/CalendarImporter.java File path: /columba-1.4-src/calendar/src/main/java/org/columba/calendar/parser/CalendarImporter.java
Method name: Iterator importCalendar(ICalendarItem, File) Method name: Iterator importCalendar(ICalendarItem, File)
Number of AST nodes: 10 Number of AST nodes: 10
1
DtEnd dtEnd1 = (DtEnd) property;
1
DtStamp dtStamp1 = (DtStamp) property;
2
						if (dtEnd1.getDate() instanceof DateTime) {
2
						if (dtStamp1.getDate() instanceof DateTime) {
3
							DateTime dateTime = (DateTime) dtEnd1.getDate();
3
							DateTime dateTime = (DateTime) dtStamp1.getDate();
4
							// ensure tzid matches date-time timezone..
4
							// ensure tzid matches date-time timezone..
5
							// Parameter tzId = dtEnd
5
							// Parameter tzId =
6
1.getParameters().getParameter(
6
							// dtStamp1.getParameters().getParameter(
7
							// Parameter.TZID);
7
							// Parameter.TZID);
8
	
8
	
9
							dtEnd = Calendar.getInstance();
9
							dtStamp = Calendar.getInstance();
10
	
10
	
11
						dtEnd.setTimeInMillis(dateTime.getTime());
11
							dtStamp.setTimeInMillis(dateTime.getTime());
12
							if (dateTime.getTimeZone() != null)
12
							if (dateTime.getTimeZone() != null)
13
								dtEnd.setTimeZone(dateTime.getTimeZone());
13
								dtStamp.setTimeZone(dateTime.getTimeZone());
14
						} else {
14
						} else {
15
							Date dateTime = dtEnd1.getDate();
15
							Date dateTime = dtStamp1.getDate();
16
							// ensure tzid matches date-time timezone..
16
							// ensure tzid matches date-time timezone..
17
							// Parameter tzId = dtEnd
17
							// Parameter tzId =
18
1.getParameters().getParameter(
18
							// dtStamp1.getParameters().getParameter(
19
							// Parameter.TZID);
19
							// Parameter.TZID);
20
	
21
							dtEnd = Calendar.getInstance();
20
							dtStamp = Calendar.getInstance();
22
							dtEnd.setTimeInMillis(dateTime.getTime());
21
							dtStamp.setTimeInMillis(dateTime.getTime());
23
						}
22
						}
Summary
Number of common nesting structure subtrees1
Number of refactorable cases1
Number of non-refactorable cases0
Time elapsed for finding largest common nesting structure subtrees (ms)0.5
Clones locationClones are in the same method
Number of node comparisons59
  1. {Refactorable}
    Mapping Summary
    Number of mapped statements10
    Number of unmapped statements in the first code fragment0
    Number of unmapped statements in the second code fragment0
    Time elapsed for statement mapping (ms)123.2
    Clone typeType 2
    Mapped Statements
    ID Statement ID Statement
    46
    DtEnd dtEnd1 = (DtEnd)property;
    46
    DtEnd dtEnd1 = (DtEnd)property;
    61
    DtStamp dtStamp1 = (DtStamp)property;
    Differences
    Expression1Expression2Difference
    net.fortuna.ical4j.model.property.DtEndnet.fortuna.ical4j.model.property.DtStampSUBCLASS_TYPE_MISMATCH
    dtEnd1dtStamp1VARIABLE_NAME_MISMATCH
    net.fortuna.ical4j.model.property.DtEndnet.fortuna.ical4j.model.property.DtStampSUBCLASS_TYPE_MISMATCH
    net.fortuna.ical4j.model.property.DtEndnet.fortuna.ical4j.model.property.DtStampSUBCLASS_TYPE_MISMATCH
    61
    DtStamp dtStamp1 = (DtStamp)property;
    47
    if (dtEnd1.getDate() instanceof DateTime)
    47
    if (dtEnd1.getDate() instanceof DateTime)
    62
    if (dtStamp1.getDate() instanceof DateTime)
    Differences
    Expression1Expression2Difference
    dtEnd1dtStamp1VARIABLE_NAME_MISMATCH
    net.fortuna.ical4j.model.property.DtEndnet.fortuna.ical4j.model.property.DtStampSUBCLASS_TYPE_MISMATCH
    62
    if (dtStamp1.getDate() instanceof DateTime)
    48
    DateTime dateTime = (DateTime)dtEnd1.getDate();
    48
    DateTime dateTime = (DateTime)dtEnd1.getDate();
    63
    DateTime dateTime = (DateTime)dtStamp1.getDate();
    Differences
    Expression1Expression2Difference
    dtEnd1dtStamp1VARIABLE_NAME_MISMATCH
    net.fortuna.ical4j.model.property.DtEndnet.fortuna.ical4j.model.property.DtStampSUBCLASS_TYPE_MISMATCH
    63
    DateTime dateTime = (DateTime)dtStamp1.getDate();
    49
    dtEnd = Calendar.getInstance();
    49
    dtEnd = Calendar.getInstance();
    64
    dtStamp = Calendar.getInstance();
    Differences
    Expression1Expression2Difference
    dtEnddtStampVARIABLE_NAME_MISMATCH
    64
    dtStamp = Calendar.getInstance();
    50
    dtEnd.setTimeInMillis(dateTime.getTime());
    50
    dtEnd.setTimeInMillis(dateTime.getTime());
    65
    dtStamp.setTimeInMillis(dateTime.getTime());
    Differences
    Expression1Expression2Difference
    dtEnddtStampVARIABLE_NAME_MISMATCH
    65
    dtStamp.setTimeInMillis(dateTime.getTime());
    51
    if (dateTime.getTimeZone() != null)
    66
    if (dateTime.getTimeZone() != null)
    52
    dtEnd.setTimeZone(dateTime.getTimeZone());
    52
    dtEnd.setTimeZone(dateTime.getTimeZone());
    67
    dtStamp.setTimeZone(dateTime.getTimeZone());
    Differences
    Expression1Expression2Difference
    dtEnddtStampVARIABLE_NAME_MISMATCH
    67
    dtStamp.setTimeZone(dateTime.getTimeZone());
    else
    else
    53
    Date dateTime = dtEnd1.getDate();
    53
    Date dateTime = dtEnd1.getDate();
    68
    Date dateTime = dtStamp1.getDate();
    Differences
    Expression1Expression2Difference
    dtEnd1dtStamp1VARIABLE_NAME_MISMATCH
    net.fortuna.ical4j.model.property.DtEndnet.fortuna.ical4j.model.property.DtStampSUBCLASS_TYPE_MISMATCH
    68
    Date dateTime = dtStamp1.getDate();
    54
    dtEnd = Calendar.getInstance();
    54
    dtEnd = Calendar.getInstance();
    69
    dtStamp = Calendar.getInstance();
    Differences
    Expression1Expression2Difference
    dtEnddtStampVARIABLE_NAME_MISMATCH
    69
    dtStamp = Calendar.getInstance();
    55
    dtEnd.setTimeInMillis(dateTime.getTime());
    55
    dtEnd.setTimeInMillis(dateTime.getTime());
    70
    dtStamp.setTimeInMillis(dateTime.getTime());
    Differences
    Expression1Expression2Difference
    dtEnddtStampVARIABLE_NAME_MISMATCH
    70
    dtStamp.setTimeInMillis(dateTime.getTime());
    Precondition Violations (0)
    Row Violation