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