Package org.apache.isis.core.metamodel.facets.members.order

Examples of org.apache.isis.core.metamodel.facets.members.order.MemberOrderFacet


        final String assocId = association.getId();
        return new Filter<ObjectAction>() {
   
            @Override
            public boolean accept(ObjectAction t) {
                final MemberOrderFacet memberOrderFacet = t.getFacet(MemberOrderFacet.class);
                if(memberOrderFacet == null) {
                    return false;
                }
                final String memberOrderName = memberOrderFacet.name();
                if(Strings.isNullOrEmpty(memberOrderName)) {
                    return false;
                }
                return memberOrderName.equalsIgnoreCase(assocName) || memberOrderName.equalsIgnoreCase(assocId);
            }
View Full Code Here


            }
            return associationsByGroup;
        }

        private static void addAssociationIntoGroup(Map<String, List<ObjectAssociation>> associationsByGroup, ObjectAssociation association) {
            final MemberOrderFacet memberOrderFacet = association.getFacet(MemberOrderFacet.class);
            if(memberOrderFacet != null) {
                final String name = memberOrderFacet.name();
                if(!Strings.isNullOrEmpty(name)) {
                    getFrom(associationsByGroup, name).add(association);
                    return;
                }
            }
View Full Code Here

    }

    @Override
    public void process(final ProcessMethodContext processMethodContext) {
       
        MemberOrderFacet memberOrderFacet = getMemberOrderFromMetadataPropertiesIfPossible(processMethodContext);

        if(memberOrderFacet == null) {
            final MemberOrder annotation = Annotations.getAnnotation(processMethodContext.getMethod(), MemberOrder.class);
            if (annotation != null) {
                memberOrderFacet = new MemberOrderFacetAnnotation(annotation.name(), annotation.sequence(), processMethodContext.getFacetHolder());
View Full Code Here

    /**
     * For ordering of {@link ContributeeMember}s.
     */
    @Override
    public void process(final ProcessMemberContext processMemberContext) {
        final MemberOrderFacet memberOrderFacet = getMemberOrderFromMetadataPropertiesIfPossible(processMemberContext);

        // no-op if facet is null
        FacetUtil.addFacet(memberOrderFacet);
    }
View Full Code Here

    private static MemberOrderFacet getMemberOrderFromMetadataPropertiesIfPossible(final ProcessContextWithMetadataProperties<? extends FacetHolder> pcwmp) {
       
        final FacetHolder holder = pcwmp.getFacetHolder();
       
        final MemberOrderFacet memberOrderFacet;
        final Properties properties = pcwmp.metadataProperties("memberOrder");
        if(properties != null) {
            memberOrderFacet = new MemberOrderFacetProperties(properties, holder);
        } else {
            memberOrderFacet = null;
View Full Code Here

        final SortedSet nonAnnotatedGroup = new TreeSet(new MemberIdentifierComparator());

        // spin over all the members and put them into a Map of SortedSets
        // any non-annotated members go into additional nonAnnotatedGroup set.
        for (final FacetedMethod member : members) {
            final MemberOrderFacet memberOrder = member.getFacet(MemberOrderFacet.class);
            if (memberOrder == null) {
                nonAnnotatedGroup.add(member);
                continue;
            }
            final SortedSet sortedMembersForGroup = getSortedSet(sortedMembersByGroup, memberOrder.name());
            sortedMembersForGroup.add(member);
        }

        // add the non-annotated group to the first "" group.
        final SortedSet defaultSet = getSortedSet(sortedMembersByGroup, "");
View Full Code Here

        }
        throw new IllegalArgumentException("can only compare MemberPeers and OrderSets");
    }

    public int compare(final FacetedMethod o1, final FacetedMethod o2) {
        final MemberOrderFacet m1 = getMemberOrder(o1);
        final MemberOrderFacet m2 = getMemberOrder(o2);

        if (m1 == null && m2 == null) {
            return fallbackComparator.compare(o1, o2);
        }

        if (m1 == null && m2 != null) {
            return +1; // annotated before non-annotated
        }
        if (m1 != null && m2 == null) {
            return -1; // annotated before non-annotated
        }

        if (ensureInSameGroup && !m1.name().equals(m2.name())) {
            throw new IllegalArgumentException("Not in same group");
        }

        final StringTokenizer tokens1 = new StringTokenizer(m1.sequence(), ".", false);
        final String[] components1 = new String[tokens1.countTokens()];
        for (int i = 0; tokens1.hasMoreTokens(); i++) {
            components1[i] = tokens1.nextToken();
        }
        final StringTokenizer tokens2 = new StringTokenizer(m2.sequence(), ".", false);
        final String[] components2 = new String[tokens2.countTokens()];
        for (int i = 0; tokens2.hasMoreTokens(); i++) {
            components2[i] = tokens2.nextToken();
        }
View Full Code Here

TOP

Related Classes of org.apache.isis.core.metamodel.facets.members.order.MemberOrderFacet

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.