SCM

SCM Repository

[tm] Diff of /trunk/tm/R/textdoccol.R
ViewVC logotype

Diff of /trunk/tm/R/textdoccol.R

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 723, Sun Apr 1 16:12:26 2007 UTC revision 724, Sun Apr 1 21:13:36 2007 UTC
# Line 42  Line 42 
42                df <- data.frame(MetaID = rep(0, length(tdl)), stringsAsFactors = FALSE)                df <- data.frame(MetaID = rep(0, length(tdl)), stringsAsFactors = FALSE)
43                if (dbControl$useDb) {                if (dbControl$useDb) {
44                    dbInsert(db, "DMetaData", df)                    dbInsert(db, "DMetaData", df)
45                    dmeta.df <- data.frame(key = "DMetaData")                    dmeta.df <- data.frame(key = "DMetaData", subset = NA)
46                    dbDisconnect(db)                    dbDisconnect(db)
47                }                }
48                else                else
# Line 225  Line 225 
225                if (doclevel)                if (doclevel)
226                    return(object[sapply(object, FUN, ..., DMetaData = DMetaData(object))])                    return(object[sapply(object, FUN, ..., DMetaData = DMetaData(object))])
227                else                else
228                    return(object[FUN(object, ...)]) # TODO: Check that FUN knows about the database                    return(object[FUN(object, ...)])
229            })            })
230    
231  setGeneric("tmIndex", function(object, ..., FUN = sFilter, doclevel = FALSE) standardGeneric("tmIndex"))  setGeneric("tmIndex", function(object, ..., FUN = sFilter, doclevel = FALSE) standardGeneric("tmIndex"))
# Line 235  Line 235 
235                if (doclevel)                if (doclevel)
236                    return(sapply(object, FUN, ..., DMetaData = DMetaData(object)))                    return(sapply(object, FUN, ..., DMetaData = DMetaData(object)))
237                else                else
238                    return(FUN(object, ...)) # TODO: Check that FUN knows about the database                    return(FUN(object, ...))
239            })            })
240    
241  sFilter <- function(object, s, ...) {  sFilter <- function(object, s, ...) {
# Line 310  Line 310 
310                return(object)                return(object)
311            })            })
312    
 # WARNING: If dbUse the augmented dataframe is stored (watch out since sFilter calls this method)  
313  setGeneric("prescindMeta", function(object, meta) standardGeneric("prescindMeta"))  setGeneric("prescindMeta", function(object, meta) standardGeneric("prescindMeta"))
314  setMethod("prescindMeta",  setMethod("prescindMeta",
315            signature(object = "TextDocCol", meta = "character"),            signature(object = "TextDocCol", meta = "character"),
# Line 338  Line 337 
337                return(object)                return(object)
338            })            })
339    
 # WARNING: DMetaData is changed (since both use the same database)  
340  setMethod("[",  setMethod("[",
341            signature(x = "TextDocCol", i = "ANY", j = "ANY", drop = "ANY"),            signature(x = "TextDocCol", i = "ANY", j = "ANY", drop = "ANY"),
342            function(x, i, j, ... , drop) {            function(x, i, j, ... , drop) {
# Line 347  Line 345 
345    
346                object <- x                object <- x
347                object@.Data <- x@.Data[i, ..., drop = FALSE]                object@.Data <- x@.Data[i, ..., drop = FALSE]
348                  if (DBControl(object)[["useDb"]]) {
349                      index <- object@DMetaData[1 , "subset"]
350                      if (is.na(index))
351                          object@DMetaData[1 , "subset"] <- i
352                      else
353                          object@DMetaData[1 , "subset"] <- index[i]
354                  }
355                  else {
356                df <- as.data.frame(DMetaData(x)[i, ])                df <- as.data.frame(DMetaData(x)[i, ])
357                names(df) <- names(DMetaData(x))                names(df) <- names(DMetaData(x))
358                DMetaData(object) <- df                DMetaData(object) <- df
359                  }
360                return(object)                return(object)
361            })            })
362    
 # TODO  
363  setMethod("[<-",  setMethod("[<-",
364            signature(x = "TextDocCol", i = "ANY", j = "ANY", value = "ANY"),            signature(x = "TextDocCol", i = "ANY", j = "ANY", value = "ANY"),
365            function(x, i, j, ... , value) {            function(x, i, j, ... , value) {
366                object <- x                object <- x
367                  if (DBControl(object)[["useDb"]]) {
368                      db <- dbInit(DBControl(object)[["dbName"]], DBControl(object)[["dbType"]])
369                      counter <- 1
370                      for (id in object@.Data[i, ...]) {
371                          if (length(value) == 1)
372                              db[[id]] <- value
373                          else {
374                              db[[id]] <- value[[counter]]
375                          }
376                          counter <- counter + 1
377                      }
378                      dbDisconnect(db)
379                  }
380                  else
381                object@.Data[i, ...] <- value                object@.Data[i, ...] <- value
382                return(object)                return(object)
383            })            })

Legend:
Removed from v.723  
changed lines
  Added in v.724

root@r-forge.r-project.org
ViewVC Help
Powered by ViewVC 1.0.0  
Thanks to:
Vienna University of Economics and Business Powered By FusionForge