com.stratelia.webactiv.kmelia.control.ejb
Class KmeliaBmEJB

java.lang.Object
  extended by com.stratelia.webactiv.kmelia.control.ejb.KmeliaBmEJB
All Implemented Interfaces:
com.silverpeas.SilverpeasComponentService<KmeliaPublication>, KmeliaBm

public class KmeliaBmEJB
extends Object
implements KmeliaBm

This is the KMelia EJB-tier controller of the MVC. It is implemented as a session EJB. It controls all the activities that happen in a client session. It also provides mechanisms to access other session EJBs.

Author:
Nicolas Eysseric

Constructor Summary
KmeliaBmEJB()
           
 
Method Summary
 void addAttachmentToPublication(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK, String userId, String filename, String description, byte[] contents)
           
 com.stratelia.webactiv.util.node.model.NodePK addAxis(com.stratelia.webactiv.util.node.model.NodeDetail axis, String componentId)
          Add an axis
 void addInfoLinks(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK, List<com.silverpeas.util.ForeignPK> links)
          Updates the publication links
 com.stratelia.webactiv.util.node.model.NodePK addPosition(String fatherId, com.stratelia.webactiv.util.node.model.NodeDetail position, String componentId, String userId)
          Add position to a axis
 void addPublicationToCombination(String pubId, List<String> combination, String componentId)
          Add a combination for this publication
 void addPublicationToTopic(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK, com.stratelia.webactiv.util.node.model.NodePK fatherPK, boolean isACreation)
          Add a publication to a topic and send email alerts to topic subscribers
 void addPublicationToTopicWithoutNotifications(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK, com.stratelia.webactiv.util.node.model.NodePK fatherPK, boolean isACreation)
           
 void addSubscription(com.stratelia.webactiv.util.node.model.NodePK topicPK, String userId)
          Subscriptions - add a subscription
 com.stratelia.webactiv.util.node.model.NodePK addSubTopic(com.stratelia.webactiv.util.node.model.NodePK fatherPK, com.stratelia.webactiv.util.node.model.NodeDetail subTopic, String alertType)
          Add a subtopic to currentTopic and alert users - If a subtopic of same name already exists a NodePK with id=-1 is returned else the new topic NodePK
 com.stratelia.webactiv.util.node.model.NodePK addToTopic(com.stratelia.webactiv.util.node.model.NodePK fatherPK, com.stratelia.webactiv.util.node.model.NodeDetail subTopic)
          Add a subtopic to a topic - If a subtopic of same name already exists a NodePK with id=-1 is returned else the new topic NodePK
 void addUploadedFilesToPublication(com.stratelia.webactiv.util.publication.model.PublicationDetail pubDetail, Collection<org.silverpeas.upload.UploadedFile> uploadedFiles)
           
 void changeSubTopicsOrder(String way, com.stratelia.webactiv.util.node.model.NodePK subTopicPK, com.stratelia.webactiv.util.node.model.NodePK fatherPK)
           
 void changeTopicStatus(String newStatus, com.stratelia.webactiv.util.node.model.NodePK nodePK, boolean recursiveChanges)
           
protected  boolean checkCombination(Collection<com.stratelia.webactiv.util.coordinates.model.Coordinate> coordinates, List<String> combination)
           
protected  boolean checkPoint(com.stratelia.webactiv.util.coordinates.model.CoordinatePoint point, List<String> combination)
           
 boolean checkSubscription(com.stratelia.webactiv.util.node.model.NodePK topicPK, String userId)
           
 String clonePublication(com.stratelia.webactiv.util.publication.model.CompletePublication refPubComplete, com.stratelia.webactiv.util.publication.model.PublicationDetail pubDetail, String nextStatus)
          Clone CompletePublication.
 com.stratelia.webactiv.util.node.model.NodeDetail copyNode(KmeliaCopyDetail copyDetail)
           
 com.stratelia.webactiv.util.publication.model.PublicationPK copyPublication(com.stratelia.webactiv.util.publication.model.PublicationDetail publiToCopy, KmeliaCopyDetail copyDetail)
           
 void copyPublications(KmeliaCopyDetail copyDetail)
           
 String createKmaxPublication(com.stratelia.webactiv.util.publication.model.PublicationDetail pubDetail)
          Create a new Publication (only the header - parameters)
 String createPublicationIntoTopic(com.stratelia.webactiv.util.publication.model.PublicationDetail pubDetail, com.stratelia.webactiv.util.node.model.NodePK fatherPK)
          Create a new Publication (only the header - parameters) to the current Topic
 String createPublicationIntoTopic(com.stratelia.webactiv.util.publication.model.PublicationDetail pubDetail, com.stratelia.webactiv.util.node.model.NodePK fatherPK, com.silverpeas.pdc.model.PdcClassification classification)
          Creates a new publication into the specified topic and with the specified classification on the PdC.
 String createTopic(String componentId, String topicId, String spaceId, String userId, String name, String description)
           
 void deleteAllReadingControlsByPublication(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK)
          delete reading controls to a publication
 void deleteAxis(String axisId, String componentId)
          Delete axis
 void deleteCoordinates(com.stratelia.webactiv.util.coordinates.model.CoordinatePK coordinatePK, List<String> coordinates)
          Delete coordinates of a publication (ie: when publication is deleted)
 void deleteInfoLinks(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK, List<com.silverpeas.util.ForeignPK> links)
          Removes links between publications and the specified publication
 void deletePosition(String positionId, String componentId)
          Delete a position in an axis
 void deletePublication(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK)
          HEAD Delete a publication If this publication is in the basket or in the DZ, it's deleted from the database Else it only send to the basket.
 void deletePublicationFromAllTopics(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK)
          Delete a path of publication
 void deletePublicationFromCombination(String pubId, String combinationId, String componentId)
          Remove a combination for this publication
 void deletePublicationFromTopic(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK, com.stratelia.webactiv.util.node.model.NodePK fatherPK)
          Delete a path between publication and topic
 List<String> deletePublications(List<String> ids, com.stratelia.webactiv.util.node.model.NodePK nodePK, String userId)
          Removes publications according to given ids.
 void deleteSilverContent(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK)
           
 void deleteTopic(com.stratelia.webactiv.util.node.model.NodePK pkToDelete)
          Delete a topic and all descendants.
 void doAutomaticDraftOut()
           
 void draftInPublication(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK)
          Change publication status from any state to draft.
 void draftInPublication(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK, String userId)
           
 void draftInPublication(String componentId, String xmlFormName, String fieldName, String fieldValue)
           
 void draftOutPublication(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK, com.stratelia.webactiv.util.node.model.NodePK topicPK, String userProfile)
          Change publication status from draft to valid (for publisher) or toValidate (for redactor).
 com.stratelia.webactiv.util.publication.model.PublicationDetail draftOutPublication(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK, com.stratelia.webactiv.util.node.model.NodePK topicPK, String userProfile, boolean forceUpdateDate)
           
 com.stratelia.webactiv.util.publication.model.PublicationDetail draftOutPublicationWithoutNotifications(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK, com.stratelia.webactiv.util.node.model.NodePK topicPK, String userProfile)
          This method is here to manage correctly transactional scope of EJB (conflict between EJB and UserPreferences service)
 void externalElementsOfPublicationHaveChanged(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK, String userId, int action)
          alert that an external elements of publication (wysiwyg, attachment, versioning) has been created, updated or removed
 List<KmeliaPublication> filterPublications(List<KmeliaPublication> publications, String instanceId, com.stratelia.webactiv.SilverpeasRole profile, String userId)
           
 String findPublicationIdBySpecificValue(String componentId, String xmlFormName, String fieldName, String fieldValue, String topicId, String spaceId, String userId)
          Find a publication imported only by a xml field (old id for example)
 com.stratelia.silverpeas.notificationManager.NotificationMetaData getAlertNotificationMetaData(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK, com.stratelia.webactiv.util.node.model.NodePK topicPK, String senderName)
          Send an email to alert users of a publication creation
 com.stratelia.silverpeas.notificationManager.NotificationMetaData getAlertNotificationMetaData(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK, org.silverpeas.attachment.model.SimpleDocumentPK documentPk, com.stratelia.webactiv.util.node.model.NodePK topicPK, String senderName)
          Send an email to alert users of a attachment
 Collection<com.stratelia.webactiv.util.publication.model.Alias> getAlias(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK)
           
 List<com.stratelia.webactiv.util.node.model.NodeDetail> getAllowedSubfolders(com.stratelia.webactiv.util.node.model.NodeDetail folder, String userId)
           
 List<String> getAllValidators(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK)
           
 List<com.stratelia.webactiv.util.node.model.NodeDetail> getAxis(String componentId)
          Get list of Axis
 List<com.stratelia.webactiv.util.node.model.NodeDetail> getAxisHeaders(String componentId)
          Get list of Axis Headers
 com.stratelia.webactiv.util.publication.model.CompletePublication getCompletePublication(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK)
           
 com.stratelia.webactiv.util.ResourceLocator getComponentMessages(String language)
           
 com.stratelia.webactiv.util.ResourceLocator getComponentSettings()
           
 KmeliaPublication getContentById(String contentId)
           
