Changeset 1369


Ignore:
Timestamp:
05/24/11 14:10:35 (13 years ago)
Author:
patdui
Message:
  • fixed undelete admin button, also added unique constraints to the cmd id columns (profile_id and component_id).
Location:
ComponentRegistry/trunk/ComponentRegistry/src
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • ComponentRegistry/trunk/ComponentRegistry/src/main/java/clarin/cmdi/componentregistry/frontend/AdminHomePage.java

    r1364 r1369  
    7373                try {
    7474                    adminRegistry.delete(info, userPrincipal);
    75                     tree.setModelObject(createDBTreeModel());
    7675                    info("Item deleted.");
     76                    reloadTreeModel(info);
    7777                } catch (SubmitFailedException e) {
    78                     LOG.error("Admin: ", e);
    79                     error("Cannot delete: " + info.getName() + "\n error=" + e);
    80                 } catch (ComponentRegistryException e) {
    8178                    LOG.error("Admin: ", e);
    8279                    error("Cannot delete: " + info.getName() + "\n error=" + e);
     
    104101                    adminRegistry.undelete(info);
    105102                    info("Item put back.");
    106                     tree.setModelObject(createDBTreeModel());
     103                    reloadTreeModel(info);
    107104                } catch (SubmitFailedException e) {
    108                     LOG.error("Admin: ", e);
    109                     error("Cannot undelete: " + info.getName() + "\n error=" + e);
    110                 } catch (ComponentRegistryException e) {
    111105                    LOG.error("Admin: ", e);
    112106                    error("Cannot undelete: " + info.getName() + "\n error=" + e);
     
    138132                    adminRegistry.submitFile(info, userPrincipal);
    139133                    info("submitting done.");
     134                    reloadTreeModel(info);
    140135                } catch (SubmitFailedException e) {
    141136                    LOG.error("Admin: ", e);
     
    144139                if (target != null) {
    145140                    target.addComponent(form);
     141                    target.addComponent(tree);
    146142                    target.addComponent(feedback);
    147143                }
     
    171167        });
    172168
     169    }
     170
     171    private void reloadTreeModel(CMDItemInfo info) {
     172        try {
     173            tree.setModelObject(createDBTreeModel());
     174        } catch (ComponentRegistryException e) {
     175            LOG.error("Admin: ", e);
     176            error("Cannot reload tree: " + info.getName() + "\n error=" + e);
     177        }
    173178    }
    174179
  • ComponentRegistry/trunk/ComponentRegistry/src/main/java/clarin/cmdi/componentregistry/impl/database/AbstractDescriptionDao.java

    r1364 r1369  
    239239     */
    240240    public Number getDbId(String cmdId) {
    241         // Check for is_deleted is important, because an id only has to be
    242         // unique
    243         // among non-deleted descriptions
    244241        StringBuilder query = new StringBuilder("SELECT " + COLUMN_ID + " FROM ").append(getTableName());
    245         query.append(" WHERE is_deleted = false AND ").append(getCMDIdColumn()).append(" = ?");
     242        query.append(" WHERE ").append(getCMDIdColumn()).append(" = ?");
    246243        return getSimpleJdbcTemplate().queryForInt(query.toString(), cmdId);
    247244    }
  • ComponentRegistry/trunk/ComponentRegistry/src/main/sql/create.sql

    r1363 r1369  
    4646    domain_name character varying,
    4747    group_name character varying,
    48     href character varying
     48    href character varying,
     49    UNIQUE(component_id)
    4950);
    5051
     
    7576    domain_name character varying,
    7677    group_name character varying,
    77     href character varying
     78    href character varying,
     79    UNIQUE(profile_id)
    7880);
    7981
  • ComponentRegistry/trunk/ComponentRegistry/src/test/java/clarin/cmdi/componentregistry/impl/database/ComponentRegistryDatabase.java

    r1348 r1369  
    3030                + "  creator_name character varying,"
    3131                + "  domain_name character varying,"
    32                 + "  group_name character varying);");
     32                + "  group_name character varying, CONSTRAINT UNIQUE_COMPONENT_ID UNIQUE (component_id));");
    3333    }
    3434
     
    4747                + "  creator_name character varying,"
    4848                + "  domain_name character varying,"
    49                 + "  group_name character varying);");
     49                + "  group_name character varying, CONSTRAINT UNIQUE_PROFILE_ID UNIQUE (profile_id));");
    5050    }
    5151
  • ComponentRegistry/trunk/ComponentRegistry/src/test/java/clarin/cmdi/componentregistry/impl/database/ComponentRegistryDbImplTest.java

    r1364 r1369  
    211211
    212212    private ProfileDescription createProfile(ComponentRegistry register) throws Exception {
    213         ProfileDescription description = ProfileDescription.createNewDescription();
    214         description.setName("Aap");
    215         description.setCreatorName(USER_CREDS.getDisplayName());
    216         description.setUserId(USER_CREDS.getPrincipalName());
    217         description.setDescription("MyDescription");
     213        ProfileDescription description = getProfileDesc();
    218214
    219215        CMDComponentSpec testProfile = RegistryTestHelper.getTestProfile();
     
    231227        assertEquals(1, register.getProfileDescriptions().size());
    232228        assertNotNull(register.getMDProfile(description.getId()));
     229        return description;
     230    }
     231
     232    private ProfileDescription getProfileDesc() {
     233        ProfileDescription description = ProfileDescription.createNewDescription();
     234        description.setName("Aap");
     235        description.setCreatorName(USER_CREDS.getDisplayName());
     236        description.setUserId(USER_CREDS.getPrincipalName());
     237        description.setDescription("MyDescription");
    233238        return description;
    234239    }
     
    268273        ComponentRegistry registry = getComponentRegistryForUser(userId);
    269274
    270         ComponentDescription description = ComponentDescription.
    271                 createNewDescription();
    272         description.setName("Aap");
    273         description.setCreatorName(USER_CREDS.getDisplayName());
    274         description.setUserId(USER_CREDS.getPrincipalName());
    275         description.setDescription("MyDescription");
     275        ComponentDescription description = getComponentDesc();
    276276        Calendar calendar = Calendar.getInstance();
    277277        calendar.set(Calendar.YEAR, 1999);
     
    298298
    299299        registry = getComponentRegistryForUser(userId); // ComponentRegistryFactoryImpl.getInstance().getComponentRegistry(true, USER_CREDS); //user registry
    300         description.setUserId(USER_CREDS.getPrincipalName()); // Set again to principal name
     300        description = getComponentDesc();
    301301        registry.register(description, testComp);
    302302        assertEquals(1, registry.getComponentDescriptions().size());
     
    310310        ComponentRegistry registry = getComponentRegistryForUser(userId);
    311311
    312         ProfileDescription description = ProfileDescription.createNewDescription();
    313         description.setName("Aap");
    314         description.setCreatorName(USER_CREDS.getDisplayName());
    315         description.setUserId(USER_CREDS.getPrincipalName());
    316         description.setDescription("MyDescription");
     312        ProfileDescription description = getProfileDesc();
    317313        Calendar calendar = Calendar.getInstance();
    318314        calendar.set(Calendar.YEAR, 1999);
     
    338334
    339335        registry = getComponentRegistryForUser(userId);
    340         description.setUserId(USER_CREDS.getPrincipalName()); // Set again to principal name
     336        description = getProfileDesc();//Need to create a new one for a new id
    341337        registry.register(description, testComp);
    342338        assertEquals(1, registry.getProfileDescriptions().size());
     
    346342
    347343    private ComponentDescription createComponent(ComponentRegistry registry) throws Exception {
     344        ComponentDescription description = getComponentDesc();
     345        CMDComponentSpec testComp = RegistryTestHelper.getTestComponent();
     346
     347        registry.register(description, testComp);
     348
     349        // Non authorized user should never be able to delete
     350        try {
     351            registry.deleteMDComponent(description.getId(), new DummyPrincipal("Fake User"), false);
     352            fail("Should have thrown exception");
     353        } catch (UserUnauthorizedException e) {
     354        }
     355
     356        assertEquals(1, registry.getComponentDescriptions().size());
     357        assertNotNull(registry.getMDComponent(description.getId()));
     358        return description;
     359    }
     360
     361    private ComponentDescription getComponentDesc() {
    348362        ComponentDescription description = ComponentDescription.
    349363                createNewDescription();
     
    352366        description.setUserId(USER_CREDS.getPrincipalName());
    353367        description.setDescription("MyDescription");
    354         CMDComponentSpec testComp = RegistryTestHelper.getTestComponent();
    355 
    356         registry.register(description, testComp);
    357 
    358         // Non authorized user should never be able to delete
    359         try {
    360             registry.deleteMDComponent(description.getId(), new DummyPrincipal("Fake User"), false);
    361             fail("Should have thrown exception");
    362         } catch (UserUnauthorizedException e) {
    363         }
    364 
    365         assertEquals(1, registry.getComponentDescriptions().size());
    366         assertNotNull(registry.getMDComponent(description.getId()));
    367368        return description;
    368369    }
Note: See TracChangeset for help on using the changeset viewer.