本文整理汇总了Java中pt.ist.fenixframework.Atomic类的典型用法代码示例。如果您正苦于以下问题:Java Atomic类的具体用法?Java Atomic怎么用?Java Atomic使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
Atomic类属于pt.ist.fenixframework包,在下文中一共展示了Atomic类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: occupantsManagement
import pt.ist.fenixframework.Atomic; //导入依赖的package包/类
@Atomic(mode = TxMode.WRITE)
private void occupantsManagement(Space space, SpaceOccupantsBean sab) {
SharedOccupation sharedOccup = null;
List<SharedOccupation> sharedOccups = getSharedOccupations(space);
for (SharedOccupation so : sharedOccups) {
if (so.getUser().equals(sab.getUserObject())) {
sharedOccup = so;
}
}
if (sharedOccups.size() == 0 || sharedOccup == null) {
sharedOccup = new SharedOccupation();
}
if (sharedOccup.doConfig(sab)) {
space.addOccupation(sharedOccup);
}
return;
}
开发者ID:FenixEdu,项目名称:fenixedu-spaces,代码行数:20,代码来源:SpaceOccupantsController.java
示例2: createOccupation
import pt.ist.fenixframework.Atomic; //导入依赖的package包/类
@Atomic
public void createOccupation(String emails, String subject, String description, String selectedSpaces, String config,
String events, OccupationRequest request, User user) throws Exception {
final Set<Space> selectedSpaceSet = selectSpaces(selectedSpaces, user);
final List<Interval> intervals = selectEvents(events);
final Occupation occupation = new Occupation(emails, subject, description, parseConfig(config, intervals));
for (Space space : selectedSpaceSet) {
if (!space.isFree(intervals)) {
throw new Exception(messageSource.getMessage("error.occupations.rooms.is.not.free", new Object[0],
I18N.getLocale()));
}
occupation.addSpace(space);
}
if (request != null) {
request.addOccupation(occupation);
}
if (notificationService != null) {
notificationService.sendEmail(emails, subject, description);
}
}
开发者ID:FenixEdu,项目名称:fenixedu-spaces,代码行数:21,代码来源:OccupationService.java
示例3: editOccupation
import pt.ist.fenixframework.Atomic; //导入依赖的package包/类
@Atomic
public void editOccupation(Occupation occupation, String emails, String subject, String description, String selectedSpaces,
User user) throws Exception {
if (!canManageOccupation(occupation, user)) {
throw new SpaceDomainException("unauthorized.edit.occupation");
}
occupation.setEmails(emails);
occupation.setSubject(subject);
occupation.setDescription(description);
final Set<Space> selectedSpaceSet = selectSpaces(selectedSpaces, user);
occupation.getSpaces().stream().forEach(s -> occupation.removeSpace(s));
for (Space space : selectedSpaceSet) {
if (!space.isFree(occupation.getIntervals())) {
throw new Exception(messageSource.getMessage("error.occupations.rooms.is.not.free", new Object[0],
I18N.getLocale()));
}
occupation.addSpace(space);
}
}
开发者ID:FenixEdu,项目名称:fenixedu-spaces,代码行数:20,代码来源:OccupationService.java
示例4: build
import pt.ist.fenixframework.Atomic; //导入依赖的package包/类
@Atomic(mode = TxMode.WRITE)
public Information build() {
Information info = null;
if (validUntil != null && validFrom.isAfter(validUntil)) {
throw new SpaceDomainException("label.start.date.is.after.end.date");
}
if (blueprintContent == null && spacePhotoContent == null) {
info = new Information(validFrom, validUntil, allocatableCapacity, blueprintNumber, area, name, identification,
metadata, classification, blueprint, spacePhotoSet, user);
} else if (blueprintContent == null && spacePhotoContent != null) {
info = new Information(validFrom, validUntil, allocatableCapacity, blueprintNumber, area, name, identification,
metadata, classification, blueprint, spacePhotoContent, spacePhotoSet, user);
} else if (blueprintContent != null && spacePhotoContent == null) {
info = new Information(validFrom, validUntil, allocatableCapacity, blueprintNumber, area, name, identification,
metadata, classification, blueprintContent, spacePhotoSet, user);
} else {
info = new Information(validFrom, validUntil, allocatableCapacity, blueprintNumber, area, name, identification,
metadata, classification, blueprintContent, spacePhotoContent, spacePhotoSet, user);
}
return info;
}
开发者ID:FenixEdu,项目名称:fenixedu-spaces,代码行数:22,代码来源:Information.java
示例5: createPostFromJson
import pt.ist.fenixframework.Atomic; //导入依赖的package包/类
@Atomic(mode = TxMode.WRITE)
private Post createPostFromJson(Site site, JsonObject jObj) {
PermissionEvaluation.ensureCanDoThis(site, Permission.CREATE_POST);
Post post = new Post(site);
if (jObj.has("name") && !jObj.get("name").isJsonNull() && jObj.get("name").isJsonObject()) {
post.setName(LocalizedString.fromJson(jObj.get("name")));
}
if (jObj.has("slug") && !jObj.get("slug").isJsonNull()) {
post.setSlug(jObj.get("slug").getAsString());
}
if (jObj.has("body") && !jObj.get("body").isJsonNull() && jObj.get("body").isJsonObject()) {
LocalizedString excerpt = null;
if(jObj.has("excerpt") && !jObj.get("excerpt").isJsonNull() && jObj.get("excerpt").isJsonObject()) {
excerpt = LocalizedString.fromJson(jObj.get("excerpt"));
}
post.setBodyAndExcerpt(LocalizedString.fromJson(jObj.get("body")), excerpt);
}
return post;
}
开发者ID:FenixEdu,项目名称:fenixedu-cms,代码行数:26,代码来源:SiteResource.java
示例6: createPageFromJson
import pt.ist.fenixframework.Atomic; //导入依赖的package包/类
@Atomic(mode = TxMode.WRITE)
private Page createPageFromJson(Site site, JsonObject jObj) {
PermissionEvaluation.ensureCanDoThis(site, Permission.CREATE_PAGE);
if (jObj.has("name") && !jObj.get("name").isJsonNull() && jObj.get("name").isJsonObject()) {
Page page = new Page(site, LocalizedString.fromJson(jObj.get("name")));
if (jObj.has("slug") && !jObj.get("slug").isJsonNull()) {
page.setSlug(jObj.get("slug").getAsString());
}
if (jObj.has("published") && !jObj.get("published").isJsonNull()) {
page.setPublished(jObj.get("published").getAsBoolean());
}
return page;
}
throw CmsDomainException.badRequest("page.missing.name");
}
开发者ID:FenixEdu,项目名称:fenixedu-cms,代码行数:18,代码来源:SiteResource.java
示例7: createMenuFromJson
import pt.ist.fenixframework.Atomic; //导入依赖的package包/类
@Atomic(mode = TxMode.WRITE)
private Menu createMenuFromJson(Site site, JsonObject jObj) {
if (jObj.has("name") && !jObj.get("name").isJsonNull() && jObj.get("name").isJsonObject()) {
PermissionEvaluation.ensureCanDoThis(site, Permission.CREATE_MENU);
Menu menu = new Menu(site, LocalizedString.fromJson(jObj.get("name")));
if (jObj.has("slug") && !jObj.get("slug").isJsonNull()) {
menu.setSlug(jObj.get("slug").getAsString());
}
if (jObj.has("topMenu") && !jObj.get("topMenu").isJsonNull()) {
menu.setTopMenu(jObj.get("topMenu").getAsBoolean());
}
return menu;
}
throw CmsDomainException.badRequest("menu.missing.name");
}
开发者ID:FenixEdu,项目名称:fenixedu-cms,代码行数:20,代码来源:SiteResource.java
示例8: createMenuItemFromJson
import pt.ist.fenixframework.Atomic; //导入依赖的package包/类
@Atomic(mode = TxMode.WRITE)
private MenuItem createMenuItemFromJson(Menu menu, JsonObject jObj) {
ensureCanDoThis(menu.getSite(), LIST_MENUS, EDIT_MENU, CREATE_MENU_ITEM);
MenuItem menuItem = new MenuItem(menu);
if (jObj.has("name") && !jObj.get("name").isJsonNull() && jObj.get("name").isJsonObject()) {
menuItem.setName(LocalizedString.fromJson(jObj.get("name")));
}
if (jObj.has("position") && !jObj.get("position").isJsonNull()) {
menuItem.setPosition(jObj.get("position").getAsInt());
}
if (jObj.has("folder") && !jObj.get("folder").isJsonNull()) {
menuItem.setFolder(jObj.get("folder").getAsBoolean());
}
if (jObj.has("url") && !jObj.get("url").isJsonNull()) {
menuItem.setUrl(jObj.get("url").getAsString());
}
return menuItem;
}
开发者ID:FenixEdu,项目名称:fenixedu-cms,代码行数:25,代码来源:MenuResource.java
示例9: createComponent
import pt.ist.fenixframework.Atomic; //导入依赖的package包/类
@Atomic(mode = TxMode.WRITE)
private void createComponent(Page page, JsonObject json) throws Exception {
ensureCanDoThis(page.getSite(), Permission.EDIT_PAGE_COMPONENTS);
String componentType = json.get("type").getAsString();
ComponentDescriptor descriptor = Component.forType(componentType);
if (descriptor == null) {
throw new IllegalArgumentException("Component '" + componentType + "' is unknown!");
}
if (descriptor.isStateless()) {
@SuppressWarnings("unchecked")
Class<? extends CMSComponent> type = (Class<? extends CMSComponent>) descriptor.getType();
page.addComponents(Component.forType(type));
} else {
JsonObject params = json.get("parameters").getAsJsonObject();
Component instance = descriptor.instantiate(params);
if (instance instanceof StaticPost) {
StaticPost staticPost = (StaticPost) instance;
if (staticPost.getPost().getSite() == null) {
throw CmsDomainException.notFound();
}
}
page.addComponents(instance);
}
}
开发者ID:FenixEdu,项目名称:fenixedu-cms,代码行数:25,代码来源:AdminComponents.java
示例10: duplicateTheme
import pt.ist.fenixframework.Atomic; //导入依赖的package包/类
@Atomic
public void duplicateTheme(CMSTheme orig, String type, String name, String description) {
CMSTheme theme = new CMSTheme();
theme.setType(type);
theme.setName(name);
theme.setDescription(description);
theme.setBennu(orig.getBennu());
theme.setExtended(orig.getExtended());
theme.changeFiles(orig.getFiles());
for (CMSTemplate originalTemplate : orig.getTemplatesSet()) {
CMSTemplate tp = new CMSTemplate();
tp.setTheme(theme);
tp.setFilePath(originalTemplate.getFilePath());
tp.setType(originalTemplate.getType());
tp.setDescription(originalTemplate.getDescription());
tp.setName(originalTemplate.getName());
}
}
开发者ID:FenixEdu,项目名称:fenixedu-cms,代码行数:19,代码来源:AdminThemes.java
示例11: editPage
import pt.ist.fenixframework.Atomic; //导入依赖的package包/类
@Atomic(mode = TxMode.WRITE)
private void editPage(LocalizedString name, String slug, String template, Site s, Page p, boolean published, Group canView) {
p.setName(name);
if (!Objects.equals(slug, p.getSlug())) {
ensureCanDoThis(s, Permission.CHANGE_PATH_PAGES);
p.setSlug(slug);
}
CMSTheme theme = s.getTheme();
if (s != null && s.getTheme() != null && theme != null) {
CMSTemplate t = theme.templateForType(template);
p.setTemplate(t);
}
if (p.getPublished() != published) {
PermissionEvaluation.canDoThis(s, Permission.PUBLISH_PAGES);
p.setPublished(published);
}
if (!p.getCanViewGroup().equals(canView)) {
PermissionEvaluation.canDoThis(s, Permission.PUBLISH_PAGES);
p.setCanViewGroup(canView);
}
Signal.emit(Page.SIGNAL_EDITED, new DomainObjectEvent<>(p));
}
开发者ID:FenixEdu,项目名称:fenixedu-cms,代码行数:23,代码来源:AdminPagesAdvanced.java
示例12: createSite
import pt.ist.fenixframework.Atomic; //导入依赖的package包/类
@Atomic
private void createSite(LocalizedString name, LocalizedString description, SiteBuilder builder, boolean published, String folder,
boolean embedded, String themeType, Set<String> roles) {
CmsSettings.getInstance().ensureCanManageSettings();
if (builder !=null){
builder.create(name, description);
} else {
Site site = new Site(name, description);
ofNullable(folder).filter(t -> !Strings.isNullOrEmpty(t)).map(FenixFramework::getDomainObject).map(CMSFolder.class::cast)
.ifPresent(site::setFolder);
site.setEmbedded(ofNullable(embedded).orElse(false));
site.updateMenuFunctionality();
site.setPublished(published);
ofNullable(roles).ifPresent(rolesSet->
rolesSet.forEach(role -> new Role(FenixFramework.getDomainObject(role), site)));
ofNullable(themeType).filter(t -> !Strings.isNullOrEmpty(t)).map(CMSTheme::forType).ifPresent(site::setTheme);
SiteActivity.createdSite(site, Authenticate.getUser());
}
}
开发者ID:FenixEdu,项目名称:fenixedu-cms,代码行数:25,代码来源:CreateSite.java
示例13: processPostChanges
import pt.ist.fenixframework.Atomic; //导入依赖的package包/类
@Atomic(mode = Atomic.TxMode.WRITE)
public void processPostChanges(Site site, Post post, JsonObject postJson) {
LocalizedString name = Post.sanitize(LocalizedString.fromJson(postJson.get("name")));
LocalizedString body = Post.sanitize(LocalizedString.fromJson(postJson.get("body")));
LocalizedString excerpt = Post.sanitize(LocalizedString.fromJson(postJson.get("excerpt")));
String slug = ofNullable(postJson.get("slug"))
.map(JsonElement::getAsString).orElse(post.getSlug());
if(!post.getName().equals(name)) {
post.setName(name);
}
if(!post.getBody().equals(body) || ( post.getExcerpt()==null && excerpt!=null ) || !post.getExcerpt().equals(excerpt)) {
post.setBodyAndExcerpt(body, excerpt);
}
if(!post.getSlug().equals(slug)) {
post.setSlug(slug);
}
processCategoryChanges(site, post, postJson);
processFileChanges(site, post, postJson);
processPublicationChanges(site, post, postJson);
post.fixOrder(post.getFilesSorted());
Signal.emit(Post.SIGNAL_EDITED,new DomainObjectEvent<>(post));
}
开发者ID:FenixEdu,项目名称:fenixedu-cms,代码行数:26,代码来源:AdminPostsService.java
示例14: delete
import pt.ist.fenixframework.Atomic; //导入依赖的package包/类
@Atomic
public void delete() {
logger.info("Page " + getSlug() + " - " + getExternalId() + " of Site " + getSite().getSlug() +
" deleted by user "+ Authenticate.getUser().getExternalId());
Signal.emit(SIGNAL_DELETED, this.getOid());
for (Component component : getComponentsSet()) {
removeComponents(component);
component.delete();
}
getMenuItemsSet().stream().forEach(MenuItem::delete);
setTemplate(null);
setSite(null);
setCreatedBy(null);
setViewGroup(null);
deleteDomainObject();
}
开发者ID:FenixEdu,项目名称:fenixedu-cms,代码行数:20,代码来源:Page.java
示例15: getOrCreateCategoryForSlug
import pt.ist.fenixframework.Atomic; //导入依赖的package包/类
@Atomic
/**
* searches for a {@link Category} by slug on this {@link Site} or if one does not exist, creates one.
*
* @param slug the slug of the {@link Category} wanted.
* @param name {@link Category} name.
* @return the {@link Category} with the given slug if it exists on this site, or null otherwise.
*/
public Category getOrCreateCategoryForSlug(String slug, LocalizedString name) {
try {
return categoryForSlug(slug);
} catch (CmsDomainException e) {
Category category = new Category(this, name);
category.setSlug(slug);
return category;
}
}
开发者ID:FenixEdu,项目名称:fenixedu-cms,代码行数:18,代码来源:Site.java
示例16: delete
import pt.ist.fenixframework.Atomic; //导入依赖的package包/类
@Atomic
public void delete() {
logger.info("Post " + getSlug() + " - " + getExternalId() + " of Site " + getSite().getSlug() +
" deleted by user "+ Authenticate.getUser().getExternalId());
Signal.emit(SIGNAL_DELETED, this.getOid());
setCreatedBy(null);
setSite(null);
setViewGroup(null);
deleteFiles();
setLatestRevision(null);
getComponentSet().stream().forEach(Component::delete);
getCategoriesSet().stream().forEach(category -> category.removePosts(this));
getRevisionsSet().stream().forEach(PostContentRevision::delete);
deleteDomainObject();
}
开发者ID:FenixEdu,项目名称:fenixedu-cms,代码行数:20,代码来源:Post.java
示例17: searchPartyCarPlate
import pt.ist.fenixframework.Atomic; //导入依赖的package包/类
@Atomic
private List<Party> searchPartyCarPlate(String nameSearch, String carPlateNumber, Long parkingCardNumber) {
List<Party> result = new ArrayList<Party>();
if (!StringUtils.isEmpty(carPlateNumber) || !StringUtils.isEmpty(nameSearch) || parkingCardNumber != null) {
Collection<ParkingParty> parkingParties = Bennu.getInstance().getParkingPartiesSet();
for (ParkingParty parkingParty : parkingParties) {
if (parkingParty.getParty() != null) {
if (satisfiedParkingCardNumber(parkingParty, parkingCardNumber)
&& satisfiedPlateNumber(parkingParty, carPlateNumber) && satisfiedName(parkingParty, nameSearch)) {
result.add(parkingParty.getParty());
}
}
}
}
return result;
}
开发者ID:ist-dsi-archive,项目名称:fenix-parking,代码行数:17,代码来源:ParkingManagerDispatchAction.java
示例18: runSantander
import pt.ist.fenixframework.Atomic; //导入依赖的package包/类
@Atomic
private static String runSantander(final String password, final String categoryCode, final String identificationCardCode,
final Long parkingCardID) throws FenixServiceException {
if (isAllowed(password)) {
SantanderEntry entry = SantanderEntry.readByUsernameAndCategory(identificationCardCode, categoryCode);
if (entry == null) {
throw new UserDoesNotExistException();
}
if (entry.getPerson().getParkingParty() == null) {
createParkingParty(entry.getPerson());
}
entry.getPerson().getParkingParty().setCardNumber(parkingCardID);
return entry.getPerson().getUsername();
} else {
throw new NotAuthorizedException();
}
}
开发者ID:ist-dsi-archive,项目名称:fenix-parking,代码行数:18,代码来源:SetParkingCardIdDA.java
示例19: renewParkingCards
import pt.ist.fenixframework.Atomic; //导入依赖的package包/类
@Atomic
private void renewParkingCards(List<ParkingParty> parkingParties, DateTime newEndDate, ParkingGroup newParkingGroup,
String emailText) {
DateTime newBeginDate = new DateTime();
for (ParkingParty parkingParty : parkingParties) {
parkingParty.renewParkingCard(newBeginDate, newEndDate, newParkingGroup);
ParkingRequest parkingRequest = parkingParty.getLastRequest();
if (parkingRequest != null && parkingRequest.getParkingRequestState() == ParkingRequestState.PENDING) {
parkingRequest.setParkingRequestState(ParkingRequestState.ACCEPTED);
parkingRequest.setNote(emailText);
}
String email = null;
EmailAddress defaultEmailAddress = parkingParty.getParty().getDefaultEmailAddress();
if (defaultEmailAddress != null) {
email = defaultEmailAddress.getValue();
}
if (emailText != null && emailText.trim().length() != 0 && email != null) {
ResourceBundle bundle = ResourceBundle.getBundle("resources.ParkingResources", I18N.getLocale());
Sender sender = Bennu.getInstance().getSystemSender();
ConcreteReplyTo replyTo = new ConcreteReplyTo(bundle.getString("label.fromAddress"));
new Message(sender, replyTo.asCollection(), Collections.EMPTY_LIST, bundle.getString("label.subject"), emailText,
email);
}
}
}
开发者ID:ist-dsi-archive,项目名称:fenix-parking,代码行数:27,代码来源:ManageParkingCardsDA.java
示例20: duplicate
import pt.ist.fenixframework.Atomic; //导入依赖的package包/类
@Atomic
public OccupationPeriodBean duplicate(int newId, OccupationPeriodType newPeriodType) {
if (newPeriodType == null) {
throw new DomainException("label.occupation.period.duplicate.message");
}
OccupationPeriodBean newBean = new OccupationPeriodBean(newId);
newBean.setOccupationPeriodType(newPeriodType);
newBean.setIntervals(intervals);
newBean.setOccupationPeriod(occupationPeriod);
newBean.setSemester(semester);
for (OccupationPeriodReference reference : references) {
newBean.addReference(new OccupationPeriodReference(reference.getOccupationPeriod(), reference.getExecutionDegree(),
newPeriodType, semester, reference.getCurricularYears()));
}
return newBean;
}
开发者ID:FenixEdu,项目名称:fenixedu-academic,代码行数:22,代码来源:OccupationPeriodBean.java
注:本文中的pt.ist.fenixframework.Atomic类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论