protected  org.silverpeas.dateReminder.persistent.service.PersistentDateReminderService getDateReminderService()
          Gets a business service of dateReminder.
 com.stratelia.webactiv.util.node.model.NodeDetail getExpandedPathToNode(com.stratelia.webactiv.util.node.model.NodePK pk, String userId)
           
 Collection<com.stratelia.webactiv.util.node.model.NodeDetail> getFolderChildren(com.stratelia.webactiv.util.node.model.NodePK nodePK, String userId)
           
 Collection<com.stratelia.webactiv.util.coordinates.model.Coordinate> getKmaxPathList(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK)
           
 KmeliaPublication getKmaxPublication(String pubId, String currentUserId)
          Get a publication of a user
 List<com.stratelia.webactiv.util.statistic.model.HistoryObjectDetail> getLastAccess(com.stratelia.webactiv.util.publication.model.PublicationPK pk, com.stratelia.webactiv.util.node.model.NodePK nodePK, String excludedUserId)
           
 List<KmeliaPublication> getLatestPublications(String instanceId, int nbPublisOnRoot, boolean isRightsOnTopicsUsed, String userId)
           
 List<KmeliaPublication> getLinkedPublications(KmeliaPublication publication)
          Gets all the publications linked with the specified one.
 List<KmeliaPublication> getLinkedPublications(KmeliaPublication publication, String userId)
          Gets the publications linked with the specified one and for which the specified user is authorized to access.
 Collection<String> getModelUsed(String instanceId, String nodeId)
           
 com.stratelia.webactiv.util.node.model.NodeDetail getNodeHeader(String id, String componentId)
          Get Node Header
 Collection<com.stratelia.webactiv.util.node.model.NodeDetail> getPath(String id, String componentId)
          Get path from a position
 Collection<Collection<com.stratelia.webactiv.util.node.model.NodeDetail>> getPathList(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK)
          Return list of all path to this publication - it's a Collection of NodeDetail collection
 KmeliaPublication getPublication(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK)
           
 Collection<com.stratelia.webactiv.util.coordinates.model.Coordinate> getPublicationCoordinates(String pubId, String componentId)
          Get Collection of coordinates for a publication
 com.stratelia.webactiv.util.publication.model.PublicationDetail getPublicationDetail(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK)
          Return the detail of a publication (only the Header)
 Collection<com.stratelia.webactiv.util.publication.model.PublicationDetail> getPublicationDetails(List<com.silverpeas.util.ForeignPK> links)
          gets a list of PublicationDetail corresponding to the links parameter
 TopicDetail getPublicationFather(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK, boolean isTreeStructureUsed, String userId, boolean isRightsOnTopicsUsed)
           
 com.stratelia.webactiv.util.node.model.NodePK getPublicationFatherPK(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK, boolean isTreeStructureUsed, String userId, boolean isRightsOnTopicsUsed)
           
 Collection<com.stratelia.webactiv.util.node.model.NodePK> getPublicationFathers(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK)
           
 Collection<KmeliaPublication> getPublications(List<com.silverpeas.util.ForeignPK> links, String userId, boolean isRightsOnTopicsUsed)
          gets a list of authorized publications
 List<KmeliaPublication> getPublicationsOfFolder(com.stratelia.webactiv.util.node.model.NodePK pk, String userProfile, String userId, boolean isTreeStructureUsed, boolean isRightsOnTopicsUsed)
           
 Collection<String> getPublicationsSpecificValues(String componentId, String xmlFormName, String fieldName)
           
 List<KmeliaPublication> getPublicationsToValidate(String componentId, String userId)
           
 List<com.silverpeas.form.importExport.XMLField> getPublicationXmlFields(String publicationId, String componentId, String spaceId, String userId)
           
 List<com.silverpeas.form.importExport.XMLField> getPublicationXmlFields(String publicationId, String componentId, String spaceId, String userId, String language)
           
 com.stratelia.webactiv.util.node.model.NodeDetail getRoot(String componentId, String userId)
           
 int getSilverObjectId(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK)
           
 com.silverpeas.subscribe.SubscriptionService getSubscribeBm()
           
 Collection<Collection<com.stratelia.webactiv.util.node.model.NodeDetail>> getSubscriptionList(String userId, String componentId)
          Subscriptions - get the subscription list of the current user
 com.stratelia.webactiv.util.node.model.NodeDetail getSubTopicDetail(com.stratelia.webactiv.util.node.model.NodePK pk)
          Return a subtopic to currentTopic
 List<com.stratelia.webactiv.util.node.model.NodeDetail> getTreeview(com.stratelia.webactiv.util.node.model.NodePK nodePK, String profile, boolean coWritingEnable, boolean draftVisibleWithCoWriting, String userId, boolean displayNb, boolean isRightsOnTopicsUsed)
           
 Collection<KmeliaPublication> getUnbalancedPublications(String componentId)
          Get publications with no classement
 List<String> getUserIdsOfFolder(com.stratelia.webactiv.util.node.model.NodePK pk)
           
 String getUserTopicProfile(com.stratelia.webactiv.util.node.model.NodePK pk, String userId)
           
 String getWysiwyg(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK, String language)
           
 TopicDetail goTo(com.stratelia.webactiv.util.node.model.NodePK pk, String userId, boolean isTreeStructureUsed, String userProfile, boolean isRightsOnTopicsUsed)
          Return a the detail of a topic
 boolean importPublication(String componentId, String topicId, String userId, Map<String,String> publiParams, Map<String,String> formParams, String language, String xmlFormName, String discriminantParameterName, String userProfile, boolean ignoreMissingFormFields)
           
 boolean importPublication(String componentId, String topicId, String spaceId, String userId, Map<String,String> publiParams, Map<String,String> formParams, String language, String xmlFormName, String discrimatingParameterName, String userProfile)
          Creates or updates a publication.
 boolean importPublication(String publicationId, String componentId, String topicId, String spaceId, String userId, Map<String,String> publiParams, Map<String,String> formParams, String language, String xmlFormName, String userProfile)
          Creates or updates a publication.
 void importPublications(String componentId, String topicId, String spaceId, String userId, List<Map<String,String>> publiParamsList, List<Map<String,String>> formParamsList, String language, String xmlFormName, String discrimatingParameterName, String userProfile)
           
 void indexKmax(String componentId)
           
 void indexKmelia(String componentId)
           
 boolean isAlias(com.stratelia.webactiv.util.publication.model.PublicationDetail pubDetail, com.stratelia.webactiv.util.node.model.NodePK nodePK)
           
 boolean isPublicationVisible(com.stratelia.webactiv.util.publication.model.PublicationDetail detail, com.stratelia.webactiv.SilverpeasRole profile, String userId)
           
 boolean isUserCanPublish(String componentId, String userId)
           
 boolean isUserCanValidate(String componentId, String userId)
           
 boolean isUserCanValidatePublication(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK, String userId)
          This method verifies if the user behind the given user identifier can validate the publication represented by the given primary key.
 boolean isUserCanWrite(String componentId, String userId)
           
 com.stratelia.webactiv.util.node.model.NodeDetail moveNode(com.stratelia.webactiv.util.node.model.NodePK nodePK, com.stratelia.webactiv.util.node.model.NodePK to, String userId)
           
 void movePublication(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK, com.stratelia.webactiv.util.node.model.NodePK to, String userId)
           
 void movePublicationInAnotherApplication(com.stratelia.webactiv.util.publication.model.PublicationDetail pub, com.stratelia.webactiv.util.node.model.NodePK to, String userId)
          Move a publication to another component.
 void movePublicationInSameApplication(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK, com.stratelia.webactiv.util.node.model.NodePK from, com.stratelia.webactiv.util.node.model.NodePK to, String userId)
           
 void removeContentOfPublication(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK)
           
 void removeSubscriptionToCurrentUser(com.stratelia.webactiv.util.node.model.NodePK topicPK, String userId)
          Subscriptions - remove a subscription to the subscription list of the current user
 List<KmeliaPublication> search(List<String> combination, int nbDays, String componentId)
          Get publications in a combination with time criteria
 List<KmeliaPublication> search(List<String> combination, String componentId)
          Get publications in a combination
 void sendModificationAlert(int modificationScope, com.stratelia.webactiv.util.publication.model.PublicationPK pubPK)
           
 void sendPublicationToBasket(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK)
           
 void sendPublicationToBasket(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK, boolean kmaxMode)
          Send the publication in the basket topic
 void setAlias(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK, List<com.stratelia.webactiv.util.publication.model.Alias> alias)
           
 void setModelUsed(String[] models, String instanceId, String nodeId)
           
 void sortSubTopics(com.stratelia.webactiv.util.node.model.NodePK fatherPK)
           
 void sortSubTopics(com.stratelia.webactiv.util.node.model.NodePK fatherPK, boolean recursive, String[] criteria)
           
 void suspendPublication(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK, String defermentMotive, String userId)
           
 void unvalidatePublication(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK, String userId, String refusalMotive, int validationType)
           
 void updateAxis(com.stratelia.webactiv.util.node.model.NodeDetail axis, String componentId)
          Update an axis
 void updatePosition(com.stratelia.webactiv.util.node.model.NodeDetail position, String componentId)
          Update a position in an axis
 void updatePublication(com.stratelia.webactiv.util.publication.model.PublicationDetail pubDetail)
          Update a publication (only the header - parameters)
 void updatePublication(com.stratelia.webactiv.util.publication.model.PublicationDetail pubDetail, boolean forceUpdateDate)
           
 void updatePublicationEndDate(String componentId, String spaceId, String userId, String xmlFormName, String fieldName, String fieldValue, Date endDate)
           
 com.stratelia.webactiv.util.node.model.NodePK updateTopic(com.stratelia.webactiv.util.node.model.NodeDetail topic, String alertType)
          Update a subtopic to currentTopic and alert users - If a subtopic of same name already exists a NodePK with id=-1 is returned else the new topic NodePK
 boolean validatePublication(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK, String userId, boolean force)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

