Package net.datacrow.core.objects

Examples of net.datacrow.core.objects.DcObject


        panelReturn.setVisible(true);
        panelLend.setVisible(false);
       
        if (objects.size() == 1) {
            tableLoans.clear();
            DcObject dco = objects.get(0);
            for (Loan loan : DataManager.getLoans(dco.getID())) {
                if (loan.getValue(Loan._B_ENDDATE) != null)
                    tableLoans.add(loan, true);
            }
        }
    }
View Full Code Here


    @SuppressWarnings("unchecked")
    protected void createReferences(DcObject dco) {
        for (DcField field : dco.getFields()) {       
            Object value = dco.getValue(field.getIndex());
            if (field.getValueType() == DcRepository.ValueTypes._DCOBJECTREFERENCE) {
                DcObject reference = value instanceof DcObject ? (DcObject) value : null;
                if (reference == null) continue;
               
                // also created references for the sub items of this reference...
                createReferences(reference);
               
                try {
                    DcObject existing = DataManager.getItem(reference.getModule().getIndex(), reference.getID());
                    existing = existing == null ? DataManager.getObjectForString(reference.getModule().getIndex(), reference.toString()) : existing;
                    if (existing == null) {
                        // save the value that was set
                        reference.setValidate(false);
                        reference.saveNew(false);
                        reference.setValidate(true);
                    } else {
                        // reuse the existing value
                        dco.setValue(field.getIndex(), existing);
                    }

                } catch (Exception e) {
                    logger.error("Error (" + e + ") while creating a new reference item; " + reference, e);
                }
               
            } else if (field.getValueType() == DcRepository.ValueTypes._DCOBJECTCOLLECTION) {
                if (value == null)
                    continue;
               
                for (DcMapping mapping : (Collection<DcMapping>) value) {
                    DcObject reference = mapping.getReferencedObject();
                    try {
                        if (reference == null) continue;
                       
                        // also created references for the sub items of this reference...
                        createReferences(reference);
                       
                        DcObject existing = DataManager.getItem(reference.getModule().getIndex(), reference.getID());
                        existing = existing == null ? DataManager.getObjectForString(reference.getModule().getIndex(), reference.toString()) : existing;

                        if (existing == null) {
                            reference.setValidate(false);
                            reference.saveNew(false);
                            reference.setValidate(true);
                        } else {
                            mapping.setValue(DcMapping._B_REFERENCED_ID, existing.getID());
                        }
                    } catch (Exception e) {
                        logger.error("Error (" + e + ") while creating a new reference item; " + reference, e);
                    }
                }
View Full Code Here

    /**
     * Converts a query result (not detailed) to a Data Crow Object
     * @param result query result
     */
    public DcObject convertToDcObject(FreedbQueryResult result) {
        DcObject audioCD = DcModules.get(DcModules._AUDIOCD).getItem();
        audioCD.setValue(AudioCD._A_TITLE, result.getAlbum());
        audioCD.setValue(AudioCD._F_ARTISTS, result.getArtist());
        audioCD.setValue(AudioCD._G_GENRES, result.getCategory());
        audioCD.addExternalReference(DcRepository.ExternalReferences._DISCID, result.getDiscId());
        return audioCD;
    }
View Full Code Here

    /**
     * Converts a read result (detailed) to a Data Crow Object
     * @param result read result
     */
    public DcObject convertToDcObject(FreedbReadResult result) {
        DcObject audioCD = DcModules.get(DcModules._AUDIOCD).getItem();
       
        String title = result.getAlbum();
        if (title != null && title.length() > 0)
          title = title.endsWith("\r") || title.endsWith("\n") ? title.substring(0, title.length() - 1) : title;
       
        audioCD.setValue(AudioCD._A_TITLE, title);
       
        DataManager.createReference(audioCD, AudioCD._F_ARTISTS, result.getArtist());
        audioCD.addExternalReference(DcRepository.ExternalReferences._DISCID, result.getDiscId());
        setGenres(audioCD, result.getCategory());       
       
        int year = Utilities.getIntegerValue(result.getYear());
        audioCD.setValue(AudioCD._C_YEAR, new Integer(year));
       
        for (int i = 0; i < result.getTracksNumber(); i++) {
            DcObject track = DcModules.get(DcModules._AUDIOTRACK).getItem();
            String lyric = result.getTrackComment(i);
            track.setValue(AudioTrack._F_TRACKNUMBER, new Integer(i + 1));
            track.setValue(AudioTrack._A_TITLE, result.getTrackTitle(i));
            track.setValue(AudioTrack._G_LYRICS, lyric);
            track.setValue(AudioTrack._H_PLAYLENGTH, result.getTrackSeconds(i));
            audioCD.addChild(track);
        }
       
        audioCD.setIDs();
        return audioCD;
View Full Code Here

        for (DcModule module : DcModules.getAllModules()) {

            if (module.isAbstract() || module.getType() == DcModule._TYPE_TEMPLATE_MODULE) continue;
           
            DcObject dco = module.getItem();
            for (DcField fld : module.getFields()) {
              logger.info("Creating persistant field for module: " + module.getTableName() + ": " + fld);
                if (fld.getValueType() == DcRepository.ValueTypes._DCOBJECTCOLLECTION) {
                 
                  if (DcModules.get(fld.getReferenceIdx()).getType() != DcModule._TYPE_ASSOCIATE_MODULE)
                    continue;
                 
                  fldPersist = module.getPersistentField(fld.getIndex());
                 
                    try {
                        DcModule mm = DcModules.get(DcModules.getMappingModIdx(fld.getModule(), fld.getReferenceIdx(), fld.getIndex()));

                        sql =
                          " select objectid, referencedid from " + mm.getTableName() +
                          " inner join " + DcModules.get(fld.getReferenceIdx()).getTableName() +
                          " on " + DcModules.get(fld.getReferenceIdx()).getTableName() + ".ID = " +  mm.getTableName() + ".referencedID " +
                          " order by objectid, name";
                       
                        rs = DatabaseManager.executeSQL(sql);
                       
                        String prevID = null;
                        while (rs.next()) {
                            ID = rs.getString(1);
                            referencedID = rs.getString(2);
                            if (!ID.equals(prevID)) {
                              sql = "update " + dco.getModule().getTableName() + " set " +
                                fldPersist.getDatabaseFieldName() + " = '" + referencedID + "' " +
                                "where ID ='" + ID + "'";
                              DatabaseManager.executeSQL(sql);
                            }
                           
View Full Code Here

        for (DcModule module : DcModules.getAllModules()) {

            if (module.isAbstract() || module.getType() == DcModule._TYPE_TEMPLATE_MODULE) continue;
           
            DcObject dco = module.getItem();
            for (DcField fld : module.getFields()) {
                logger.info("Creating persistant field for module: " + module.getTableName() + ": " + fld);
                if (fld.getValueType() == DcRepository.ValueTypes._DCOBJECTCOLLECTION) {
                    try {
                        DcModule mm = DcModules.get(DcModules.getMappingModIdx(fld.getModule(), fld.getReferenceIdx(), fld.getIndex()));

                        sql = "select distinct objectid from " + mm.getTableName();
                        rs = DatabaseManager.executeSQL(sql);
                       
                        while (rs.next()) {
                            ID = rs.getString(1);
                            sql = "select top 1 referencedid from " + mm.getTableName() + " where objectid = '" + ID + "'";
                            rs2 = DatabaseManager.executeSQL(sql);
                            if (rs2.next()) {
                                dco.clearValues();
                               
                                referenceID = rs2.getString(1);
                                dco.setValueLowLevel(DcObject._ID, ID);
                                fldPersist = module.getPersistentField(fld.getIndex());
                                dco.setValue(fldPersist.getIndex(), referenceID);
                                dco.setUpdateGUI(false);
                                try {
                                    dco.saveUpdate(false, false);
                                } catch (Exception e) {
                                    logger.error(e, e);
                                }
                            }
                            rs2.close();
View Full Code Here

           
            for (String filename : files) {

                if  (client.cancelled()) break;

                DcObject dco = parse(filename);
               
                DcModules.getCurrent().getCurrentInsertView().add(dco, false);
                client.updateProgressBar(counter++);
            }
        } finally {
View Full Code Here

     * @param filename
     * @return The result (never null)
     */
    protected DcObject parse(String filename) {
        client.addMessage(DcResources.getText("msgProcessingFileX", filename));
        DcObject dco = importer.parse(filename, client.getDirectoryUsage());
           
        if (client.getStorageMedium() != null) {
            for (DcField  field : dco.getFields()) {
                if (field.getSourceModuleIdx() == DcModules._STORAGEMEDIA)
                    dco.setValue(field.getIndex(), client.getStorageMedium());
            }
        }

        if (client.getDcContainer() != null && dco.getField(DcObject._SYS_CONTAINER) != null) {
            dco.setValue(DcObject._SYS_CONTAINER, client.getDcContainer());
        }
       
        dco.applyTemplate();
        dco.setIDs();
       
        try {
            sleep(200);
        } catch (Exception e) {}

View Full Code Here

        return true;
    }   
   
    @Override
    public DcObject parse(String filename, int directoryUsage) {
        DcObject software = DcModules.get(DcModules._SOFTWARE).getItem();
       
        try {
            software.setValue(Software._A_TITLE, getName(filename, directoryUsage));
            software.setValue(Software._SYS_FILENAME, filename);
          Hash.getInstance().calculateHash(software);
        } catch (Exception exp) {
            getClient().addMessage(DcResources.getText("msgCouldNotReadInfoFrom", filename));
        }
       
View Full Code Here

            getClient().addMessage(DcResources.getText("msgSkippingAlreadyImportedFile",
                                new String[] {filename, items.get(0).toString()}));
           
        } else {
            getClient().addMessage(DcResources.getText("msgProcessingFileX", filename));
            DcObject dco = parse(filename, getClient().getDirectoryUsage());
               
            if (getClient().getStorageMedium() != null) {
                for (DcField  field : dco.getFields()) {
                    if (field.getSourceModuleIdx() == DcModules._STORAGEMEDIA)
                        DataManager.createReference(dco, field.getIndex(), getClient().getStorageMedium());
                }
            }
   
            if (getClient().getDcContainer() != null && dco.getModule().isContainerManaged())
                DataManager.createReference(dco, DcObject._SYS_CONTAINER, getClient().getDcContainer());
           
            dco.setLastInLine(last);
            dco.applyTemplate();
            dco.setIDs();
            afterParse(dco);
        }
    }
View Full Code Here

TOP

Related Classes of net.datacrow.core.objects.DcObject

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.