Commit
* Use the original author to compute diff metadata
- Loading branch information
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -834,6 +834,16 @@ private UserReferenceResolver<DocumentReference> getUserReferenceDocumentReferen | |
new DefaultParameterizedType(null, UserReferenceResolver.class, DocumentReference.class), "document"); | ||
} | ||
|
||
private UserReferenceSerializer<String> getUserReferenceStringSerializer() | ||
{ | ||
return Utils.getComponent(new DefaultParameterizedType(null, UserReferenceSerializer.class, String.class)); | ||
This comment has been minimized.
Sorry, something went wrong. |
||
} | ||
|
||
private UserReferenceResolver<String> getUserReferenceStringResolver() | ||
{ | ||
return Utils.getComponent(new DefaultParameterizedType(null, UserReferenceResolver.class, String.class)); | ||
} | ||
|
||
public XWikiStoreInterface getStore(XWikiContext context) | ||
{ | ||
return context.getWiki().getStore(); | ||
|
@@ -6739,8 +6749,11 @@ public List<MetaDataDiff> getMetaDataDiff(XWikiDocument fromDoc, XWikiDocument t | |
list.add(new MetaDataDiff("parent", fromDoc.getParent(), toDoc.getParent())); | ||
} | ||
|
||
if (ObjectUtils.notEqual(fromDoc.getAuthorReference(), toDoc.getAuthorReference())) { | ||
list.add(new MetaDataDiff("author", fromDoc.getAuthor(), toDoc.getAuthor())); | ||
UserReference fromDocOriginalAuthor = fromDoc.getAuthors().getOriginalMetadataAuthor(); | ||
UserReference toDocOriginalAuthor = toDoc.getAuthors().getOriginalMetadataAuthor(); | ||
if (ObjectUtils.notEqual(fromDocOriginalAuthor, toDocOriginalAuthor)) { | ||
list.add(new MetaDataDiff("author", getUserReferenceStringSerializer().serialize(fromDocOriginalAuthor), | ||
getUserReferenceStringSerializer().serialize(toDocOriginalAuthor))); | ||
} | ||
|
||
if (ObjectUtils.notEqual(fromDoc.getDocumentReference(), toDoc.getDocumentReference())) { | ||
|
@@ -9227,9 +9240,7 @@ private String getOriginalMetadataAuthorReference() | |
|| this.getAuthors().getOriginalMetadataAuthor() == GuestUserReference.INSTANCE) { | ||
return ""; | ||
} else { | ||
UserReferenceSerializer<String> userReferenceSerializer = | ||
Utils.getComponent(new DefaultParameterizedType(null, UserReferenceSerializer.class, String.class)); | ||
return userReferenceSerializer.serialize(this.getAuthors().getOriginalMetadataAuthor()); | ||
return getUserReferenceStringSerializer().serialize(this.getAuthors().getOriginalMetadataAuthor()); | ||
This comment has been minimized.
Sorry, something went wrong.
mflorea
Member
|
||
} | ||
} | ||
|
||
|
@@ -9242,9 +9253,7 @@ private String getOriginalMetadataAuthorReference() | |
private void setOriginalMetadataAuthorReference(String serializedUserReference) | ||
{ | ||
if (!StringUtils.isEmpty(serializedUserReference)) { | ||
UserReferenceResolver<String> userReferenceResolver = | ||
Utils.getComponent(new DefaultParameterizedType(null, UserReferenceResolver.class, String.class)); | ||
UserReference userReference = userReferenceResolver.resolve(serializedUserReference); | ||
UserReference userReference = getUserReferenceStringResolver().resolve(serializedUserReference); | ||
This comment has been minimized.
Sorry, something went wrong.
mflorea
Member
|
||
this.authors.setOriginalMetadataAuthor(userReference); | ||
} | ||
} | ||
|
1 comment
on commit 6f25df1
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Created https://jira.xwiki.org/browse/XWIKI-19442 for the future.
This doesn't match the "compactwiki" serializer that was used in
getAuthor
(seeuserReferenceToString
). Now the serialized reference always includes the wiki component (it's always absolute) while before your change the wiki reference was omitted if it was matching the wiki component of the document.