Package info.archinnov.achilles.internal.proxy.dirtycheck

Examples of info.archinnov.achilles.internal.proxy.dirtycheck.DirtyChecker


    }

    private void interceptSetter(Method method, Object obj, Object[] args) throws Throwable {
        PropertyMeta propertyMeta = this.setterMetas.get(method);

        DirtyChecker dirtyChecker = null;
        boolean removeField = false;
        if (args[0] == null) {
            removeField = true;
        }
        switch (propertyMeta.type()) {
            case SIMPLE:
                dirtyChecker = new SimpleDirtyChecker(propertyMeta);
                break;
            case SET:
                dirtyChecker = new DirtyChecker(propertyMeta);
                if (removeField)
                    dirtyChecker.removeAllElements();
                else
                    dirtyChecker.assignValue((Set) args[0]);
                break;
            case LIST:
                dirtyChecker = new DirtyChecker(propertyMeta);
                if (removeField)
                    dirtyChecker.removeAllElements();
                else
                    dirtyChecker.assignValue((List) args[0]);
                break;
            case MAP:
                dirtyChecker = new DirtyChecker(propertyMeta);
                if (removeField)
                    dirtyChecker.removeAllElements();
                else
                    dirtyChecker.assignValue((Map) args[0]);
                break;
            case COUNTER:
                throw new UnsupportedOperationException(
                        "Cannot set value directly to a Counter type. Please call the getter first to get handle on the wrapper");
            default:
View Full Code Here


  }

    @Override
    protected DirtyChecker getDirtyChecker() {
        if(!dirtyMap.containsKey(setter)) {
            dirtyMap.put(setter,new DirtyChecker(propertyMeta));
        }
        return dirtyMap.get(setter);
    }
View Full Code Here

  }

    @Override
    protected DirtyChecker getDirtyChecker() {
        if(!dirtyMap.containsKey(setter)) {
            dirtyMap.put(setter,new DirtyChecker(propertyMeta));
        }
        return dirtyMap.get(setter);
    }
View Full Code Here

  }

    @Override
    protected DirtyChecker getDirtyChecker() {
        if(!dirtyMap.containsKey(setter)) {
            dirtyMap.put(setter,new DirtyChecker(propertyMeta));
        }
        return dirtyMap.get(setter);
    }
View Full Code Here

        when(interceptor.getDirtyMap()).thenReturn(dirtyMap);
        when(meta.getAllCounterMetas()).thenReturn(allCounterMetas);

        PropertyMeta pm = PropertyMetaTestBuilder.completeBean(Void.class, UserBean.class).propertyName("user").type(SIMPLE)
                .accessors().build();
        DirtyChecker dirtyChecker = new SimpleDirtyChecker(pm);
        dirtyMap.put(pm.getGetter(), dirtyChecker);
        when(context.isClusteredCounter()).thenReturn(false);

        entityUpdater.update(context, entity);
View Full Code Here

        when(proxifier.getInterceptor(entity)).thenReturn(interceptor);
        when(interceptor.getDirtyMap()).thenReturn(dirtyMap);

        PropertyMeta pm = PropertyMetaTestBuilder.completeBean(Void.class, UserBean.class).propertyName("user").type(SIMPLE)
                .accessors().build();
        DirtyChecker dirtyChecker = new SimpleDirtyChecker(pm);
        dirtyMap.put(pm.getGetter(), dirtyChecker);
        when(context.isClusteredCounter()).thenReturn(true);

        entityUpdater.update(context, entity);
View Full Code Here

        // Then
        assertThat(actual).isNull();
        assertThat(alreadyLoaded).isEmpty();
        assertThat(dirtyMap).containsKey(method);
        DirtyChecker dirtyChecker = dirtyMap.get(method);

        assertThat(dirtyChecker.getPropertyMeta()).isEqualTo(pm);
        List<DirtyCheckChangeSet> changeSets = dirtyChecker.getChangeSets();
        assertThat(changeSets).hasSize(1);
        DirtyCheckChangeSet changeSet = changeSets.get(0);
        assertThat(changeSet.getChangeType()).isEqualTo(ASSIGN_VALUE_TO_SET);
        assertThat(changeSet.getRawSetChanges()).isSameAs(set);
View Full Code Here

        // Then
        assertThat(actual).isNull();
        assertThat(alreadyLoaded).isEmpty();
        assertThat(dirtyMap).containsKey(method);
        DirtyChecker dirtyChecker = dirtyMap.get(method);

        assertThat(dirtyChecker.getPropertyMeta()).isEqualTo(pm);
        List<DirtyCheckChangeSet> changeSets = dirtyChecker.getChangeSets();
        assertThat(changeSets).hasSize(1);
        DirtyCheckChangeSet changeSet = changeSets.get(0);
        assertThat(changeSet.getChangeType()).isEqualTo(REMOVE_COLLECTION_OR_MAP);
        assertThat(changeSet.getRawSetChanges()).isEmpty();
View Full Code Here

        // Then
        assertThat(actual).isNull();
        assertThat(alreadyLoaded).isEmpty();
        assertThat(dirtyMap).containsKey(method);
        DirtyChecker dirtyChecker = dirtyMap.get(method);

        assertThat(dirtyChecker.getPropertyMeta()).isEqualTo(pm);
        List<DirtyCheckChangeSet> changeSets = dirtyChecker.getChangeSets();
        assertThat(changeSets).hasSize(1);
        DirtyCheckChangeSet changeSet = changeSets.get(0);
        assertThat(changeSet.getChangeType()).isEqualTo(ASSIGN_VALUE_TO_MAP);
        assertThat(changeSet.getRawMapChanges()).isSameAs(map);
View Full Code Here

        // Then
        assertThat(actual).isNull();
        assertThat(alreadyLoaded).isEmpty();
        assertThat(dirtyMap).containsKey(method);
        DirtyChecker dirtyChecker = dirtyMap.get(method);

        assertThat(dirtyChecker.getPropertyMeta()).isEqualTo(pm);
        List<DirtyCheckChangeSet> changeSets = dirtyChecker.getChangeSets();
        assertThat(changeSets).hasSize(1);
        DirtyCheckChangeSet changeSet = changeSets.get(0);
        assertThat(changeSet.getChangeType()).isEqualTo(REMOVE_COLLECTION_OR_MAP);
        assertThat(changeSet.getRawMapChanges()).isEmpty();
View Full Code Here

TOP

Related Classes of info.archinnov.achilles.internal.proxy.dirtycheck.DirtyChecker

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.