The code. Actually it is the one at quickstart sample:
QuickObjectRepository:
"
@DomainService(
nature = NatureOfService.DOMAIN,
repositoryFor = QuickObject.class
)
public class QuickObjectRepository {
//region > listAll (programmatic)
@Programmatic
public List<QuickObject> listAll() {
return container.allInstances(QuickObject.class);
}
//endregion
//region > findByName (programmatic)
@Programmatic
public QuickObject findByName(
final String name
) {
return container.uniqueMatch(
new QueryDefault<>(
QuickObject.class,
"findByName",
"name", name));
}
//endregion
//region > findByNameContains (programmatic)
@Programmatic
public List<QuickObject> findByNameContains(
final String name
) {
return container.allMatches(
new QueryDefault<>(
QuickObject.class,
"findByNameContains",
"name", name));
}
//endregion
//region > create (programmatic)
@Programmatic
public QuickObject create(final String name) {
final QuickObject obj =
container.newTransientInstance(QuickObject.class);
obj.setName(name);
container.persistIfNotAlready(obj);
return obj;
}
//endregion
//region > findOrCreate (programmatic)
@Programmatic
public QuickObject findOrCreate(
final String name
) {
QuickObject quickObject = findByName(name);
if(quickObject == null) {
quickObject = create(name);
}
return quickObject;
}
//endregion
//region > injected services
@javax.inject.Inject
DomainObjectContainer container;
//endregion
}
"
QuickObjectMenu:
"
@DomainService(
nature = NatureOfService.VIEW_MENU_ONLY
// nature = NatureOfService.DOMAIN
)
@DomainServiceLayout(
menuOrder = "700",
named = "Quick Objects"
)
public class QuickObjectMenu {
//region > listAll (action)
@Action(
semantics = SemanticsOf.SAFE
)
@ActionLayout(
bookmarking = BookmarkPolicy.AS_ROOT
)
@MemberOrder(sequence = "1")
public List<QuickObject> listAll() {
return quickObjectRepository.listAll();
}
//endregion
//region > findByName (action)
@Action(
semantics = SemanticsOf.SAFE
)
@ActionLayout(
bookmarking = BookmarkPolicy.AS_ROOT
)
@MemberOrder(sequence = "2")
public List<QuickObject> findByName(
@ParameterLayout(named="Name")
final String name
) {
return quickObjectRepository.findByNameContains(name);
}
//endregion
//region > create (action)
public static class CreateDomainEvent extends
ActionDomainEvent<QuickObjectMenu> { }
@Action(
domainEvent = CreateDomainEvent.class
)
@MemberOrder(sequence = "3")
public QuickObject create(
@ParameterLayout(named="Name")
final String name) {
return quickObjectRepository.create(name);
}
//endregion
//region > injected services
@javax.inject.Inject
QuickObjectRepository quickObjectRepository;
//endregion
}
"
2017-02-15 10:35 GMT-04:00, Dan Haywood <[email protected]>:
> Should be easy ... can you post the code of the domain service that is
> appearing as a menu that you want to suppress ?
>
>
> On Wed, 15 Feb 2017 at 14:23 L Eder <[email protected]> wrote:
>
>> Hi Dan:
>>
>> I browsed the documentation for a way to hide a menu object but
>> properties and actions. The closest thing found was @NotInServiceMenu.
>> I tried some combinations, even using the NatureOfService enum, but no
>> success so far.
>>
>> Idea is to omit, eg, prevent QuickObjects entity from being rendered
>> in the menu bar.
>>
>> Thanks for you suggestion, Eder
>>
>