KmeliaBmEJB

public KmeliaBmEJB()
Method Detail

getSubscribeBm

public com.silverpeas.subscribe.SubscriptionService getSubscribeBm()

goTo

public TopicDetail goTo(com.stratelia.webactiv.util.node.model.NodePK pk,
                        String userId,
                        boolean isTreeStructureUsed,
                        String userProfile,
                        boolean isRightsOnTopicsUsed)
Return a the detail of a topic

Specified by:
goTo in interface KmeliaBm
Parameters:
pk - the id of the topic
userId -
isTreeStructureUsed -
userProfile -
isRightsOnTopicsUsed -
Returns:

getPublicationsOfFolder

public List<KmeliaPublication> getPublicationsOfFolder(com.stratelia.webactiv.util.node.model.NodePK pk,
                                                       String userProfile,
                                                       String userId,
                                                       boolean isTreeStructureUsed,
                                                       boolean isRightsOnTopicsUsed)
Specified by:
getPublicationsOfFolder in interface KmeliaBm

getLatestPublications

public List<KmeliaPublication> getLatestPublications(String instanceId,
                                                     int nbPublisOnRoot,
                                                     boolean isRightsOnTopicsUsed,
                                                     String userId)
Specified by:
getLatestPublications in interface KmeliaBm

getAllowedSubfolders

public List<com.stratelia.webactiv.util.node.model.NodeDetail> getAllowedSubfolders(com.stratelia.webactiv.util.node.model.NodeDetail folder,
                                                                                    String userId)
Specified by:
getAllowedSubfolders in interface KmeliaBm

addToTopic

public com.stratelia.webactiv.util.node.model.NodePK addToTopic(com.stratelia.webactiv.util.node.model.NodePK fatherPK,
                                                                com.stratelia.webactiv.util.node.model.NodeDetail subTopic)
Add a subtopic to a topic - If a subtopic of same name already exists a NodePK with id=-1 is returned else the new topic NodePK

Specified by:
addToTopic in interface KmeliaBm
Parameters:
fatherPK - the topic Id of the future father
subTopic - the NodeDetail of the new sub topic
Returns:
If a subtopic of same name already exists a NodePK with id=-1 is returned else the new topic NodePK
See Also:
NodeDetail, NodePK

addSubTopic

public com.stratelia.webactiv.util.node.model.NodePK addSubTopic(com.stratelia.webactiv.util.node.model.NodePK fatherPK,
                                                                 com.stratelia.webactiv.util.node.model.NodeDetail subTopic,
                                                                 String alertType)
Add a subtopic to currentTopic and alert users - If a subtopic of same name already exists a NodePK with id=-1 is returned else the new topic NodePK

Specified by:
addSubTopic in interface KmeliaBm
Parameters:
fatherPK -
subTopic - the NodeDetail of the new sub topic
alertType - Alert all users, only publishers or nobody of the topic creation alertType = "All"|"Publisher"|"None"
Returns:
If a subtopic of same name already exists a NodePK with id=-1 is returned else the new topic NodePK
See Also:
NodeDetail, NodePK

updateTopic

public com.stratelia.webactiv.util.node.model.NodePK updateTopic(com.stratelia.webactiv.util.node.model.NodeDetail topic,
                                                                 String alertType)
