Fix für Order in RelatedLink und anderen Collections. Fehlerhafte Order-Angaben werden jetzt automatisch korrigiert.
git-svn-id: https://svn.libreccm.org/ccm/trunk@1341 8810af33-2d31-482b-a856-94f89814c4dfmaster
parent
9f4864a5be
commit
d269b11f5e
|
|
@ -229,6 +229,7 @@ public class RelatedLink extends Link {
|
|||
"com.arsdigita.cms.contentassets.allRelatedLinkOrderForItem",
|
||||
"com.arsdigita.cms.contentassets.swapRelatedLinkWithNextInGroup",
|
||||
this.getLinkListName());
|
||||
normalizeOrder();
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -241,6 +242,7 @@ public class RelatedLink extends Link {
|
|||
"com.arsdigita.cms.contentassets.allRelatedLinkOrderForItem",
|
||||
"com.arsdigita.cms.contentassets.swapRelatedLinkWithNextInGroup",
|
||||
this.getLinkListName());
|
||||
normalizeOrder();
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -298,7 +300,22 @@ public class RelatedLink extends Link {
|
|||
link.setOrder(sortKey);
|
||||
link.save();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* This method normalizes the order column of the related links of this
|
||||
* item. This means that the order column of the first related link will
|
||||
* have the value 1 after calling this method, and so one.
|
||||
*/
|
||||
private void normalizeOrder() {
|
||||
final DataCollection relatedLinks = getRelatedLinks(getLinkOwner(),
|
||||
getLinkListName());
|
||||
int i = 1;
|
||||
while(relatedLinks.next()) {
|
||||
relatedLinks.getDataObject().set(ORDER, i);
|
||||
relatedLinks.getDataObject().save();
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -49,8 +49,8 @@ public class GenericOrganizationalUnitSubordinateCollection extends DomainCollec
|
|||
}
|
||||
|
||||
public void swapWithNext(final GenericOrganizationalUnit orgaunit) {
|
||||
|
||||
|
||||
|
||||
|
||||
if (orgaunit == null) {
|
||||
throw new IllegalArgumentException(
|
||||
"Parameter orgaunit is null. Can't swap position with null");
|
||||
|
|
@ -87,6 +87,8 @@ public class GenericOrganizationalUnitSubordinateCollection extends DomainCollec
|
|||
next();
|
||||
setSubordinateOrder(currentIndex);
|
||||
rewind();
|
||||
|
||||
normalizeOrder();
|
||||
}
|
||||
|
||||
public void swapWithPrevious(final GenericOrganizationalUnit orgaunit) {
|
||||
|
|
@ -128,17 +130,30 @@ public class GenericOrganizationalUnitSubordinateCollection extends DomainCollec
|
|||
next();
|
||||
setSubordinateOrder(previousIndex);
|
||||
rewind();
|
||||
|
||||
normalizeOrder();
|
||||
}
|
||||
|
||||
private void normalizeOrder() {
|
||||
this.rewind();
|
||||
|
||||
int i = 1;
|
||||
while (this.next()) {
|
||||
setSubordinateOrder(i);
|
||||
i++;
|
||||
}
|
||||
this.rewind();
|
||||
}
|
||||
|
||||
public GenericOrganizationalUnit getGenericOrganizationalUnit() {
|
||||
return (GenericOrganizationalUnit) DomainObjectFactory.newInstance(m_dataCollection.
|
||||
getDataObject());
|
||||
}
|
||||
|
||||
|
||||
public BigDecimal getId() {
|
||||
return (BigDecimal) m_dataCollection.getDataObject().get(ACSObject.ID);
|
||||
}
|
||||
|
||||
|
||||
public OID getOID() {
|
||||
return m_dataCollection.getDataObject().getOID();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -83,6 +83,8 @@ public class GenericOrganizationalUnitSuperiorCollection extends DomainCollectio
|
|||
next();
|
||||
setSuperiorOrder(currentIndex);
|
||||
rewind();
|
||||
|
||||
normalizeOrder();
|
||||
}
|
||||
|
||||
public void swapWithPrevious(final GenericOrganizationalUnit orgaunit) {
|
||||
|
|
@ -124,6 +126,19 @@ public class GenericOrganizationalUnitSuperiorCollection extends DomainCollectio
|
|||
next();
|
||||
setSuperiorOrder(previousIndex);
|
||||
rewind();
|
||||
|
||||
normalizeOrder();
|
||||
}
|
||||
|
||||
private void normalizeOrder() {
|
||||
this.rewind();
|
||||
|
||||
int i = 1;
|
||||
while (this.next()) {
|
||||
setSuperiorOrder(i);
|
||||
i++;
|
||||
}
|
||||
this.rewind();
|
||||
}
|
||||
|
||||
public GenericOrganizationalUnit getGenericOrganizationalUnit() {
|
||||
|
|
|
|||
|
|
@ -107,6 +107,8 @@ public class AuthorshipCollection extends DomainCollection {
|
|||
this.next();
|
||||
this.setAuthorshipOrder(currentIndex);
|
||||
this.rewind();
|
||||
|
||||
normalizeOrder();
|
||||
}
|
||||
|
||||
public void swapWithPrevious(GenericPerson author) {
|
||||
|
|
@ -155,16 +157,31 @@ public class AuthorshipCollection extends DomainCollection {
|
|||
this.next();
|
||||
this.setAuthorshipOrder(previousIndex);
|
||||
this.rewind();
|
||||
|
||||
normalizeOrder();
|
||||
}
|
||||
|
||||
private void normalizeOrder() {
|
||||
this.rewind();
|
||||
|
||||
int i = 1;
|
||||
while (this.next()) {
|
||||
setAuthorshipOrder(i);
|
||||
i++;
|
||||
}
|
||||
this.rewind();
|
||||
}
|
||||
|
||||
public String getSurname() {
|
||||
return (String) m_dataCollection.getDataObject().get(GenericPerson.SURNAME);
|
||||
return (String) m_dataCollection.getDataObject().get(
|
||||
GenericPerson.SURNAME);
|
||||
}
|
||||
|
||||
|
||||
public String getGivenName() {
|
||||
return (String) m_dataCollection.getDataObject().get(GenericPerson.GIVENNAME);
|
||||
return (String) m_dataCollection.getDataObject().get(
|
||||
GenericPerson.GIVENNAME);
|
||||
}
|
||||
|
||||
|
||||
public GenericPerson getAuthor() {
|
||||
return new GenericPerson(m_dataCollection.getDataObject());
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue