Package org.apache.isis.core.metamodel.spec.feature

Examples of org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation


    public void setUp() throws Exception {
        Logger.getRootLogger().setLevel(Level.OFF);

        // Root object specification
        final ObjectSpecification rootSpecification = mockery.mock(ObjectSpecification.class);
        final OneToOneAssociation nameField = mockery.mock(OneToOneAssociation.class);
        final ObjectSpecification nameSpecification = mockery.mock(ObjectSpecification.class, "name specification");
        final EncodableFacet encodeableFacet = mockery.mock(EncodableFacet.class);

        mockery.checking(new Expectations() {
            {
View Full Code Here


            if (instanceOf(imperativeFacets, PropertyValidateFacetViaMethod.class, PropertySetterFacetViaModifyMethod.class, PropertyClearFacetViaClearMethod.class)) {
                throw new UnsupportedOperationException(String.format("Cannot invoke supporting method '%s'; use only property accessor/mutator", memberName));
            }

            final OneToOneAssociation otoa = (OneToOneAssociation) objectMember;
            if (instanceOf(imperativeFacets, PropertyOrCollectionAccessorFacet.class)) {
                return handleGetterMethodOnProperty(args, targetAdapter, otoa, methodName);
            }
            if (instanceOf(imperativeFacets, PropertySetterFacet.class, PropertyInitializationFacet.class)) {
                checkUsability(getAuthenticationSession(), targetAdapter, objectMember);
View Full Code Here

            for (final ObjectAssociation association : associations) {
                final WebMarkupContainer container = new WebMarkupContainer(rv.newChildId());
                rv.add(container);
                container.add(eo.nextClass());
                if (association instanceof OneToOneAssociation) {
                    final OneToOneAssociation otoa = (OneToOneAssociation) association;
                    final PropertyMemento pm = new PropertyMemento(otoa);

                    final ScalarModel scalarModel = entityModel.getPropertyModel(pm);
                    component = getComponentFactoryRegistry().addOrReplaceComponent(container, ID_PROPERTY_OR_COLLECTION, ComponentType.SCALAR_NAME_AND_VALUE, scalarModel);
                } else {
View Full Code Here

            if (readOnly[i] || errors[i] != null) {
                continue;
            }
            final ObjectAssociation fld = fields[i];
            if (fld.isOneToOneAssociation()) {
                final OneToOneAssociation oneToOneAssociation = (OneToOneAssociation) fld;
                final ObjectAdapter entryReference = entries[i];
                final ObjectAdapter currentReference = oneToOneAssociation.get(target);
                if (currentReference != entryReference) {
                    final Consent valueValid = ((OneToOneAssociation) fld).isAssociationValid(target, entryReference);
                    errors[i] = valueValid.getReason();
                }
            }
View Full Code Here

            if (isReadOnly) {
                continue;
            }

            if (fld.isOneToOneAssociation()) {
                final OneToOneAssociation oneToOneAssociation = ((OneToOneAssociation) fld);
                final Object entryPojo = AdapterUtils.unwrap(entryAdapter);
                if (entryPojo == null) {
                    if (oneToOneAssociation.get(targetAdapter) != null) {
                        oneToOneAssociation.clearAssociation(targetAdapter);
                    }
                } else {
                    final ObjectAdapter currentAdapter = oneToOneAssociation.get(targetAdapter);
                    final Object currentPojo = AdapterUtils.unwrap(currentAdapter);
                    if (currentAdapter == null || currentPojo == null || !currentPojo.equals(entryPojo)) {
                        oneToOneAssociation.setAssociation(targetAdapter, entryAdapter);
                    }
                }
            }
        }
        getPersistenceSession().getTransactionManager().endTransaction();
View Full Code Here

    // getInstance
    // /////////////////////////////////////////////////////////////

    @Override
    public Instance getInstance(final ObjectAdapter ownerAdapter) {
        final OneToOneAssociation specification = this;
        return ownerAdapter.getInstance(specification);
    }
View Full Code Here

    // header
    // ///////////////////////////////////////////////////////////////////////

    public PropertyResult definePropertyOrAlias(final String heading, final int colNum) {

        OneToOneAssociation otoa = null;

        try {
            final int aliasColumn = getAliasBinding().getColumn();
            if (colNum == aliasColumn) {
                return PropertyResult.ALIAS;
View Full Code Here

        return getPersistenceSession().createInstance(spec);
    }

    public SetUpObjectResult setUpProperty(final ObjectAdapter adapter, final int colNum) {

        final OneToOneAssociation association = getProperties().get(colNum);
        if (association == null) {
            return SetUpObjectResult.NO_ASSOCIATION;
        }

        final String cellText = cellTextList.get(colNum);

        // handle empty cell as null
        if (cellText == null || cellText.length() == 0) {

            // use clear facet if available
            final PropertyClearFacet clearFacet = association.getFacet(PropertyClearFacet.class);

            if (clearFacet != null) {
                clearFacet.clearProperty(adapter);
                return SetUpObjectResult.CLEARED;
            }

            // use setter facet otherwise
            final PropertySetterFacet setterFacet = association.getFacet(PropertySetterFacet.class);

            if (setterFacet != null) {
                setterFacet.setProperty(adapter, null);
                return SetUpObjectResult.CLEARED;
            }

            return SetUpObjectResult.CANNOT_CLEAR;
        }

        // non-empty, will need a setter
        final PropertySetterFacet setterFacet = association.getFacet(PropertySetterFacet.class);
        if (setterFacet == null) {
            return SetUpObjectResult.CANNOT_SET;
        }

        final ObjectSpecification fieldSpecification = association.getSpecification();
        final ParseableFacet parseableFacet = fieldSpecification.getFacet(ParseableFacet.class);

        ObjectAdapter referencedAdapter = null;
        if (parseableFacet != null) {
            // handle as parseable value
View Full Code Here

        }
    }

    public void forEachAssociation(final AssociationVisitor visitor) {
        for (int colNum = 0; colNum < getProperties().size(); colNum++) {
            final OneToOneAssociation association = getProperties().get(colNum);
            if (association != null) {
                visitor.visit(association, colNum);
            }
        }
    }
View Full Code Here

    private Component createComponent(final String id, final IModel<ObjectAdapter> rowModel) {

        final ObjectAdapter adapter = rowModel.getObject();
        final EntityModel model = new EntityModel(adapter);
        final OneToOneAssociation property = (OneToOneAssociation) adapter.getSpecification().getAssociation(propertyExpression);
        final PropertyMemento pm = new PropertyMemento(property);
        final ScalarModel scalarModel = model.getPropertyModel(pm);

        final ComponentFactory componentFactory = findComponentFactory(ComponentType.SCALAR_NAME_AND_VALUE, scalarModel);
        final Component component = componentFactory.createComponent(id, scalarModel);
View Full Code Here

TOP

Related Classes of org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation

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.