Update a subtopic to currentTopic and alert users - If a subtopic of same name already exists a NodePK with id=-1 is returned else the new topic NodePK

Specified by:
updateTopic in interface KmeliaBm
Parameters:
topic - the NodeDetail of the updated sub topic
alertType - Alert all users, only publishers or nobody of the topic creation alertType = "All"|"Publisher"|"None"
Returns:
If a subtopic of same name already exists a NodePK with id=-1 is returned else the new topic NodePK
Since:
1.0
See Also:
NodeDetail, NodePK

getSubTopicDetail

public com.stratelia.webactiv.util.node.model.NodeDetail getSubTopicDetail(com.stratelia.webactiv.util.node.model.NodePK pk)
Description copied from interface: KmeliaBm
Return a subtopic to currentTopic

Specified by:
getSubTopicDetail in interface KmeliaBm
Parameters:
pk - the id of the researched topic
Returns:
the detail of the specified topic
See Also:
NodeDetail

deleteTopic

public void deleteTopic(com.stratelia.webactiv.util.node.model.NodePK pkToDelete)
Delete a topic and all descendants. Delete all links between descendants and publications. This publications will be visible in the Declassified zone. Delete All subscriptions and favorites on this topics and all descendants

Specified by:
deleteTopic in interface KmeliaBm
Parameters:
pkToDelete - the id of the topic to delete
Since:
1.0

changeSubTopicsOrder

public void changeSubTopicsOrder(String way,
                                 com.stratelia.webactiv.util.node.model.NodePK subTopicPK,
                                 com.stratelia.webactiv.util.node.model.NodePK fatherPK)
Specified by:
changeSubTopicsOrder in interface KmeliaBm

changeTopicStatus

public void changeTopicStatus(String newStatus,
                              com.stratelia.webactiv.util.node.model.NodePK nodePK,
                              boolean recursiveChanges)
Specified by:
changeTopicStatus in interface KmeliaBm

sortSubTopics

public void sortSubTopics(com.stratelia.webactiv.util.node.model.NodePK fatherPK)
Specified by:
sortSubTopics in interface KmeliaBm

sortSubTopics

public void sortSubTopics(com.stratelia.webactiv.util.node.model.NodePK fatherPK,
                          boolean recursive,
                          String[] criteria)
Specified by:
sortSubTopics in interface KmeliaBm

getTreeview

public List<com.stratelia.webactiv.util.node.model.NodeDetail> getTreeview(com.stratelia.webactiv.util.node.model.NodePK nodePK,
                                                                           String profile,
                                                                           boolean coWritingEnable,
                                                                           boolean draftVisibleWithCoWriting,
                                                                           String userId,
                                                                           boolean displayNb,
                                                                           boolean isRightsOnTopicsUsed)
Specified by:
getTreeview in interface KmeliaBm

getSubscriptionList

public Collection<Collection<com.stratelia.webactiv.util.node.model.NodeDetail>> getSubscriptionList(String userId,
                                                                                                     String componentId)
Subscriptions - get the subscription list of the current user

Specified by:
getSubscriptionList in interface KmeliaBm
Parameters:
userId -
componentId -
Returns:
a Path Collection - it's a Collection of NodeDetail collection
Since:
1.0
See Also:
NodeDetail

removeSubscriptionToCurrentUser

public void removeSubscriptionToCurrentUser(com.stratelia.webactiv.util.node.model.NodePK topicPK,
                                            String userId)
Subscriptions - remove a subscription to the subscription list of the current user

Specified by:
removeSubscriptionToCurrentUser in interface KmeliaBm
Parameters:
topicPK - the subscribe topic Id to remove
userId -
Since:
1.0

addSubscription

public void addSubscription(com.stratelia.webactiv.util.node.model.NodePK topicPK,
                            String userId)
Subscriptions - add a subscription

Specified by:
addSubscription in interface KmeliaBm
Parameters:
topicPK - the subscription topic Id to add
userId - the subscription userId
Since:
1.0

checkSubscription

public boolean checkSubscription(com.stratelia.webactiv.util.node.model.NodePK topicPK,
                                 String userId)
Specified by:
checkSubscription in interface KmeliaBm
Parameters:
topicPK -
userId -
Returns:
true if this topic does not exists in user subscriptions and can be added to them.

getPublicationDetail

public com.stratelia.webactiv.util.publication.model.PublicationDetail getPublicationDetail(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK)
Return the detail of a publication (only the Header)

Specified by:
getPublicationDetail in interface KmeliaBm
Parameters:
pubPK - the id of the publication
Returns:
a PublicationDetail
Since:
1.0
See Also:
PublicationDetail

getPathList

public Collection<Collection<com.stratelia.webactiv.util.node.model.NodeDetail>> getPathList(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK)
Return list of all path to this publication - it's a Collection of NodeDetail collection

Specified by:
getPathList in interface KmeliaBm
Parameters:
pubPK - the id of the publication
Returns:
a Collection of NodeDetail collection
Since:
1.0
See Also:
NodeDetail

createPublicationIntoTopic

public String createPublicationIntoTopic(com.stratelia.webactiv.util.publication.model.PublicationDetail pubDetail,
                                         com.stratelia.webactiv.util.node.model.NodePK fatherPK)
Create a new Publication (only the header - parameters) to the current Topic

Specified by:
createPublicationIntoTopic in interface KmeliaBm
Parameters:
pubDetail - a PublicationDetail
Returns:
the id of the new publication
Since:
1.0
See Also:
PublicationDetail

createPublicationIntoTopic

public String createPublicationIntoTopic(com.stratelia.webactiv.util.publication.model.PublicationDetail pubDetail,
                                         com.stratelia.webactiv.util.node.model.NodePK fatherPK,
                                         com.silverpeas.pdc.model.PdcClassification classification)
Description copied from interface: KmeliaBm
Creates a new publication into the specified topic and with the specified classification on the PdC.

Specified by:
createPublicationIntoTopic in interface KmeliaBm
Parameters:
pubDetail - the detail about the publication to create.
fatherPK - the unique identifier of the topic into which the publication is published.
classification - the classification on the PdC of the publication content.
Returns:
the unique identifier of the created publication.

updatePublication

public void updatePublication(com.stratelia.webactiv.util.publication.model.PublicationDetail pubDetail)
Update a publication (only the header - parameters)

Specified by:
updatePublication in interface KmeliaBm
Parameters:
pubDetail - a PublicationDetail
Since:
1.0
See Also:
PublicationDetail

updatePublication

public void updatePublication(com.stratelia.webactiv.util.publication.model.PublicationDetail pubDetail,
                              boolean forceUpdateDate)
Specified by:
updatePublication in interface KmeliaBm

movePublication

@SimulationActionProcess(elementLister=KmeliaPublicationSimulationElementLister.class)
@Action(value=MOVE)
public void movePublication(@SourcePK
                                                                                                         com.stratelia.webactiv.util.publication.model.PublicationPK pubPK,
                                                                                                         @TargetPK
                                                                                                         com.stratelia.webactiv.util.node.model.NodePK to,
                                                                                                         String userId)
Specified by:
movePublication in interface KmeliaBm

movePublicationInSameApplication

@SimulationActionProcess(elementLister=KmeliaPublicationSimulationElementLister.class)
@Action(value=MOVE)
public void movePublicationInSameApplication(@SourcePK
                                                                                                                          com.stratelia.webactiv.util.publication.model.PublicationPK pubPK,
                                                                                                                          @TargetPK
                                                                                                                          com.stratelia.webactiv.util.node.model.NodePK from,
                                                                                                                          com.stratelia.webactiv.util.node.model.NodePK to,
                                                                                                                          String userId)
