file.setUri(item.getSlideName());
file.setUri("/files" + item.getSlideName() + "/" + file.getFileName());
    public Boolean run(FileSuportObject file, Integer itemId) throws FenixServiceException,            ExcepcaoPersistencia, NotSupportedException, SystemException, SlideException,            SecurityException, IllegalStateException, RollbackException, HeuristicMixedException,            HeuristicRollbackException {        ISuportePersistente sp = PersistenceSupportFactory.getDefaultPersistenceSupport();        IPersistentItem persistentItem = sp.getIPersistentItem();        IItem item = (IItem) persistentItem.readByOID(Item.class, itemId);        file.setUri(item.getSlideName());        file.setRootUri(item.getSection().getSite().getExecutionCourse().getSlideName());        IFileSuport fileSuport = FileSuport.getInstance();        fileSuport.beginTransaction();        if (!fileSuport.isFileNameValid(file)) {            try {                fileSuport.abortTransaction();            } catch (Exception e1) {                throw new FenixServiceException(e1);            }            throw new FileNameTooLongServiceException();        }        if (fileSuport.isStorageAllowed(file)) {            boolean result = fileSuport.storeFile(file);            if (!result) {                try {                    fileSuport.abortTransaction();                } catch (Exception e1) {                    throw new FenixServiceException(e1);                }                //fileSuport.commitTransaction();                throw new FileAlreadyExistsServiceException();            }            fileSuport.commitTransaction();            return new Boolean(true);        }        fileSuport.commitTransaction();        return new Boolean(false);    }