1package MogileFS::Factory::Domain; 2use strict; 3use warnings; 4use base 'MogileFS::Factory'; 5 6use MogileFS::Domain; 7 8sub set { 9 my ($self, $args) = @_; 10 my $classfactory = MogileFS::Factory::Class->get_factory; 11 my $dom = $self->SUPER::set(MogileFS::Domain->new_from_args($args, $classfactory)); 12 13 # Stupid awkward classes have a magic "default" 14 # If it exists in the DB, it will be overridden. 15 my $cls = $classfactory->get_by_id($dom->id, 0); 16 unless ($cls) { 17 $classfactory->set({ dmid => $dom->id, classid => 0, 18 classname => 'default', 19 mindevcount => MogileFS->config('default_mindevcount')}); 20 } 21 return $dom; 22} 23 241; 25