Specified by:
movePublicationInSameApplication in interface KmeliaBm

movePublicationInAnotherApplication

@SimulationActionProcess(elementLister=KmeliaPublicationSimulationElementLister.class)
@Action(value=MOVE)
public void movePublicationInAnotherApplication(@SourcePK
                                                                                                                             com.stratelia.webactiv.util.publication.model.PublicationDetail pub,
                                                                                                                             @TargetPK
                                                                                                                             com.stratelia.webactiv.util.node.model.NodePK to,
                                                                                                                             String userId)
Move a publication to another component. Moving in this order :

Specified by:
movePublicationInAnotherApplication in interface KmeliaBm

externalElementsOfPublicationHaveChanged

public void externalElementsOfPublicationHaveChanged(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK,
                                                     String userId,
                                                     int action)
Description copied from interface: KmeliaBm
alert that an external elements of publication (wysiwyg, attachment, versioning) has been created, updated or removed

Specified by:
externalElementsOfPublicationHaveChanged in interface KmeliaBm
Parameters:
pubPK - - id of the publication which contains this external elements

deletePublication

public void deletePublication(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK)
HEAD Delete a publication If this publication is in the basket or in the DZ, it's deleted from the database Else it only send to the basket.

Specified by:
deletePublication in interface KmeliaBm
Parameters:
pubPK - the id of the publication to delete
See Also:
TopicDetail

sendPublicationToBasket

public void sendPublicationToBasket(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK,
                                    boolean kmaxMode)
Send the publication in the basket topic

Specified by:
sendPublicationToBasket in interface KmeliaBm
Parameters:
pubPK - the id of the publication
kmaxMode -
Since:
1.0
See Also:
TopicDetail

sendPublicationToBasket

public void sendPublicationToBasket(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK)
Specified by:
sendPublicationToBasket in interface KmeliaBm

addPublicationToTopic

public void addPublicationToTopic(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK,
                                  com.stratelia.webactiv.util.node.model.NodePK fatherPK,
                                  boolean isACreation)
Add a publication to a topic and send email alerts to topic subscribers

Specified by:
addPublicationToTopic in interface KmeliaBm
Parameters:
pubPK - the id of the publication
fatherPK - the id of the topic
isACreation -

addPublicationToTopicWithoutNotifications

public void addPublicationToTopicWithoutNotifications(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK,
                                                      com.stratelia.webactiv.util.node.model.NodePK fatherPK,
                                                      boolean isACreation)
Specified by:
addPublicationToTopicWithoutNotifications in interface KmeliaBm

deletePublicationFromTopic

public void deletePublicationFromTopic(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK,
                                       com.stratelia.webactiv.util.node.model.NodePK fatherPK)
Delete a path between publication and topic

Specified by:
deletePublicationFromTopic in interface KmeliaBm
Parameters:
pubPK -
fatherPK -

deletePublicationFromAllTopics

public void deletePublicationFromAllTopics(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK)
Description copied from interface: KmeliaBm
Delete a path of publication

Specified by:
deletePublicationFromAllTopics in interface KmeliaBm
Parameters:
pubPK - the id of the publication

addInfoLinks

public void addInfoLinks(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK,
                         List<com.silverpeas.util.ForeignPK> links)
Updates the publication links

Specified by:
addInfoLinks in interface KmeliaBm
Parameters:
pubPK - publication identifier which you want to update links
links - list of publication to link with current.

deleteInfoLinks

public void deleteInfoLinks(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK,
                            List<com.silverpeas.util.ForeignPK> links)
Description copied from interface: KmeliaBm
Removes links between publications and the specified publication

Specified by:
deleteInfoLinks in interface KmeliaBm
links - list of links to remove

getCompletePublication

public com.stratelia.webactiv.util.publication.model.CompletePublication getCompletePublication(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK)
Specified by:
getCompletePublication in interface KmeliaBm

getPublication

public KmeliaPublication getPublication(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK)
Specified by:
getPublication in interface KmeliaBm

getPublicationFather

public TopicDetail getPublicationFather(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK,
                                        boolean isTreeStructureUsed,
                                        String userId,
                                        boolean isRightsOnTopicsUsed)
Specified by:
getPublicationFather in interface KmeliaBm

getPublicationFatherPK

public com.stratelia.webactiv.util.node.model.NodePK getPublicationFatherPK(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK,
                                                                            boolean isTreeStructureUsed,
                                                                            String userId,
                                                                            boolean isRightsOnTopicsUsed)
Specified by:
getPublicationFatherPK in interface KmeliaBm

getPublicationFathers

public Collection<com.stratelia.webactiv.util.node.model.NodePK> getPublicationFathers(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK)
Specified by:
getPublicationFathers in interface KmeliaBm

getPublicationDetails

public Collection<com.stratelia.webactiv.util.publication.model.PublicationDetail> getPublicationDetails(List<com.silverpeas.util.ForeignPK> links)
gets a list of PublicationDetail corresponding to the links parameter

Specified by:
getPublicationDetails in interface KmeliaBm
Parameters:
links - list of publication (componentID + publicationId)
Returns:
a list of PublicationDetail

getPublications

public Collection<KmeliaPublication> getPublications(List<com.silverpeas.util.ForeignPK> links,
                                                     String userId,
                                                     boolean isRightsOnTopicsUsed)
gets a list of authorized publications

Specified by:
getPublications in interface KmeliaBm
Parameters:
links - list of publication defined by his id and component id
userId - identifier User. allow to check if the publication is accessible for current user
isRightsOnTopicsUsed - indicates if the right must be checked
Returns:
a collection of Kmelia publication
Since:
1.0

getLinkedPublications

public List<KmeliaPublication> getLinkedPublications(KmeliaPublication publication,
                                                     String userId)
Gets the publications linked with the specified one and for which the specified user is authorized to access.

Specified by:
getLinkedPublications in interface KmeliaBm
Parameters:
publication - the publication from which linked publications are get.
userId - the unique identifier of a user. It allows to check if a linked publication is accessible for the specified user.
Returns:
a list of Kmelia publications.

getLinkedPublications

public List<KmeliaPublication> getLinkedPublications(KmeliaPublication publication)
Gets all the publications linked with the specified one.

Specified by:
getLinkedPublications in interface KmeliaBm
Parameters:
publication - the publication from which linked publications are get.
Returns:
a list of Kmelia publications.

getPublicationsToValidate

public List<KmeliaPublication> getPublicationsToValidate(String componentId,
                                                         String userId)
Specified by:
getPublicationsToValidate in interface KmeliaBm

getAllValidators

public List<String> getAllValidators(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK)
Specified by:
getAllValidators in interface KmeliaBm

validatePublication

public boolean validatePublication(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK,
                                   String userId,
                                   boolean force)
Specified by:
validatePublication in interface KmeliaBm
Parameters:
pubPK - id of the publication to validate. If publication is always visible, clone is processed.
userId - id of the user who validate
force - if true, force to validate publication (bypass pending validations)
Returns:
true if the validation process is complete (ie all validators have validate)

unvalidatePublication

public void unvalidatePublication(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK,
                                  String userId,
                                  String refusalMotive,
                                  int validationType)
Specified by:
unvalidatePublication in interface KmeliaBm

suspendPublication

public void suspendPublication(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK,
                               String defermentMotive,
                               String userId)
Specified by:
suspendPublication in interface KmeliaBm

draftOutPublication

public void draftOutPublication(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK,
                                com.stratelia.webactiv.util.node.model.NodePK topicPK,
                                String userProfile)
Change publication status from draft to valid (for publisher) or toValidate (for redactor).

Specified by:
draftOutPublication in interface KmeliaBm
Parameters:
pubPK -
topicPK -
userProfile -

draftOutPublicationWithoutNotifications

public com.stratelia.webactiv.util.publication.model.PublicationDetail draftOutPublicationWithoutNotifications(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK,
                                                                                                               com.stratelia.webactiv.util.node.model.NodePK topicPK,
                                                                                                               String userProfile)
This method is here to manage correctly transactional scope of EJB (conflict between EJB and UserPreferences service)

Specified by:
draftOutPublicationWithoutNotifications in interface KmeliaBm
Parameters:
pubPK -
Returns:

draftOutPublication

public com.stratelia.webactiv.util.publication.model.PublicationDetail draftOutPublication(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK,
                                                                                           com.stratelia.webactiv.util.node.model.NodePK topicPK,
                                                                                           String userProfile,
                                                                                           boolean forceUpdateDate)
Specified by:
draftOutPublication in interface KmeliaBm

draftInPublication

public void draftInPublication(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK)
Change publication status from any state to draft.

Specified by:
draftInPublication in interface KmeliaBm
Parameters:
pubPK -

draftInPublication

public void draftInPublication(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK,
                               String userId)
Specified by:
draftInPublication in interface KmeliaBm

getAlertNotificationMetaData

public com.stratelia.silverpeas.notificationManager.NotificationMetaData getAlertNotificationMetaData(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK,
                                                                                                      com.stratelia.webactiv.util.node.model.NodePK topicPK,
                                                                                                      String senderName)
Description copied from interface: KmeliaBm
Send an email to alert users of a publication creation

Specified by:
getAlertNotificationMetaData in interface KmeliaBm
Parameters:
pubPK - the publication Id

isAlias

public boolean isAlias(com.stratelia.webactiv.util.publication.model.PublicationDetail pubDetail,
                       com.stratelia.webactiv.util.node.model.NodePK nodePK)

getAlertNotificationMetaData

public com.stratelia.silverpeas.notificationManager.NotificationMetaData getAlertNotificationMetaData(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK,
                                                                                                      org.silverpeas.attachment.model.SimpleDocumentPK documentPk,
                                                                                                      com.stratelia.webactiv.util.node.model.NodePK topicPK,
                                                                                                      String senderName)
Description copied from interface: KmeliaBm
Send an email to alert users of a attachment

Specified by:
getAlertNotificationMetaData in interface KmeliaBm
Parameters:
pubPK -
documentPk -
topicPK -
senderName -
Returns:

deleteAllReadingControlsByPublication

public void deleteAllReadingControlsByPublication(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK)
delete reading controls to a publication

Specified by:
deleteAllReadingControlsByPublication in interface KmeliaBm
Parameters:
pubPK - the id of a publication
Since:
1.0

getLastAccess

public List<com.stratelia.webactiv.util.statistic.model.HistoryObjectDetail> getLastAccess(com.stratelia.webactiv.util.publication.model.PublicationPK pk,
                                                                                           com.stratelia.webactiv.util.node.model.NodePK nodePK,
                                                                                           String excludedUserId)
Specified by:
getLastAccess in interface KmeliaBm

getUserIdsOfFolder

public List<String> getUserIdsOfFolder(com.stratelia.webactiv.util.node.model.NodePK pk)
Specified by:
getUserIdsOfFolder in interface KmeliaBm

indexKmelia

public void indexKmelia(String componentId)
Specified by:
indexKmelia in interface KmeliaBm

sendModificationAlert

public void sendModificationAlert(int modificationScope,
                                  com.stratelia.webactiv.util.publication.model.PublicationPK pubPK)
Specified by:
sendModificationAlert in interface KmeliaBm

getSilverObjectId

public int getSilverObjectId(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK)
Specified by:
getSilverObjectId in interface KmeliaBm

deleteSilverContent

public void deleteSilverContent(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK)
Specified by:
deleteSilverContent in interface KmeliaBm

removeContentOfPublication

public void removeContentOfPublication(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK)
Specified by:
removeContentOfPublication in interface KmeliaBm

setModelUsed

public void setModelUsed(String[] models,
                         String instanceId,
                         String nodeId)
Specified by:
setModelUsed in interface KmeliaBm

getModelUsed

public Collection<String> getModelUsed(String instanceId,
                                       String nodeId)
Specified by:
getModelUsed in interface KmeliaBm

getAxis

public List<com.stratelia.webactiv.util.node.model.NodeDetail> getAxis(String componentId)
Description copied from interface: KmeliaBm
Get list of Axis

Specified by:
getAxis in interface KmeliaBm
Returns:
List of Axis

getAxisHeaders

public List<com.stratelia.webactiv.util.node.model.NodeDetail> getAxisHeaders(String componentId)
Description copied from interface: KmeliaBm
Get list of Axis Headers

Specified by:
getAxisHeaders in interface KmeliaBm
Returns:
List of Axis Headers

addAxis

public com.stratelia.webactiv.util.node.model.NodePK addAxis(com.stratelia.webactiv.util.node.model.NodeDetail axis,
                                                             String componentId)
Description copied from interface: KmeliaBm
Add an axis

Specified by:
addAxis in interface KmeliaBm
Returns:

updateAxis

public void updateAxis(com.stratelia.webactiv.util.node.model.NodeDetail axis,
                       String componentId)
Description copied from interface: KmeliaBm
Update an axis

Specified by:
updateAxis in interface KmeliaBm

deleteAxis

public void deleteAxis(String axisId,
                       String componentId)
Description copied from interface: KmeliaBm
Delete axis

Specified by:
deleteAxis in interface KmeliaBm

getNodeHeader

public com.stratelia.webactiv.util.node.model.NodeDetail getNodeHeader(String id,
                                                                       String componentId)
Description copied from interface: KmeliaBm
Get Node Header

Specified by:
getNodeHeader in interface KmeliaBm
Returns:
NodeDetail

addPosition

public com.stratelia.webactiv.util.node.model.NodePK addPosition(String fatherId,
                                                                 com.stratelia.webactiv.util.node.model.NodeDetail position,
                                                                 String componentId,
                                                                 String userId)
Description copied from interface: KmeliaBm
Add position to a axis

Specified by:
addPosition in interface KmeliaBm
Returns:
NodePK

updatePosition

public void updatePosition(com.stratelia.webactiv.util.node.model.NodeDetail position,
                           String componentId)
Description copied from interface: KmeliaBm
Update a position in an axis

Specified by:
updatePosition in interface KmeliaBm

deletePosition

public void deletePosition(String positionId,
                           String componentId)
Description copied from interface: KmeliaBm
Delete a position in an axis

Specified by:
deletePosition in interface KmeliaBm

getPath

public Collection<com.stratelia.webactiv.util.node.model.NodeDetail> getPath(String id,
                                                                             String componentId)
Description copied from interface: KmeliaBm
Get path from a position

Specified by:
getPath in interface KmeliaBm
Returns:

getKmaxPathList

public Collection<com.stratelia.webactiv.util.coordinates.model.Coordinate> getKmaxPathList(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK)

search

public List<KmeliaPublication> search(List<String> combination,
                                      String componentId)
