ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/SCRAM/src/Configuration/ConfigArea.pm
(Generate patch)

Comparing COMP/SCRAM/src/Configuration/ConfigArea.pm (file contents):
Revision 1.6 by williamc, Thu Jan 27 17:50:55 2000 UTC vs.
Revision 1.8 by williamc, Thu Feb 10 10:59:44 2000 UTC

# Line 33 | Line 33 | use ActiveDoc::ActiveDoc;
33   require 5.004;
34   use Utilities::AddDir;
35   use ObjectUtilities::ObjectStore;
36 + use Configuration::ConfigStore;
37   use Cwd;
38   @ISA=qw(ActiveDoc::ActiveDoc ObjectUtilities::StorableObject);
39  
# Line 43 | Line 44 | sub init {
44          $self->newparse("download");
45          $self->newparse("setup");
46          $self->addtag("init","project",\&Project_Start,$self,
47 <        \&Project_text,$self,"", $self );
47 >            \&Project_text,$self,"", $self );
48          $self->addurltags("download");
49          $self->addtag("download","use",\&Use_download_Start,$self,
50                                                  "", $self, "",$self);
51          $self->addurltags("setup");
52          $self->addtag("setup","use",\&Use_Start,$self, "", $self, "",$self);
53 +
54 +        # data init
55 +        $self->{admindir}=".SCRAM";
56   }
57  
58 +
59   sub defaultdirname {
60          my $self=shift;
61 <        my $name=$self->name();
62 <        my $vers=$self->version();
63 <        $vers=~s/^$name_//;
64 <        $name=$name."_".$vers;
65 <        return $name;
66 <        
61 >        my $name=$self->name();
62 >        my $vers=$self->version();
63 >        $vers=~s/^$name_//;
64 >        $name=$name."_".$vers;
65 >        return $name;
66 >
67   }
68  
69   sub setup {
70          my $self=shift;
71  
72 <        # --- find out the location
73 <        my $location=$self->requestoption("area_location",
74 <                "Please Enter the location of the directory");
75 <        if ( $location!~/^\// ) {
72 >        # --- find out the location - default is cwd
73 >        my $location=$self->option("area_location");
74 >        if ( ! defined $location ) {
75 >                $location=cwd();
76 >        }
77 >        elsif ( $location!~/^\// ) {
78                  $location=cwd()."/".$location;
79          }
80  
# Line 89 | Line 96 | sub setup {
96          $self->parse("setup");
97          
98          # --- store bootstrap info
99 <        $self->store($self->location()."/.SCRAM/ConfigArea.dat");
99 >        $self->store($self->location()."/".$self->{admindir}."/ConfigArea.dat");
100  
101          # --- store self in original database
102          $self->parentconfig()->store($self,"ConfigArea",$self->name(),
# Line 99 | Line 106 | sub setup {
106   sub _setupstore {
107          my $self=shift;
108  
109 <        # --- make a new ActiveStore at the location and add it to the db list
110 <        my $ad=ActiveDoc::ActiveConfig->new($self->location()."/\.SCRAM");
109 >        # --- make a new ConfigStore at the location and add it to the db list
110 >        my $ad=Configuration::ConfigStore->new($self->location().
111 >                                "/".$self->{admindir});
112  
113          $self->parentconfig($self->config());
114   #        $self->config(Configuration::ConfigureStore->new());
# Line 119 | Line 127 | sub bootstrapfromlocation {
127          }
128          print "Found top ".$self->location()."\n";
129          $self->_setupstore();
130 <        $self->restore($self->location()."/.SCRAM/ConfigArea.dat");
130 >        $self->restore($self->location()."/".$self->{admindir}.
131 >                                                "/ConfigArea.dat");
132   }
133  
134   sub parentconfig {
# Line 148 | Line 157 | sub copy {
157  
158          AddDir::adddir(dirname($destination));
159          
160 <        my @cpcmd=(qw(cp -r), "$self->location()", "$destination");
161 <        print "@cpcmd";
160 >        $temp=$self->location();
161 >        my @cpcmd=(qw(cp -r), "$temp", "$destination");
162 >        print "@cpcmd"."\n";
163   #       File::Copy::copy("$self->location()", "$destination") or
164 <        system(@cpcmd) or
164 >        system(@cpcmd) == 0 or
165                          $self->error("Cannot copy ".$self->location().
166                          " to $destination ".$!);
167  
# Line 159 | Line 169 | sub copy {
169          my $newarea=ref($self)->new($self->parentconfig());
170          $newarea->bootstrapfromlocation($destination);
171          # save it with the new location info
172 <        $newarea->store($self->location()."/.SCRAM/ConfigArea.dat");
172 >        $newarea->store($self->location()."/".$self->{admindir}."/ConfigArea.dat");
173   }
174  
175   sub restore {
# Line 201 | Line 211 | sub location {
211          }
212          elsif ( ! defined $self->{location} ) {
213            # try and find the release location
214 <          $self->{location}=$self->searchlocation();
214 >          #$self->{location}=$self->searchlocation();
215          }
216          return  $self->{location};
217   }
# Line 219 | Line 229 | sub searchlocation {
229          Sloop:{
230          do {
231   #         print "Searching $thispath\n";
232 <          if ( -e "$thispath/.SCRAM" ) {
232 >          if ( -e "$thispath/".$self->{admindir} ) {
233   #           print "Found\n";
234              $rv=1;
235              last Sloop;
# Line 249 | Line 259 | sub addconfigitem {
259          my $docref=$self->activatedoc($url);
260          # Set up the document
261          $docref->setup();
262 +        $docref->save();
263   #       $self->config()->storepolicy("local");
253        $docref->save();
264   }
265  
266   # -------------- Tags ---------------------------------

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines