本文整理汇总了Java中com.liferay.portlet.documentlibrary.model.DLFolder类的典型用法代码示例。如果您正苦于以下问题:Java DLFolder类的具体用法?Java DLFolder怎么用?Java DLFolder使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
DLFolder类属于com.liferay.portlet.documentlibrary.model包,在下文中一共展示了DLFolder类的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: uploadImage
import com.liferay.portlet.documentlibrary.model.DLFolder; //导入依赖的package包/类
/**
* Upload image.
*
* @param image
* the image
* @return the uri
* @throws SystemException
* the system exception
* @throws URISyntaxException
* the uRI syntax exception
* @throws IOException
* @throws PortalException
*/
public static URI uploadImage(UploadedFile image) throws SystemException, URISyntaxException, IOException, PortalException,
NullPointerException {
LiferayFacesContext lfc = LiferayFacesContext.getInstance();
ThemeDisplay td = lfc.getThemeDisplay();
ServiceContext serviceContext = new ServiceContext();
serviceContext.setScopeGroupId(td.getScopeGroupId());
long imageFolderId = Long.parseLong(PropsUtil.get("image.folder.id"));
DLFolder folder;
try {
/* Check if folder for image exists */
folder = DLFolderLocalServiceUtil.getDLFolder(imageFolderId);
LOG.debug("Folder for app images exists.");
} catch (PortalException e) {
/* If not -> create */
folder = DLFolderLocalServiceUtil.createDLFolder(imageFolderId);
folder.setName("App-Images");
DLFolderLocalServiceUtil.addDLFolder(folder);
LOG.debug("Created folder for app images.");
}
String uuidExt = null;
FileEntry file = null;
uuidExt = td.getUser().getScreenName() + "_" + UUID.randomUUID().toString() + "_" + new Date().getTime() + "_";
file = DLAppLocalServiceUtil.addFileEntry(td.getUserId(), td.getScopeGroupId(), folder.getFolderId(), uuidExt + image.getName(),
MimeTypesUtil.getContentType(image.getName()), uuidExt + image.getName(), uuidExt + image.getName(), "new",
image.getBytes(), serviceContext);
return new URI(td.getPortalURL() + "/c/document_library/get_file?uuid=" + file.getUuid() + "&groupId=" + td.getScopeGroupId());
}
示例2: buildFolder
import com.liferay.portlet.documentlibrary.model.DLFolder; //导入依赖的package包/类
private DLFolder buildFolder(Company company, String name, Long parentId) throws PortalException, SystemException {
DLFolder dlFolder = null;
try {
dlFolder = DLFolderLocalServiceUtil.getFolder(company.getGroup().getGroupId(), parentId, name);
} catch (Exception e) {
sLog.debug("folder " + name + " does not exist, creating for webforms");
boolean mountPoint = false;
long parentFolderId = parentId;
String description = "";
long userId = company.getDefaultUser().getUserId();
long groupId = company.getGroup().getGroupId();
long repositoryId = groupId;
ServiceContext serviceContext = new ServiceContext();
dlFolder = DLFolderLocalServiceUtil.addFolder(userId, groupId, repositoryId, mountPoint, parentFolderId, name, description, false, serviceContext);
}
return dlFolder;
}
示例3: createDLFolders
import com.liferay.portlet.documentlibrary.model.DLFolder; //导入依赖的package包/类
private long createDLFolders(Long userId,Long repositoryId,PortletRequest portletRequest,long actId) throws PortalException, SystemException{
//Variables for folder ids
Long dlMainFolderId = 0L;
//Search for folder in Document Library
boolean dlMainFolderFound = false;
//Get main folder
try {
//Get main folder
Folder dlFolderMain = DLAppLocalServiceUtil.getFolder(repositoryId,DLFolderConstants.DEFAULT_PARENT_FOLDER_ID,DOCUMENTLIBRARY_MAINFOLDER+actId);
dlMainFolderId = dlFolderMain.getFolderId();
dlMainFolderFound = true;
//Get portlet folder
} catch (Exception ex){
}
ServiceContext serviceContext= ServiceContextFactory.getInstance( DLFolder.class.getName(), portletRequest);
//Damos permisos al archivo para usuarios de comunidad.
serviceContext.setAddGroupPermissions(true);
//Create main folder if not exist
if(!dlMainFolderFound){
Folder newDocumentMainFolder = DLAppLocalServiceUtil.addFolder(userId, repositoryId,DLFolderConstants.DEFAULT_PARENT_FOLDER_ID, DOCUMENTLIBRARY_MAINFOLDER+actId, DOCUMENTLIBRARY_MAINFOLDER+actId, serviceContext);
dlMainFolderFound = true;
dlMainFolderId = newDocumentMainFolder.getFolderId();
}
//Create portlet folder if not exist
return dlMainFolderId;
}
示例4: createDLFolders
import com.liferay.portlet.documentlibrary.model.DLFolder; //导入依赖的package包/类
private long createDLFolders(Long userId,Long repositoryId,PortletRequest portletRequest) throws PortalException, SystemException{
//Variables for folder ids
Long dlMainFolderId = 0L;
//Search for folder in Document Library
boolean dlMainFolderFound = false;
//Get main folder
try {
//Get main folder
Folder dlFolderMain = DLAppLocalServiceUtil.getFolder(repositoryId,DLFolderConstants.DEFAULT_PARENT_FOLDER_ID,DOCUMENTLIBRARY_MAINFOLDER);
dlMainFolderId = dlFolderMain.getFolderId();
dlMainFolderFound = true;
//Get portlet folder
} catch (Exception ex){
}
ServiceContext serviceContext= ServiceContextFactory.getInstance( DLFolder.class.getName(), portletRequest);
//Damos permisos al archivo para usuarios de comunidad.
serviceContext.setAddGroupPermissions(true);
//Create main folder if not exist
if(!dlMainFolderFound){
Folder newDocumentMainFolder = DLAppLocalServiceUtil.addFolder(userId, repositoryId,DLFolderConstants.DEFAULT_PARENT_FOLDER_ID, DOCUMENTLIBRARY_MAINFOLDER, DOCUMENTLIBRARY_MAINFOLDER, serviceContext);
dlMainFolderFound = true;
dlMainFolderId = newDocumentMainFolder.getFolderId();
}
//Create portlet folder if not exist
return dlMainFolderId;
}
示例5: updateIGFolderPermissions
import com.liferay.portlet.documentlibrary.model.DLFolder; //导入依赖的package包/类
protected void updateIGFolderPermissions() throws Exception {
if (PropsValues.PERMISSIONS_USER_CHECK_ALGORITHM != 6) {
return;
}
deleteConflictingIGPermissions(
_IG_FOLDER_CLASS_NAME, DLFolder.class.getName());
runSQL("update ResourcePermission set name = '" +
DLFolder.class.getName() +
"' where name = '" + _IG_FOLDER_CLASS_NAME + "'");
}
示例6: addDLFolder
import com.liferay.portlet.documentlibrary.model.DLFolder; //导入依赖的package包/类
protected long addDLFolder(long parentFolderId, String folderName)
throws Exception {
DLFolder dlFolder = DLFolderLocalServiceUtil.fetchFolder(
groupId, parentFolderId, folderName);
if (dlFolder == null) {
dlFolder = DLFolderLocalServiceUtil.addFolder(
userId, groupId, groupId, false, parentFolderId, folderName,
null, false, serviceContext);
}
return dlFolder.getFolderId();
}
示例7: cloneFile
import com.liferay.portlet.documentlibrary.model.DLFolder; //导入依赖的package包/类
private long cloneFile(long entryId, LearningActivity actNew, long userId, ServiceContext serviceContext){
long assetEntryId = 0;
boolean addGroupPermissions = serviceContext.isAddGroupPermissions();
try {
if(log.isDebugEnabled()){log.debug("EntryId: "+entryId);}
AssetEntry docAsset = AssetEntryLocalServiceUtil.getAssetEntry(entryId);
//docAsset.getUrl()!=""
//DLFileEntryLocalServiceUtil.getDLFileEntry(fileEntryId)
if(log.isDebugEnabled()){log.debug(docAsset.getClassPK());}
DLFileEntry docfile = DLFileEntryLocalServiceUtil.getDLFileEntry(docAsset.getClassPK());
InputStream is = DLFileEntryLocalServiceUtil.getFileAsStream(userId, docfile.getFileEntryId(), docfile.getVersion());
//Crear el folder
DLFolder dlFolder = DLFolderUtil.createDLFoldersForLearningActivity(userId, serviceContext.getScopeGroupId(), serviceContext);
long repositoryId = DLFolderConstants.getDataRepositoryId(actNew.getGroupId(), DLFolderConstants.DEFAULT_PARENT_FOLDER_ID);
String ficheroStr = docfile.getTitle();
if(!docfile.getTitle().endsWith(docfile.getExtension())){
ficheroStr = ficheroStr +"."+ docfile.getExtension();
}
serviceContext.setAddGroupPermissions(true);
FileEntry newFile = DLAppLocalServiceUtil.addFileEntry(
serviceContext.getUserId(), repositoryId , dlFolder.getFolderId() , ficheroStr, docfile.getMimeType(),
docfile.getTitle(), StringPool.BLANK, StringPool.BLANK, is, docfile.getSize() , serviceContext ) ;
AssetEntry asset = AssetEntryLocalServiceUtil.getEntry(DLFileEntry.class.getName(), newFile.getPrimaryKey());
if(log.isDebugEnabled()){log.debug(" asset : " + asset.getEntryId());};
assetEntryId = asset.getEntryId();
} catch (NoSuchEntryException nsee) {
log.error(" asset not exits ");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
serviceContext.setAddGroupPermissions(addGroupPermissions);
}
return assetEntryId;
}
示例8: createIGFolders
import com.liferay.portlet.documentlibrary.model.DLFolder; //导入依赖的package包/类
private long createIGFolders(PortletRequest request,long userId,long repositoryId) throws PortalException, SystemException{
//Variables for folder ids
Long igMainFolderId = 0L;
Long igPortletFolderId = 0L;
Long igRecordFolderId = 0L;
//Search for folders
boolean igMainFolderFound = false;
boolean igPortletFolderFound = false;
try {
//Get the main folder
Folder igMainFolder = DLAppLocalServiceUtil.getFolder(repositoryId,DLFolderConstants.DEFAULT_PARENT_FOLDER_ID,IMAGEGALLERY_MAINFOLDER);
igMainFolderId = igMainFolder.getFolderId();
igMainFolderFound = true;
//Get the portlet folder
DLFolder igPortletFolder = DLFolderLocalServiceUtil.getFolder(repositoryId,igMainFolderId,IMAGEGALLERY_PORTLETFOLDER);
igPortletFolderId = igPortletFolder.getFolderId();
igPortletFolderFound = true;
} catch (Exception ex) {
}
ServiceContext serviceContext= ServiceContextFactory.getInstance( DLFolder.class.getName(), request);
//Damos permisos al archivo para usuarios de comunidad.
serviceContext.setAddGroupPermissions(true);
serviceContext.setAddGuestPermissions(true);
//Create main folder if not exist
if(!igMainFolderFound) {
Folder newImageMainFolder=DLAppLocalServiceUtil.addFolder(userId, repositoryId, 0, IMAGEGALLERY_MAINFOLDER, IMAGEGALLERY_MAINFOLDER_DESCRIPTION, serviceContext);
igMainFolderId = newImageMainFolder.getFolderId();
igMainFolderFound = true;
}
//Create portlet folder if not exist
if(igMainFolderFound && !igPortletFolderFound){
Folder newImagePortletFolder = DLAppLocalServiceUtil.addFolder(userId, repositoryId, igMainFolderId, IMAGEGALLERY_PORTLETFOLDER, IMAGEGALLERY_PORTLETFOLDER_DESCRIPTION, serviceContext);
igPortletFolderFound = true;
igPortletFolderId = newImagePortletFolder.getFolderId();
}
//Create this record folder
if(igPortletFolderFound){
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
Date date = new Date();
String igRecordFolderName=dateFormat.format(date)+StringPool.UNDERLINE+userId;
Folder newImageRecordFolder = DLAppLocalServiceUtil.addFolder(userId,repositoryId, igPortletFolderId,igRecordFolderName, igRecordFolderName, serviceContext);
igRecordFolderId = newImageRecordFolder.getFolderId();
}
return igRecordFolderId;
}
示例9: createIGFolders
import com.liferay.portlet.documentlibrary.model.DLFolder; //导入依赖的package包/类
private long createIGFolders(PortletRequest request,long userId,long repositoryId) throws PortalException, SystemException{
//Variables for folder ids
Long igMainFolderId = 0L;
Long igPortletFolderId = 0L;
Long igRecordFolderId = 0L;
//Search for folders
boolean igMainFolderFound = false;
boolean igPortletFolderFound = false;
try {
//Get the main folder
Folder igMainFolder = DLAppLocalServiceUtil.getFolder(repositoryId,DLFolderConstants.DEFAULT_PARENT_FOLDER_ID,IMAGEGALLERY_MAINFOLDER);
igMainFolderId = igMainFolder.getFolderId();
igMainFolderFound = true;
//Get the portlet folder
DLFolder igPortletFolder = DLFolderLocalServiceUtil.getFolder(repositoryId,igMainFolderId,IMAGEGALLERY_PORTLETFOLDER);
igPortletFolderId = igPortletFolder.getFolderId();
igPortletFolderFound = true;
} catch (Exception ex) {
}
ServiceContext serviceContext= ServiceContextFactory.getInstance( DLFolder.class.getName(), request);
//Damos permisos al archivo para usuarios de comunidad.
serviceContext.setAddGroupPermissions(true);
serviceContext.setAddGuestPermissions(true);
//Create main folder if not exist
if(!igMainFolderFound) {
Folder newImageMainFolder=DLAppLocalServiceUtil.addFolder(userId, repositoryId, 0, IMAGEGALLERY_MAINFOLDER, IMAGEGALLERY_MAINFOLDER_DESCRIPTION, serviceContext);
igMainFolderId = newImageMainFolder.getFolderId();
igMainFolderFound = true;
}
//Create portlet folder if not exist
if(igMainFolderFound && !igPortletFolderFound){
Folder newImagePortletFolder = DLAppLocalServiceUtil.addFolder(userId, repositoryId, igMainFolderId, IMAGEGALLERY_PORTLETFOLDER, IMAGEGALLERY_PORTLETFOLDER_DESCRIPTION, serviceContext);
igPortletFolderFound = true;
igPortletFolderId = newImagePortletFolder.getFolderId();
}
//Create this record folder
if(igPortletFolderFound){
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
Date date = new Date();
String igRecordFolderName=dateFormat.format(date)+SEPARATOR+userId;
Folder newImageRecordFolder = DLAppLocalServiceUtil.addFolder(userId,repositoryId, igPortletFolderId,igRecordFolderName, igRecordFolderName, serviceContext);
igRecordFolderId = newImageRecordFolder.getFolderId();
}
return igRecordFolderId;
}
示例10: createDLFolders
import com.liferay.portlet.documentlibrary.model.DLFolder; //导入依赖的package包/类
private long createDLFolders(Long userId,Long repositoryId,PortletRequest portletRequest) throws PortalException, SystemException{
//Variables for folder ids
Long dlMainFolderId = 0L;
Long dlPortletFolderId = 0L;
Long dlRecordFolderId = 0L;
//Search for folder in Document Library
boolean dlMainFolderFound = false;
boolean dlPortletFolderFound = false;
//Get main folder
try {
//Get main folder
Folder folderMain = DLAppLocalServiceUtil.getFolder(repositoryId,DLFolderConstants.DEFAULT_PARENT_FOLDER_ID,moduleUpload.DOCUMENTLIBRARY_MAINFOLDER);
dlMainFolderId = folderMain.getFolderId();
dlMainFolderFound = true;
//Get portlet folder
Folder dlFolderPortlet = DLAppLocalServiceUtil.getFolder(repositoryId,dlMainFolderId,moduleUpload.DOCUMENTLIBRARY_PORTLETFOLDER);
dlPortletFolderId = dlFolderPortlet.getFolderId();
dlPortletFolderFound = true;
} catch (Exception ex){
}
ServiceContext serviceContext= ServiceContextFactory.getInstance( DLFolder.class.getName(), portletRequest);
//Damos permisos al archivo para usuarios de comunidad.
serviceContext.setAddGroupPermissions(true);
//Create main folder if not exist
if(!dlMainFolderFound){
Folder newDocumentMainFolder = DLAppLocalServiceUtil.addFolder(userId, repositoryId, DLFolderConstants.DEFAULT_PARENT_FOLDER_ID, moduleUpload.DOCUMENTLIBRARY_MAINFOLDER, moduleUpload.DOCUMENTLIBRARY_MAINFOLDER_DESCRIPTION, serviceContext);
//DLFolderLocalServiceUtil.addFolderResources(newDocumentMainFolder, true, false);
dlMainFolderId = newDocumentMainFolder.getFolderId();
dlMainFolderFound = true;
}
//Create portlet folder if not exist
if(dlMainFolderFound && !dlPortletFolderFound){
Folder newDocumentPortletFolder = DLAppLocalServiceUtil.addFolder(userId, repositoryId, dlMainFolderId , moduleUpload.DOCUMENTLIBRARY_PORTLETFOLDER, moduleUpload.DOCUMENTLIBRARY_PORTLETFOLDER_DESCRIPTION, serviceContext);
//DLFolderLocalServiceUtil.addFolderResources(newDocumentPortletFolder, true, false);
dlPortletFolderFound = true;
dlPortletFolderId = newDocumentPortletFolder.getFolderId();
}
//Create this record folder
if(dlPortletFolderFound){
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
Date date = new Date();
String dlRecordFolderName = dateFormat.format(date)+moduleUpload.SEPARATOR+userId;
Folder newDocumentRecordFolder = DLAppLocalServiceUtil.addFolder(userId, repositoryId, dlPortletFolderId, dlRecordFolderName, dlRecordFolderName, serviceContext);
//DLFolderLocalServiceUtil.addFolderResources(newDocumentRecordFolder, true, false);
dlRecordFolderId = newDocumentRecordFolder.getFolderId();
}
return dlRecordFolderId;
}
示例11: createDLFoldersP2P
import com.liferay.portlet.documentlibrary.model.DLFolder; //导入依赖的package包/类
public static long createDLFoldersP2P(Long userId,Long repositoryId,PortletRequest portletRequest) throws PortalException, SystemException{
//Variables for folder ids
Long dlMainFolderId = 0L;
Long dlPortletFolderId = 0L;
Long dlRecordFolderId = 0L;
//Search for folder in Document Library
boolean dlMainFolderFound = false;
boolean dlPortletFolderFound = false;
Folder dlFolderMain = null;
//Get main folder
try {
//Get main folder
dlFolderMain = DLAppLocalServiceUtil.getFolder(repositoryId,DLFolderConstants.DEFAULT_PARENT_FOLDER_ID,moduleUpload.DOCUMENTLIBRARY_MAINFOLDER);
dlMainFolderId = dlFolderMain.getFolderId();
dlMainFolderFound = true;
//Get portlet folder
Folder dlFolderPortlet = DLAppLocalServiceUtil.getFolder(repositoryId,dlMainFolderId,moduleUpload.DOCUMENTLIBRARY_PORTLETFOLDER);
dlPortletFolderId = dlFolderPortlet.getFolderId();
dlPortletFolderFound = true;
} catch (Exception ex){
//Not found Main Folder
}
ServiceContext serviceContext= ServiceContextFactory.getInstance( DLFolder.class.getName(), portletRequest);
//Damos permisos al archivo para usuarios de comunidad.
serviceContext.setAddGroupPermissions(true);
//Create main folder if not exist
if(!dlMainFolderFound || dlFolderMain==null){
Folder newDocumentMainFolder = DLAppLocalServiceUtil.addFolder(userId, repositoryId, DLFolderConstants.DEFAULT_PARENT_FOLDER_ID, moduleUpload.DOCUMENTLIBRARY_MAINFOLDER, moduleUpload.DOCUMENTLIBRARY_MAINFOLDER_DESCRIPTION, serviceContext);
dlMainFolderId = newDocumentMainFolder.getFolderId();
dlMainFolderFound = true;
}
//Create portlet folder if not exist
if(dlMainFolderFound && !dlPortletFolderFound){
Folder newDocumentPortletFolder = DLAppLocalServiceUtil.addFolder(userId, repositoryId, dlMainFolderId , moduleUpload.DOCUMENTLIBRARY_PORTLETFOLDER, moduleUpload.DOCUMENTLIBRARY_PORTLETFOLDER_DESCRIPTION, serviceContext);
dlPortletFolderFound = true;
dlPortletFolderId = newDocumentPortletFolder.getFolderId();
}
//Create this record folder
if(dlPortletFolderFound){
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
Date date = new Date();
String dlRecordFolderName = dateFormat.format(date)+moduleUpload.SEPARATOR+userId;
Folder newDocumentRecordFolder = DLAppLocalServiceUtil.addFolder(userId, repositoryId, dlPortletFolderId, dlRecordFolderName, dlRecordFolderName, serviceContext);
dlRecordFolderId = newDocumentRecordFolder.getFolderId();
}
return dlRecordFolderId;
}
示例12: createOrganisationLogoFolder
import com.liferay.portlet.documentlibrary.model.DLFolder; //导入依赖的package包/类
public static void createOrganisationLogoFolder(long groupId, long userId) throws PortalException, SystemException {
final ServiceContext ctx = new ServiceContext();
ctx.setUserId(userId);
ctx.setScopeGroupId(groupId);
ctx.setAddGroupPermissions(true);
ctx.setAddGuestPermissions(true);
// ctx.setWorkflowAction(WorkflowConstants.ACTION_PUBLISH);
String orgFolder = getConfigValue(E_ConfigKey.ORGANISATION_LOGO_FOLDER);
Folder parent = null;
try {
parent = DLAppServiceUtil.getFolder(groupId, 0,
orgFolder);
} catch (final Throwable t) {
}
if (parent == null) {
parent = DLAppServiceUtil.addFolder(groupId, 0,
orgFolder, "", ctx);
m_objLog.info("Folder "
+ orgFolder
+ " created ....");
} else {
m_objLog.info("Folder "
+ orgFolder
+ " already existing ....");
}
final String[] actionids = new String[2];
final Role guestRole = RoleLocalServiceUtil.getRole(
PortalUtil.getDefaultCompanyId(), RoleConstants.GUEST);
actionids[0] = ActionKeys.VIEW;
actionids[1] = ActionKeys.ACCESS;
// actionids[2] = ActionKeys.ADD_FILE;
ResourcePermissionServiceUtil.setIndividualResourcePermissions(
parent.getGroupId(), parent.getCompanyId(),
DLFolder.class.getName(), parent.getFolderId() + "",
guestRole.getRoleId(), actionids);
}
示例13: getFiles
import com.liferay.portlet.documentlibrary.model.DLFolder; //导入依赖的package包/类
public DocumentModel getFiles() throws SystemException, NumberFormatException, PortalException {
List<Document> documents = new ArrayList<Document>();
List<DLFileEntry> dlFileEntries = new ArrayList<DLFileEntry>();
OrderByComparator obc = new EntryNameComparator();
if (this.selectedTreeFolder != null) {
DLFolder dlFolder = DLFolderLocalServiceUtil.getDLFolder(new Long(this.selectedTreeFolder.getId()));
dlFileEntries = ListUtil.copy(DLFileEntryLocalServiceUtil.getFileEntries(dlFolder.getGroupId(), dlFolder.getFolderId(), -1, -1, obc));
} else {
PortletRequest portletRequest = (PortletRequest) LiferayFacesContext.getCurrentInstance().getExternalContext().getRequest();
ThemeDisplay themeDisplay = (ThemeDisplay) portletRequest.getAttribute(WebKeys.THEME_DISPLAY);
dlFileEntries = ListUtil.copy(DLFileEntryLocalServiceUtil.getFileEntries(themeDisplay.getScopeGroupId(), new Long(0), -1, -1, obc));
}
for (DLFileEntry dlFileEntry : dlFileEntries) {
documents.add(new Document("" + dlFileEntry.getFileEntryId(), dlFileEntry.getTitle(), dlFileEntry.getExtension()));
}
this.files = new DocumentModel(documents);
return files;
}