Description copied from interface: KmeliaBm
Get publications in a combination

Specified by:
search in interface KmeliaBm
Returns:
Collection of publication

search

public List<KmeliaPublication> search(List<String> combination,
                                      int nbDays,
                                      String componentId)
Description copied from interface: KmeliaBm
Get publications in a combination with time criteria

Specified by:
search in interface KmeliaBm
Returns:
Collection of publication

getUnbalancedPublications

public Collection<KmeliaPublication> getUnbalancedPublications(String componentId)
Description copied from interface: KmeliaBm
Get publications with no classement

Specified by:
getUnbalancedPublications in interface KmeliaBm
Returns:
Collection of publication

indexKmax

public void indexKmax(String componentId)
Specified by:
indexKmax in interface KmeliaBm

getKmaxPublication

public KmeliaPublication getKmaxPublication(String pubId,
                                            String currentUserId)
Description copied from interface: KmeliaBm
Get a publication of a user

Specified by:
getKmaxPublication in interface KmeliaBm
Parameters:
pubId - , pubId
Returns:
a Kmelia publication

getPublicationCoordinates

public Collection<com.stratelia.webactiv.util.coordinates.model.Coordinate> getPublicationCoordinates(String pubId,
                                                                                                      String componentId)
Description copied from interface: KmeliaBm
Get Collection of coordinates for a publication

Specified by:
getPublicationCoordinates in interface KmeliaBm
Parameters:
pubId - , componentId
Returns:
a collection of coordinates

addPublicationToCombination

public void addPublicationToCombination(String pubId,
                                        List<String> combination,
                                        String componentId)
Description copied from interface: KmeliaBm
Add a combination for this publication

Specified by:
addPublicationToCombination in interface KmeliaBm
Parameters:
pubId - , combination, componentId

checkCombination

protected boolean checkCombination(Collection<com.stratelia.webactiv.util.coordinates.model.Coordinate> coordinates,
                                   List<String> combination)

checkPoint

protected boolean checkPoint(com.stratelia.webactiv.util.coordinates.model.CoordinatePoint point,
                             List<String> combination)

deleteCoordinates

public void deleteCoordinates(com.stratelia.webactiv.util.coordinates.model.CoordinatePK coordinatePK,
                              List<String> coordinates)
Description copied from interface: KmeliaBm
Delete coordinates of a publication (ie: when publication is deleted)

Specified by:
deleteCoordinates in interface KmeliaBm

deletePublicationFromCombination

public void deletePublicationFromCombination(String pubId,
                                             String combinationId,
                                             String componentId)
Description copied from interface: KmeliaBm
Remove a combination for this publication

Specified by:
deletePublicationFromCombination in interface KmeliaBm
Parameters:
pubId - , combinationId, componentId

createKmaxPublication

public String createKmaxPublication(com.stratelia.webactiv.util.publication.model.PublicationDetail pubDetail)
Create a new Publication (only the header - parameters)

Specified by:
createKmaxPublication in interface KmeliaBm
Parameters:
pubDetail - a PublicationDetail
Returns:
the id of the new publication
Since:
1.0
See Also:
PublicationDetail

getAlias

public Collection<com.stratelia.webactiv.util.publication.model.Alias> getAlias(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK)
Specified by:
getAlias in interface KmeliaBm

setAlias

public void setAlias(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK,
                     List<com.stratelia.webactiv.util.publication.model.Alias> alias)
Specified by:
setAlias in interface KmeliaBm

addUploadedFilesToPublication

public void addUploadedFilesToPublication(com.stratelia.webactiv.util.publication.model.PublicationDetail pubDetail,
                                          Collection<org.silverpeas.upload.UploadedFile> uploadedFiles)
Specified by:
addUploadedFilesToPublication in interface KmeliaBm

addAttachmentToPublication

public void addAttachmentToPublication(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK,
                                       String userId,
                                       String filename,
                                       String description,
                                       byte[] contents)
Specified by:
addAttachmentToPublication in interface KmeliaBm

importPublication

public boolean importPublication(String componentId,
                                 String topicId,
                                 String spaceId,
                                 String userId,
                                 Map<String,String> publiParams,
                                 Map<String,String> formParams,
                                 String language,
                                 String xmlFormName,
                                 String discrimatingParameterName,
                                 String userProfile)
Creates or updates a publication.

Specified by:
importPublication in interface KmeliaBm
Parameters:
componentId - The id of the component containing the publication.
topicId - The id of the topic containing the publication.
spaceId - The id of the space containing the publication.
userId - The id of the user creating or updating the publication.
publiParams - The publication's parameters.
formParams - The parameters of the publication's form.
language - The language of the publication.
xmlFormName - The name of the publication's form.
discrimatingParameterName - The name of the field included in the form which allowes to retrieve the eventually existing publication to update.
userProfile - The user's profile used to draft out the publication.
Returns:
True if the publication is created, false if it is updated.

importPublication

public boolean importPublication(String componentId,
                                 String topicId,
                                 String userId,
                                 Map<String,String> publiParams,
                                 Map<String,String> formParams,
                                 String language,
                                 String xmlFormName,
                                 String discriminantParameterName,
                                 String userProfile,
                                 boolean ignoreMissingFormFields)
Specified by:
importPublication in interface KmeliaBm

importPublication

public boolean importPublication(String publicationId,
                                 String componentId,
                                 String topicId,
                                 String spaceId,
                                 String userId,
                                 Map<String,String> publiParams,
                                 Map<String,String> formParams,
                                 String language,
                                 String xmlFormName,
                                 String userProfile)
Creates or updates a publication.

Specified by:
importPublication in interface KmeliaBm
Parameters:
publicationId - The id of the publication to update.
componentId - The id of the component containing the publication.
topicId - The id of the topic containing the publication.
spaceId - The id of the space containing the publication.
userId - The id of the user creating or updating the publication.
publiParams - The publication's parameters.
formParams - The parameters of the publication's form.
language - The language of the publication.
xmlFormName - The name of the publication's form.
userProfile - The user's profile used to draft out the publication.
Returns:
True if the publication is created, false if it is updated.

importPublications

public void importPublications(String componentId,
                               String topicId,
                               String spaceId,
                               String userId,
                               List<Map<String,String>> publiParamsList,
                               List<Map<String,String>> formParamsList,
                               String language,
                               String xmlFormName,
                               String discrimatingParameterName,
                               String userProfile)
Specified by:
importPublications in interface KmeliaBm

getPublicationXmlFields

public List<com.silverpeas.form.importExport.XMLField> getPublicationXmlFields(String publicationId,
                                                                               String componentId,
                                                                               String spaceId,
                                                                               String userId)
Specified by:
getPublicationXmlFields in interface KmeliaBm

getPublicationXmlFields

public List<com.silverpeas.form.importExport.XMLField> getPublicationXmlFields(String publicationId,
                                                                               String componentId,
                                                                               String spaceId,
                                                                               String userId,
                                                                               String language)
Specified by:
getPublicationXmlFields in interface KmeliaBm

createTopic

public String createTopic(String componentId,
                          String topicId,
                          String spaceId,
                          String userId,
                          String name,
                          String description)
Specified by:
createTopic in interface KmeliaBm

getPublicationsSpecificValues

public Collection<String> getPublicationsSpecificValues(String componentId,
                                                        String xmlFormName,
                                                        String fieldName)
Specified by:
getPublicationsSpecificValues in interface KmeliaBm

draftInPublication

public void draftInPublication(String componentId,
                               String xmlFormName,
                               String fieldName,
                               String fieldValue)
Specified by:
draftInPublication in interface KmeliaBm

updatePublicationEndDate

public void updatePublicationEndDate(String componentId,
                                     String spaceId,
                                     String userId,
                                     String xmlFormName,
                                     String fieldName,
                                     String fieldValue,
                                     Date endDate)
Specified by:
updatePublicationEndDate in interface KmeliaBm

findPublicationIdBySpecificValue

public String findPublicationIdBySpecificValue(String componentId,
                                               String xmlFormName,
                                               String fieldName,
                                               String fieldValue,
                                               String topicId,
                                               String spaceId,
                                               String userId)
Find a publication imported only by a xml field (old id for example)

Specified by:
findPublicationIdBySpecificValue in interface KmeliaBm
Parameters:
componentId -
xmlFormName -
fieldName -
fieldValue -
topicId -
spaceId -
userId -
Returns:
pubId

doAutomaticDraftOut

public void doAutomaticDraftOut()
Specified by:
doAutomaticDraftOut in interface KmeliaBm

clonePublication

public String clonePublication(com.stratelia.webactiv.util.publication.model.CompletePublication refPubComplete,
                               com.stratelia.webactiv.util.publication.model.PublicationDetail pubDetail,
                               String nextStatus)
Description copied from interface: KmeliaBm
Clone CompletePublication. Create new publication based on pubDetail object if not null or CompletePublication otherwise. Original publication will not be modified (except references to clone : cloneId and cloneStatus).

Specified by:
clonePublication in interface KmeliaBm
pubDetail - If not null, attribute values are set to the clone
nextStatus - Draft or Clone
Returns:

getRoot

public com.stratelia.webactiv.util.node.model.NodeDetail getRoot(String componentId,
                                                                 String userId)
Specified by:
getRoot in interface KmeliaBm

getFolderChildren

public Collection<com.stratelia.webactiv.util.node.model.NodeDetail> getFolderChildren(com.stratelia.webactiv.util.node.model.NodePK nodePK,
                                                                                       String userId)
Specified by:
getFolderChildren in interface KmeliaBm

getUserTopicProfile

public String getUserTopicProfile(com.stratelia.webactiv.util.node.model.NodePK pk,
                                  String userId)
Specified by:
getUserTopicProfile in interface KmeliaBm

isUserCanValidatePublication

public boolean isUserCanValidatePublication(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK,
                                            String userId)
This method verifies if the user behind the given user identifier can validate the publication represented by the given primary key. The verification is strictly applied on the given primary key, that is to say that no publication clone information are retrieved. To perform a verification on a publication clone, the primary key of the clone must be given.

Specified by:
isUserCanValidatePublication in interface KmeliaBm
Parameters:
pubPK - the primary key of the publication or of the clone of a publication.
userId - the identifier of the user fo which rights must be verified.
Returns:
true if the user can validate, false otherwise.

isUserCanValidate

public boolean isUserCanValidate(String componentId,
                                 String userId)
Specified by:
isUserCanValidate in interface KmeliaBm

isUserCanWrite

public boolean isUserCanWrite(String componentId,
                              String userId)
Specified by:
isUserCanWrite in interface KmeliaBm

isUserCanPublish

public boolean isUserCanPublish(String componentId,
                                String userId)
Specified by:
isUserCanPublish in interface KmeliaBm

getExpandedPathToNode

public com.stratelia.webactiv.util.node.model.NodeDetail getExpandedPathToNode(com.stratelia.webactiv.util.node.model.NodePK pk,
                                                                               String userId)
Specified by:
getExpandedPathToNode in interface KmeliaBm

deletePublications

public List<String> deletePublications(List<String> ids,
                                       com.stratelia.webactiv.util.node.model.NodePK nodePK,
                                       String userId)
Removes publications according to given ids. Before a publication is removed, user priviledges are controlled. If node defines the trash, publications are definitively deleted. Otherwise, publications move into trash.

Specified by:
deletePublications in interface KmeliaBm
Parameters:
ids - the ids of publications to delete
nodePK - the node where the publications are
userId - the user who wants to perform deletion
Returns:
the list of publication ids which has been really deleted

getWysiwyg

public String getWysiwyg(com.stratelia.webactiv.util.publication.model.PublicationPK pubPK,
                         String language)
Specified by:
getWysiwyg in interface KmeliaBm

getContentById

public KmeliaPublication getContentById(String contentId)
Specified by:
getContentById in interface com.silverpeas.SilverpeasComponentService<KmeliaPublication>

getComponentSettings

public com.stratelia.webactiv.util.ResourceLocator getComponentSettings()
Specified by:
getComponentSettings in interface com.silverpeas.SilverpeasComponentService<KmeliaPublication>

getComponentMessages

public com.stratelia.webactiv.util.ResourceLocator getComponentMessages(String language)
Specified by:
getComponentMessages in interface com.silverpeas.SilverpeasComponentService<KmeliaPublication>

moveNode

@SimulationActionProcess(elementLister=KmeliaNodeSimulationElementLister.class)
@Action(value=MOVE)
public com.stratelia.webactiv.util.node.model.NodeDetail moveNode(@SourcePK
                                                                                                                                        com.stratelia.webactiv.util.node.model.NodePK nodePK,
                                                                                                                                        @TargetPK
                                                                                                                                        com.stratelia.webactiv.util.node.model.NodePK to,
                                                                                                                                        String userId)
Specified by:
moveNode in interface KmeliaBm

copyNode

@SimulationActionProcess(elementLister=KmeliaNodeSimulationElementLister.class)
@Action(value=COPY)
public com.stratelia.webactiv.util.node.model.NodeDetail copyNode(@SourcePK@TargetPK
                                                                                                                                        KmeliaCopyDetail copyDetail)
Specified by:
copyNode in interface KmeliaBm

copyPublications

@SimulationActionProcess(elementLister=KmeliaPublicationSimulationElementLister.class)
@Action(value=COPY)
public void copyPublications(@SourcePK@TargetPK
                                                                                                          KmeliaCopyDetail copyDetail)
Specified by:
copyPublications in interface KmeliaBm

copyPublication

@SimulationActionProcess(elementLister=KmeliaPublicationSimulationElementLister.class)
@Action(value=COPY)
public com.stratelia.webactiv.util.publication.model.PublicationPK copyPublication(@SourcePK
                                                                                                                                                                com.stratelia.webactiv.util.publication.model.PublicationDetail publiToCopy,
                                                                                                                                                                @TargetPK
                                                                                                                                                                KmeliaCopyDetail copyDetail)
Specified by:
copyPublication in interface KmeliaBm

filterPublications

public List<KmeliaPublication> filterPublications(List<KmeliaPublication> publications,
                                                  String instanceId,
                                                  com.stratelia.webactiv.SilverpeasRole profile,
                                                  String userId)
Specified by:
filterPublications in interface KmeliaBm

isPublicationVisible

public boolean isPublicationVisible(com.stratelia.webactiv.util.publication.model.PublicationDetail detail,
                                    com.stratelia.webactiv.SilverpeasRole profile,
                                    String userId)
Specified by:
isPublicationVisible in interface KmeliaBm

getDateReminderService

protected org.silverpeas.dateReminder.persistent.service.PersistentDateReminderService getDateReminderService()
Gets a business service of dateReminder.

Returns:
a DefaultDateReminderService instance.


Copyright © 2016 Silverpeas. All Rights Reserved.